verilog参数例化

verilog参数例化

1、参数定义parameter

module ram_1r1w 
#( 
parameter width=128,
parameter deepth=32
)
(
input               wclk,
input   [width-1:0]   wdin,
.....................................
input               rclk,
output  [width-1:0]  dout,
...................................
);
....................
....................
.....................
endmodule   
可传递的参数例化建议放在module名的后面,如上所示,采用#( parameter  xxx=xxx, parameter xxx=xxx, ....)的格式,方便查看和修改。

2、参数例化

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)
);
在模块例化时可使用参数传递,格式如上所示

module_name #(.parameter1(xxx1),.paramter2(xxx2))

module_name_u0 ( .signal1(s1), .signal2(s2),.............);

参数例化括号内也可以使新的参数,如下所示

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)
);
 

  • 5
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值