| |
在verilog-2001中新增了语句generate,通过generate循环,可以产生一个对象(比如一个元件或者是一个模块)的多次例化,为可变尺度的设计提供了方便,generate语句一般在循环和条件语句中使用,为此,Verilog-2001增加了四个关键字generate,endgenerate, genvar, localparam,genvar是一个新增的数据类型,用在generate的循环中的标尺变量必须定义为gnevar类型的。
//1bit宽度的反相器
module buffer_1(
input wire in,
output wire out
);
assign ut = ~in;
endmodule
//8bit宽度的反相器
module buffer_8(
input wire[7:0] din,
output wire[7:0] dout
);
genvar i;
generate
for(i=0; i<8; i=i+1) begin:b1
buffer_1 buffer_1_1(.in(din[i]),
.out(dout[i]));
end
endgenerate
endmodule