gem5  v22.0.0.1
Classes | Public Types | Public Member Functions | Public Attributes | Private Attributes | List of all members
MultiSocketSimpleSwitchAT Class Reference

#include <MultiSocketSimpleSwitchAT.h>

Inheritance diagram for MultiSocketSimpleSwitchAT:
sc_core::sc_module tlm::tlm_mm_interface sc_core::sc_object

Classes

class  BTag
 
class  ConnectionInfo
 
class  internalPEQTypes
 

Public Types

typedef tlm::tlm_generic_payload transaction_type
 
typedef tlm::tlm_phase phase_type
 
typedef tlm::tlm_sync_enum sync_enum_type
 
typedef tlm_utils::multi_passthrough_target_socket< MultiSocketSimpleSwitchATtarget_socket_type
 
typedef tlm_utils::multi_passthrough_initiator_socket< MultiSocketSimpleSwitchATinitiator_socket_type
 

Public Member Functions

 SC_HAS_PROCESS (MultiSocketSimpleSwitchAT)
 
 MultiSocketSimpleSwitchAT (sc_core::sc_module_name name)
 
void bindTargetSocket (initiator_socket_type::base_target_socket_type &target, sc_dt::uint64 low, sc_dt::uint64 high, sc_dt::uint64 mask=0xffffffffffffffffULL)
 
unsigned int decode (const sc_dt::uint64 &address)
 
void start_of_simulation ()
 
void b_transport (int initiator_id, transaction_type &trans, sc_core::sc_time &t)
 
void free (transaction_type *txn)
 
void initiatorNBTransport_core (transaction_type &trans, phase_type &phase, sc_core::sc_time &t, unsigned int tgtSocketNumber)
 
sync_enum_type initiatorNBTransport (int initiator_id, transaction_type &trans, phase_type &phase, sc_core::sc_time &t)
 
sync_enum_type targetNBTransport (int portId, transaction_type &trans, phase_type &phase, sc_core::sc_time &t)
 
void bwPEQcb (transaction_type &trans, const phase_type &phase)
 
void fwPEQcb (transaction_type &trans, const phase_type &phase)
 
void dump_status ()
 
- Public Member Functions inherited from sc_core::sc_module
virtual gem5::Portgem5_getPort (const std::string &if_name, int idx=-1)
 
virtual ~sc_module ()
 
virtual const char * kind () const
 
