DesignWare VIP 的 define 文件

用过DW VIP的童鞋们一定会感受到里面一堆define文件的痛苦,下面就粗略的谈谈和define相关的知识。

1. VIP原代码中大量运用了ifdef , 即意味着如果外界定义了某宏则使用外界最终定义的宏,否则使用内部预定义的default值。这里支持redefine。

2. 外界预定义的宏放在 include/verilog 目录下,主要如下:

      AhbMasterDefines.inc          // 定义了master VMT相关的command的参数

      AhbSlaveDefines.inc            // 定义了Slave VMT相关的command的参数

      AhbMonitorDefines.inc        // 定义了Monitor VMT相关的command的参数

      AhbBusDefines.inc              // 定义了bus中各个master,slave,monitor 相关信号的位置编号

      以上头文件,都会include AhbCommonDefines.inc 这个共同的头文件。

      AhbCommonDefines.inc 定义了部分AHB信号的位置编号, 他include了AmbaCommonDefines.inc (这个头文件也定义了AHB剩余信号的位置编号)

   

     此外还有VmtDefines.inc  定义了VTM related control such as memory pattern,message pattern,watch point

 

3. 用户如果需要重新定义位宽等变量(在AhbCommonDefines.inc中有定义),需要在include AhbCommonDefines.inc 后 在include  User redefined 头文件。

 

4. interface 定义文件 include AhbCommonDefines.inc 就可以了。

   

5. 整个testbench中可以用上 VmtDefines.inc  AhbCommonDefines.inc (AhbMasterDefines .inc , AhbXXXDefines.inc 视情况考虑)。   

你可能感兴趣的:(SystemVerilog)