scc  2022.4.0
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_WIDTH >
 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

socket_accessor sock_t_ {*this}
 The socket to access the memory mapped registers of this target. More...
 
- 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_WIDTH >
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_WIDTH >
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_WIDTH >
using this_type = tlm_target< BUSWIDTH, ADDR_UNIT_WIDTH >
 

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.

Member Data Documentation

◆ 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: