Модуль, устанавливающий параметризированный регистр

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
conan
Родился
Сообщения: 2
Зарегистрирован: Ср окт 12, 2011 21:06:02

Модуль, устанавливающий параметризированный регистр

Сообщение conan »

код
%Модуль, устанавливающий параллельный, последовательный
со сдвигом вправо или последовательный со сдвигом влево
параметризированный регистр%
PARAMETERS
(
width = 8, --разрядность регистра
type = "parall" --тип регистра
--"parall" - параллельный
--"pos_r" - последовательный со сдвигом вправо
--"pos_l" - последовательный со сдвигом влево
);
ASSERT (type == "parall") OR (type == "pos_l") OR(type == "pos_r")
REPORT "Недопустимое занчение параметра type"
SEVERITY ERROR;
SUBDESIGN p_reg
(
data[width-1..0], clk, dr, dl : INPUT;
reset : INPUT = GND;
ce : INPUT = VCC;
out[width-1..0], qr, ql : OUTPUT;
)
VARIABLE
tr[width-1..0] : dffe;
BEGIN
tr[].(clk, ena, clrn) = (clk, ce, !reset); --уравнения управления
IF type == "parall" GENERATE
tr[].d = data[];
out[] = tr[].q;
(qr, ql) = 0; --зануление неиспользуемых выходов
END GENERATE;
IF type == "pos_r" GENERATE
(qr, tr[].d) = (tr[].q, dr);
(out[], ql) = 0; --зануление неиспользуемых выходов
END GENERATE;
IF type == "pos_l" GENERATE
(tr[].d, ql) = (dl, tr[].q);
(out[], qr) = 0; --зануление неиспользуемых выходов
END GENERATE;
END;

Друзья помогите исправить ,то что выделенно красным
а конкретно как убрать не используемые выходы, а не подавать на них нули
что нужно исправить?
Реклама
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»