Есть ли способ вывести содержимое памяти из памяти, которая используется в классе, вместо использования $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
. Затем я настроил для simv
в DVE, а затем побежал. Когда я попытался просмотреть форму волны my_predictor.mem
, произошел сбой DVE.
Моя мотивация для этого состоит в том, чтобы сравнить мое прогнозируемое изменение содержимого памяти с фактическим содержанием памяти проверяемого устройства с помощью ограниченного рандомизированного теста.
Это ограничение возможностей инструмента поставщика?