Logo SoCRocket

Transaction-Level Modeling Framework for Space Applications

Files | Namespaces | Classes | Macros | Typedefs | Enumerations | Enumerator | Functions | Variables | Friends
Sr_register
Collaboration diagram for Sr_register:

Files

file  scireg.cpp
 

Namespaces

 scireg_ns
 

Classes

class  sc_register_field_b< T >
 T is the data type of the register that contains this field. More...
 
class  sc_register_field< T, lowpos, highpos >
 
class  sc_register_b< T >
 
class  sc_register< T, M >
 M is the access mode. More...
 
class  sc_register_field_base
 
class  sc_rf_valuecode
 
class  sc_register_base
 Register. More...
 
class  sc_register_bank_base
 
class  sc_register_bank< ADDR_TYPE, DATA_TYPE >
 
class  sc_register< unsigned char, M >
 
class  sc_register< unsigned short, M >
 
class  sc_register< unsigned int, M >
 
class  sc_register< unsigned long long, M >
 
class  sr_register_field< T >
 
class  sr_register_callback_base
 
class  sr_register_callback< OWNER >
 
class  sr_register< DATA_TYPE >
 
class  sr_register_bank< ADDR_TYPE, DATA_TYPE >
 

Macros

#define MAX_DESC_LENGTH   64
 

Typedefs

typedef ::std::vector
< sc_register_field_base * > 
sc_register_field_vec
 Vector of register field. More...
 
typedef std::vector
< sc_register_base * > 
sc_register_vec
 Register Bank. More...
 

Enumerations

enum  sc_register_access_mode { SC_REG_RW_ACCESS = 0, SC_REG_RO_ACCESS, SC_REG_WO_ACCESS }
 Register Access Mode. More...
 
enum  sc_register_access_type { SC_REG_UNKNOWN_ACCESS_TYPE, SC_REG_READ, SC_REG_WRITE }
 
enum  sr_register_callback_type {
  SR_PRE_READ, SR_POST_READ, SR_PRE_WRITE, SR_POST_WRITE,
  SR_PRE_READ, SR_POST_READ, SR_PRE_WRITE, SR_POST_WRITE
}
 

Functions

 sc_register_field_base::sc_register_field_base (const char *nm)
 
 sc_register_field_base::sc_register_field_base (const char *nm, const char *desc)
 
virtual sc_register_field_base::~sc_register_field_base ()
 
const charsc_register_field_base::name () const
 
const charsc_register_field_base::desc () const
 
virtual unsigned int sc_register_field_base::low_pos () const =0
 
virtual unsigned int sc_register_field_base::high_pos () const =0
 
virtual unsigned int sc_register_field_base::bit_width () const =0
 
virtual const charsc_register_field_base::get_value_mnemonic () const =0
 return mnemonic and desc, if any, for current value of field More...
 
virtual const charsc_register_field_base::get_value_desc () const =0
 
virtual void sc_register_field_base::print (::std::ostream &os) const =0
 sc_object style print() - print current value of field More...
 
sc_dt::uint64 sc_register_field_base::scireg_get_low_pos () const
 If this region is a register field, these functions return low bit and high bit positions: More...
 
sc_dt::uint64 sc_register_field_base::scireg_get_high_pos () const
 
sc_dt::uint64 sc_register_field_base::scireg_get_bit_width () const
 Get bit width and byte width of this region. More...
 
virtual scireg_ns::scireg_response sc_register_field_base::scireg_get_region_type (scireg_ns::scireg_region_type &t) const
 Get the region_type of this region: More...
 
virtual scireg_ns::scireg_response sc_register_field_base::scireg_get_string_attribute (const char *&s, scireg_ns::scireg_string_attribute_type t) const
 Get string attributes of type "t" associated with this region. The returned string is assigned to "s". More...
 
 sc_rf_valuecode::sc_rf_valuecode (const ::std::string &mnemonic)
 
 sc_rf_valuecode::sc_rf_valuecode (const std::string &mnemonic, const ::std::string &desc)
 
 sc_rf_valuecode::~sc_rf_valuecode ()
 
const charsc_rf_valuecode::mnemonic () const
 
const charsc_rf_valuecode::desc () const
 
 sc_register_field_b< T >::sc_register_field_b (const char *nm, sc_register_b< T > *r)
 
 sc_register_field_b< T >::sc_register_field_b (const char *nm, sc_register_b< T > *r, const char *desc)
 
virtual sc_register_field_b< T >::~sc_register_field_b ()
 
const T & sc_register_field_b< T >::read () const
 
void sc_register_field_b< T >::write (const T &v)
 
void sc_register_field_b< T >::add_value_code (const T &v, const ::std::string &n)
 For value-encoding. More...
 
void sc_register_field_b< T >::add_value_code (const T &v, const ::std::string &n, const ::std::string &desc)
 
const charsc_register_field_b< T >::get_value_mnemonic () const
 added by bpriya for debugging More...
 
const charsc_register_field_b< T >::get_value_desc () const
 
virtual void sc_register_field_b< T >::print (::std::ostream &os) const
 
scireg_ns::scireg_response sc_register_field_b< T >::scireg_read (scireg_ns::vector_byte &v, sc_dt::uint64 size, sc_dt::uint64 offset) const
 Read a vector of "size" bytes at given offset in this region: More...
 
scireg_ns::scireg_response sc_register_field_b< T >::scireg_write (const scireg_ns::vector_byte &v, sc_dt::uint64 size, sc_dt::uint64 offset)
 Write a vector of "size" bytes at given offset in this region: More...
 
virtual const T & sc_register_field_b< T >::get_mask () const =0
 
