gem5 v24.1.0.1
|
#include <simple_target_socket.h>
Classes | |
class | bw_process |
class | fw_process |
Public Types | |
typedef TYPES::tlm_payload_type | transaction_type |
typedef TYPES::tlm_phase_type | phase_type |
typedef tlm::tlm_sync_enum | sync_enum_type |
typedef tlm::tlm_fw_transport_if< TYPES > | fw_interface_type |
typedef tlm::tlm_bw_transport_if< TYPES > | bw_interface_type |
typedef tlm::tlm_target_socket< BUSWIDTH, TYPES, 1, POL > | base_type |
![]() | |
typedef FW_IF | fw_interface_type |
typedef BW_IF | bw_interface_type |
typedef sc_core::sc_port< bw_interface_type, N, POL > | port_type |
typedef sc_core::sc_export< fw_interface_type > | export_type |
typedef tlm_base_initiator_socket_b< BUSWIDTH, fw_interface_type, bw_interface_type > | base_initiator_socket_type |
typedef tlm_base_target_socket_b< BUSWIDTH, fw_interface_type, bw_interface_type > | base_type |
Public Member Functions | |
simple_target_socket_tagged_b (const char *n=default_name()) | |
tlm::tlm_bw_transport_if< TYPES > * | operator-> () |
void | register_nb_transport_fw (MODULE *mod, sync_enum_type(MODULE::*cb)(int id, transaction_type &, phase_type &, sc_core::sc_time &), int id) |
void | register_b_transport (MODULE *mod, void(MODULE::*cb)(int id, transaction_type &, sc_core::sc_time &), int id) |
void | register_transport_dbg (MODULE *mod, unsigned int(MODULE::*cb)(int id, transaction_type &), int id) |
void | register_get_direct_mem_ptr (MODULE *mod, bool(MODULE::*cb)(int id, transaction_type &, tlm::tlm_dmi &), int id) |
![]() | |
tlm_target_socket () | |
tlm_target_socket (const char *name) | |
virtual const char * | kind () const |
virtual std::type_index | get_protocol_types () const |
![]() | |
tlm_base_target_socket () | |
tlm_base_target_socket (const char *name) | |
virtual void | bind (base_initiator_socket_type &s) |
The following warning is disabled because the bind methods are overloaded in the derived class and the base class. | |
void | operator() (base_initiator_socket_type &s) |
virtual void | bind (base_type &s) |
void | operator() (base_type &s) |
virtual void | bind (fw_interface_type &ifs) |
void | operator() (fw_interface_type &s) |
int | size () const |
bw_interface_type * | operator-> () |
bw_interface_type * | operator[] (int i) |
virtual sc_core::sc_port_base & | get_port_base () |
virtual sc_core::sc_port_base const & | get_port_base () const |
virtual sc_core::sc_export_base & | get_export_base () |
virtual sc_core::sc_export_base const & | get_export_base () const |
virtual unsigned int | get_bus_width () const |
virtual tlm_socket_category | get_socket_category () const |
virtual sc_core::sc_port_b< BW_IF > & | get_base_port () |
virtual sc_core::sc_port_b< BW_IF > const & | get_base_port () const |
virtual FW_IF & | get_base_interface () |
virtual FW_IF const & | get_base_interface () const |
virtual sc_core::sc_export< FW_IF > & | get_base_export () |
virtual sc_core::sc_export< FW_IF > const & | get_base_export () const |
![]() | |
virtual | ~tlm_base_target_socket_b () |
![]() | |
sc_export () | |
sc_export (const char *n) | |
virtual | ~sc_export () |
void | operator() (IF &i) |
The following warning is disabled because the bind methods are overloaded in the derived class and the base class. | |
virtual void | bind (IF &i) |
operator IF & () | |
operator const IF & () const | |
IF * | operator-> () |
const IF * | operator-> () const |
sc_interface * | get_iterface () override |
const sc_interface * | get_interface () const override |
![]() | |
sc_export_base (const char *n) | |
~sc_export_base () | |
![]() | |
const char * | name () const |
const char * | basename () const |
virtual void | print (std::ostream &=std::cout) const |
virtual void | dump (std::ostream &=std::cout) const |
virtual const std::vector< sc_object * > & | get_child_objects () const |
virtual const std::vector< sc_event * > & | get_child_events () const |
sc_object * | get_parent_object () const |
bool | add_attribute (sc_attr_base &) |
sc_attr_base * | get_attribute (const std::string &) |
sc_attr_base * | remove_attribute (const std::string &) |
void | remove_all_attributes () |
int | num_attributes () const |
sc_attr_cltn & | attr_cltn () |
const sc_attr_cltn & | attr_cltn () const |
sc_simcontext * | simcontext () const |
Static Public Member Functions | |
static const char * | default_name () |
Protected Member Functions | |
void | start_of_simulation () |
![]() | |
virtual | ~tlm_base_socket_if () |
![]() | |
void | before_end_of_elaboration () override |
void | end_of_elaboration () override |
void | end_of_simulation () override |
![]() | |
sc_object () | |
sc_object (const char *) | |
sc_object (const sc_object &) | |
sc_object & | operator= (const sc_object &) |
virtual | ~sc_object () |
![]() | |
void | elaboration_check (const char *action) const |
![]() | |
virtual | ~convenience_socket_base () |
void | display_warning (const char *msg) const |
void | display_error (const char *msg) const |
Private Member Functions | |
sync_enum_type | bw_nb_transport (transaction_type &trans, phase_type &phase, sc_core::sc_time &t) |
void | bw_invalidate_direct_mem_ptr (sc_dt::uint64 s, sc_dt::uint64 e) |
const sc_core::sc_object * | get_socket () const |
Private Attributes | |
fw_process | m_fw_process |
bw_process | m_bw_process |
std::map< transaction_type *, sc_core::sc_event * > | m_pending_trans |
sc_core::sc_event | m_end_request |
transaction_type * | m_current_transaction |
Friends | |
class | fw_process |
class | bw_process |
Additional Inherited Members | |
![]() | |
port_type | m_port |
Definition at line 615 of file simple_target_socket.h.
typedef tlm::tlm_target_socket<BUSWIDTH, TYPES, 1, POL> tlm_utils::simple_target_socket_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::base_type |
Definition at line 627 of file simple_target_socket.h.
typedef tlm::tlm_bw_transport_if<TYPES> tlm_utils::simple_target_socket_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::bw_interface_type |
Definition at line 626 of file simple_target_socket.h.
typedef tlm::tlm_fw_transport_if<TYPES> tlm_utils::simple_target_socket_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::fw_interface_type |
Definition at line 625 of file simple_target_socket.h.
typedef TYPES::tlm_phase_type tlm_utils::simple_target_socket_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::phase_type |
Definition at line 623 of file simple_target_socket.h.
typedef tlm::tlm_sync_enum tlm_utils::simple_target_socket_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::sync_enum_type |
Definition at line 624 of file simple_target_socket.h.
typedef TYPES::tlm_payload_type tlm_utils::simple_target_socket_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::transaction_type |
Definition at line 622 of file simple_target_socket.h.
|
inlineexplicit |
Definition at line 636 of file simple_target_socket.h.
References tlm::tlm_base_target_socket< BUSWIDTH, FW_IF, BW_IF, N, POL >::bind(), and tlm_utils::simple_target_socket_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::m_fw_process.
|
inlineprivate |
Definition at line 707 of file simple_target_socket.h.
References sc_core::sc_export< IF >::operator->().
|
inlineprivate |
Definition at line 700 of file simple_target_socket.h.
References sc_core::sc_export< IF >::operator->().
|
inlinestatic |
Definition at line 631 of file simple_target_socket.h.
References sc_core::sc_gen_unique_name().
|
inlineprivatevirtual |
Implements tlm_utils::convenience_socket_base.
Definition at line 1176 of file simple_target_socket.h.
|
inline |
Definition at line 645 of file simple_target_socket.h.
References tlm_utils::simple_target_socket_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::m_bw_process.
|
inline |
Definition at line 660 of file simple_target_socket.h.
References tlm_utils::simple_socket_base::elaboration_check(), tlm_utils::simple_target_socket_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::m_fw_process, tlm_utils::simple_target_socket_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::set_b_transport_ptr(), and tlm_utils::simple_target_socket_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::set_b_transport_user_id().
Referenced by SimpleBusLT< NR_OF_INITIATORS, NR_OF_TARGETS >::SimpleBusLT().
|
inline |
Definition at line 680 of file simple_target_socket.h.
References tlm_utils::simple_socket_base::elaboration_check(), tlm_utils::simple_target_socket_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::m_fw_process, tlm_utils::simple_target_socket_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::set_get_direct_mem_ptr(), and tlm_utils::simple_target_socket_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::set_get_dmi_user_id().
Referenced by SimpleBusAT< NR_OF_INITIATORS, NR_OF_TARGETS >::SimpleBusAT(), and SimpleBusLT< NR_OF_INITIATORS, NR_OF_TARGETS >::SimpleBusLT().
|
inline |
Definition at line 649 of file simple_target_socket.h.
References tlm_utils::simple_socket_base::elaboration_check(), tlm_utils::simple_target_socket_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::m_fw_process, tlm_utils::simple_target_socket_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::set_nb_transport_ptr(), and tlm_utils::simple_target_socket_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::set_nb_transport_user_id().
Referenced by SimpleBusAT< NR_OF_INITIATORS, NR_OF_TARGETS >::SimpleBusAT().
|
inline |
Definition at line 671 of file simple_target_socket.h.
References tlm_utils::simple_socket_base::elaboration_check(), tlm_utils::simple_target_socket_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::m_fw_process, tlm_utils::simple_target_socket_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::set_transport_dbg_ptr(), and tlm_utils::simple_target_socket_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::set_transport_dbg_user_id().
Referenced by SimpleBusAT< NR_OF_INITIATORS, NR_OF_TARGETS >::SimpleBusAT(), and SimpleBusLT< NR_OF_INITIATORS, NR_OF_TARGETS >::SimpleBusLT().
|
inlineprotectedvirtual |
Reimplemented from sc_core::sc_export< IF >.
Definition at line 691 of file simple_target_socket.h.
References tlm_utils::simple_target_socket_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::m_fw_process, tlm_utils::simple_target_socket_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::fw_process::start_of_simulation(), and sc_core::sc_export_base::start_of_simulation().
|
friend |
Definition at line 620 of file simple_target_socket.h.
|
friend |
Definition at line 619 of file simple_target_socket.h.
|
private |
Definition at line 1180 of file simple_target_socket.h.
Referenced by tlm_utils::simple_target_socket_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::operator->().
|
private |
Definition at line 1183 of file simple_target_socket.h.
|
private |
Definition at line 1182 of file simple_target_socket.h.
|
private |
Definition at line 1179 of file simple_target_socket.h.
Referenced by tlm_utils::simple_target_socket_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::register_b_transport(), tlm_utils::simple_target_socket_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::register_get_direct_mem_ptr(), tlm_utils::simple_target_socket_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::register_nb_transport_fw(), tlm_utils::simple_target_socket_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::register_transport_dbg(), tlm_utils::simple_target_socket_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::simple_target_socket_tagged_b(), and tlm_utils::simple_target_socket_tagged_b< MODULE, BUSWIDTH, TYPES, POL >::start_of_simulation().
|
private |
Definition at line 1181 of file simple_target_socket.h.