Class uvm_pkg::uvm_mem_region
Collaboration Diagram of uvm_mem_region
Name |
Type |
Description |
---|---|---|
Xstart_offsetX |
bit[63:0] |
Can't be local since function |
Xend_offsetX |
bit[63:0] |
calls not supported in constraints |
XvregX |
Local |
Constructors
- new(bit[63:0] start_offset, bit[63:0] end_offset, int unsigned len, int unsigned n_bytes, uvm_mem_mam parent)
Implementation
- Parameters:
start_offset (bit[63:0]) --
Local
end_offset (bit[63:0])
len (int unsigned)
n_bytes (int unsigned)
parent (uvm_mem_mam)
Functions
- get_start_offset()
Function
get_start_offset
Get the start offset of the region
Return the address offset, within the memory, where this memory region starts.
- get_end_offset()
Function
get_end_offset
Get the end offset of the region
Return the address offset, within the memory, where this memory region ends.
- get_len()
Function
get_len
Size of the memory region
Return the number of consecutive memory locations (not necessarily bytes) in the allocated region.
- get_n_bytes()
Function
get_n_bytes
Number of bytes in the region
Return the number of consecutive bytes in the allocated region. If the managed memory contains more than one byte per address, the number of bytes in an allocated region may be greater than the number of requested or reserved bytes.
- release_region()
Function
release_region
Release this region
- get_memory()
Function
get_memory
Get the memory where the region resides
Return a reference to the memory abstraction class for the memory implementing this allocated memory region. Returns null if no memory abstraction class was specified for the allocation manager that allocated this region.
- Return type:
- get_virtual_registers()
Function
get_virtual_registers
Get the virtual register array in this region
Return a reference to the virtual register array abstraction class implemented in this region. Returns null if the memory region is not known to implement virtual registers.
- Return type:
- convert2string()
Tasks
- write(uvm_status_e status, uvm_reg_addr_t offset, uvm_reg_data_t value, uvm_path_e path = UVM_DEFAULT_PATH, uvm_reg_map map = null, uvm_sequence_base parent = null, int prior = -1, uvm_object extension = null, string fname = "", int lineno = 0)
Task
write
Write to a memory location in the region.
Write to the memory location that corresponds to the specified offset within this region. Requires that the memory abstraction class be associated with the memory allocation manager that allocated this region.
See uvm_mem::write() for more details.
- Parameters:
status (uvm_status_e)
offset (uvm_reg_addr_t)
value (uvm_reg_data_t)
path (uvm_path_e)
map (uvm_reg_map)
parent (uvm_sequence_base)
prior (int)
extension (uvm_object)
fname (string)
lineno (int)
- read(uvm_status_e status, uvm_reg_addr_t offset, uvm_reg_data_t value, uvm_path_e path = UVM_DEFAULT_PATH, uvm_reg_map map = null, uvm_sequence_base parent = null, int prior = -1, uvm_object extension = null, string fname = "", int lineno = 0)
Task
read
Read from a memory location in the region.
Read from the memory location that corresponds to the specified offset within this region. Requires that the memory abstraction class be associated with the memory allocation manager that allocated this region.
See uvm_mem::read() for more details.
- Parameters:
status (uvm_status_e)
offset (uvm_reg_addr_t)
value (uvm_reg_data_t)
path (uvm_path_e)
map (uvm_reg_map)
parent (uvm_sequence_base)
prior (int)
extension (uvm_object)
fname (string)
lineno (int)
- burst_write(uvm_status_e status, uvm_reg_addr_t offset, uvm_reg_data_t value, uvm_path_e path = UVM_DEFAULT_PATH, uvm_reg_map map = null, uvm_sequence_base parent = null, int prior = -1, uvm_object extension = null, string fname = "", int lineno = 0)
Task
burst_write
Write to a set of memory location in the region.
Write to the memory locations that corresponds to the specified burst within this region. Requires that the memory abstraction class be associated with the memory allocation manager that allocated this region.
See uvm_mem::burst_write() for more details.
- Parameters:
status (uvm_status_e)
offset (uvm_reg_addr_t)
value (uvm_reg_data_t)
path (uvm_path_e)
map (uvm_reg_map)
parent (uvm_sequence_base)
prior (int)
extension (uvm_object)
fname (string)
lineno (int)
- burst_read(uvm_status_e status, uvm_reg_addr_t offset, uvm_reg_data_t value, uvm_path_e path = UVM_DEFAULT_PATH, uvm_reg_map map = null, uvm_sequence_base parent = null, int prior = -1, uvm_object extension = null, string fname = "", int lineno = 0)
Task
burst_read
Read from a set of memory location in the region.
Read from the memory locations that corresponds to the specified burst within this region. Requires that the memory abstraction class be associated with the memory allocation manager that allocated this region.
See uvm_mem::burst_read() for more details.
- Parameters:
status (uvm_status_e)
offset (uvm_reg_addr_t)
value (uvm_reg_data_t)
path (uvm_path_e)
map (uvm_reg_map)
parent (uvm_sequence_base)
prior (int)
extension (uvm_object)
fname (string)
lineno (int)
- poke(uvm_status_e status, uvm_reg_addr_t offset, uvm_reg_data_t value, uvm_sequence_base parent = null, uvm_object extension = null, string fname = "", int lineno = 0)
Task
poke
Deposit in a memory location in the region.
Deposit the specified value in the memory location that corresponds to the specified offset within this region. Requires that the memory abstraction class be associated with the memory allocation manager that allocated this region.
See uvm_mem::poke() for more details.
- Parameters:
status (uvm_status_e)
offset (uvm_reg_addr_t)
value (uvm_reg_data_t)
parent (uvm_sequence_base)
extension (uvm_object)
fname (string)
lineno (int)
- peek(uvm_status_e status, uvm_reg_addr_t offset, uvm_reg_data_t value, uvm_sequence_base parent = null, uvm_object extension = null, string fname = "", int lineno = 0)
Task
peek
Sample a memory location in the region.
Sample the memory location that corresponds to the specified offset within this region. Requires that the memory abstraction class be associated with the memory allocation manager that allocated this region.
See uvm_mem::peek() for more details.
- Parameters:
status (uvm_status_e)
offset (uvm_reg_addr_t)
value (uvm_reg_data_t)
parent (uvm_sequence_base)
extension (uvm_object)
fname (string)
lineno (int)
CLASS
uvm_mem_region
Allocated memory region descriptor
Each instance of this class describes an allocated memory region. Instances of this class are created only by the memory manager, and returned by the uvm_mem_mam::reserve_region() and uvm_mem_mam::request_region() methods.