virtual unsigned int sc_register_field_b< T >::get_shift_bits () const =0
 
const sc_rf_valuecodesc_register_field_b< T >::get_value_code (const T &v) const
 
const charsc_register_field_b< T >::get_value_mnemonic (const T &v) const
 
const charsc_register_field_b< T >::get_value_desc (const T &v) const
 
 sc_register_field< T, lowpos, highpos >::sc_register_field (const char *name, sc_register_b< T > *c)
 
 sc_register_field< T, lowpos, highpos >::sc_register_field (const char *name, sc_register_b< T > *c, const char *desc)
 
 sc_register_field< T, lowpos, highpos >::~sc_register_field ()
 
virtual unsigned int sc_register_field< T, lowpos, highpos >::low_pos () const
 
virtual unsigned int sc_register_field< T, lowpos, highpos >::high_pos () const
 
virtual unsigned int sc_register_field< T, lowpos, highpos >::bit_width () const
 
virtual const T & sc_register_field< T, lowpos, highpos >::get_mask () const
 
virtual unsigned int sc_register_field< T, lowpos, highpos >::get_shift_bits () const
 
 sc_register_base::sc_register_base ()
 
 sc_register_base::sc_register_base (const char *name)
 
 sc_register_base::sc_register_base (const char *name, const char *desc)
 
virtual sc_register_base::~sc_register_base ()
 
virtual const charsc_register_base::kind () const
 
const charsc_register_base::desc () const
 
virtual sc_register_access_mode sc_register_base::access_mode () const =0
 
virtual const
sc_register_field_vec
sc_register_base::get_all_fields () const =0
 
static const charsc_register_base::access_type_to_str (sc_register_access_type accessType)
 
static const charsc_register_base::access_mode_to_str (sc_register_access_mode accessMode)
 
virtual scireg_ns::scireg_response sc_register_base::scireg_get_string_attribute (const char *&s, scireg_ns::scireg_string_attribute_type t) const
 Get string attributes of type "t" associated with this region. The returned string is assigned to "s". More...
 
virtual scireg_ns::scireg_response sc_register_base::scireg_get_region_type (scireg_ns::scireg_region_type &t) const
 Get the region_type of this region: More...
 
scireg_ns::scireg_response sc_register_base::scireg_get_child_regions (std::vector< scireg_ns::scireg_mapped_region > &mapped_regions, sc_dt::uint64 size, sc_dt::uint64 offset) const
 
virtual scireg_ns::scireg_response sc_register_base::scireg_get_parent_modules (std::vector< sc_core::sc_module * > &v) const
 Get parent SystemC modules associated with this region. More...
 
 sc_register_b< T >::sc_register_b (const char *name, const T &reset_val)
 
 sc_register_b< T >::sc_register_b (const char *name, const T &reset_val, const char *desc)
 
virtual sc_register_b< T >::~sc_register_b ()
 
void sc_register_b< T >::reset ()
 
virtual const T & sc_register_b< T >::read () const
 
virtual void sc_register_b< T >::write (const T &)
 
void sc_register_b< T >::update ()
 
unsigned int sc_register_b< T >::number_of_fields () const
 
const sc_register_field_vecsc_register_b< T >::get_all_fields () const
 
void sc_register_b< T >::add_field (sc_register_field_base *f)
 
virtual const T & sc_register_b< T >::mask_read (const T &, unsigned int) const
 
virtual void sc_register_b< T >::mask_write (const T &, const T &, unsigned int)
 
void sc_register_b< T >::check_and_init ()
 
virtual const T & sc_register_b< T >::get_mask () const
 
scireg_ns::scireg_response sc_register_b< T >::scireg_read (scireg_ns::vector_byte &v, sc_dt::uint64 size, sc_dt::uint64 offset) const
 Read a vector of "size" bytes at given offset in this region: More...
 
scireg_ns::scireg_response sc_register_b< T >::scireg_write (const scireg_ns::vector_byte &v, sc_dt::uint64 size, sc_dt::uint64 offset)
 Write a vector of "size" bytes at given offset in this region: More...
 
sc_dt::uint64 sc_register_b< T >::scireg_get_bit_width () const
 Get bit width and byte width of this region. More...
 
scireg_ns::scireg_response sc_register_b< T >::scireg_add_callback (scireg_ns::scireg_callback &cb)
 Add/Delete Callback objects associated with this region. More...
 
scireg_ns::scireg_response sc_register_b< T >::scireg_remove_callback (scireg_ns::scireg_callback &cb)
 
 sc_register_bank_base::sc_register_bank_base ()
 
 sc_register_bank_base::sc_register_bank_base (unsigned long long size)
 
 sc_register_bank_base::sc_register_bank_base (const char *name, const unsigned long long size)
 
virtual sc_register_bank_base::~sc_register_bank_base ()
 
virtual const charsc_register_bank_base::kind () const
 
unsigned long long sc_register_bank_base::size () const
 
bool sc_register_bank_base::add_associate_busport (sc_object *busport)
 
virtual const sc_register_vecsc_register_bank_base::get_registers () const =0
 
virtual void sc_register_bank_base::print_offset (sc_register_base *reg,::std::ostream &os) const =0
 
const std::vector< sc_object * > & sc_register_bank_base::get_associate_busports () const
 
virtual scireg_ns::scireg_response sc_register_bank_base::scireg_get_string_attribute (const char *&s, scireg_ns::scireg_string_attribute_type t) const
 Get string attributes of type "t" associated with this region. The returned string is assigned to "s". More...
 
virtual sc_dt::uint64 sc_register_bank_base::scireg_get_byte_width () const
 
