Цепочка сдвиговых регистров
Как я могу реализовать эту схему в виде цепочки сдвиговых регистров в Verilog.
Здесь a и b - константы, а A - 32-битный регистр
A = A(t-7) + A(t-16) + a.A(t-2) + b.A(t-15) for 16<= t <= 63
Спасибо
1 ответ
Реализация - это прямое отображение вашей формулы в регистр сдвига и некоторую связующую логику, или, более формально, в конечный автомат. Я считаю, что ваша формула:
for 16<= t <= 63:
A(t) = A(t-7) + A(t-16) + a.A(t-2) + b.A(t-15)
A - это ваша выходная переменная (или выходная функция), текущее значение которой зависит от ее значений в t-7
, t-2
, а также t-15
, Это означает, что вам нужно сохранить 15 предыдущих значений (например, с помощью регистра сдвига). Как только вы получите эти значения, вычислить ваш результат очень просто.
В сети есть много примеров реализации регистра сдвига Verilog. Самый простой способ - описать один модуль регистра, а затем создать его несколько раз.