是否有一种方法可以转储类中使用的内存的内存内容,而不是使用$writememh()
系统任务?我想检查在UVM记分板中使用的UVM环境的预测变量类中的内存内容。我正在使用2016 Synopsys VCS仿真供应商
例如说我有预测变量:
class my_predictor extends uvm_subscriber#(my_item);
`uvm_component utils(my_predictor)
logic [15:0] mem [512]; // Want to observe the change of this mem content
...
/* local logics, constructor, phase(s) and write function definitions */
...
endclass : my_predictor
我尝试了以下方法:
task run_phase(uvm_phase phase);
forever begin
$vcdplusmemon(mem);
endtask : run_phase
但是即使加载vcdplus.vpd
,我也无法观察到它。然后,我在DVE中设置simv
,然后运行。当我尝试查看my_predictor.mem
的波形时,DVE崩溃了。
我这样做的动机是通过约束随机测试将我预测的内存内容变化与我正在测试的DUT的实际内存内容进行比较。
这是供应商工具功能的限制吗?