Спасибо за ответы!
Извиняюсь что коряво объяснил задачу...
Цитата(XVR @ Jan 23 2008, 16:52)

А какие возможности нужны?
Требование п4. можно ослабить, введя (входной) строб чтения (это будет FIFO на 1 злемент)
В принципе, так как система состоит из 2х независимых частей, то можно сделать 2 разных клока, но нужно убедится, что CPLD позволяет использовать 2 клока (IMHO они все позволяют, но точно гарантировать не могу - с Alter'ой не работал, только с Xilinx, он позволяет)
И что понимается под фразой 'до 4х serial каналов' - как они должны укладываться в один параллельный выходной?
Возможности нужны те что описал.
Да, именно так и нужно - буфер на 1 байт (но для каждого канала отдельно)
2 клока необходимо, т.к. скоросте для входных и выходных потоков надо иметь возможность настраивать независимо (ну, почти независимо - они кратны у меня могут быть)
А вот это самое интересное:

например для serial->parallel
Считываем по 1 байту из каждого из 4х входных каналов (данные в них синхронные т.к. у них 1 клок, и непрерывные)
Каждый байт пихаем в свой буфер (FIFO на 1 байт).
Начинаем считывание следующего байта (для всех каналов)
И в это время выводим один за другим принятые байты из буфера в паралл. интерфейс.
т.е. время считывания 1 байта по посл. интерфейсу = времени выдачи 4х принятых байт.
Делается для того, что бы загнать посл. потоки в CY7C68013.
Если честно, то 4 потока это я взял по максимуму, в минимальном варианте может быть и 1 в каждую сторону.
Цитата(maxfox2k @ Jan 23 2008, 19:06)

для связи разных клоков использовать fifo довольно просто, но надо помнить, что fifo занимает память, кратную размеру блока, например по 9216 бит, для cycloneiii
что-то не понял....
FIFO достаточно на 1 байт
клоки разные для разных направлений