【发布时间】:2013-06-08 17:47:08
【问题描述】:
我写了一个并行输入串行输出移位寄存器,我在这里展示。
module shiftreg32b (clk, reset, shift, carrega, in, regout);
input clk;
input reset, shift;
input carrega;
input [31:0] in;
output regout;
reg [31:0] inreg;
assign regout = inreg[31];
always @ (posedge clk)
begin
if (reset == 1) inreg <= 32'd0;
else if (carrega) inreg <= in;
else if (shift) inreg <= {inreg[30:0], 1'b0};
end
endmodule
我发现的问题是这个移位寄存器的输出总是未知的(StX),即使我已经设置了assign regout = 0; 来确定。测试非常简单,其他一切都运行良好(inreg 在启用shift 时切换,等等)。
我是否以错误的方式使用了分配?谁能指出问题所在?
【问题讨论】:
标签: verilog