<font style="line-height: 40px;" color="red"><strong>1、参数定义parameter</strong></font>
<pre>module ram_1r1w
#(
parameter width=128,
parameter deepth=32
)
(
input wclk,
input [width-1:0] wdin,
.....................................
input rclk,
output [width-1:0] dout,
...................................
);
....................
....................
.....................
endmodule
</pre>
可传递的参数例化建议放在module名的后面,如上所示,采用#( parameter xxx=xxx, parameter xxx=xxx, ....)的格式,方便查看和修改。
<font style="line-height: 40px;" color="red"><strong>2、参数例化</strong></font>
<pre>ram_1r1w
#(
.width(128),
.deepth(96)
)
ram_1r1w_96x128
(
.wclk(wclk),
.wen(write_en),
.waddr(waddr),
.wdin(wdata),
.rclk(rclk),
.ren(read_en),
.raddr(raddr),
.dout(rdata)
);
</pre>
在模块例化时可使用参数传递,格式如上所示
module_name #(.parameter1(xxx1),.paramter2(xxx2))
module_name_u0 ( .signal1(s1), .signal2(s2),.............);
<strong>参数例化括号内也可以使新的参数,如下所示</strong>
<pre>module mactx_32x128_fifo
#(
parameter WIDTH=128,
parameter DEEPTH=32
)
(
input wclk,
......................
input rclk,
...................
)
................
................
ram_1r1w
#(
.width(WIDTH),
.deepth(DEEPTH)
)
ram_1r1w_u0
(
.wclk(wclk),
.wen(write_en),
.waddr(waddr),
.wdin(wdata),
.rclk(rclk),
.ren(read_en),
.raddr(raddr),
.dout(rdata)
);
</pre>
版权声明:本文为CSDN博主「IC小鸽」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/icxiaoge/article/details/84072911