Verilog/System Verilogのgenerate文
for文を使って回路モジュールを任意個生成する方法があったよなぁと思い出しつつコーディングした。忘れないうちにメモ。下記の例ではgenerete文を使ってFFを4つ生成している。うまくgenerete文を使えば色々便利かも。
//Example of generating four FFs module FF4(CLK,D,Q); parameter width = 4; input CLK; input [width-1:0] D; output [width-1:0] Q; //generateによりwidth(4つ)のFFを生成 generate genvar i; for(i = 0; i < width; i=i+1) begin:ff_loop FF F0(.D(D[i]), .Q(Q[i]), .CLK(CLK)); end endgenerate endmodule