virtual scireg_ns::scireg_response sc_register_bank_base::scireg_get_region_type (scireg_ns::scireg_region_type &t) const
 Get the region_type of this region: More...
 
virtual scireg_ns::scireg_response sc_register_bank_base::scireg_get_target_sockets (::std::vector< sc_core::sc_object * > &v) const
 
virtual scireg_ns::scireg_response sc_register_bank_base::scireg_get_parent_modules (std::vector< sc_core::sc_module * > &v) const
 Get parent SystemC modules associated with this region. More...
 
 sc_register_bank< ADDR_TYPE, DATA_TYPE >::sc_register_bank (const unsigned long long size)
 
 sc_register_bank< ADDR_TYPE, DATA_TYPE >::sc_register_bank (const char *name, const unsigned long long size)
 
virtual sc_register_bank< ADDR_TYPE, DATA_TYPE >::~sc_register_bank ()
 
virtual bool sc_register_bank< ADDR_TYPE, DATA_TYPE >::bus_read (const ADDR_TYPE offset, DATA_TYPE &data) const =0
 
virtual bool sc_register_bank< ADDR_TYPE, DATA_TYPE >::bus_write (const ADDR_TYPE offset, const DATA_TYPE data)=0
 
virtual bool sc_register_bank< ADDR_TYPE, DATA_TYPE >::bus_read_dbg (const ADDR_TYPE offset, DATA_TYPE &data) const =0
 
virtual bool sc_register_bank< ADDR_TYPE, DATA_TYPE >::bus_write_dbg (const ADDR_TYPE offset, const DATA_TYPE data)=0
 
virtual bool sc_register_bank< ADDR_TYPE, DATA_TYPE >::is_valid_offset (const ADDR_TYPE offset) const =0
 
virtual bool sc_register_bank< ADDR_TYPE, DATA_TYPE >::supports_action_type (const ADDR_TYPE offset, const sc_register_access_type accType)=0
 
virtual sc_register_basesc_register_bank< ADDR_TYPE, DATA_TYPE >::get_register (const ADDR_TYPE offset)=0
 
virtual bool sc_register_bank< ADDR_TYPE, DATA_TYPE >::get_offset (sc_register_base *reg, ADDR_TYPE &offset) const =0
 
virtual void sc_register_bank< ADDR_TYPE, DATA_TYPE >::print_offset (sc_register_base *reg,::std::ostream &os) const
 
scireg_ns::scireg_response sc_register_bank< ADDR_TYPE, DATA_TYPE >::scireg_get_child_regions (std::vector< scireg_ns::scireg_mapped_region > &mapped_regions, sc_dt::uint64 size, sc_dt::uint64 offset) const
 
 sc_register< unsigned char, M >::sc_register (const char *name, const unsigned char &reset_val)
 
 sc_register< unsigned char, M >::sc_register (const char *name, const unsigned char &reset_val, const char *desc)
 
virtual sc_register_access_mode sc_register< unsigned char, M >::access_mode () const
 
void sc_register< unsigned char, M >::before_end_of_elaboration ()
 
 sc_register< unsigned short, M >::sc_register (const char *name, const unsigned short &reset_val)
 
 sc_register< unsigned short, M >::sc_register (const char *name, const unsigned short &reset_val, const char *desc)
 
virtual sc_register_access_mode sc_register< unsigned short, M >::access_mode () const
 
void sc_register< unsigned short, M >::before_end_of_elaboration ()
 
 sc_register< unsigned int, M >::sc_register (const char *name, const unsigned int &reset_val)
 
 sc_register< unsigned int, M >::sc_register (const char *name, const unsigned int &reset_val, const char *desc)
 
virtual sc_register_access_mode sc_register< unsigned int, M >::access_mode () const
 
void sc_register< unsigned int, M >::before_end_of_elaboration ()
 
 sc_register< unsigned long long, M >::sc_register (const char *name, const unsigned long long &reset_val)
 
 sc_register< unsigned long long, M >::sc_register (const char *name, const unsigned long long &reset_val, const char *desc)
 
virtual sc_register_access_mode sc_register< unsigned long long, M >::access_mode () const
 
void sc_register< unsigned long long, M >::before_end_of_elaboration ()
 
static void scireg_ns::scireg_tool_registry::add_tool (scireg_notification_if &notification)
 
static void scireg_ns::scireg_tool_registry::remove_tool (scireg_notification_if &notification)
 
static void scireg_ns::scireg_tool_registry::add_region (scireg_region_if &region)
 
static void scireg_ns::scireg_tool_registry::remove_region (scireg_region_if &region)
 
static void scireg_ns::scireg_tool_registry::check_allocation ()
 
static void scireg_ns::scireg_tool_registry::destroy ()
 

Variables

::std::string sc_register_field_base::m_name
 
::std::string sc_register_field_base::m_desc
 
::std::string sc_rf_valuecode::m_mnemonic
 
::std::string sc_rf_valuecode::m_desc
 
sc_register_b< T > * sc_register_field_b< T >::m_reg
 
::std::map< T, sc_rf_valuecode * > sc_register_field_b< T >::m_value_encoding_map
 Value-encoding map. More...
 
sc_register_field< T, lowpos, highpos >::m_mask
 
::std::string sc_register_base::m_desc
 
sc_register_b< T >::m_cur_val
 
sc_register_b< T >::m_reset_val
 
sc_core::sc_event * sc_register_b< T >::m_probe_event
 
::std::vector
< scireg_ns::scireg_callback * > 
sc_register_b< T >::scireg_callback_vec
 
sc_register_b< T >::m_mask
 
sc_register_field_vec sc_register_b< T >::m_fields
 
