线性反馈寄存器
module top_module(
input clk,
input reset, // Active-high synchronous reset to 5'h1
output [4:0] q
);
always@(posedge clk)
begin
if(reset)
begin
q<=5'b1;
end
else
begin
q[0]<=q[1];
q[1]<=q[2];
q[2]<=q[3]^q[0];
q[3]<=q[4];
q[4]<=0^q[0];
end
end
endmodule
错误原因1:一开始只对q[4]和q[2]赋值
,导致其他位的数值没有改变。