在做EDA仿真时,经常会通过在验证平台中加入对某些define是否存在的判断,以使验证平台产生不同的行为,但是这些判断都是在验证平台,也就是sv文件中,如果在跑仿真前给验证平台传入某个define,一般是通过在仿真工具的编译指令中,加入+define+xxx实现。
如果要向C case传入define,实现和上述类似的功能,该如何操作?通过查网上的资料和修改makefile后仿真实验发现,gcc的编译可以通过在编译选项中加入-D实现define的传入。有以下四种形式:
-DNAME
-D NAME
-DNAME VALUE
-D NAME VALUE
即define的名字是否和-D之间有空格,以及是否给define一个显式的值,都是可选的,如果没有显式给定一个值,则默认值为1.