unsigned long long sc_register_bank_base::m_size
 
::std::vector
< sc_core::sc_object * > 
sc_register_bank_base::m_associate_busports
 
static std::vector
< scireg_notification_if * > * 
scireg_ns::scireg_tool_registry::tool_vec_ptr = 0
 

Friends

class sc_register_b< T >::sc_register_field_b< T >
 

Detailed Description

Macro Definition Documentation

#define MAX_DESC_LENGTH   64

Typedef Documentation

Vector of register field.

typedef std::vector<sc_register_base *> sc_register_vec

Register Bank.

Enumeration Type Documentation

Register Access Mode.

Enumerator
SC_REG_RW_ACCESS 
SC_REG_RO_ACCESS 
SC_REG_WO_ACCESS 
Enumerator
SC_REG_UNKNOWN_ACCESS_TYPE 
SC_REG_READ 
SC_REG_WRITE 
Enumerator
SR_PRE_READ 
SR_POST_READ 
SR_PRE_WRITE 
SR_POST_WRITE 
SR_PRE_READ 
SR_POST_READ 
SR_PRE_WRITE 
SR_POST_WRITE 

Function Documentation

virtual sc_register_access_mode sc_register_base::access_mode ( ) const
pure virtual
template<sc_register_access_mode M>
virtual sc_register_access_mode sc_register< unsigned char, M >::access_mode ( ) const
inlinevirtual

Implements sc_register_base.

References M.

template<sc_register_access_mode M>
virtual sc_register_access_mode sc_register< unsigned short, M >::access_mode ( ) const
inlinevirtual

Implements sc_register_base.

References M.

template<sc_register_access_mode M>
virtual sc_register_access_mode sc_register< unsigned int, M >::access_mode ( ) const
inlinevirtual

Implements sc_register_base.

References M.

template<sc_register_access_mode M>
virtual sc_register_access_mode sc_register< unsigned long long, M >::access_mode ( ) const
inlinevirtual

Implements sc_register_base.

References M.

const char * sc_register_base::access_mode_to_str ( sc_register_access_mode  accessMode)
inlinestatic
const char * sc_register_base::access_type_to_str ( sc_register_access_type  accessType)
inlinestatic

References SC_REG_READ, and SC_REG_WRITE.

bool sc_register_bank_base::add_associate_busport ( sc_core::sc_object *  obj)
inline
template<typename T>
void sc_register_b< T >::add_field ( sc_register_field_base f)
inlineprotected
void scireg_ns::scireg_tool_registry::add_region ( scireg_region_if region)
static

References scireg_ns::scireg_tool_registry::check_allocation(), and scireg_ns::scireg_tool_registry::tool_vec_ptr.

Referenced by scireg_ns::scireg_region_if::scireg_region_if().

Here is the call graph for this function:

void scireg_ns::scireg_tool_registry::add_tool ( scireg_notification_if notification)
static

References scireg_ns::scireg_tool_registry::check_allocation(), and scireg_ns::scireg_tool_registry::tool_vec_ptr.

Here is the call graph for this function:

template<typename T>
void sc_register_field_b< T >::add_value_code ( const T &  v,
const ::std::string &  n 
)
inline

For value-encoding.

References d.

template<typename T>
void sc_register_field_b< T >::add_value_code ( const T &  v,
const ::std::string &  n,
const ::std::string &  desc 
)
inline
template<sc_register_access_mode M>
void sc_register< unsigned char, M >::before_end_of_elaboration ( )
inline

References sc_register_b< T >::check_and_init().

Here is the call graph for this function:

template<sc_register_access_mode M>
void sc_register< unsigned short, M >::before_end_of_elaboration ( )
inline

References sc_register_b< T >::check_and_init().

Here is the call graph for this function:

template<sc_register_access_mode M>
void sc_register< unsigned int, M >::before_end_of_elaboration ( )
inline

References sc_register_b< T >::check_and_init().

Here is the call graph for this function:

template<sc_register_access_mode M>
void sc_register< unsigned long long, M >::before_end_of_elaboration ( )
inline

References sc_register_b< T >::check_and_init().

Here is the call graph for this function:

virtual unsigned int sc_register_field_base::bit_width ( ) const
pure virtual
template<typename T , unsigned int lowpos, unsigned int highpos>
virtual unsigned int sc_register_field< T, lowpos, highpos >::bit_width ( ) const
inlinevirtual
template<typename ADDR_TYPE, typename DATA_TYPE>
virtual bool sc_register_bank< ADDR_TYPE, DATA_TYPE >::bus_read ( const ADDR_TYPE  offset,
DATA_TYPE data 
) const
pure virtual
template<typename ADDR_TYPE, typename DATA_TYPE>
virtual bool sc_register_bank< ADDR_TYPE, DATA_TYPE >::bus_read_dbg ( const ADDR_TYPE  offset,
DATA_TYPE data 
) const
pure virtual
template<typename ADDR_TYPE, typename DATA_TYPE>
virtual bool sc_register_bank< ADDR_TYPE, DATA_TYPE >::bus_write ( const ADDR_TYPE  offset,
const DATA_TYPE  data 
)
pure virtual
template<typename ADDR_TYPE, typename DATA_TYPE>
virtual bool sc_register_bank< ADDR_TYPE, DATA_TYPE >::bus_write_dbg ( const ADDR_TYPE  offset,
const DATA_TYPE  data 
)
pure virtual
void scireg_ns::scireg_tool_registry::check_allocation ( )
staticprotected

References scireg_ns::scireg_tool_registry::destroy(), and scireg_ns::scireg_tool_registry::tool_vec_ptr.

