See Lfsr5 for explanations.
Build a 32-bit Galois LFSR with taps at bit positions 32, 22, 2, and 1.
在位位置 32、22、2 和 1 处构建具有抽头的 32 位 Galois LFSR。
这足够长,以至于您想要使用向量,而不是 32 个 DFF 实例。
不太懂这题什么意思。。
module top_module(
input clk,
input reset, // Active-high synchronous reset to 32'h1
output [31:0] q
);
always @(posedge clk)
begin
if(!reset)begin
q[31] <= q[0]^1'b0;
q[21] <= q[22]^q[0];
q[1] <= q[2]^q[0];
q[0] <= q[1]^q[0];
q[20:2] <= q[21:3];
q[30:22] <= q[31:23];
end
else
q <= 32'h1;
end
endmodule