在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 7487|回复: 4

[求助] verilog调用子模块时parameter的传递问题

[复制链接]
发表于 2016-6-27 21:21:13 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
大家好:
   请教一个verilog调用子模块时parameter的传递问题,如果顶层模块和子模块之间的parameter不一致,以那个为准?
   具体如下:
   比如在top文件中,调用一个子模块,使用parameter进行参数传递,如下:
Infrastructure-3 instantiation
       infrastructure #
       (
          .C_INCLK_PERIOD                 (1),
          .C_RST_ACT_LOW                  (2),
          .C_INPUT_CLK_TYPE               (3),
          .C_CLKOUT0_DIVIDE               (4),
          .C_CLKOUT1_DIVIDE               (5),
          .C_CLKOUT2_DIVIDE               (6),
   
       )

子模块中的开头是这么写的:
module infrastructure #
   (
    parameter C_INCLK_PERIOD    = 1,
    parameter C_RST_ACT_LOW      = 1,
    parameter C_INPUT_CLK_TYPE   = 1,
    parameter C_CLKOUT0_DIVIDE   = 1,
    parameter C_CLKOUT1_DIVIDE   = 1,
    parameter C_CLKOUT2_DIVIDE   = 1,
   

    )


可以看到顶层和被调用模块并不一致,那么以那个为准?
发表于 2016-6-27 21:51:07 | 显示全部楼层
以顶层为准。
发表于 2016-6-27 22:34:19 | 显示全部楼层
子模块的参数是可以被覆盖的
 楼主| 发表于 2016-6-28 09:10:03 | 显示全部楼层
好的,多谢!
那么VHDL的情况也是一样的吧?
VHDL中使用的是generic,同样是顶层覆盖模块?
发表于 2016-6-28 11:12:20 | 显示全部楼层
建议还是用defparameter从顶层定义
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-5 16:34 , Processed in 0.017988 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表