メインコンテンツへスキップ

Verilog - for ループ

·95 文字
icysamon
著者
icysamon
電子工作・クリエイター

ここには8ビットの順序を逆するを例に挙げる。

for
#

module top_module( 
    input [7:0] in,
    output [7:0] out
);

    always @(*) begin
        for (int i = 0; i < 8; i++)
            out[i] = in[8 - i - 1];
    end
    
endmodule

generate - for
#

module top_module( 
    input [7:0] in,
    output [7:0] out
);

	generate
		genvar i;
        for (i = 0; i < 8; i = i + 1) begin: my_block_name
            assign out[i] = in[8 - i - 1];
		end
	endgenerate
    
endmodule