ここには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