gem5  v22.1.0.0
Classes | Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process Class Reference
Inheritance diagram for tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process:
tlm::tlm_fw_transport_if< TYPES > tlm::tlm_mm_interface tlm::tlm_fw_nonblocking_transport_if< TYPES::tlm_payload_type, TYPES::tlm_phase_type > tlm::tlm_blocking_transport_if< TYPES::tlm_payload_type > tlm::tlm_fw_direct_mem_if< TYPES::tlm_payload_type > tlm::tlm_transport_dbg_if< TYPES::tlm_payload_type > sc_core::sc_interface sc_core::sc_interface sc_core::sc_interface sc_core::sc_interface

Classes

struct  mm_end_event_ext
 
class  process_handle_class
 
class  process_handle_list
 

Public Types

typedef sync_enum_type(MODULE::* NBTransportPtr) (transaction_type &, phase_type &, sc_core::sc_time &)
 
typedef void(MODULE::* BTransportPtr) (transaction_type &, sc_core::sc_time &)
 
typedef unsigned int(MODULE::* TransportDbgPtr) (transaction_type &)
 
typedef bool(MODULE::* GetDirectMemPtr) (transaction_type &, tlm::tlm_dmi &)
 

Public Member Functions

 fw_process (simple_target_socket_b *p_own)
 
void start_of_simulation ()
 
void set_nb_transport_ptr (MODULE *mod, NBTransportPtr p)
 
void set_b_transport_ptr (MODULE *mod, BTransportPtr p)
 
void set_transport_dbg_ptr (MODULE *mod, TransportDbgPtr p)
 
void set_get_direct_mem_ptr (MODULE *mod, GetDirectMemPtr p)
 
sync_enum_type nb_transport_fw (transaction_type &trans, phase_type &phase, sc_core::sc_time &t)
 
void b_transport (transaction_type &trans, sc_core::sc_time &t)
 
unsigned int transport_dbg (transaction_type &trans)
 
bool get_direct_mem_ptr (transaction_type &trans, tlm::tlm_dmi &dmi_data)
 
- Public Member Functions inherited from sc_core::sc_interface
virtual void register_port (sc_port_base &, const char *)
 
virtual const sc_eventdefault_event () const
 
virtual ~sc_interface ()
 
- Public Member Functions inherited from tlm::tlm_mm_interface
virtual ~tlm_mm_interface ()
 

Private Member Functions

void nb2b_thread (process_handle_class *h)
 
void b2nb_thread ()
 
void free (tlm::tlm_generic_payload *trans)
 

Private Attributes

process_handle_list m_process_handle
 
simple_target_socket_bm_owner
 
MODULE * m_mod
 
NBTransportPtr m_nb_transport_ptr
 
BTransportPtr m_b_transport_ptr
 
TransportDbgPtr m_transport_dbg_ptr
 
GetDirectMemPtr m_get_direct_mem_ptr
 
peq_with_get< transaction_typem_peq
 
bool m_response_in_progress
 
sc_core::sc_event m_end_response
 

Additional Inherited Members

- Protected Member Functions inherited from sc_core::sc_interface
 sc_interface ()
 

Detailed Description

template<typename MODULE, unsigned int BUSWIDTH, typename TYPES, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
class tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process

Definition at line 176 of file simple_target_socket.h.

Member Typedef Documentation

◆ BTransportPtr

template<typename MODULE , unsigned int BUSWIDTH, typename TYPES , sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
typedef void(MODULE::* tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::BTransportPtr) (transaction_type &, sc_core::sc_time &)

Definition at line 182 of file simple_target_socket.h.

◆ GetDirectMemPtr

template<typename MODULE , unsigned int BUSWIDTH, typename TYPES , sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
typedef bool(MODULE::* tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::GetDirectMemPtr) (transaction_type &, tlm::tlm_dmi &)

Definition at line 185 of file simple_target_socket.h.

◆ NBTransportPtr

template<typename MODULE , unsigned int BUSWIDTH, typename TYPES , sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
typedef sync_enum_type(MODULE::* tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::NBTransportPtr) (transaction_type &, phase_type &, sc_core::sc_time &)

Definition at line 180 of file simple_target_socket.h.

◆ TransportDbgPtr

template<typename MODULE , unsigned int BUSWIDTH, typename TYPES , sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
typedef unsigned int(MODULE::* tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::TransportDbgPtr) (transaction_type &)

Definition at line 184 of file simple_target_socket.h.

Constructor & Destructor Documentation

◆ fw_process()

template<typename MODULE , unsigned int BUSWIDTH, typename TYPES , sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::fw_process ( simple_target_socket_b p_own)
inline

Definition at line 188 of file simple_target_socket.h.

Member Function Documentation

◆ b2nb_thread()

template<typename MODULE , unsigned int BUSWIDTH, typename TYPES , sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
void tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::b2nb_thread ( )
inlineprivate

◆ b_transport()

template<typename MODULE , unsigned int BUSWIDTH, typename TYPES , sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
void tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::b_transport ( transaction_type trans,
sc_core::sc_time t 
)
inlinevirtual

