Радиотехнический сайт RADIOTRACT

Радиотехника и электроника для разработчиков и радиолюбителей

Информация

 

 

Справочные данные на радиоэлектронные компоненты, приборы, средства связи и измерений. Радиотехническая литература.

Общая

Микроконтроллеры

ПЛИС

Измерения

Радиостанции

Библиотека

Справочники

Доска объявлений

Объявления о покупке и продаже радиокомпонентов. Спрос и предложение на различные радиодетали и приборы.

Куплю

Продам

Магазин

Программы

Полезные программы для радиолюбителей и разработчиков радиоэлектроники.

Радиотехника

Интернет

Калькуляторы

Другие

Мы в соцсетях

  

Мегафункции ПЛИС

Параметризуемая синхронная линия задержки (сдвиговый регистр)

Параметры:
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 обязательна.


Комментарии

comments powered by Disqus