您的位置:首页 > 其它

uvm_mem——寄存器模型(十二)

2017-12-11 22:12 363 查看
看完了寄存器,再来看看存储器:

//------------------------------------------------------------------------------
// CLASS: uvm_mem
//------------------------------------------------------------------------------
// Memory abstraction base class
//
// A memory is a collection of contiguous locations.
// A memory may be accessible via more than one address map.
//
// Unlike registers, memories are not mirrored because of the potentially
// large data space: tests that walk the entire memory space would negate
// any benefit from sparse memory modelling techniques.
// Rather than relying on a mirror, it is recommended that
// backdoor access be used instead.
//
//------------------------------------------------------------------------------

class uvm_mem extends uvm_object;

typedef enum {UNKNOWNS, ZEROES, ONES, ADDRESS, VALUE, INCR, DECR} init_e;

local bit               m_locked;
local bit               m_read_in_progress;
local bit               m_write_in_progress;
local string            m_access;
local longint unsigned  m_size;
local uvm_reg_block     m_parent;
local bit               m_maps[uvm_reg_map];
local int unsigned      m_n_bits;
local uvm_reg_backdoor  m_backdoor;
local bit               m_is_powered_down;
local int               m_has_cover;
local int               m_cover_on;
local string            m_fname;
local int               m_lineno;
local bit               m_vregs[uvm_vreg];
local uvm_object_string_pool
#(uvm_queue #(uvm_hdl_path_concat)) m_hdl_paths_pool;

local static int unsigned  m_max_size;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: