gem5 v25.0.0.1
Loading...
Searching...
No Matches
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< TRANS, PHASE > tlm::tlm_blocking_transport_if< TRANS > tlm::tlm_fw_direct_mem_if< TRANS > tlm::tlm_transport_dbg_if< TRANS > 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 tlm::tlm_fw_nonblocking_transport_if< TRANS, PHASE >
virtual tlm_sync_enum nb_transport_fw (TRANS &trans, PHASE &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< TRANS >
virtual void b_transport (TRANS &trans, sc_core::sc_time &t)=0
Public Member Functions inherited from tlm::tlm_fw_direct_mem_if< TRANS >
virtual bool get_direct_mem_ptr (TRANS &trans, tlm_dmi &dmi_data)=0
Public Member Functions inherited from tlm::tlm_transport_dbg_if< TRANS >
virtual unsigned int transport_dbg (TRANS &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_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

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 )
inline

◆ 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

Implements tlm::tlm_mm_interface.

Definition at line 544 of file simple_target_socket.h.

References tlm::tlm_generic_payload::reset(), and sc_assert.

◆ 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 )
inline

◆ nb2b_thread()

◆ nb_transport_fw()

◆ 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

Definition at line 223 of file simple_target_socket.h.

References m_b_transport_ptr, m_mod, m_owner, and sc_assert.

◆ 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

Definition at line 248 of file simple_target_socket.h.

References m_get_direct_mem_ptr, m_mod, m_owner, and sc_assert.

◆ 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

Definition at line 210 of file simple_target_socket.h.

References m_mod, m_nb_transport_ptr, m_owner, and sc_assert.

◆ 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

Definition at line 236 of file simple_target_socket.h.

References m_mod, m_owner, m_transport_dbg_ptr, and sc_assert.

◆ 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)
inline

Definition at line 355 of file simple_target_socket.h.

References m_mod, m_transport_dbg_ptr, and sc_assert.

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

Definition at line 572 of file simple_target_socket.h.

Referenced by nb2b_thread(), and nb_transport_fw().

◆ 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

Definition at line 569 of file simple_target_socket.h.

Referenced by fw_process(), get_direct_mem_ptr(), and set_get_direct_mem_ptr().

◆ 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

Definition at line 570 of file simple_target_socket.h.

Referenced by b2nb_thread(), b_transport(), fw_process(), and start_of_simulation().

◆ 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

Definition at line 437 of file simple_target_socket.h.

Referenced by nb_transport_fw().

◆ 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

Definition at line 571 of file simple_target_socket.h.

Referenced by fw_process(), nb2b_thread(), and nb_transport_fw().

◆ 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

Definition at line 568 of file simple_target_socket.h.

Referenced by fw_process(), set_transport_dbg_ptr(), and transport_dbg().


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

Generated on Sat Oct 18 2025 08:07:55 for gem5 by doxygen 1.14.0