quic/qbox
Loading...
Searching...
No Matches
Public Member Functions | List of all members
gs::gs_register< TYPE > Class Template Reference

Class that encapsulates a 'register' that proxies it's data via a tlm interface, and uses callbacks (on a tlm interface) More...

#include <registers.h>

Inheritance diagram for gs::gs_register< TYPE >:
Inheritance graph
[legend]
Collaboration diagram for gs::gs_register< TYPE >:
Collaboration graph
[legend]

Public Member Functions

 gs_register (std::string _name, std::string path="", uint64_t offset=0, uint64_t number=1, TYPE mask=gs_full_mask< TYPE >())
 
void operator= (TYPE value)
 
 operator TYPE ()
 
void operator= (gs_register< TYPE > &other)
 
void operator+= (TYPE other)
 
void operator-= (TYPE other)
 
void operator/= (TYPE other)
 
void operator*= (TYPE other)
 
void operator&= (TYPE other)
 
void operator|= (TYPE other)
 
void operator^= (TYPE other)
 
void operator<<= (TYPE other)
 
void operator>>= (TYPE other)
 
TYPE & operator[] (int idx)
 
void get (TYPE *dst, uint64_t idx, uint64_t length)
 
void set (TYPE *src, uint64_t idx, uint64_t length, bool use_mask=true)
 
gs_bitfield< TYPE > operator[] (gs_field< TYPE > &f)
 
std::string get_regname () const
 
std::string get_path () const
 
uint64_t get_offset () const
 
uint64_t get_size () const
 
void set_mask (TYPE mask)
 
TYPE get_mask () const
 
void capture_txn_pre (tlm::tlm_generic_payload &txn) override
 
void handle_mask_post (tlm::tlm_generic_payload &txn) override
 
- Public Member Functions inherited from gs::port_fnct
void pre_read (tlm_fnct::TLMFUNC cb)
 
void pre_write (tlm_fnct::TLMFUNC cb)
 
void post_read (tlm_fnct::TLMFUNC cb)
 
void post_write (tlm_fnct::TLMFUNC cb)
 
 port_fnct (std::string name, std::string path_name)
 
void register_transport_dbg_func (std::function< unsigned int(tlm::tlm_generic_payload &)> fn)
 
- Public Member Functions inherited from gs::proxy_data< TYPE >
TYPE get ()
 
 operator TYPE ()
 
void set (TYPE value)
 
void operator= (TYPE value)
 
 proxy_data (scp::scp_logger_cache &logger, std::string name, std::string path_name, uint64_t offset=0, uint64_t number=1, uint64_t start=0, uint64_t length=sizeof(TYPE) *8, TYPE mask=gs_full_mask< TYPE >())
 
- Public Member Functions inherited from gs::proxy_data_array< TYPE >
void get (TYPE *dst, uint64_t idx=0, uint64_t length=1)
 
void set (TYPE *src, uint64_t idx=0, uint64_t length=1, bool use_mask=true)
 
void write_with_mask (TYPE *src, TYPE *dst, uint64_t length)
 
TYPE & operator[] (int idx)
 
void invalidate_direct_mem_ptr (sc_dt::uint64 start, sc_dt::uint64 end)
 
 proxy_data_array (scp::scp_logger_cache &logger, std::string name, std::string path_name, uint64_t _offset=0, uint64_t number=1, TYPE mask=gs_full_mask< TYPE >())
 

Additional Inherited Members

- Public Attributes inherited from gs::proxy_data_array< TYPE >
std::string m_path_name
 
cci::cci_param< uint64_tp_number
 
cci::cci_param< uint64_tp_offset
 
cci::cci_param< uint64_tp_size
 
cci::cci_param< TYPE > p_mask
 
cci::cci_param< boolp_relative_addresses
 
tlm_utils::simple_initiator_socket< proxy_data_array, DEFAULT_TLM_BUSWIDTH > initiator_socket
 
- Protected Member Functions inherited from gs::port_fnct
std::string parent (std::string name)
 

Detailed Description

template<class TYPE = uint32_t>
class gs::gs_register< TYPE >

Class that encapsulates a 'register' that proxies it's data via a tlm interface, and uses callbacks (on a tlm interface)

Member Function Documentation

◆ capture_txn_pre()

template<class TYPE = uint32_t>
void gs::gs_register< TYPE >::capture_txn_pre ( tlm::tlm_generic_payload &  txn)
inlineoverridevirtual

Implements gs::port_fnct.

◆ handle_mask_post()

template<class TYPE = uint32_t>
void gs::gs_register< TYPE >::handle_mask_post ( tlm::tlm_generic_payload &  txn)
inlineoverridevirtual

Implements gs::port_fnct.


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