Uvm_mem access

, ,

Hi,

What is the command to get values from the addresses in the memory(in RAL) ,
such as the use of GET in the registers.

In reply to saraTel:

You must use read() or peek(). uvm_mem gives you the address mapping of uvm_reg, but not the mirroring or prediction.

In reply to dave_59:
Thanks,

I created class in regmodel:
class ral_mem_SPI_PT_RAM extends uvm_mem;
function new(string name = “SPI_PT_RAM”);
super.new(name, `UVM_REG_ADDR_WIDTH’h80, 24, “RW”, build_coverage(UVM_NO_COVERAGE));
endfunction
virtual function void build();
endfunction: build

`uvm_object_utils(ral_mem_SPI_PT_RAM)

endclass : ral_mem_SPI_PT_RAM

How do I read from a specific address?

In reply to saraTel:

You need an UVM environment. For this you can define a sequence which si performing reads or writes If you want to use backdoor access you can use peek and poke instead.

In reply to chr_sue:

I have an UVM environment.
I want to know how to use command read and peek,
where send the address?

In reply to saraTel:

The UVM register layer does not work directly with addresses. It uses names instead.
See the example in the Verification Academy source code examples.