Referenced by scireg_ns::scireg_tool_registry::add_region(), scireg_ns::scireg_tool_registry::add_tool(), scireg_ns::scireg_tool_registry::remove_region(), and scireg_ns::scireg_tool_registry::remove_tool().

Here is the call graph for this function:

template<typename T >
void sc_register_b< T >::check_and_init ( )
inlineprotected
const char* sc_register_field_base::desc ( ) const
inline
const char* sc_rf_valuecode::desc ( ) const
inline
const char* sc_register_base::desc ( ) const
inline
void scireg_ns::scireg_tool_registry::destroy ( )
staticprotected
virtual const sc_register_field_vec& sc_register_base::get_all_fields ( ) const
pure virtual
template<typename T>
const sc_register_field_vec& sc_register_b< T >::get_all_fields ( ) const
inlinevirtual

Implements sc_register_base.

const std::vector<sc_object*>& sc_register_bank_base::get_associate_busports ( ) const
inlineprotected
template<typename T>
virtual const T& sc_register_field_b< T >::get_mask ( ) const
protectedpure virtual
template<typename T , unsigned int lowpos, unsigned int highpos>
virtual const T& sc_register_field< T, lowpos, highpos >::get_mask ( ) const
inlineprotectedvirtual
template<typename T>
virtual const T& sc_register_b< T >::get_mask ( ) const
inlinevirtual
template<typename ADDR_TYPE, typename DATA_TYPE>
virtual bool sc_register_bank< ADDR_TYPE, DATA_TYPE >::get_offset ( sc_register_base reg,
ADDR_TYPE &  offset 
) const
protectedpure virtual
template<typename ADDR_TYPE, typename DATA_TYPE>
virtual sc_register_base* sc_register_bank< ADDR_TYPE, DATA_TYPE >::get_register ( const ADDR_TYPE  offset)
protectedpure virtual
virtual const sc_register_vec& sc_register_bank_base::get_registers ( ) const
protectedpure virtual
template<typename T>
virtual unsigned int sc_register_field_b< T >::get_shift_bits ( ) const
protectedpure virtual
template<typename T , unsigned int lowpos, unsigned int highpos>
virtual unsigned int sc_register_field< T, lowpos, highpos >::get_shift_bits ( ) const
inlineprotectedvirtual

Implements sc_register_field_b< T >.

References sc_register_field< T, lowpos, highpos >::low_pos().

Here is the call graph for this function:

template<typename T>
const sc_rf_valuecode * sc_register_field_b< T >::get_value_code ( const T &  v) const
inlineprotected

For value-encoding A field's value-encoding is optional. Furthermore, description of a value-encoding is optional.

virtual const char* sc_register_field_base::get_value_desc ( ) const
pure virtual
template<typename T>
const char* sc_register_field_b< T >::get_value_desc ( ) const
inlinevirtual
template<typename T>
const char * sc_register_field_b< T >::get_value_desc ( const T &  v) const
inlineprotected

References sc_rf_valuecode::desc().

Here is the call graph for this function:

virtual const char* sc_register_field_base::get_value_mnemonic ( ) const
pure virtual

return mnemonic and desc, if any, for current value of field

Implemented in sc_register_field_b< T >, sc_register_field_b< unsigned int >, and sc_register_field_b< DATA_TYPE >.

template<typename T>
const char* sc_register_field_b< T >::get_value_mnemonic ( ) const
inlinevirtual

added by bpriya for debugging

return mnemonic and desc, if any, for current value of field

Implements sc_register_field_base.

Referenced by sc_register_field_b< DATA_TYPE >::get_value_mnemonic().

template<typename T>
const char * sc_register_field_b< T >::get_value_mnemonic ( const T &  v) const
inlineprotected

References sc_rf_valuecode::mnemonic().

Here is the call graph for this function:

virtual unsigned int sc_register_field_base::high_pos ( ) const
pure virtual
template<typename T , unsigned int lowpos, unsigned int highpos>
virtual unsigned int sc_register_field< T, lowpos, highpos >::high_pos ( ) const
inlinevirtual
template<typename ADDR_TYPE, typename DATA_TYPE>
virtual bool sc_register_bank< ADDR_TYPE, DATA_TYPE >::is_valid_offset ( const ADDR_TYPE  offset) const
pure virtual
virtual const char* sc_register_base::kind ( ) const
inlinevirtual
virtual const char* sc_register_bank_base::kind ( ) const
inlinevirtual
virtual unsigned int sc_register_field_base::low_pos ( ) const
pure virtual
template<typename T , unsigned int lowpos, unsigned int highpos>
virtual unsigned int sc_register_field< T, lowpos, highpos >::low_pos ( ) const
inlinevirtual
template<typename T>
const T & sc_register_b< T >::mask_read ( const T &  mask,
unsigned int  rightShiftBits 
) const
inlineprotectedvirtual
template<typename T>
void sc_register_b< T >::mask_write ( const T &  v,
const T &  mask,
unsigned int  leftShiftBits 
)
inlineprotectedvirtual

References pysc::api::cci::write().

Here is the call graph for this function:

const char* sc_rf_valuecode::mnemonic ( ) const
inline
const char* sc_register_field_base::name ( ) const
inline
template<typename T>
unsigned int sc_register_b< T >::number_of_fields ( ) const
inline
virtual void sc_register_field_base::print ( ::std::ostream &  os) const
pure virtual
template<typename T>
virtual void sc_register_field_b< T >::print ( ::std::ostream &  os) const
inlinevirtual

sc_object style print() - print current value of field using hex format

Implements sc_register_field_base.

