题解 | #使用generate…for语句简化代码#
使用generate…for语句简化代码
http://www.nowcoder.com/practice/618cb8d16a2c4e87b9e305f6659efe40
解题思路:
理解generate…for的用法,用于何处; 理解generate…for和for循环的区别; generate…for是用于简化代码, 使用方式: 注意事项,在generate…for中的变量i必须使用genvar 来定义。而且在for循环中,只针对模型,寄存器,网络,assign语句等语句或者模块。并且就算只有一句也必须用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 : out
assign data_out[i] = data_in[7-i];
end
endgenerate
endmodule