24日目 ~Register~
こんにちは!今日はデジタル回路の話題で更新します。
今回は、19日目に更新した内容の続きで順序回路を作っていきます。
その名も、Nbitレジスタです。
レジスタは、前回紹介したDFFから作られる記憶素子の一つになります。(というか、前回の最後に紹介したDFF回路は1bitレジスタそのものですね)
in-reality.hatenablog.com
Nbitと言っても、折角16bitのALUなどを設計してきたので、レジスタも16bitに統一しようと思います。
複数bitのレジスタは、前回作ったモジュールを並列に並べればよいだけなので、以下のようなコードになります。
module Bit ( input in, load, clk, output out ); reg d; assign out = d; always @(posedge clk) begin if (load) begin d = in; end end endmodule module Register ( input [15:0] in, input load,clk output [15:0] out ); Bit U0(in[0], load, clk, out[0]); Bit U1(in[1], load, clk, out[1]); Bit U2(in[2], load, clk, out[2]); ..... Bit U2(in[N], load, clk, out[N]); endmodule
ちなみに、前回紹介したモジュールは名を改めBitという名前にしました。後は、Registerモジュールにあるようにそのまま並列に並べていって16bitレジスタの完成です。