最初のページ 戻る 次へ 最後のページ 画像

回路記述

module shiftRegister4(clk,clr,d, q);

input clk,clr,d;

output [3:0]q;

reg [3:0] q;

always @(posedge clk) begin

if(!clr) q<=4'b0000;

else begin

q <= q << 1 ;

q[0] <= d;

end

end

endmodule

LSBをdで更新

1ビット左シフト << 1

3ビット右シフトなら>> 3

q[3]

q[2]

q[1]

q[0]

左シフト

右シフト

論理回路図と並び順が違うので注意

clkで状態変化

(clrなし)

clr=0で同期リセット