微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > module例化前的#()是什么意思?

module例化前的#()是什么意思?

时间:10-02 整理:3721RD 点击:
本人是新手,在下载的一些verilog代码中看到一个这样的现象,如:
dpram #(
.adr_width(   7 ),
.dat_width(  33 )
) tag_ram (
.clk (     clk         ),
.adr0(     wb_adr_set  ),
.dout0(    tag_load    ),
.din0(     tag_store   ),  
.we0(      tag_we      ),
.adr1(     ls_tag_adr   ),
.dout1(    ls_tag_load  ),
.din1(     ls_tag_store ),  
.we1(      ls_tag_we    )
);

module ddr_clkgen
#(
parameter phase_shift  = 0,
parameter clk_multiply = 13,
parameter clk_divide   = 5
) (
input        clk,
input        reset,
output       locked,
output       write_clk,
output       write_clk90,
input        ddr_clk_fb,
output       read_clk,
input  [2:0] rot
);

i2c_slave_model #(SADR) i2c_slave (
  .scl(scl),
  .sda(sda)
);
就是这个红色字体的部分,在module名之后,例化名之前的部分,不知道这个是什么意思,是在仿真的时候用,还是有其他含义?
望高手指点一下,或者给个说明的链接或资料,因不知道怎么搜索,所以在网上也没搜到资料,3Q!

verilog2001语法:参数的例化。
类似module的例化,按照name例化。

参数传递,和VHDL的generic类似

我也没有看懂,希望指教

yong_1789 说得对。一般在对端口进行参数配置的时候,用到parameter的时候需要用到#(),否则直接用parameter,编译时语法会报错。我也是昨天才知道这个问题的。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top