2 DMax - на счёт так сказать оцифровывания - глобальная идея такова:
Код
process(<clock>)
begin
if (<clock>'event and <clock> = '1') then
if (<reset> = '1') then
Q1 <= '0';
Q2 <= '0';
Q3 <= '0';
else
Q1 <= D_IN;
Q2 <= Q1;
Q3 <= Q2;
end if;
end if;
end process;
В результате у вас получается 3 тригера в цепочке - 1-й - входной(на него подавать данные), 3-й выходной(с него забирать данные).
А на счёт фифо - на кулранере фифо не организовывал - не скажу как это, но нормальное фифо на CPLD - по моему это малореально..
Вот
тема - я тут как раз подымал вопрос асинхронного сигнала(немного не то, но идею объяснит я думаю). Как раз счас колупаю что то похожее - данные на вход подаются асинхронно глобальному клоку FPGA(клок рождается в FPGA он обсолютно идентичен тому на которой работает дизайн, но выходит наружу, там перепетии разные, потом заходт в другую FPGA(которая на другой плате), и она по нему уже выдаёт данные) - и что самое интересное дизайн собран так что оно даже правильно ловит

, вот только если что-то тронуть - всё валится (видимо имеет место очень большое везение что ли)
Кстати, а сколько кулранера уже занято ?