quic/qbox
Loading...
Searching...
No Matches
Classes | Public Member Functions | Public Attributes | Protected Member Functions | List of all members
gs::gs_memory< BUSWIDTH > Class Template Reference

A gs_memory component that can add memory to a virtual platform project. More...

#include <gs_memory.h>

Inheritance diagram for gs::gs_memory< BUSWIDTH >:
Inheritance graph
[legend]
Collaboration diagram for gs::gs_memory< BUSWIDTH >:
Collaboration graph
[legend]

Public Member Functions

 gs_memory (sc_core::sc_module_name name, uint64_t _size=0)
 
void before_end_of_elaboration ()
 
 gs_memory (const gs_memory &)=delete
 
uint64_t size ()
 this function returns the size of the memory
 
uint64_t base ()
 this function returns the base address of the memory
 

Public Attributes

tlm_utils::multi_passthrough_target_socket< gs_memory< BUSWIDTH >, BUSWIDTHsocket
 
TargetSignalSocket< boolreset
 
cci::cci_param< boolp_rom
 
cci::cci_param< boolp_dmi
 
cci::cci_param< sc_core::sc_time > p_latency
 
cci::cci_param< std::string > p_mapfile
 
cci::cci_param< uint64_tp_max_block_size
 
cci::cci_param< uint64_tp_min_block_size
 
cci::cci_param< boolp_shmem
 
cci::cci_param< std::string > p_shmem_prefix
 
cci::cci_param< boolp_init_mem
 
cci::cci_param< intp_init_mem_val
 
gs::loader load
 

Protected Member Functions

virtual bool get_direct_mem_ptr (int id, tlm::tlm_generic_payload &txn, tlm::tlm_dmi &dmi_data)
 
virtual void b_transport (int id, tlm::tlm_generic_payload &txn, sc_core::sc_time &delay)
 
const charget_txn_command_str (const tlm::tlm_generic_payload &trans)
 
virtual unsigned int transport_dbg (int id, tlm::tlm_generic_payload &txn)
 
bool read (uint8_t *data, uint64_t offset, uint64_t len)
 
bool write (const uint8_t *data, uint64_t offset, uint64_t len)
 

Detailed Description

template<unsigned int BUSWIDTH = DEFAULT_TLM_BUSWIDTH>
class gs::gs_memory< BUSWIDTH >

A gs_memory component that can add memory to a virtual platform project.

This component models a memory. It has a simple target socket so any other component with an initiator socket can connect to this component. It behaves as follows:

Member Function Documentation

◆ base()

template<unsigned int BUSWIDTH = DEFAULT_TLM_BUSWIDTH>
uint64_t gs::gs_memory< BUSWIDTH >::base ( )
inline

this function returns the base address of the memory

Returns
the address of the memory of type uint64_t

◆ size()

template<unsigned int BUSWIDTH = DEFAULT_TLM_BUSWIDTH>
uint64_t gs::gs_memory< BUSWIDTH >::size ( )
inline

this function returns the size of the memory

Returns
the size of the memory of type uint64_t

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