virtual void sc_register_bank_base::print_offset ( sc_register_base reg,
::std::ostream &  os 
) const
protectedpure virtual
template<typename ADDR_TYPE , typename DATA_TYPE >
void sc_register_bank< ADDR_TYPE, DATA_TYPE >::print_offset ( sc_register_base reg,
::std::ostream &  os 
) const
inlineprotectedvirtual

Implements sc_register_bank_base.

template<typename T >
const T & sc_register_field_b< T >::read ( ) const
inline

Extract field value. value of the field is returned in [(bit_width-1):0] of T. The value returned is only valid before the next read of any field of the containing register.

Referenced by sc_register_field_b< DATA_TYPE >::get_value_desc(), sc_register_field_b< DATA_TYPE >::get_value_mnemonic(), sc_register_field_b< DATA_TYPE >::print(), and sc_register_field_b< DATA_TYPE >::scireg_read().

template<class T >
const T & sc_register_b< T >::read ( ) const
inlinevirtual
void scireg_ns::scireg_tool_registry::remove_region ( scireg_region_if region)
static

References scireg_ns::scireg_tool_registry::check_allocation(), and scireg_ns::scireg_tool_registry::tool_vec_ptr.

Referenced by scireg_ns::scireg_region_if::~scireg_region_if().

Here is the call graph for this function:

void scireg_ns::scireg_tool_registry::remove_tool ( scireg_notification_if notification)
static

References scireg_ns::scireg_tool_registry::check_allocation(), find(), and scireg_ns::scireg_tool_registry::tool_vec_ptr.

Here is the call graph for this function:

template<typename T>
void sc_register_b< T >::reset ( )
inline
template<sc_register_access_mode M>
sc_register< unsigned char, M >::sc_register ( const char name,
const unsigned char reset_val 
)
inline
template<sc_register_access_mode M>
sc_register< unsigned char, M >::sc_register ( const char name,
const unsigned char reset_val,
const char desc 
)
inline
template<sc_register_access_mode M>
sc_register< unsigned short, M >::sc_register ( const char name,
const unsigned short &  reset_val 
)
inline
template<sc_register_access_mode M>
sc_register< unsigned short, M >::sc_register ( const char name,
const unsigned short &  reset_val,
const char desc 
)
inline
template<sc_register_access_mode M>
sc_register< unsigned int, M >::sc_register ( const char name,
const unsigned int reset_val 
)
inline
template<sc_register_access_mode M>
sc_register< unsigned int, M >::sc_register ( const char name,
const unsigned int reset_val,
const char desc 
)
inline
template<sc_register_access_mode M>
sc_register< unsigned long long, M >::sc_register ( const char name,
const unsigned long long &  reset_val 
)
inline
template<sc_register_access_mode M>
sc_register< unsigned long long, M >::sc_register ( const char name,
const unsigned long long &  reset_val,
const char desc 
)
inline
template<typename T>
sc_register_b< T >::sc_register_b ( const char name,
const T &  reset_val 
)
inline
template<typename T>
sc_register_b< T >::sc_register_b ( const char name,
const T &  reset_val,
const char desc 
)
inline
template<typename ADDR_TYPE, typename DATA_TYPE>
sc_register_bank< ADDR_TYPE, DATA_TYPE >::sc_register_bank ( const unsigned long long  size)
inline
template<typename ADDR_TYPE, typename DATA_TYPE>
sc_register_bank< ADDR_TYPE, DATA_TYPE >::sc_register_bank ( const char name,
const unsigned long long  size 
)
inline
sc_register_bank_base::sc_register_bank_base ( )
inline
sc_register_bank_base::sc_register_bank_base ( unsigned long long  size)
inline
sc_register_bank_base::sc_register_bank_base ( const char name,
const unsigned long long  size 
)
inline
sc_register_base::sc_register_base ( )
inline
sc_register_base::sc_register_base ( const char name)
inline
sc_register_base::sc_register_base ( const char name,
const char desc 
)
inline
template<typename T , unsigned int lowpos, unsigned int highpos>
sc_register_field< T, lowpos, highpos >::sc_register_field ( const char name,
sc_register_b< T > *  c 
)
inline
template<typename T , unsigned int lowpos, unsigned int highpos>
sc_register_field< T, lowpos, highpos >::sc_register_field ( const char name,
sc_register_b< T > *  c,
const char desc 
)
inline
template<typename T>
sc_register_field_b< T >::sc_register_field_b ( const char nm,
sc_register_b< T > *  r 
)
inline
template<typename T>
sc_register_field_b< T >::sc_register_field_b ( const char nm,
sc_register_b< T > *  r,
const char desc 
)
inline
sc_register_field_base::sc_register_field_base ( const char nm)
inline
sc_register_field_base::sc_register_field_base ( const char nm,
const char desc 
)
inline
sc_rf_valuecode::sc_rf_valuecode ( const ::std::string &  mnemonic)
inline
sc_rf_valuecode::sc_rf_valuecode ( const std::string &  mnemonic,
const ::std::string &  desc 
)
inline
template<typename T>
scireg_ns::scireg_response sc_register_b< T >::scireg_add_callback ( scireg_ns::scireg_callback cb)
inlinevirtual

Add/Delete Callback objects associated with this region.

Reimplemented from scireg_ns::scireg_region_if.

sc_dt::uint64 sc_register_field_base::scireg_get_bit_width ( ) const
inlineprotectedvirtual

Get bit width and byte width of this region.

Reimplemented from scireg_ns::scireg_region_if.

References sc_register_field_base::high_pos(), and sc_register_field_base::low_pos().

Here is the call graph for this function:

template<typename T>
sc_dt::uint64 sc_register_b< T >::scireg_get_bit_width ( ) const
inlinevirtual

