gem5  v20.1.0.0
Classes | Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
tlm_utils::simple_target_socket_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process Class Reference
Inheritance diagram for tlm_utils::simple_target_socket_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process:
tlm::tlm_fw_transport_if< TYPES > tlm::tlm_mm_interface tlm::tlm_fw_nonblocking_transport_if< tlm_base_protocol_types ::tlm_payload_type, tlm_base_protocol_types ::tlm_phase_type > tlm::tlm_blocking_transport_if< tlm_base_protocol_types ::tlm_payload_type > tlm::tlm_fw_direct_mem_if< tlm_base_protocol_types ::tlm_payload_type > tlm::tlm_transport_dbg_if< tlm_base_protocol_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) (int id, transaction_type &, phase_type &, sc_core::sc_time &)
 
typedef void(MODULE::* BTransportPtr) (int id, transaction_type &, sc_core::sc_time &)
 
typedef unsigned int(MODULE::* TransportDbgPtr) (int id, transaction_type &)
 
typedef bool(MODULE::* GetDirectMemPtr) (int id, transaction_type &, tlm::tlm_dmi &)
 

Public Member Functions

 fw_process (simple_target_socket_tagged_b *p_own)
 
void start_of_simulation ()
 
void set_nb_transport_user_id (int id)
 
void set_b_transport_user_id (int id)
 
void set_transport_dbg_user_id (int id)
 
void set_get_dmi_user_id (int id)
 
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 tlm::tlm_fw_nonblocking_transport_if< tlm_base_protocol_types ::tlm_payload_type, tlm_base_protocol_types ::tlm_phase_type >
virtual tlm_sync_enum nb_transport_fw (tlm_base_protocol_types ::tlm_payload_type &trans, tlm_base_protocol_types ::tlm_phase_type &phase, sc_core::sc_time &t)=0
 
- 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_blocking_transport_if< tlm_base_protocol_types ::tlm_payload_type >
virtual void b_transport (tlm_base_protocol_types ::tlm_payload_type &trans, sc_core::sc_time &t)=0
 
- Public Member Functions inherited from tlm::tlm_fw_direct_mem_if< tlm_base_protocol_types ::tlm_payload_type >
virtual bool get_direct_mem_ptr (tlm_base_protocol_types ::tlm_payload_type &trans, tlm_dmi &dmi_data)=0
 
- Public Member Functions inherited from tlm::tlm_transport_dbg_if< tlm_base_protocol_types ::tlm_payload_type >
virtual unsigned int transport_dbg (tlm_base_protocol_types ::tlm_payload_type &trans)=0
 
- 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_tagged_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
 
int m_nb_transport_user_id
 
int m_b_transport_user_id
 
int m_transport_dbg_user_id
 
int m_get_dmi_user_id
 
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_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process

Definition at line 774 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_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::BTransportPtr) (int id, transaction_type &, sc_core::sc_time &)

Definition at line 781 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_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::GetDirectMemPtr) (int id, transaction_type &, tlm::tlm_dmi &)

Definition at line 785 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_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::NBTransportPtr) (int id, transaction_type &, phase_type &, sc_core::sc_time &)

Definition at line 778 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_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::TransportDbgPtr) (int id, transaction_type &)

Definition at line 783 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_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::fw_process ( simple_target_socket_tagged_b p_own)
inline

Definition at line 788 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_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::b2nb_thread ( )
inlineprivate

Definition at line 1084 of file simple_target_socket.h.

◆ 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_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::b_transport ( transaction_type trans,
sc_core::sc_time t 
)
inline

Definition at line 923 of file simple_target_socket.h.

◆ 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_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::free ( tlm::tlm_generic_payload trans)
inlineprivatevirtual

Implements tlm::tlm_mm_interface.

Definition at line 1157 of file simple_target_socket.h.

◆ 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_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::get_direct_mem_ptr ( transaction_type trans,
tlm::tlm_dmi dmi_data 
)
inline

◆ 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_tagged_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_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::nb_transport_fw ( transaction_type trans,
phase_type phase,
sc_core::sc_time t 
)
inline

◆ 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_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::set_b_transport_ptr ( MODULE *  mod,
BTransportPtr  p 
)
inline

Definition at line 834 of file simple_target_socket.h.

◆ set_b_transport_user_id()

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_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::set_b_transport_user_id ( int  id)
inline

Definition at line 812 of file simple_target_socket.h.

◆ 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_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::set_get_direct_mem_ptr ( MODULE *  mod,
GetDirectMemPtr  p 
)
inline

Definition at line 860 of file simple_target_socket.h.

◆ set_get_dmi_user_id()

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_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::set_get_dmi_user_id ( int  id)
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_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::set_nb_transport_ptr ( MODULE *  mod,
NBTransportPtr  p 
)
inline

◆ set_nb_transport_user_id()

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_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::set_nb_transport_user_id ( int  id)
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_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::set_transport_dbg_ptr ( MODULE *  mod,
TransportDbgPtr  p 
)
inline

Definition at line 847 of file simple_target_socket.h.

◆ set_transport_dbg_user_id()

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_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::set_transport_dbg_user_id ( int  id)
inline

Definition at line 814 of file simple_target_socket.h.

◆ 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_tagged_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_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::transport_dbg ( transaction_type trans)
inline

Definition at line 967 of file simple_target_socket.h.

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_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::m_b_transport_ptr
private

◆ m_b_transport_user_id

template<typename MODULE , unsigned int BUSWIDTH, typename TYPES , sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
int tlm_utils::simple_target_socket_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::m_b_transport_user_id
private

Definition at line 1184 of file simple_target_socket.h.

◆ 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_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::m_end_response
private

Definition at line 1189 of file simple_target_socket.h.

◆ 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_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::m_get_direct_mem_ptr
private

Definition at line 1182 of file simple_target_socket.h.

◆ m_get_dmi_user_id

template<typename MODULE , unsigned int BUSWIDTH, typename TYPES , sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
int tlm_utils::simple_target_socket_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::m_get_dmi_user_id
private

Definition at line 1186 of file simple_target_socket.h.

◆ 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_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::m_mod
private

Definition at line 1178 of file simple_target_socket.h.

◆ 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_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::m_nb_transport_ptr
private

Definition at line 1179 of file simple_target_socket.h.

◆ m_nb_transport_user_id

template<typename MODULE , unsigned int BUSWIDTH, typename TYPES , sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
int tlm_utils::simple_target_socket_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::m_nb_transport_user_id
private

Definition at line 1183 of file simple_target_socket.h.

◆ 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_tagged_b* tlm_utils::simple_target_socket_tagged_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_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::m_peq
private

Definition at line 1187 of file simple_target_socket.h.

◆ 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_tagged_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_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::m_response_in_progress
private

Definition at line 1188 of file simple_target_socket.h.

◆ 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_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::m_transport_dbg_ptr
private

Definition at line 1181 of file simple_target_socket.h.

◆ m_transport_dbg_user_id

template<typename MODULE , unsigned int BUSWIDTH, typename TYPES , sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
int tlm_utils::simple_target_socket_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::m_transport_dbg_user_id
private

Definition at line 1185 of file simple_target_socket.h.


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

Generated on Wed Sep 30 2020 14:03:14 for gem5 by doxygen 1.8.17