void operator() (const sc_bind_proxy &p001, const sc_bind_proxy &p002=SC_BIND_PROXY_NIL, const sc_bind_proxy &p003=SC_BIND_PROXY_NIL, const sc_bind_proxy &p004=SC_BIND_PROXY_NIL, const sc_bind_proxy &p005=SC_BIND_PROXY_NIL, const sc_bind_proxy &p006=SC_BIND_PROXY_NIL, const sc_bind_proxy &p007=SC_BIND_PROXY_NIL, const sc_bind_proxy &p008=SC_BIND_PROXY_NIL, const sc_bind_proxy &p009=SC_BIND_PROXY_NIL, const sc_bind_proxy &p010=SC_BIND_PROXY_NIL, const sc_bind_proxy &p011=SC_BIND_PROXY_NIL, const sc_bind_proxy &p012=SC_BIND_PROXY_NIL, const sc_bind_proxy &p013=SC_BIND_PROXY_NIL, const sc_bind_proxy &p014=SC_BIND_PROXY_NIL, const sc_bind_proxy &p015=SC_BIND_PROXY_NIL, const sc_bind_proxy &p016=SC_BIND_PROXY_NIL, const sc_bind_proxy &p017=SC_BIND_PROXY_NIL, const sc_bind_proxy &p018=SC_BIND_PROXY_NIL, const sc_bind_proxy &p019=SC_BIND_PROXY_NIL, const sc_bind_proxy &p020=SC_BIND_PROXY_NIL, const sc_bind_proxy &p021=SC_BIND_PROXY_NIL, const sc_bind_proxy &p022=SC_BIND_PROXY_NIL, const sc_bind_proxy &p023=SC_BIND_PROXY_NIL, const sc_bind_proxy &p024=SC_BIND_PROXY_NIL, const sc_bind_proxy &p025=SC_BIND_PROXY_NIL, const sc_bind_proxy &p026=SC_BIND_PROXY_NIL, const sc_bind_proxy &p027=SC_BIND_PROXY_NIL, const sc_bind_proxy &p028=SC_BIND_PROXY_NIL, const sc_bind_proxy &p029=SC_BIND_PROXY_NIL, const sc_bind_proxy &p030=SC_BIND_PROXY_NIL, const sc_bind_proxy &p031=SC_BIND_PROXY_NIL, const sc_bind_proxy &p032=SC_BIND_PROXY_NIL, const sc_bind_proxy &p033=SC_BIND_PROXY_NIL, const sc_bind_proxy &p034=SC_BIND_PROXY_NIL, const sc_bind_proxy &p035=SC_BIND_PROXY_NIL, const sc_bind_proxy &p036=SC_BIND_PROXY_NIL, const sc_bind_proxy &p037=SC_BIND_PROXY_NIL, const sc_bind_proxy &p038=SC_BIND_PROXY_NIL, const sc_bind_proxy &p039=SC_BIND_PROXY_NIL, const sc_bind_proxy &p040=SC_BIND_PROXY_NIL, const sc_bind_proxy &p041=SC_BIND_PROXY_NIL, const sc_bind_proxy &p042=SC_BIND_PROXY_NIL, const sc_bind_proxy &p043=SC_BIND_PROXY_NIL, const sc_bind_proxy &p044=SC_BIND_PROXY_NIL, const sc_bind_proxy &p045=SC_BIND_PROXY_NIL, const sc_bind_proxy &p046=SC_BIND_PROXY_NIL, const sc_bind_proxy &p047=SC_BIND_PROXY_NIL, const sc_bind_proxy &p048=SC_BIND_PROXY_NIL, const sc_bind_proxy &p049=SC_BIND_PROXY_NIL, const sc_bind_proxy &p050=SC_BIND_PROXY_NIL, const sc_bind_proxy &p051=SC_BIND_PROXY_NIL, const sc_bind_proxy &p052=SC_BIND_PROXY_NIL, const sc_bind_proxy &p053=SC_BIND_PROXY_NIL, const sc_bind_proxy &p054=SC_BIND_PROXY_NIL, const sc_bind_proxy &p055=SC_BIND_PROXY_NIL, const sc_bind_proxy &p056=SC_BIND_PROXY_NIL, const sc_bind_proxy &p057=SC_BIND_PROXY_NIL, const sc_bind_proxy &p058=SC_BIND_PROXY_NIL, const sc_bind_proxy &p059=SC_BIND_PROXY_NIL, const sc_bind_proxy &p060=SC_BIND_PROXY_NIL, const sc_bind_proxy &p061=SC_BIND_PROXY_NIL, const sc_bind_proxy &p062=SC_BIND_PROXY_NIL, const sc_bind_proxy &p063=SC_BIND_PROXY_NIL, const sc_bind_proxy &p064=SC_BIND_PROXY_NIL)
 
sc_moduleoperator<< (sc_interface &)
 
sc_moduleoperator<< (sc_port_base &)
 
sc_moduleoperator, (sc_interface &)
 
sc_moduleoperator, (sc_port_base &)
 
virtual const std::vector< sc_object * > & get_child_objects () const
 
virtual const std::vector< sc_event * > & get_child_events () const
 
- Public Member Functions inherited from sc_core::sc_object
const char * name () const
 
const char * basename () const
 
virtual void print (std::ostream &=std::cout) const
 
virtual void dump (std::ostream &=std::cout) const
 
sc_objectget_parent_object () const
 
bool add_attribute (sc_attr_base &)
 
sc_attr_baseget_attribute (const std::string &)
 
sc_attr_baseremove_attribute (const std::string &)
 
void remove_all_attributes ()
 
int num_attributes () const
 
sc_attr_cltnattr_cltn ()
 
const sc_attr_cltnattr_cltn () const
 
sc_simcontextsimcontext () const
 
- Public Member Functions inherited from tlm::tlm_mm_interface
virtual ~tlm_mm_interface ()
 

Public Attributes

target_socket_type target_socket
 

Private Attributes

initiator_socket_type initiator_socket
 
SimpleAddressMap m_addrMap
 
std::vector< std::deque< transaction_type * > > m_pendingReqs
 
std::vector< std::deque< transaction_type * > > m_pendingResps
 
std::vector< sc_dt::uint64m_masks
 
tlm_utils::instance_specific_extension_accessor accessMySpecificExtensions
 
tlm_utils::peq_with_cb_and_phase< MultiSocketSimpleSwitchATm_bwPEQ
 
tlm_utils::peq_with_cb_and_phase< MultiSocketSimpleSwitchATm_fwPEQ
 
ExtensionPool< ConnectionInfom_connInfoPool
 
unsigned int m_target_count
 

Additional Inherited Members

- Protected Member Functions inherited from sc_core::sc_module
 sc_module (const sc_module_name &)
 
 sc_module ()
 
 sc_module (const char *)
 
 sc_module (const std::string &)
 
