UVM:如何在虚拟接口中连接多维数组?

时间:2014-07-21 13:26:39

标签: arrays verilog system-verilog uvm

我在DUT中有5个SRAM实例(== 5个不同的2-D阵列)(全部用verilog)。我想从UVM测试平台上对这些阵列进行后门加载。 SRAM阵列上有多个驱动程序,无论是来自DUT本身还是来自testbench(来自testbench,它主要是使用$ readmemh进行后门访问)。 现在,我希望将这些数组处理到UVM测试平台中。因此,我创建了一个具有本地内存阵列的虚拟接口,并将接口实例化了5次。 麻烦的是,如何在虚拟接口中连接DUT SRAM阵列和阵列?我需要建立一个弱连接,以便在DUT驱动阵列时没有争用。

任何人都可以建议如何在UVM测试平台中连接多维数组而没有强大的驱动程序吗?

1 个答案:

答案 0 :(得分:0)

由于没有代码,因此有点难以理解这个问题。

我的理解是你正在尝试初始化几个2D数组。如果您使用的是Modelsim,有一种非常简单的方法可以通过TCL脚本进行初始化。实际上,这个工具将所有2D数组视为内存,并且它具有TCL功能,可以将文件中的内容加载到这些内存数组中。

以下是TCL代码的示例:

mem load -i Startup_Memories / sram.hex -format hex -fillradix symbolic -skip 0 / orpsoc_testbench / dut / ram_wb0 / ram_wb_b3_0 / ram0