scc 2025.09
SystemC components library
scc::tlm_target_bfs< regs_t, owner_t > Class Template Reference

Peripheral base class using scc::tlm_target. More...

#include <tlm_target_bfs.h>

Inheritance diagram for scc::tlm_target_bfs< regs_t, owner_t >:
Collaboration diagram for scc::tlm_target_bfs< regs_t, owner_t >:

Classes

class  socket_accessor

Public Member Functions

 tlm_target_bfs (sc_core::sc_module_name name, tlm_target_bfs_params_t &&params, owner_t *owner=nullptr)
Public Member Functions inherited from scc::tlm_target_bfs_base< owner_t >
 tlm_target_bfs_base (tlm_target_bfs_params_t &&params, owner_t *owner=nullptr)
const owner_t * getOwner () const
void bindIRQ (size_t num, sc_core::sc_signal< bool > *sig)
Public Member Functions inherited from scc::tlm_target< BUSWIDTH, ADDR_UNIT_BITWIDTH >
 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

socket_accessor sock_t_ {*this}
 The socket to access the memory mapped registers of this target.
Public Attributes inherited from scc::tlm_target_bfs_base< owner_t >
sc_core::sc_in< bool > rst_in_ {"reset_in"}
std::unique_ptr< std::vector< sc_core::sc_out< bool > > > irq_out_ {nullptr}
Public Attributes inherited from scc::tlm_target< BUSWIDTH, ADDR_UNIT_BITWIDTH >
tlm::scc::target_mixin< tlm::scc::scv::tlm_rec_target_socket< BUSWIDTH > > socket
 the target socket

Protected Member Functions

void reset_cb ()

Protected Attributes

std::unique_ptr< regs_t > regs
sc_core::sc_time clk
Protected Attributes inherited from scc::tlm_target_bfs_base< owner_t >
const tlm_target_bfs_params_t params_ {}
owner_t *const owner_ {nullptr}
Protected Attributes inherited from scc::tlm_target< BUSWIDTH, ADDR_UNIT_BITWIDTH >
util::range_lut< std::pair< resource_access_if *, uint64_t > > socket_map

Additional Inherited Members

Public Types inherited from scc::tlm_target< BUSWIDTH, ADDR_UNIT_BITWIDTH >
using this_type = tlm_target<BUSWIDTH, ADDR_UNIT_BITWIDTH>

Detailed Description

template<typename regs_t, typename owner_t>
class scc::tlm_target_bfs< regs_t, owner_t >

Peripheral base class using scc::tlm_target.

Template Parameters
regs_tSubclass of tlm_target_bfs_register_base that contains the register definitions.
owner_tType of the owner pointer

Definition at line 91 of file tlm_target_bfs.h.

Constructor & Destructor Documentation

◆ tlm_target_bfs()

template<typename regs_t, typename owner_t>
scc::tlm_target_bfs< regs_t, owner_t >::tlm_target_bfs ( sc_core::sc_module_name name,
tlm_target_bfs_params_t && params,
owner_t * owner = nullptr )
inline

Definition at line 110 of file tlm_target_bfs.h.

Member Function Documentation

◆ reset_cb()

template<typename regs_t, typename owner_t>
void scc::tlm_target_bfs< regs_t, owner_t >::reset_cb ( )
inlineprotected

Definition at line 131 of file tlm_target_bfs.h.

Member Data Documentation

◆ clk

template<typename regs_t, typename owner_t>
sc_core::sc_time scc::tlm_target_bfs< regs_t, owner_t >::clk
protected

Definition at line 129 of file tlm_target_bfs.h.

◆ regs

template<typename regs_t, typename owner_t>
std::unique_ptr<regs_t> scc::tlm_target_bfs< regs_t, owner_t >::regs
protected

Definition at line 128 of file tlm_target_bfs.h.

◆ sock_t_

template<typename regs_t, typename owner_t>
socket_accessor scc::tlm_target_bfs< regs_t, owner_t >::sock_t_ {*this}

The socket to access the memory mapped registers of this target.

Use sock_t_.get() to access a pointer to tlm::tlm_target_socket<>

Definition at line 125 of file tlm_target_bfs.h.


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