void end_module ()
 
void reset_signal_is (const sc_in< bool > &, bool)
 
void reset_signal_is (const sc_inout< bool > &, bool)
 
void reset_signal_is (const sc_out< bool > &, bool)
 
void reset_signal_is (const sc_signal_in_if< bool > &, bool)
 
void async_reset_signal_is (const sc_in< bool > &, bool)
 
void async_reset_signal_is (const sc_inout< bool > &, bool)
 
void async_reset_signal_is (const sc_out< bool > &, bool)
 
void async_reset_signal_is (const sc_signal_in_if< bool > &, bool)
 
void dont_initialize ()
 
void set_stack_size (size_t)
 
void next_trigger ()
 
void next_trigger (const sc_event &)
 
void next_trigger (const sc_event_or_list &)
 
void next_trigger (const sc_event_and_list &)
 
void next_trigger (const sc_time &)
 
void next_trigger (double, sc_time_unit)
 
void next_trigger (const sc_time &, const sc_event &)
 
void next_trigger (double, sc_time_unit, const sc_event &)
 
void next_trigger (const sc_time &, const sc_event_or_list &)
 
void next_trigger (double, sc_time_unit, const sc_event_or_list &)
 
void next_trigger (const sc_time &, const sc_event_and_list &)
 
void next_trigger (double, sc_time_unit, const sc_event_and_list &)
 
bool timed_out ()
 
void wait ()
 
void wait (int)
 
void wait (const sc_event &)
 
void wait (const sc_event_or_list &)
 
void wait (const sc_event_and_list &)
 
void wait (const sc_time &)
 
void wait (double, sc_time_unit)
 
void wait (const sc_time &, const sc_event &)
 
void wait (double, sc_time_unit, const sc_event &)
 
void wait (const sc_time &, const sc_event_or_list &)
 
void wait (double, sc_time_unit, const sc_event_or_list &)
 
void wait (const sc_time &, const sc_event_and_list &)
 
void wait (double, sc_time_unit, const sc_event_and_list &)
 
void halt ()
 
void at_posedge (const sc_signal_in_if< bool > &)
 
void at_posedge (const sc_signal_in_if< sc_dt::sc_logic > &)
 
void at_negedge (const sc_signal_in_if< bool > &)
 
void at_negedge (const sc_signal_in_if< sc_dt::sc_logic > &)
 
virtual void before_end_of_elaboration ()
 
virtual void end_of_elaboration ()
 
virtual void end_of_simulation ()
 
- Protected Member Functions inherited from sc_core::sc_object
 sc_object ()
 
 sc_object (const char *)
 
 sc_object (const sc_object &)
 
sc_objectoperator= (const sc_object &)
 
virtual ~sc_object ()
 
- Protected Attributes inherited from sc_core::sc_module
sc_sensitive sensitive
 

Detailed Description

Definition at line 46 of file MultiSocketSimpleSwitchAT.h.

Member Typedef Documentation

◆ initiator_socket_type

Definition at line 70 of file MultiSocketSimpleSwitchAT.h.

◆ phase_type

Definition at line 67 of file MultiSocketSimpleSwitchAT.h.

◆ sync_enum_type

Definition at line 68 of file MultiSocketSimpleSwitchAT.h.

◆ target_socket_type

Definition at line 69 of file MultiSocketSimpleSwitchAT.h.

◆ transaction_type

Definition at line 66 of file MultiSocketSimpleSwitchAT.h.

Constructor & Destructor Documentation

◆ MultiSocketSimpleSwitchAT()

MultiSocketSimpleSwitchAT::MultiSocketSimpleSwitchAT ( sc_core::sc_module_name  name)
inline

Member Function Documentation

◆ b_transport()

void MultiSocketSimpleSwitchAT::b_transport ( int  initiator_id,
transaction_type trans,
sc_core::sc_time t 
)
inline

Definition at line 151 of file MultiSocketSimpleSwitchAT.h.

◆ bindTargetSocket()

void MultiSocketSimpleSwitchAT::bindTargetSocket ( initiator_socket_type::base_target_socket_type target,
sc_dt::uint64  low,
sc_dt::uint64  high,
sc_dt::uint64  mask = 0xffffffffffffffffULL 
)
inline

◆ bwPEQcb()

void MultiSocketSimpleSwitchAT::bwPEQcb ( transaction_type trans,
const phase_type phase 
)
inline

Definition at line 256 of file MultiSocketSimpleSwitchAT.h.

◆ decode()

unsigned int MultiSocketSimpleSwitchAT::decode ( const sc_dt::uint64 address)
inline

