| |
当使用sv语言写testbench遇到宏定义使用,multi define等错误,这些错误通过修改头文件的调用有可能巧妙的解决,但不是每次都那么幸运的花很少时间就能搞定。
靠谱实用的方法:
在do文件中编译.v文件只需要 vlog ../rtl/*.v 即可
编译.sv文件:
vlog -mfcu -sv ../head/head.v ../sv/packet.sv ../sv/generator.sv ………
上面语句中-sv 可以省略不写,但是-mfcu必须写,在questasim Transcri 命令栏下打上 vlog -help 会弹出很多的帮助信息,这些帮助信息里面有-mfcu的介绍,意思是 -mfcu 后面需要跟上所有需要编译的文件,且不同文件之间的宏定义是可见的。
# -mfcu[=macro] Multi-file compilation unit, all files in command line make up a compilation unit.
#The =macro modifier only enables the visibility of macro definitions across different files.
#The default is to have each file be a separate compilation unit (-sfcu mode).