Get bit width and byte width of this region.

Reimplemented from scireg_ns::scireg_region_if.

virtual sc_dt::uint64 sc_register_bank_base::scireg_get_byte_width ( ) const
inlineprotectedvirtual

Reimplemented from scireg_ns::scireg_region_if.

References sc_register_bank_base::size().

Here is the call graph for this function:

scireg_ns::scireg_response sc_register_base::scireg_get_child_regions ( std::vector< scireg_ns::scireg_mapped_region > &  mapped_regions,
sc_dt::uint64  size,
sc_dt::uint64  offset 
) const
inlineprotectedvirtual

Get child regions mapped into this region, by returning a mapped region object representing each mapping. The size and offset parameters can be used to constrain the range of the search

Reimplemented from scireg_ns::scireg_region_if.

References sc_register_base::get_all_fields(), scireg_ns::scireg_mapped_region::name, scireg_ns::scireg_mapped_region::offset, scireg_ns::scireg_mapped_region::region, s, scireg_ns::SCIREG_FAILURE, scireg_ns::SCIREG_NAME, scireg_ns::scireg_region_if::scireg_region_if(), and scireg_ns::SCIREG_SUCCESS.

Here is the call graph for this function:

template<typename ADDR_TYPE, typename DATA_TYPE>
scireg_ns::scireg_response sc_register_bank< ADDR_TYPE, DATA_TYPE >::scireg_get_child_regions ( std::vector< scireg_ns::scireg_mapped_region > &  mapped_regions,
sc_dt::uint64  size,
sc_dt::uint64  offset 
) const
inlineprotectedvirtual

Get child regions mapped into this region, by returning a mapped region object representing each mapping. The size and offset parameters can be used to constrain the range of the search

Reimplemented from scireg_ns::scireg_region_if.

sc_dt::uint64 sc_register_field_base::scireg_get_high_pos ( ) const
inlineprotectedvirtual

Reimplemented from scireg_ns::scireg_region_if.

References sc_register_field_base::high_pos().

Here is the call graph for this function:

sc_dt::uint64 sc_register_field_base::scireg_get_low_pos ( ) const
inlineprotectedvirtual

If this region is a register field, these functions return low bit and high bit positions:

Reimplemented from scireg_ns::scireg_region_if.

References sc_register_field_base::low_pos().

Here is the call graph for this function:

virtual scireg_ns::scireg_response sc_register_base::scireg_get_parent_modules ( std::vector< sc_core::sc_module * > &  v) const
inlineprotectedvirtual

Get parent SystemC modules associated with this region.

Reimplemented from scireg_ns::scireg_region_if.

References scireg_ns::SCIREG_SUCCESS.

virtual scireg_ns::scireg_response sc_register_bank_base::scireg_get_parent_modules ( std::vector< sc_core::sc_module * > &  v) const
inlineprotectedvirtual

Get parent SystemC modules associated with this region.

Reimplemented from scireg_ns::scireg_region_if.

References scireg_ns::SCIREG_SUCCESS.

virtual scireg_ns::scireg_response sc_register_field_base::scireg_get_region_type ( scireg_ns::scireg_region_type t) const
inlineprotectedvirtual

Get the region_type of this region:

Reimplemented from scireg_ns::scireg_region_if.

References scireg_ns::SCIREG_FIELD, and scireg_ns::SCIREG_SUCCESS.

virtual scireg_ns::scireg_response sc_register_base::scireg_get_region_type ( scireg_ns::scireg_region_type t) const
inlineprotectedvirtual

Get the region_type of this region:

Reimplemented from scireg_ns::scireg_region_if.

References scireg_ns::SCIREG_REGISTER, and scireg_ns::SCIREG_SUCCESS.

virtual scireg_ns::scireg_response sc_register_bank_base::scireg_get_region_type ( scireg_ns::scireg_region_type t) const
inlineprotectedvirtual

Get the region_type of this region:

Reimplemented from scireg_ns::scireg_region_if.

References scireg_ns::SCIREG_BANK, and scireg_ns::SCIREG_SUCCESS.

virtual scireg_ns::scireg_response sc_register_field_base::scireg_get_string_attribute ( const char *&  s,
scireg_ns::scireg_string_attribute_type  t 
) const
inlineprotectedvirtual

Get string attributes of type "t" associated with this region. The returned string is assigned to "s".

Reimplemented from scireg_ns::scireg_region_if.

References sc_register_field_base::desc(), sc_register_field_base::name(), scireg_ns::SCIREG_DESCRIPTION, scireg_ns::SCIREG_FAILURE, scireg_ns::SCIREG_NAME, scireg_ns::SCIREG_STRING_VALUE, and scireg_ns::SCIREG_SUCCESS.

Here is the call graph for this function:

virtual scireg_ns::scireg_response sc_register_base::scireg_get_string_attribute ( const char *&  s,
scireg_ns::scireg_string_attribute_type  t 
) const
inlineprotectedvirtual

Get string attributes of type "t" associated with this region. The returned string is assigned to "s".

Reimplemented from scireg_ns::scireg_region_if.

References sc_register_base::desc(), setup::name, scireg_ns::SCIREG_DESCRIPTION, scireg_ns::SCIREG_FAILURE, scireg_ns::SCIREG_NAME, scireg_ns::SCIREG_STRING_VALUE, and scireg_ns::SCIREG_SUCCESS.

Here is the call graph for this function:

virtual scireg_ns::scireg_response sc_register_bank_base::scireg_get_string_attribute ( const char *&  s,
scireg_ns::scireg_string_attribute_type  t 
) const
inlineprotectedvirtual

Get string attributes of type "t" associated with this region. The returned string is assigned to "s".

