generate……for语句是verilog hdl特定的语句,使用循环结构编写可综合的多个形式相近的代码,循环变量必须由特定关键字genvar声明。
同时需要注意for循环内的begin……end最好一直保留,即使只有一个语句,begin后面一般需要对语句块命名。
`timescale 1ns/1ns
module gen_for_module(
input [7:0] data_in,
output [7:0] data_out
);
genvar i;
generate
for(i=0;i<=7;i = i+1) begin: assignment
assign data_out[i] = data_in[7-i];
end
endgenerate
endmodule