Definition at line 139 of file MultiSocketSimpleSwitchAT.h.

◆ dump_status()

void MultiSocketSimpleSwitchAT::dump_status ( )
inline

Definition at line 341 of file MultiSocketSimpleSwitchAT.h.

◆ free()

void MultiSocketSimpleSwitchAT::free ( transaction_type txn)
inlinevirtual

◆ fwPEQcb()

void MultiSocketSimpleSwitchAT::fwPEQcb ( transaction_type trans,
const phase_type phase 
)
inline

◆ initiatorNBTransport()

sync_enum_type MultiSocketSimpleSwitchAT::initiatorNBTransport ( int  initiator_id,
transaction_type trans,
phase_type phase,
sc_core::sc_time t 
)
inline

Definition at line 214 of file MultiSocketSimpleSwitchAT.h.

◆ initiatorNBTransport_core()

void MultiSocketSimpleSwitchAT::initiatorNBTransport_core ( transaction_type trans,
phase_type phase,
sc_core::sc_time t,
unsigned int  tgtSocketNumber 
)
inline

Definition at line 185 of file MultiSocketSimpleSwitchAT.h.

◆ SC_HAS_PROCESS()

MultiSocketSimpleSwitchAT::SC_HAS_PROCESS ( MultiSocketSimpleSwitchAT  )

◆ start_of_simulation()

void MultiSocketSimpleSwitchAT::start_of_simulation ( )
inlinevirtual

Reimplemented from sc_core::sc_module.

Definition at line 144 of file MultiSocketSimpleSwitchAT.h.

◆ targetNBTransport()

sync_enum_type MultiSocketSimpleSwitchAT::targetNBTransport ( int  portId,
transaction_type trans,
phase_type phase,
sc_core::sc_time t 
)
inline

Definition at line 241 of file MultiSocketSimpleSwitchAT.h.

Member Data Documentation

◆ accessMySpecificExtensions

tlm_utils::instance_specific_extension_accessor MultiSocketSimpleSwitchAT::accessMySpecificExtensions
private

Definition at line 81 of file MultiSocketSimpleSwitchAT.h.

◆ initiator_socket

initiator_socket_type MultiSocketSimpleSwitchAT::initiator_socket
private

◆ m_addrMap

SimpleAddressMap MultiSocketSimpleSwitchAT::m_addrMap
private

Definition at line 77 of file MultiSocketSimpleSwitchAT.h.

Referenced by MultiSocketSimpleSwitchAT().

◆ m_bwPEQ

tlm_utils::peq_with_cb_and_phase<MultiSocketSimpleSwitchAT> MultiSocketSimpleSwitchAT::m_bwPEQ
private

Definition at line 82 of file MultiSocketSimpleSwitchAT.h.

Referenced by free().

◆ m_connInfoPool

ExtensionPool<ConnectionInfo> MultiSocketSimpleSwitchAT::m_connInfoPool
private

Definition at line 108 of file MultiSocketSimpleSwitchAT.h.

◆ m_fwPEQ

tlm_utils::peq_with_cb_and_phase<MultiSocketSimpleSwitchAT> MultiSocketSimpleSwitchAT::m_fwPEQ
private

Definition at line 83 of file MultiSocketSimpleSwitchAT.h.

◆ m_masks

std::vector<sc_dt::uint64> MultiSocketSimpleSwitchAT::m_masks
private

Definition at line 80 of file MultiSocketSimpleSwitchAT.h.

Referenced by MultiSocketSimpleSwitchAT().

◆ m_pendingReqs

std::vector<std::deque<transaction_type*> > MultiSocketSimpleSwitchAT::m_pendingReqs
private

Definition at line 78 of file MultiSocketSimpleSwitchAT.h.

Referenced by bindTargetSocket().

◆ m_pendingResps

std::vector<std::deque<transaction_type*> > MultiSocketSimpleSwitchAT::m_pendingResps
private

Definition at line 79 of file MultiSocketSimpleSwitchAT.h.

Referenced by bindTargetSocket().

◆ m_target_count

unsigned int MultiSocketSimpleSwitchAT::m_target_count
private

Definition at line 109 of file MultiSocketSimpleSwitchAT.h.

Referenced by MultiSocketSimpleSwitchAT().

◆ target_socket

target_socket_type MultiSocketSimpleSwitchAT::target_socket

Definition at line 73 of file MultiSocketSimpleSwitchAT.h.

Referenced by bindTargetSocket().


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

Generated on Sat Jun 18 2022 08:13:01 for gem5 by doxygen 1.8.17