2329|0

6423

帖子

16

TA的资源

版主

楼主
 

defparam总结 [复制链接]

define:可以跨模块定义;
parameter:本module内有效的定义,可用于参数传递、定义端口信号。
defparam:是对已经声明的模块常量,在例化的时候对该常量进行重新定义

模块实例引用时参数传递,即高层模块可以改变底层模块用parameter定义的参数值。有以下两种方式:

(1)defparam重定义参数
语法:
defparam   例化模块名.参数名1 = 常量表达式,
                例化模块名.参数名2 = 常量表达式;
低层模块的参数可以通过层次路径名重新定义


  1. module top ( .....)
  2. input....;
  3. output....;
  4. defparam U1 . Para1 = 10 ;
  5. M1 U1 (..........);
  6. endmodule
  7. module M1(....);
  8. parameter para1 = 5 ;
  9. input...;
  10. output...;
  11. ......
  12. <font size="5">endmodule</font>
复制代码
在上例中,模块M1参数para1的缺省值为5,而模块top例化了M1后将参数值改为10.

(2)利用“#”实例化时传递参数
例化时利用“#”将参数传递进去
语法: 被引用模块名 #(参数1,参数2,...) 例化模块名(端口列表);
  1. module top ( .....)
  2. input....;
  3. output....;
  4. M1 #( 10 ) U1 (..........);
  5. endmodule
复制代码
在该例中用#(10)修改了上例中的参数param1,当有多个参数时用逗号隔开,如#(10, 5, 3)传递了3个参数值。
参数的传递必须与被引用模块中的参数一一对应。

此帖出自FPGA/CPLD论坛
点赞 关注
个人签名training
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表