SystemC Library API Reference Manual
Reference documentation for the Simics SystemC Library.
 
Loading...
Searching...
No Matches
simics::systemc::tlm2simics::Gasket< BUSWIDTH, TYPES > Class Template Reference

Implements core functionality for receiving a TLM2 transaction over a socket. More...

#include <gasket.h>

Inheritance diagram for simics::systemc::tlm2simics::Gasket< BUSWIDTH, TYPES >:
simics::systemc::tlm2simics::GasketInterface

Public Member Functions

 SC_HAS_PROCESS (Gasket)
 
 Gasket (sc_core::sc_module_name, const simics::ConfObjectRef &obj)
 
void init (InternalInterface *internal)
 
virtual ~Gasket ()
 
template<typename Socket >
void bind (Socket &sock)
 
virtual void set_transaction_handler (TransactionHandlerInterface *transaction_handler)
 Target object in Simics side receiving the TLM transaction.
 
virtual void invalidate_direct_mem_ptr (sc_dt::uint64 start_range, sc_dt::uint64 end_range)
 Calling this method will end up calling the same method on the target socket, that will forward the call back to the initiator socket who is required to drop the DMI pointers matching the range.
 
sc_core::sc_object * get_initiator_socket () const override
 
std::string gasket_name () const override
 
TransactionHandlerInterfacetransaction_handler () override
 
void register_nb_transport_fw ()
 For gaskets support non-blocking transport, call this function to register the non-blocking transport interface.
 
- Public Member Functions inherited from simics::systemc::tlm2simics::GasketInterface
virtual void set_transaction_handler (TransactionHandlerInterface *transaction_handler)=0
 Target object in Simics side receiving the TLM transaction.
 
virtual void invalidate_direct_mem_ptr (sc_dt::uint64 start_range, sc_dt::uint64 end_range)=0
 Calling this method will end up calling the same method on the target socket, that will forward the call back to the initiator socket who is required to drop the DMI pointers matching the range.
 
virtual sc_core::sc_object * get_initiator_socket () const =0
 
virtual std::string gasket_name () const =0
 
virtual TransactionHandlerInterfacetransaction_handler ()=0
 
virtual void register_nb_transport_fw ()
 For gaskets support non-blocking transport, call this function to register the non-blocking transport interface.
 
virtual ~GasketInterface ()
 

Additional Inherited Members

- Public Types inherited from simics::systemc::tlm2simics::GasketInterface
typedef std::shared_ptr< GasketInterfacePtr
 

Detailed Description

template<unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types>
class simics::systemc::tlm2simics::Gasket< BUSWIDTH, TYPES >

Implements core functionality for receiving a TLM2 transaction over a socket.

This class is associated with a transaction handler implementing the TransactionHandlerInterface to which the Gasket passes the incoming transaction for further processing.

Constructor & Destructor Documentation

◆ Gasket()

template<unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types>
simics::systemc::tlm2simics::Gasket< BUSWIDTH, TYPES >::Gasket ( sc_core::sc_module_name  ,
const simics::ConfObjectRef &  obj 
)
inline

◆ ~Gasket()

template<unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types>
virtual simics::systemc::tlm2simics::Gasket< BUSWIDTH, TYPES >::~Gasket ( )
inlinevirtual

Member Function Documentation

◆ bind()

template<unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types>
template<typename Socket >
void simics::systemc::tlm2simics::Gasket< BUSWIDTH, TYPES >::bind ( Socket &  sock)
inline

◆ gasket_name()

template<unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types>
std::string simics::systemc::tlm2simics::Gasket< BUSWIDTH, TYPES >::gasket_name ( ) const
inlineoverridevirtual

◆ get_initiator_socket()

template<unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types>
sc_core::sc_object * simics::systemc::tlm2simics::Gasket< BUSWIDTH, TYPES >::get_initiator_socket ( ) const
inlineoverridevirtual

◆ init()

template<unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types>
void simics::systemc::tlm2simics::Gasket< BUSWIDTH, TYPES >::init ( InternalInterface internal)
inline

◆ invalidate_direct_mem_ptr()

template<unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types>
virtual void simics::systemc::tlm2simics::Gasket< BUSWIDTH, TYPES >::invalidate_direct_mem_ptr ( sc_dt::uint64  start_range,
sc_dt::uint64  end_range 
)
inlinevirtual

Calling this method will end up calling the same method on the target socket, that will forward the call back to the initiator socket who is required to drop the DMI pointers matching the range.

Implements simics::systemc::tlm2simics::GasketInterface.

◆ register_nb_transport_fw()

template<unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types>
void simics::systemc::tlm2simics::Gasket< BUSWIDTH, TYPES >::register_nb_transport_fw ( )
inlinevirtual

For gaskets support non-blocking transport, call this function to register the non-blocking transport interface.

Reimplemented from simics::systemc::tlm2simics::GasketInterface.

◆ SC_HAS_PROCESS()

template<unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types>
simics::systemc::tlm2simics::Gasket< BUSWIDTH, TYPES >::SC_HAS_PROCESS ( Gasket< BUSWIDTH, TYPES >  )

◆ set_transaction_handler()

template<unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types>
virtual void simics::systemc::tlm2simics::Gasket< BUSWIDTH, TYPES >::set_transaction_handler ( TransactionHandlerInterface transaction_handler)
inlinevirtual

Target object in Simics side receiving the TLM transaction.

Implements simics::systemc::tlm2simics::GasketInterface.

◆ transaction_handler()

template<unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types>
TransactionHandlerInterface * simics::systemc::tlm2simics::Gasket< BUSWIDTH, TYPES >::transaction_handler ( )
inlineoverridevirtual

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