Upward reference及其应用分析

文摘   2024-04-05 21:36   上海  

什么是upward reference?

SOC环境搭建中,无论是interface的实例化和连接,还是对DUT的信号进行操作时,都会用到Cross-module reference, 也就是常见的在testbench中使用RTL的信号,如:

module TB;...pcie_wrapper DUT();...wire pcie_rst;//引用DUT中的RTL信号assign pcie_rst = TB.DUT.pcie_top.rst;...endmodule

诸如此类的用法必不可少,每个验证环境都会使用cross-module reference的方式,使用或者监测DUT的内部信号。更常见的处理方式是定义hierarchy宏,这样易于维护和复用。比如上面的例子中,更常见的做法是定义一个宏,然后再使用:

module TB;`define PCIE_WRAPPER_HIER TB.DUT`define PCIE_TOP_HIER `PCIE_WRAPPER_HIER.pcie_top...assign pcie_rst = `PCIE_TOP_HIER.rst;...endmodule

当然,环境的宏定义会有专门的文件管理,一般不会在TB中直接定义和使用,上述例子仅作示意说明。

上述例子中的cross-module reference,其实是一种full path reference的方式。

验证芯发现
验证工程师的公众号,记录芯片验证的方方面面。