generate可以用for,case,if。其中,generate实例化多个器件很简洁。
generate
genvar j ;
for(j=0;j<=INST_NUM;j=j+1)
begin : inst
dff #(PARAMETER) unit(.clk(clk),
.ena(ena),
.in(in),
.out(out)
) ;
end
endgenerate
1,genvar后面的for,变量必须是genvar变量;generate+if,不如`ifdef `else `endif
2,for里必须有begin,哪怕只有一句
3,begin必须有名称,原因见4
4,这里例化的模块名称是inst[j].unit
5,generate语句可以看作是标准化为块的综合指令
文章评论(0条评论)
登录后参与讨论