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) );
版权声明:本文为CSDN博主「IC小鸽」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/icxiaoge/article/details/84072911