◆ free()

template<typename MODULE , unsigned int BUSWIDTH, typename TYPES , sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
void tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::free ( tlm::tlm_generic_payload trans)
inlineprivatevirtual

◆ get_direct_mem_ptr()

template<typename MODULE , unsigned int BUSWIDTH, typename TYPES , sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
bool tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::get_direct_mem_ptr ( transaction_type trans,
tlm::tlm_dmi dmi_data 
)
inlinevirtual

◆ nb2b_thread()

template<typename MODULE , unsigned int BUSWIDTH, typename TYPES , sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
void tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::nb2b_thread ( process_handle_class h)
inlineprivate

◆ nb_transport_fw()

template<typename MODULE , unsigned int BUSWIDTH, typename TYPES , sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
sync_enum_type tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::nb_transport_fw ( transaction_type trans,
phase_type phase,
sc_core::sc_time t 
)
inlinevirtual

Implements tlm::tlm_fw_nonblocking_transport_if< TYPES::tlm_payload_type, TYPES::tlm_phase_type >.

Definition at line 262 of file simple_target_socket.h.

References tlm::BEGIN_REQ, sc_core::sc_spawn_options::dont_initialize(), tlm::END_RESP, tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::process_handle_list::get_handle(), tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::m_b_transport_ptr, tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::process_handle_class::m_e, tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::m_end_response, tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::m_mod, tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::m_nb_transport_ptr, tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::m_owner, tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::m_process_handle, tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::m_response_in_progress, tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::nb2b_thread(), sc_core::sc_event::notify(), tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::process_handle_list::put_handle(), sc_assert, sc_core::sc_bind(), sc_core::sc_gen_unique_name(), sc_core::sc_spawn(), sc_core::sc_spawn_options::set_sensitivity(), gem5::VegaISA::t, tlm::TLM_ACCEPTED, and tlm::TLM_COMPLETED.

◆ set_b_transport_ptr()

template<typename MODULE , unsigned int BUSWIDTH, typename TYPES , sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
void tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::set_b_transport_ptr ( MODULE *  mod,
BTransportPtr  p 
)
inline

◆ set_get_direct_mem_ptr()

template<typename MODULE , unsigned int BUSWIDTH, typename TYPES , sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
void tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::set_get_direct_mem_ptr ( MODULE *  mod,
GetDirectMemPtr  p 
)
inline

◆ set_nb_transport_ptr()

template<typename MODULE , unsigned int BUSWIDTH, typename TYPES , sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
void tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::set_nb_transport_ptr ( MODULE *  mod,
NBTransportPtr  p 
)
inline

◆ set_transport_dbg_ptr()

template<typename MODULE , unsigned int BUSWIDTH, typename TYPES , sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
void tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::set_transport_dbg_ptr ( MODULE *  mod,
TransportDbgPtr  p 
)
inline

◆ start_of_simulation()

template<typename MODULE , unsigned int BUSWIDTH, typename TYPES , sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
void tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::start_of_simulation ( )
inline

◆ transport_dbg()

template<typename MODULE , unsigned int BUSWIDTH, typename TYPES , sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
unsigned int tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::transport_dbg ( transaction_type trans)
inlinevirtual

Member Data Documentation

◆ m_b_transport_ptr

template<typename MODULE , unsigned int BUSWIDTH, typename TYPES , sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
BTransportPtr tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::m_b_transport_ptr
private

◆ m_end_response

template<typename MODULE , unsigned int BUSWIDTH, typename TYPES , sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
sc_core::sc_event tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::m_end_response
private

◆ m_get_direct_mem_ptr

template<typename MODULE , unsigned int BUSWIDTH, typename TYPES , sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
GetDirectMemPtr tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::m_get_direct_mem_ptr
private

◆ m_mod

template<typename MODULE , unsigned int BUSWIDTH, typename TYPES , sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
MODULE* tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::m_mod
private

◆ m_nb_transport_ptr

template<typename MODULE , unsigned int BUSWIDTH, typename TYPES , sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
NBTransportPtr tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::m_nb_transport_ptr
private

◆ m_owner

template<typename MODULE , unsigned int BUSWIDTH, typename TYPES , sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
simple_target_socket_b* tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::m_owner
private

◆ m_peq

template<typename MODULE , unsigned int BUSWIDTH, typename TYPES , sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
peq_with_get<transaction_type> tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::m_peq
private

◆ m_process_handle

template<typename MODULE , unsigned int BUSWIDTH, typename TYPES , sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
process_handle_list tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::m_process_handle
private

◆ m_response_in_progress

template<typename MODULE , unsigned int BUSWIDTH, typename TYPES , sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
bool tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::m_response_in_progress
private

◆ m_transport_dbg_ptr

template<typename MODULE , unsigned int BUSWIDTH, typename TYPES , sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
TransportDbgPtr tlm_utils::simple_target_socket_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::m_transport_dbg_ptr
private

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

Generated on Wed Dec 21 2022 10:25:13 for gem5 by doxygen 1.9.1