Мегафункции ПЛИС
Параметризуемая синхронная линия задержки (сдвиговый регистр)
Параметры:DWIDTH - разрядность сдвигового регистра (бит)
DELAY - число тактов задержки
Входные порты:
clk - вход тактовых импульсов
in_data - входная шина данных разрядностью DWIDTH бит
Выходные порты:
out_data - выходная шина данных разрядностью DWIDTH бит
Исходный текст
TITLE "DELAY LINE";
PARAMETERS
(
DWIDTH = 10,
DELAY = 3
);
SUBDESIGN dline
(
clk : INPUT;
in_data[DWIDTH-1..0] : INPUT;
out_data[DWIDTH-1..0] : OUTPUT;
)
VARIABLE
IF DELAY > 0 GENERATE
dw[DELAY-1..0][DWIDTH-1..0] : DFF;
END GENERATE;
BEGIN
IF DELAY > 0 GENERATE
dw[][].clk = clk;
dw[0][].d = in_data[];
IF DELAY > 1 GENERATE
dw[DELAY-1..1][].d = dw[DELAY-2..0][].q;
END GENERATE;
out_data[] = dw[DELAY-1][].q;
ELSE GENERATE
out_data[] = in_data[];
END GENERATE;
END;
Скачать исходники можно здесь (архив RAR, 1Кб).
При любом полном или частичном воспроизведении, копировании и распространении материалов сайта - активная ссылка на ресурс www.radiotract.ru обязательна.
Комментарии