Transaction-Level Modeling Framework for Space Applications
#include <sc_register.h>
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 char * | name () const |
const char * | desc () const |
virtual unsigned int | low_pos () const =0 |
virtual unsigned int | high_pos () const =0 |
virtual unsigned int | bit_width () const =0 |
virtual const char * | get_value_mnemonic () const =0 |
return mnemonic and desc, if any, for current value of field More... | |
virtual const char * | get_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 |
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.