私は、ここで紹介するパラレル イン シリアル アウト シフト レジスタを作成しました。
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
割り当てを間違った方法で使用していますか? 誰でも問題を指摘できますか?