`timescale 1ns/1ns
module gen_for_module( 
    input [7:0] data_in,
    output [7:0] data_out
);
    genvar ii;
    generate 
        for(ii=0;ii<8;ii=ii+1)begin:gen_for_module
            assign data_out[ii]=data_in[7-ii];
        end
    endgenerate
endmodule

https://blog.csdn.net/bleauchat/article/details/86482941

generate的几种用法可以参考这个网站,例如在此题中:

for循环中使用的循环变量ii被称为genvar变量,这种变量必须用genvar来声明,并且只能在generate循环语句中使用;此外,generate块需要标签,用来表示循环的实例化名称,在上例中是gen_for_module