Verilog中关于参数化设计的总结

方式一和方式二都能达到例化文件中参数的目的;

但是方式一中的defparam会影响到 tb 文件中的 defparam,如果 tb 文件中也有一段代码如下图:

则在仿真中 CNT_MAX 的数值会是文件 PLL_LED 中的数值,只有屏蔽了 PLL_LED 中对应代码后,CNT_MAX 才会是 tb 文件中的数值。(虽然tb文件不会影响到板级验证,但会影响到仿真结果)。

如果用方式二,则 tb 文件中的 defparam 级别会高于 PLL_LED 中的例化代码,所以仿真结果是以 tb 文件中的参数为准,而在板级验证中则可以顺利使用 PLL_LED 中的修改参数。

/************************************/

总结:为了同时保证实际逻辑设计和仿真验证时对参数的修改能够共存,互不影响,在实体模块设计中,使用参数例化的方式修改被例化模块中的参数(即方式一)。在仿真验证用的testbench中,使用defparam语句来修改对应的参数(方式二)。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值