Reimplemented from scireg_ns::scireg_region_if.

References setup::name, scireg_ns::SCIREG_FAILURE, scireg_ns::SCIREG_NAME, and scireg_ns::SCIREG_SUCCESS.

virtual scireg_ns::scireg_response sc_register_bank_base::scireg_get_target_sockets ( ::std::vector< sc_core::sc_object * > &  v) const
inlineprotectedvirtual

References sc_register_bank_base::get_associate_busports(), and scireg_ns::SCIREG_SUCCESS.

Here is the call graph for this function:

template<typename T>
scireg_ns::scireg_response sc_register_field_b< T >::scireg_read ( scireg_ns::vector_byte v,
sc_dt::uint64  size,
sc_dt::uint64  offset 
) const
inlinevirtual

Read a vector of "size" bytes at given offset in this region:

Reimplemented from scireg_ns::scireg_region_if.

template<typename T>
scireg_ns::scireg_response sc_register_b< T >::scireg_read ( scireg_ns::vector_byte v,
sc_dt::uint64  size,
sc_dt::uint64  offset 
) const
inlinevirtual

Read a vector of "size" bytes at given offset in this region:

Reimplemented from scireg_ns::scireg_region_if.

template<typename T>
scireg_ns::scireg_response sc_register_b< T >::scireg_remove_callback ( scireg_ns::scireg_callback cb)
inlinevirtual

Reimplemented from scireg_ns::scireg_region_if.

template<typename T>
scireg_ns::scireg_response sc_register_field_b< T >::scireg_write ( const scireg_ns::vector_byte v,
sc_dt::uint64  size,
sc_dt::uint64  offset 
)
inlinevirtual

Write a vector of "size" bytes at given offset in this region:

Reimplemented from scireg_ns::scireg_region_if.

template<typename T>
scireg_ns::scireg_response sc_register_b< T >::scireg_write ( const scireg_ns::vector_byte v,
sc_dt::uint64  size,
sc_dt::uint64  offset 
)
inlinevirtual

Write a vector of "size" bytes at given offset in this region:

Reimplemented from scireg_ns::scireg_region_if.

unsigned long long sc_register_bank_base::size ( ) const
inline
template<typename ADDR_TYPE, typename DATA_TYPE>
virtual bool sc_register_bank< ADDR_TYPE, DATA_TYPE >::supports_action_type ( const ADDR_TYPE  offset,
const sc_register_access_type  accType 
)
pure virtual
template<typename T>
void sc_register_b< T >::update ( )
inline
template<typename T>
void sc_register_field_b< T >::write ( const T &  v)
inline

Write [(bit_width-1):0] of T to field. The written value is retrievable after the register is updated.

Referenced by usi.shell.console.Console::interact(), and sc_register_field_b< DATA_TYPE >::scireg_write().

template<typename T>
void sc_register_b< T >::write ( const T &  v)
inlinevirtual

References scireg_ns::scireg_callback::do_callback(), scireg_ns::SCIREG_WRITE_ACCESS, and scireg_ns::scireg_callback::type.

Referenced by usi.shell.console.Console::interact(), sc_register_b< unsigned char >::reset(), and sc_register_b< unsigned char >::scireg_write().

Here is the call graph for this function:

template<typename T>
virtual sc_register_b< T >::~sc_register_b ( )
inlinevirtual
template<typename ADDR_TYPE, typename DATA_TYPE>
virtual sc_register_bank< ADDR_TYPE, DATA_TYPE >::~sc_register_bank ( )
inlinevirtual
virtual sc_register_bank_base::~sc_register_bank_base ( )
inlinevirtual
virtual sc_register_base::~sc_register_base ( )
inlinevirtual
template<typename T , unsigned int lowpos, unsigned int highpos>
sc_register_field< T, lowpos, highpos >::~sc_register_field ( )
inline
template<typename T >
sc_register_field_b< T >::~sc_register_field_b ( )
inlinevirtual
virtual sc_register_field_base::~sc_register_field_base ( )
inlinevirtual
sc_rf_valuecode::~sc_rf_valuecode ( )
inline

Variable Documentation

::std::vector<sc_core::sc_object*> sc_register_bank_base::m_associate_busports
protected
template<typename T>
T sc_register_b< T >::m_cur_val
protected
::std::string sc_register_field_base::m_desc
protected
::std::string sc_rf_valuecode::m_desc
protected
::std::string sc_register_base::m_desc
protected
template<typename T>
sc_register_field_vec sc_register_b< T >::m_fields
protected
template<typename T , unsigned int lowpos, unsigned int highpos>
T sc_register_field< T, lowpos, highpos >::m_mask
protected
template<typename T>
T sc_register_b< T >::m_mask
protected
::std::string sc_rf_valuecode::m_mnemonic
protected
::std::string sc_register_field_base::m_name
protected
template<typename T>
sc_core::sc_event* sc_register_b< T >::m_probe_event
protected
template<typename T>
sc_register_b<T>* sc_register_field_b< T >::m_reg
protected
template<typename T>
T sc_register_b< T >::m_reset_val
protected
unsigned long long sc_register_bank_base::m_size
protected
template<typename T>
::std::map<T,sc_rf_valuecode*> sc_register_field_b< T >::m_value_encoding_map
protected

Value-encoding map.

template<typename T>
::std::vector<scireg_ns::scireg_callback*> sc_register_b< T >::scireg_callback_vec
protected
std::vector< scireg_notification_if * > * scireg_ns::scireg_tool_registry::tool_vec_ptr = 0
staticprotected

Friends

template<typename T>
friend class sc_register_field_b< T >
friend