scc  2022.4.0
SystemC components library
scc::tlm_target< BUSWIDTH, ADDR_UNIT_WIDTH > Class Template Reference

a simple access-width based bus interface (no DMI support) More...

#include <tlm_target.h>

Inheritance diagram for scc::tlm_target< BUSWIDTH, ADDR_UNIT_WIDTH >:
Collaboration diagram for scc::tlm_target< BUSWIDTH, ADDR_UNIT_WIDTH >:

Public Types

using this_type = tlm_target< BUSWIDTH, ADDR_UNIT_WIDTH >
 

Public Member Functions

 tlm_target (sc_core::sc_time &clock, const char *socket_name="socket")
 the constructor More...
 
void b_tranport_cb (tlm::tlm_generic_payload &gp, sc_core::sc_time &d)
 the blocking transport callback More...
 
unsigned int tranport_dbg_cb (tlm::tlm_generic_payload &gp)
 the debug transport callback More...
 
void addResource (resource_access_if &rai, uint64_t base_addr)
 add a resource to this target at a certain address within the socket address range More...
 
void addResource (indexed_resource_access_if &irai, uint64_t base_addr)
 add an indexed resource to this target at a certain address within the socket address range More...
 

Public Attributes

tlm::scc::target_mixin< tlm::scc::scv::tlm_rec_target_socket< BUSWIDTH > > socket
 the target socket
 

Protected Attributes

util::range_lut< std::pair< resource_access_if *, uint64_t > > socket_map
 

Detailed Description

template<unsigned int BUSWIDTH = LT, unsigned int ADDR_UNIT_WIDTH = 8>
class scc::tlm_target< BUSWIDTH, ADDR_UNIT_WIDTH >

a simple access-width based bus interface (no DMI support)

Template Parameters
BUSWIDTH
ADDR_UNIT_WIDTH

Definition at line 44 of file tlm_target.h.

Constructor & Destructor Documentation

◆ tlm_target()

template<unsigned int BUSWIDTH, unsigned int ADDR_UNIT_WIDTH>
scc::tlm_target< BUSWIDTH, ADDR_UNIT_WIDTH >::tlm_target ( sc_core::sc_time &  clock,
const char *  socket_name = "socket" 
)
inline

the constructor

Parameters
clockthe clock period of the component
socket_nameoptional name of the internal socket

Definition at line 129 of file tlm_target.h.

Member Function Documentation

◆ addResource() [1/2]

template<unsigned int BUSWIDTH = LT, unsigned int ADDR_UNIT_WIDTH = 8>
void scc::tlm_target< BUSWIDTH, ADDR_UNIT_WIDTH >::addResource ( indexed_resource_access_if irai,
uint64_t  base_addr 
)
inline

add an indexed resource to this target at a certain address within the socket address range

Parameters
iraithe resource to add
base_addrthe offset of the resource (from address 0)

Definition at line 89 of file tlm_target.h.

◆ addResource() [2/2]

template<unsigned int BUSWIDTH = LT, unsigned int ADDR_UNIT_WIDTH = 8>
void scc::tlm_target< BUSWIDTH, ADDR_UNIT_WIDTH >::addResource ( resource_access_if rai,
uint64_t  base_addr 
)
inline

add a resource to this target at a certain address within the socket address range

Parameters
raithe resource to add
base_addrthe offset of the resource (from address 0)

Definition at line 80 of file tlm_target.h.

◆ b_tranport_cb()

template<unsigned int BUSWIDTH, unsigned int ADDR_UNIT_WIDTH>
void scc::tlm_target< BUSWIDTH, ADDR_UNIT_WIDTH >::b_tranport_cb ( tlm::tlm_generic_payload &  gp,
sc_core::sc_time &  d 
)

the blocking transport callback

Parameters
gpthe generic payload
dthe delay in the local time domain

Definition at line 138 of file tlm_target.h.

◆ tranport_dbg_cb()

template<unsigned int BUSWIDTH, unsigned int ADDR_UNIT_WIDTH>
unsigned int scc::tlm_target< BUSWIDTH, ADDR_UNIT_WIDTH >::tranport_dbg_cb ( tlm::tlm_generic_payload &  gp)

the debug transport callback

Parameters
gpthe generic payload
Returns
number of transferred bytes

Definition at line 205 of file tlm_target.h.


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