0
votes

Suppose I have an input file (someinputdata.txt) to be loaded in the uvm-based memory which is declared as follows and instantiated somewhere on a register block (a class that extends a uvm_reg_block).

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

I'm not sure if there is a built-in function to load an input file to uvm_mem.

How do you efficiently load someinputdata.txt to this memory?

1

1 Answers

2
votes

The uvm_mem class does not have a mirror of the actual memory. You will have to load it via a front-door or back-door method that you need to define. Back-door is preferred, so you need to define a user-defined backdoor access by extending the uvm_reg_backdoor class and implementing the write() method to write to the memory model as required.