移位寄存器链

chain of shift registers

如何在 verilog 中将此电路实现为移位寄存器链。

这里a和b是常量,A是32位寄存器

A = A(t-7) + A(t-16) + a.A(t-2) + b.A(t-15) for 16<= t <= 63

谢谢

实现是将您的公式直接映射到移位寄存器和一些胶合逻辑,或者更正式地说是映射到有限状态机。我相信你的公式是:

for 16<= t <= 63:
A(t)  = A(t-7) + A(t-16) + a.A(t-2) + b.A(t-15)

A 是您的输出变量(或输出函数),其当前值取决于其在 t-7t-2t-15 处的值。这意味着您需要保留其之前的 15 个值(例如,通过使用移位寄存器)。一旦你有了这些值,计算你的输出就非常简单了。

网上有很多 Verilog 移位寄存器实现示例。最简单的方法是描述单个寄存器模块,然后多次实例化。