Дамп памяти класса SystemVerilog - PullRequest
1 голос
/ 11 марта 2019

Есть ли способ вывести содержимое памяти из памяти, которая используется в классе, вместо использования $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.

Моя мотивация для этого состоит в том, чтобы сравнить мое прогнозируемое изменение содержимого памяти с фактическим содержанием памяти проверяемого устройства с помощью ограниченного рандомизированного теста.

Это ограничение возможностей инструмента поставщика?

...