System verilog 如何初始化uvm_mem?

System verilog 如何初始化uvm_mem?,system-verilog,uvm,System Verilog,Uvm,假设我有一个输入文件(someinputdata.txt)要加载到基于uvm的内存中,它是 声明如下,并在寄存器块的某处实例化(扩展的类 一个uvm\u reg\u块) 我不确定是否有内置函数来加载输入 文件到uvm\u mem 如何有效地将someinputdata.txt加载到此内存?uvm_mem类没有实际内存的镜像。您必须通过需要定义的前门或后门方法加载它。后门是首选,因此您需要通过扩展uvm\u reg\u backdoor类并实现write()方法来定义用户定义的后门访问,以便根据需

假设我有一个输入文件(
someinputdata.txt
)要加载到基于uvm的内存中,它是 声明如下,并在寄存器块的某处实例化(扩展的类 一个
uvm\u reg\u块

我不确定是否有内置函数来加载输入 文件到
uvm\u mem


如何有效地将
someinputdata.txt
加载到此内存?

uvm_mem类没有实际内存的镜像。您必须通过需要定义的前门或后门方法加载它。后门是首选,因此您需要通过扩展
uvm\u reg\u backdoor
类并实现
write()
方法来定义用户定义的后门访问,以便根据需要写入内存模型。

感谢您的回答。你知道网上某个地方的参考代码吗?对不起,我不知道,而且我似乎找不到任何东西。我认为大多数人在UVM之外初始化他们的DUT记忆。
class mymemory extends uvm_mem;
   `uvm_object_utils(mymemory)

   function new(string name = "mymemory");
      super.new(name, 32'h800, 32, "RW", UVM_NO_COVERAGE);
   endfunction

endclass