移位寄存器链
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-7
、t-2
和 t-15
处的值。这意味着您需要保留其之前的 15 个值(例如,通过使用移位寄存器)。一旦你有了这些值,计算你的输出就非常简单了。
网上有很多 Verilog 移位寄存器实现示例。最简单的方法是描述单个寄存器模块,然后多次实例化。
如何在 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-7
、t-2
和 t-15
处的值。这意味着您需要保留其之前的 15 个值(例如,通过使用移位寄存器)。一旦你有了这些值,计算你的输出就非常简单了。
网上有很多 Verilog 移位寄存器实现示例。最简单的方法是描述单个寄存器模块,然后多次实例化。