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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

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

[求助] verdi的使用问题

[复制链接]
发表于 2023-9-8 21:24:47 | 显示全部楼层 |阅读模式

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

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

x

VCS编译时define参数,verdi load源代码时,未识别出。

tb中有如下代码:
`ifdef TEST
test1 u_test1(a,b,c,y);
`else
test2 u_test2(a,b,c,y);
`endif

在vcs编译时,使用+define+TEST,仿真时,tb中实例化的test1;
但是,在verdi -f tb.f查看波形和设计文件时,提示test1没有用到,设计文件中就没有显示test1模块。
看上去verdi没有识别处在vcs编译时define的TEST。

有什么办法,可以满足在VCS编译时指定define参数,verdi查看波形时又能正确load 该define 参数时的源代码吗?
发表于 2023-9-9 17:45:38 | 显示全部楼层
verdi的命令后面也加上同样的define,这毕竟是两条指令。verdi也会实现编译的处理的,所以需要加上同样的宏定义。verdi不是基于vcs的编译库去加载代码,而是重新编译的。
发表于 2023-9-11 11:10:51 | 显示全部楼层
这里提供两种方式
1. 脚本的方式,考虑到你可能使用的define偏多,那么就用makefile的形式,首先可以把你使用的define都设置成变量,然后在vcs和verdi的命令+define+后调用你需要的define变量
2. define文件的形式,同样适用于define偏多,可以把你所需要的define都写入一个def.v的文件中,tb.f中的第一行加上+incdir+,后接def.v所在的绝对路径或者相对路径都可以,第二行把def.v加进来;这样子vcs和verdi在使用的时候都不需要考虑+define+的问题

希望上述解答对你有所帮助
发表于 2023-9-11 16:54:30 | 显示全部楼层
Verdi命令行也加上+define+TEST就可以了啊
 楼主| 发表于 2023-9-11 19:52:40 | 显示全部楼层
明白了,谢谢大家的帮助!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-5 12:58 , Processed in 0.016110 second(s), 6 queries , Gzip On, Redis On.

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