scc 2025.09
SystemC components library
scc::tlm_target< BUSWIDTH, ADDR_UNIT_BITWIDTH > 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_BITWIDTH >:
Collaboration diagram for scc::tlm_target< BUSWIDTH, ADDR_UNIT_BITWIDTH >:

Public Types

using this_type = tlm_target<BUSWIDTH, ADDR_UNIT_BITWIDTH>

Public Member Functions

 tlm_target (sc_core::sc_time &clock, const char *socket_name="socket")
 the constructor
void b_tranport_cb (tlm::tlm_generic_payload &gp, sc_core::sc_time &d)
 the blocking transport callback
unsigned int tranport_dbg_cb (tlm::tlm_generic_payload &gp)
 the debug transport callback
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
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
size_t get_size ()

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_BITWIDTH = 8>
class scc::tlm_target< BUSWIDTH, ADDR_UNIT_BITWIDTH >

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

Template Parameters
BUSWIDTHThe width of the target socket.
ADDR_UNIT_BITWIDTHThe size of the minimum addressable unit in bits.

Definition at line 44 of file tlm_target.h.

Member Typedef Documentation

◆ this_type

template<unsigned int BUSWIDTH = LT, unsigned int ADDR_UNIT_BITWIDTH = 8>
using scc::tlm_target< BUSWIDTH, ADDR_UNIT_BITWIDTH >::this_type = tlm_target<BUSWIDTH, ADDR_UNIT_BITWIDTH>

Definition at line 46 of file tlm_target.h.

Constructor & Destructor Documentation

◆ tlm_target()

template<unsigned int BUSWIDTH, unsigned int ADDR_UNIT_BITWIDTH>
scc::tlm_target< BUSWIDTH, ADDR_UNIT_BITWIDTH >::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 137 of file tlm_target.h.

Member Function Documentation

◆ addResource() [1/2]

template<unsigned int BUSWIDTH = LT, unsigned int ADDR_UNIT_BITWIDTH = 8>
void scc::tlm_target< BUSWIDTH, ADDR_UNIT_BITWIDTH >::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_BITWIDTH = 8>
void scc::tlm_target< BUSWIDTH, ADDR_UNIT_BITWIDTH >::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_BITWIDTH>
void scc::tlm_target< BUSWIDTH, ADDR_UNIT_BITWIDTH >::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 146 of file tlm_target.h.

◆ get_size()

template<unsigned int BUSWIDTH = LT, unsigned int ADDR_UNIT_BITWIDTH = 8>
size_t scc::tlm_target< BUSWIDTH, ADDR_UNIT_BITWIDTH >::get_size ( )
inline

Definition at line 97 of file tlm_target.h.

◆ tranport_dbg_cb()

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

the debug transport callback

Parameters
gpthe generic payload
Returns
number of transferred bytes

Definition at line 213 of file tlm_target.h.

Member Data Documentation

◆ socket

template<unsigned int BUSWIDTH = LT, unsigned int ADDR_UNIT_BITWIDTH = 8>
tlm::scc::target_mixin<tlm::scc::scv::tlm_rec_target_socket<BUSWIDTH> > scc::tlm_target< BUSWIDTH, ADDR_UNIT_BITWIDTH >::socket

the target socket

Definition at line 56 of file tlm_target.h.

◆ socket_map

template<unsigned int BUSWIDTH = LT, unsigned int ADDR_UNIT_BITWIDTH = 8>
util::range_lut<std::pair<resource_access_if*, uint64_t> > scc::tlm_target< BUSWIDTH, ADDR_UNIT_BITWIDTH >::socket_map
protected

Definition at line 109 of file tlm_target.h.


The documentation for this class was generated from the following file:
  • /home/eyck/Projects/MINRES/SystemC-Components/src/components/scc/tlm_target.h