https://blog.csdn.net/yumimicky/article/details/121330963
VIP通过include文件来定义一些系统约束,可以通过覆盖这些常量来改写一些系统参数,例如,可以增加VIP限制的一些最大延迟值,或调整最大地址宽度、ID宽度等。
VIP中的系统常量在
$DESIGNWARE_HOME/vip/svt/amba_svt/latest/sverilog/include 目录下的以下文件中定义:
svt_axi_defines.svi
顶层include文件,它包含了common_define.svi和port_define.svi文件。此外,在定义了 `SVT_AXI_INCLUDE_USER_DEFINES 时,也会包含对用户自定义override文件的include。
svt_axi_common_defines.svi
该文件定义了VIP component使用的公共常量,只有通过ifndef语句声明的用户可定义变量是能够被重写的,例如:
svt_axi_port_defines.svi
该文件包含了一些设置环境默认最大占用空间的常数。这些值决定了“wire frame”中的wire位宽(它们不一定定义了组件使用的实际位宽,这是由配置类决定的)。
svt_axi_user_defines.svi
该文件包含了用户自定义覆盖常数,可以放在仿真filelist包含的任意路径下。
以下举例说明如何在VIP中重写一些最大延迟值:
创建 svt_axi_user_defines.svi 文件,重定义最大延迟值,确保在仿真filelist中包含该文件,例如:
以下是VIP中的延迟相关变量和相应的宏值,可以在 $DESIGNWARE_HOME/vip/svt/amba_svt/latest/sverilog/include/svt_axi_common_defines.svi 中参考这些值。
在编译时,添加编译选项 +define+SVT_AXI_INCLUDE_USER_DEFINES。
上述方法也适用于覆盖 AXI/AHB/APB SVT VIP 中的系统常数。
好好学习,天天向上!
领取专属 10元无门槛券
私享最新 技术干货