365官方地址

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

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

查看: 13983|回复: 12

[求助]

关于`define的作用域的一些疑问?

[复制链接]

YYFFLLMMNN

YYFFLLMMNN

当前离线

积分4195

IP卡

狗仔卡

电梯直达

1#

发表于 2016-9-27 18:00:40

|

只看该作者

|倒序浏览

|阅读模式

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

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

×

众所周知,`define定义的宏可以实现“跨模块、跨文件、整个工程”的大范围的使用,

这次我用`define定义适用于整个工程的参数,然后单独放在一个.v文件里面。

现在的问题是:

(1)如果想在工程里面所有地方都可以使用这些`define,我发现只能在每一个模块或者源文件里面都用`include命令包含头文件。

想问有没有更简单的办法?

(2)如果没有其他办法,那么在VIVADO源文件管理界面上,会有很多个“头文件”显示出来(取决于我调用了多少次),

对于小模块很多的工程,界面很不美观,然后remove这些头文件肯定也是报错的。

想问有没有至少让这个界面美观一点的办法?

++++++++

谢谢各位!

作用域

收藏1

转播

分享

淘帖0

支持0

反对0

回复

使用道具

举报

提升卡

沉默卡

喧嚣卡

变色卡

诠释幸福

诠释幸福

当前离线

积分666

IP卡

狗仔卡

2#

发表于 2016-9-27 18:51:12

|

只看该作者

同问!!!

EETOP创芯人才网职位发布入口

回复

支持

反对

使用道具

举报

ltshan

ltshan

当前离线

积分462

IP卡

狗仔卡

3#

发表于 2016-9-28 08:12:07

|

只看该作者

我想到的 办法是 可以用一个总的头文件把零散的头文件include即可。 当然大型项目中,可以用几个代表性头文件(按模块或层次) 来include零散头文件。

回复

支持

反对

使用道具

举报

YYFFLLMMNN

YYFFLLMMNN

当前离线

积分4195

IP卡

狗仔卡

4#

楼主|

发表于 2016-9-28 08:55:02

|

只看该作者

回复 3# ltshan

你说的这个并没有解决我说的问题啊,就算只有一个头文件,那还不是要在每个使用`define的源文件里面都调用一次。

回复

支持

反对

使用道具

举报

schottky163

schottky163

当前离线

积分6423

IP卡

狗仔卡

5#

发表于 2016-9-28 15:12:01

|

只看该作者

我的使用体会,各家软件对此问题处理不一样。vivado只要把define文件设成global include就可以提供全部文件使用。verdi只要包含define文件就行。vcs则需要指定define文件的目录,并且在文件头上要包含include。

EETOP创芯人才网简历投递入口

回复

支持 1

反对 0

使用道具

举报

zp251105939

zp251105939

当前离线

积分127

IP卡

狗仔卡

6#

发表于 2016-9-29 11:17:10

|

只看该作者

回复 5# schottky163

请问Vivado 在中如何将宏文件设置成global include?

EETOP创芯人才网职位发布入口

回复

支持

反对

使用道具

举报

18829343181

18829343181

当前离线

积分2075

IP卡

狗仔卡

7#

发表于 2017-4-18 07:46:16

|

只看该作者

登录/注册后可看大图

QQ截图20170418074931.png (30.41 KB

, 下载次数: 75

)

下载附件

保存到相册

2017-4-18 07:45 上传

找到要被global define的文件,vivado中鼠标右单击会看到那个选项

EETOP创芯人才网简历投递入口

回复

支持

反对

使用道具

举报

殷工

殷工

当前离线

积分880

IP卡

狗仔卡

8#

发表于 2017-11-2 10:02:34

|

只看该作者

在综合选项里加上 -verilog_define + 内容 就可以了

EETOP创芯人才网职位发布入口

回复

支持

反对

使用道具

举报

vongy

vongy

当前离线

积分26336

IP卡

狗仔卡

9#

发表于 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]

EETOP创芯人才网简历投递入口

回复

支持

反对

使用道具

举报

河源皮

河源皮

当前离线

积分2289

IP卡

狗仔卡

10#

发表于 2017-11-3 08:18:27

|

只看该作者

这个真是极好的

回复

支持

反对

使用道具

举报