Подскажите, пожалуйста что делает код:
lpm_shiftreg sr(
.clock(clk),
.sclr(prn_key_enable),
.enable(hc_enable),
.shiftin(ca_code),
.q(srq)
);
defparam sr.lpm_width= 3;
Из названия понятно что это сдвиговый регистр.
clk - вход тактовой частоты;
sclr - что-то должно очищаться. Вопрос что? (Состояние сдвигового регистра? В документации на мегафункцию сказано что-то про влияние на выход...)
enable - clock enable;
shiftin - вход схемы? Поступают входные однобитовые отсчеты? Верно или нет?
q - выход. Что тут есть выход с учетом заданного параметра "sr.lpm_width= 3"??? Неясно...
Идеально, если кто-то может промоделировать работу этого кода и выложить временные диаграммы. Заранее спасибо.
ЗЫ Читал документацию http://www.altera.com/literature/ug/lpm_shiftreg.pdf , но за отсутствием опыта в ПЛИСах разобраться тяжело...