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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 9756|回复: 12

[求助] 关于`define的作用域的一些疑问?

[复制链接]
发表于 2016-9-27 18:00:40 | 显示全部楼层 |阅读模式

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

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

x
众所周知,`define定义的宏可以实现“跨模块、跨文件、整个工程”的大范围的使用,
这次我用`define定义适用于整个工程的参数,然后单独放在一个.v文件里面。
现在的问题是:
(1)如果想在工程里面所有地方都可以使用这些`define,我发现只能在每一个模块或者源文件里面都用`include命令包含头文件。
        想问有没有更简单的办法?
(2)如果没有其他办法,那么在VIVADO源文件管理界面上,会有很多个“头文件”显示出来(取决于我调用了多少次),
       对于小模块很多的工程,界面很不美观,然后remove这些头文件肯定也是报错的。
       想问有没有至少让这个界面美观一点的办法?
++++++++
谢谢各位!
发表于 2016-9-27 18:51:12 | 显示全部楼层
同问!!!
发表于 2016-9-28 08:12:07 | 显示全部楼层
我想到的 办法是  可以用一个总的头文件把零散的头文件include即可。  当然大型项目中,可以用几个代表性头文件(按模块或层次) 来include零散头文件。
 楼主| 发表于 2016-9-28 08:55:02 | 显示全部楼层
回复 3# ltshan
你说的这个并没有解决我说的问题啊,就算只有一个头文件,那还不是要在每个使用`define的源文件里面都调用一次。
发表于 2016-9-28 15:12:01 | 显示全部楼层
我的使用体会,各家软件对此问题处理不一样。vivado只要把define文件设成global include就可以提供全部文件使用。verdi只要包含define文件就行。vcs则需要指定define文件的目录,并且在文件头上要包含include。
发表于 2016-9-29 11:17:10 | 显示全部楼层
回复 5# schottky163


   请问Vivado 在中如何将宏文件设置成global include?
发表于 2017-4-18 07:46:16 | 显示全部楼层
QQ截图20170418074931.png
找到要被global define的文件,vivado中鼠标右单击会看到那个选项
发表于 2017-11-2 10:02:34 | 显示全部楼层
在综合选项里加上 -verilog_define + 内容 就可以了
发表于 2017-11-2 20:34:19 | 显示全部楼层
TCL建工程可以用 add_files {xxx }-scan_for_include  xxx/include/

set_property file_type {Verilog Header} [get_files xxx/include/defines.v]
发表于 2017-11-3 08:18:27 | 显示全部楼层
这个真是极好的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-4-20 09:02 , Processed in 0.031374 second(s), 11 queries , Gzip On, Redis On.

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