Verilog中参数传递用法
0赞
发表于 2015/6/4 11:30:17
阅读(5575)
以前发的博客中说要补参数传递的用法,现在用到了才想到补,哎....话不多说,补上。
直接上例子说明吧。
底层模块中:
module A #( parameter a = 32'd0, b = 32'd0 ) ( input clk, output cnt ) ...... ...... endmodule
其中a,b为定义的底层模块的参数,默认值为32'd0.
在顶层模块中调用:
A #( .a (32'd1), .b (32'd1) ) A_inst1( .clk (XX),//接顶层模块信号 .cnt (XX) ); A #( .a (32'd2), .b (32'd2) ) A_inst2( .clk (XX),//接顶层模块信号 .cnt (XX) );
在A_inst1中向底层模块传递的参数值为1,在A_inst2中向底层模块传递的参数值为2.
当然参数传递还有其他的格式,我个人认为这种方式更加清晰明了,所以暂时就用这种了,以后遇到其他情况另说,对于其他的方法我就不做说明了。我觉得这种方法以这种例子的形式来介绍应该很容易理解,希望能帮到需要的同学们吧。