Logo SoCRocket

Transaction-Level Modeling Framework for Space Applications

Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
sc_register_field_base Class Referenceabstract

#include <sc_register.h>

Inheritance diagram for sc_register_field_base:
Collaboration diagram for sc_register_field_base:

Public Member Functions

 sc_register_field_base (const char *nm)
 
 sc_register_field_base (const char *nm, const char *desc)
 
virtual ~sc_register_field_base ()
 
const charname () const
 
const chardesc () const
 
virtual unsigned int low_pos () const =0
 
virtual unsigned int high_pos () const =0
 
virtual unsigned int bit_width () const =0
 
virtual const charget_value_mnemonic () const =0
 return mnemonic and desc, if any, for current value of field More...
 
virtual const charget_value_desc () const =0
 
virtual void print (::std::ostream &os) const =0
 sc_object style print() - print current value of field More...
 
- Public Member Functions inherited from scireg_ns::scireg_region_if
 scireg_region_if ()
 
virtual ~scireg_region_if ()
 
virtual scireg_response scireg_read (vector_byte &v, sc_dt::uint64 size, sc_dt::uint64 offset=0) const
 Read a vector of "size" bytes at given offset in this region: More...
 
virtual scireg_response scireg_write (const vector_byte &v, sc_dt::uint64 size, sc_dt::uint64 offset=0)
 Write a vector of "size" bytes at given offset in this region: More...
 
virtual scireg_response scireg_get_bit_attributes (vector_byte &v, scireg_bit_attributes_type t, sc_dt::uint64 size, sc_dt::uint64 offset=0) const
 Get bit attributes of type "t" into "v". "size" represents number of bytes returned, offset can be used to constrain the range. More...
 
virtual sc_dt::uint64 scireg_get_byte_width () const
 
virtual scireg_response scireg_get_child_regions (std::vector< scireg_mapped_region > &mapped_regions, sc_dt::uint64 size=sc_dt::uint64(-1), sc_dt::uint64 offset=0) const
 
virtual scireg_response scireg_get_parent_regions (std::vector< scireg_region_if * > &v) const
 Get parent regions of this region. More...
 
virtual scireg_response scireg_add_callback (scireg_callback &cb)
 Add/Delete Callback objects associated with this region. More...
 
virtual scireg_response scireg_remove_callback (scireg_callback &cb)
 
virtual scireg_response scireg_get_target_sockets (std::vector< sc_core::sc_object * > &v) const
 Get SC TLM2 Target socket associated with this region. More...
 
virtual scireg_response scireg_get_parent_modules (std::vector< sc_core::sc_module * > &v) const
 Get parent SystemC modules associated with this region. More...
 
virtual scireg_response scireg_get_value_info (std::vector< scireg_value_info > &v) const
 Get a vector of value_info objects for this region. More...
 
virtual scireg_response scireg_get_dmi_granted (bool &granted, sc_dt::uint64 size, sc_dt::uint64 offset=0) const
 Query to see if DMI access has been granted to this region. "size" and offset can be used to constrain the range. More...
 

Protected Member Functions

sc_dt::uint64 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 scireg_get_high_pos () const
 
sc_dt::uint64 scireg_get_bit_width () const
 Get bit width and byte width of this region. More...
 
virtual scireg_ns::scireg_response scireg_get_region_type (scireg_ns::scireg_region_type &t) const
 Get the region_type of this region: More...
 
virtual scireg_ns::scireg_response 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...
 

Protected Attributes

::std::string m_name
 
::std::string m_desc
 

Detailed Description

User register class is derived from sc_register<>. It adds sc_register_field<> members. Register field sc_register_field_base is a non-template base class of register field. Its method gives the declarative information of the field. This separates field's declarative and simulation API. The declarative API is in base class, and simulation API is in derived class.


The documentation for this class was generated from the following file: