gem5 v24.0.0.0
Loading...
Searching...
No Matches
sc_core::sc_object Class Reference

#include <sc_object.hh>

Inheritance diagram for sc_core::sc_object:
tlm_utils::peq_with_cb_and_phase< MultiSocketSimpleSwitchAT > tlm_utils::peq_with_cb_and_phase< sc_gem5::TlmToGem5Bridge< BITWIDTH > > tlm_utils::peq_with_get< tlm::tlm_generic_payload > tlm_utils::peq_with_get< transaction_type > sc_core::sc_export_base sc_core::sc_module sc_core::sc_mutex sc_core::sc_port_base sc_core::sc_prim_channel sc_core::sc_process_b sc_core::sc_semaphore sc_core::sc_vector_base tlm::tlm_analysis_port< T > tlm_utils::peq_with_cb_and_phase< OWNER, TYPES > tlm_utils::peq_with_get< PAYLOAD >

Public Member Functions

const char * name () const
 
const char * basename () const
 
virtual const char * kind () 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_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
 

Protected Member Functions

 sc_object ()
 
 sc_object (const char *)
 
 sc_object (const sc_object &)
 
sc_objectoperator= (const sc_object &)
 
virtual ~sc_object ()
 

Private Attributes

sc_gem5::Object_gem5_object
 

Friends

class sc_gem5::Object
 

Detailed Description

Definition at line 50 of file sc_object.hh.

Constructor & Destructor Documentation

◆ sc_object() [1/3]

sc_core::sc_object::sc_object ( )
protected

Definition at line 133 of file sc_object.cc.

References _gem5_object.

◆ sc_object() [2/3]

sc_core::sc_object::sc_object ( const char * name)
protected

Definition at line 138 of file sc_object.cc.

References _gem5_object, and name().

◆ sc_object() [3/3]

sc_core::sc_object::sc_object ( const sc_object & other)
protected

Definition at line 143 of file sc_object.cc.

References _gem5_object.

◆ ~sc_object()

sc_core::sc_object::~sc_object ( )
protectedvirtual

Definition at line 155 of file sc_object.cc.

References _gem5_object.

Member Function Documentation

◆ add_attribute()

bool sc_core::sc_object::add_attribute ( sc_attr_base & attr)

Definition at line 86 of file sc_object.cc.

References _gem5_object, and sc_gem5::Object::add_attribute().

◆ attr_cltn() [1/2]

sc_attr_cltn & sc_core::sc_object::attr_cltn ( )

Definition at line 116 of file sc_object.cc.

References _gem5_object, and sc_gem5::Object::attr_cltn().

◆ attr_cltn() [2/2]

const sc_attr_cltn & sc_core::sc_object::attr_cltn ( ) const

Definition at line 122 of file sc_object.cc.

References _gem5_object, and sc_gem5::Object::attr_cltn().

◆ basename()

const char * sc_core::sc_object::basename ( ) const

◆ dump()

◆ get_attribute()

sc_attr_base * sc_core::sc_object::get_attribute ( const std::string & name)

Definition at line 92 of file sc_object.cc.

References _gem5_object, sc_gem5::Object::get_attribute(), and name().

◆ get_child_events()

const std::vector< sc_event * > & sc_core::sc_object::get_child_events ( ) const
virtual

Reimplemented in sc_core::sc_module.

Definition at line 74 of file sc_object.cc.

References _gem5_object, and sc_gem5::Object::get_child_events().

Referenced by sc_core::sc_process_handle::get_child_events().

◆ get_child_objects()

const std::vector< sc_object * > & sc_core::sc_object::get_child_objects ( ) const
virtual

◆ get_parent_object()

sc_object * sc_core::sc_object::get_parent_object ( ) const

◆ kind()

virtual const char * sc_core::sc_object::kind ( ) const
inlinevirtual

Reimplemented in gem5::ClockRateControlInitiatorSocket, gem5::ClockRateControlTargetSocket, gem5::SignalInterruptInitiatorSocket, gem5::SignalInterruptTargetSocket, sc_core::sc_buffer< T, WRITER_POLICY >, sc_core::sc_clock, sc_core::sc_event_queue, sc_core::sc_export< IF >, sc_core::sc_export< bw_interface_type >, sc_core::sc_export< ClockRateControlFwIf >, sc_core::sc_export< SignalInterruptFwIf >, sc_core::sc_export< tlm::tlm_fifo_get_if< REQ > >, sc_core::sc_export< tlm::tlm_fifo_get_if< RSP > >, sc_core::sc_export< tlm::tlm_fifo_put_if< REQ > >, sc_core::sc_export< tlm::tlm_fifo_put_if< RSP > >, sc_core::sc_export< tlm::tlm_master_if< REQ, RSP > >, sc_core::sc_export< tlm::tlm_slave_if< REQ, RSP > >, sc_core::sc_export< tlm::tlm_transport_if< REQ, RSP > >, sc_core::sc_export< tlm_fw_transport_if< my_extended_payload_types > >, sc_core::sc_export< tlm_fw_transport_if< tlm::tlm_base_protocol_types > >, sc_core::sc_export< tlm_fw_transport_if< tlm_base_protocol_types > >, sc_core::sc_export< tlm_fw_transport_if< TYPES > >, sc_core::sc_export< tlm_fw_transport_if<> >, sc_core::sc_fifo< T >, sc_core::sc_fifo_in< T >, sc_core::sc_fifo_out< T >, sc_core::sc_in< T >, sc_core::sc_in< bool >, sc_core::sc_in< sc_dt::sc_bigint< W > >, sc_core::sc_in< sc_dt::sc_biguint< W > >, sc_core::sc_in< sc_dt::sc_int< W > >, sc_core::sc_in< sc_dt::sc_logic >, sc_core::sc_in< sc_dt::sc_lv< W > >, sc_core::sc_in< sc_dt::sc_uint< W > >, sc_core::sc_in_resolved, sc_core::sc_in_rv< W >, sc_core::sc_inout< T >, sc_core::sc_inout< bool >, sc_core::sc_inout< sc_dt::sc_bigint< W > >, sc_core::sc_inout< sc_dt::sc_biguint< W > >, sc_core::sc_inout< sc_dt::sc_int< W > >, sc_core::sc_inout< sc_dt::sc_logic >, sc_core::sc_inout< sc_dt::sc_lv< W > >, sc_core::sc_inout< sc_dt::sc_uint< W > >, sc_core::sc_inout_resolved, sc_core::sc_inout_rv< W >, sc_core::sc_module, sc_core::sc_mutex, sc_core::sc_out< T >, sc_core::sc_out< bool >, sc_core::sc_out_resolved, sc_core::sc_out_rv< W >, sc_core::sc_port< IF, N, P >, sc_core::sc_port< bw_interface_type, 1, sc_core::SC_ONE_OR_MORE_BOUND >, sc_core::sc_port< bw_interface_type, N, POL >, sc_core::sc_port< ClockRateControlFwIf, N, POL >, sc_core::sc_port< FW_IF, N, POL >, sc_core::sc_port< sc_fifo_in_if< T >, 0 >, sc_core::sc_port< sc_fifo_out_if< T >, 0 >, sc_core::sc_port< sc_signal_in_if< bool >, 1 >, sc_core::sc_port< sc_signal_in_if< sc_dt::sc_bigint< W > >, 1, SC_ONE_OR_MORE_BOUND >, sc_core::sc_port< sc_signal_in_if< sc_dt::sc_biguint< W > >, 1, SC_ONE_OR_MORE_BOUND >, sc_core::sc_port< sc_signal_in_if< sc_dt::sc_int< W > >, 1 >, sc_core::sc_port< sc_signal_in_if< sc_dt::sc_logic >, 1 >, sc_core::sc_port< sc_signal_in_if< sc_dt::sc_lv< W > >, 1 >, sc_core::sc_port< sc_signal_in_if< sc_dt::sc_uint< W > >, 1, SC_ONE_OR_MORE_BOUND >, sc_core::sc_port< sc_signal_in_if< T >, 1 >, sc_core::sc_port< sc_signal_inout_if< bool >, 1 >, sc_core::sc_port< sc_signal_inout_if< sc_dt::sc_bigint< W > >, 1, SC_ONE_OR_MORE_BOUND >, sc_core::sc_port< sc_signal_inout_if< sc_dt::sc_biguint< W > >, 1, SC_ONE_OR_MORE_BOUND >, sc_core::sc_port< sc_signal_inout_if< sc_dt::sc_int< W > >, 1 >, sc_core::sc_port< sc_signal_inout_if< sc_dt::sc_logic >, 1 >, sc_core::sc_port< sc_signal_inout_if< sc_dt::sc_lv< W > >, 1 >, sc_core::sc_port< sc_signal_inout_if< sc_dt::sc_uint< W > >, 1, SC_ONE_OR_MORE_BOUND >, sc_core::sc_port< sc_signal_inout_if< T >, 1 >, sc_core::sc_port< SignalInterruptFwIf, N, POL >, sc_core::sc_port< tlm::tlm_master_if< REQ, RSP > >, sc_core::sc_port< tlm::tlm_slave_if< REQ, RSP > >, sc_core::sc_port< tlm::tlm_transport_if< REQ, RSP > >, sc_core::sc_port< tlm_fw_transport_if< my_extended_payload_types >, N, POL >, sc_core::sc_port< tlm_fw_transport_if< tlm::tlm_base_protocol_types >, N, POL >, sc_core::sc_port< tlm_fw_transport_if< tlm_base_protocol_types >, N, POL >, sc_core::sc_port< tlm_fw_transport_if< TYPES >, N, POL >, sc_core::sc_port< tlm_nonblocking_get_if< T >, 1 >, sc_core::sc_port< tlm_nonblocking_peek_if< T >, 1 >, sc_core::sc_port< tlm_nonblocking_put_if< T >, 1 >, sc_core::sc_port_base, sc_core::sc_prim_channel, sc_core::sc_semaphore, sc_core::sc_signal< sc_dt::sc_bigint< W > >, sc_core::sc_signal< sc_dt::sc_biguint< W > >, sc_core::sc_signal< sc_dt::sc_int< W > >, sc_core::sc_signal< sc_dt::sc_uint< W > >, sc_core::sc_signal_resolved, sc_core::sc_signal_rv< W >, sc_core::sc_vector_base, sc_gem5::CThread, sc_gem5::Method, sc_gem5::ScSignalBase, sc_gem5::Thread, tlm::tlm_base_initiator_socket< BUSWIDTH, FW_IF, BW_IF, N, POL >, tlm::tlm_base_initiator_socket< 32, tlm_fw_transport_if< tlm_base_protocol_types >, tlm_bw_transport_if< tlm_base_protocol_types >, 1, sc_core::SC_ONE_OR_MORE_BOUND >, tlm::tlm_base_initiator_socket< 64, ClockRateControlFwIf, ClockRateControlBwIf >, tlm::tlm_base_initiator_socket< 64, SignalInterruptFwIf, SignalInterruptBwIf >, tlm::tlm_base_initiator_socket< BUSWIDTH, tlm_fw_transport_if< my_extended_payload_types >, tlm_bw_transport_if< my_extended_payload_types >, N, POL >, tlm::tlm_base_initiator_socket< BUSWIDTH, tlm_fw_transport_if< tlm::tlm_base_protocol_types >, tlm_bw_transport_if< tlm::tlm_base_protocol_types >, N, POL >, tlm::tlm_base_initiator_socket< BUSWIDTH, tlm_fw_transport_if< tlm_base_protocol_types >, tlm_bw_transport_if< tlm_base_protocol_types >, 1, sc_core::SC_ONE_OR_MORE_BOUND >, tlm::tlm_base_initiator_socket< BUSWIDTH, tlm_fw_transport_if< TYPES >, tlm_bw_transport_if< TYPES >, N, POL >, tlm::tlm_base_target_socket< BUSWIDTH, FW_IF, BW_IF, N, POL >, tlm::tlm_base_target_socket< 32, tlm_fw_transport_if< tlm_base_protocol_types >, tlm_bw_transport_if< tlm_base_protocol_types >, 1, sc_core::SC_ONE_OR_MORE_BOUND >, tlm::tlm_base_target_socket< 64, ClockRateControlFwIf, ClockRateControlBwIf >, tlm::tlm_base_target_socket< 64, SignalInterruptFwIf, SignalInterruptBwIf >, tlm::tlm_base_target_socket< BUSWIDTH, tlm_fw_transport_if< my_extended_payload_types >, tlm_bw_transport_if< my_extended_payload_types >, N, POL >, tlm::tlm_base_target_socket< BUSWIDTH, tlm_fw_transport_if< tlm::tlm_base_protocol_types >, tlm_bw_transport_if< tlm::tlm_base_protocol_types >, N, POL >, tlm::tlm_base_target_socket< BUSWIDTH, tlm_fw_transport_if< tlm_base_protocol_types >, tlm_bw_transport_if< tlm_base_protocol_types >, 1, sc_core::SC_ONE_OR_MORE_BOUND >, tlm::tlm_base_target_socket< BUSWIDTH, tlm_fw_transport_if< TYPES >, tlm_bw_transport_if< TYPES >, N, POL >, tlm::tlm_fifo< T >, tlm::tlm_fifo< REQ >, tlm::tlm_fifo< RSP >, tlm::tlm_initiator_socket< BUSWIDTH, TYPES, N, POL >, tlm::tlm_initiator_socket< 32 >, tlm::tlm_initiator_socket< 32, tlm::tlm_base_protocol_types, 0, sc_core::SC_ONE_OR_MORE_BOUND >, tlm::tlm_initiator_socket< BUSWIDTH, my_extended_payload_types, 1, sc_core::SC_ONE_OR_MORE_BOUND >, tlm::tlm_initiator_socket< BUSWIDTH, tlm::tlm_base_protocol_types, 1, POL >, tlm::tlm_initiator_socket< BUSWIDTH, tlm::tlm_base_protocol_types, 1, sc_core::SC_ONE_OR_MORE_BOUND >, tlm::tlm_initiator_socket< BUSWIDTH, tlm::tlm_base_protocol_types, N, POL >, tlm::tlm_initiator_socket< BUSWIDTH, TYPES, 1, sc_core::SC_ONE_OR_MORE_BOUND >, tlm::tlm_target_socket< BUSWIDTH, TYPES, N, POL >, tlm::tlm_target_socket< 32 >, tlm::tlm_target_socket< 32, tlm::tlm_base_protocol_types, 0, sc_core::SC_ONE_OR_MORE_BOUND >, tlm::tlm_target_socket< BUSWIDTH, my_extended_payload_types, 1, sc_core::SC_ONE_OR_MORE_BOUND >, tlm::tlm_target_socket< BUSWIDTH, tlm::tlm_base_protocol_types, 1, POL >, tlm::tlm_target_socket< BUSWIDTH, tlm::tlm_base_protocol_types, 1, sc_core::SC_ONE_OR_MORE_BOUND >, tlm::tlm_target_socket< BUSWIDTH, tlm::tlm_base_protocol_types, N, POL >, and tlm::tlm_target_socket< BUSWIDTH, TYPES, 1, sc_core::SC_ONE_OR_MORE_BOUND >.

Definition at line 56 of file sc_object.hh.

Referenced by sc_gem5::Object::dump(), and sc_core::sc_export_base::sc_export_base().

◆ name()

const char * sc_core::sc_object::name ( ) const

Definition at line 44 of file sc_object.cc.

References _gem5_object, and sc_gem5::Object::name().

Referenced by sc_core::sc_port_b< IF >::_ifTypeName(), SimpleLTTarget1::b_transport(), sc_core::sc_export< IF >::bind(), sc_core::sc_signal< sc_dt::sc_bigint< W > >::check_writer(), sc_core::sc_signal< sc_dt::sc_biguint< W > >::check_writer(), sc_core::sc_signal< sc_dt::sc_int< W > >::check_writer(), sc_core::sc_signal< sc_dt::sc_uint< W > >::check_writer(), sc_core::sc_vector_base::checkIndex(), gem5::Iris::CPU< TC >::CPU(), sc_gem5::Process::disable(), tlm_utils::convenience_socket_base::display_error(), tlm_utils::convenience_socket_base::display_warning(), sc_core::sc_fifo< T >::dump(), MultiSocketSimpleSwitchAT::dump_status(), sc_core::sc_export< IF >::end_of_elaboration(), SimpleLTInitiator1_dmi::end_of_simulation(), SimpleLTInitiator2_dmi::end_of_simulation(), SimpleLTInitiator_ext::end_of_simulation(), sc_core::sc_module::gem5_getPort(), get_attribute(), sc_core::sc_vector_base::implicitCast(), SimpleBusAT< NR_OF_INITIATORS, NR_OF_TARGETS >::initiatorNBTransport(), SimpleLTInitiator1_dmi::invalidate_direct_mem_ptr(), SimpleLTInitiator_ext::invalidate_direct_mem_ptr(), sc_gem5::Process::kill(), CoreDecouplingLTInitiator::logEndTransaction(), SimpleATInitiator1::logEndTransaction(), SimpleATInitiator2::logEndTransaction(), SimpleLTInitiator1::logEndTransaction(), SimpleLTInitiator1_dmi::logEndTransaction(), SimpleLTInitiator2::logEndTransaction(), SimpleLTInitiator2_dmi::logEndTransaction(), SimpleLTInitiator3::logEndTransaction(), SimpleLTInitiator3_dmi::logEndTransaction(), SimpleLTInitiator_ext::logEndTransaction(), CoreDecouplingLTInitiator::logStartTransation(), SimpleATInitiator1::logStartTransation(), SimpleATInitiator2::logStartTransation(), SimpleLTInitiator1::logStartTransation(), SimpleLTInitiator1_dmi::logStartTransation(), SimpleLTInitiator2::logStartTransation(), SimpleLTInitiator2_dmi::logStartTransation(), SimpleLTInitiator3::logStartTransation(), SimpleLTInitiator3_dmi::logStartTransation(), SimpleLTInitiator_ext::logStartTransation(), ExplicitLTTarget::myBTransport(), SimpleLTTarget2::myBTransport(), SimpleLTTarget_ext::myGetDMIPtr(), ExplicitATTarget::myNBTransport(), SimpleATTarget1::myNBTransport(), SimpleATTarget2::myNBTransport(), SimpleLTTarget_ext::myNBTransport(), sc_core::sc_process_handle::name(), sc_gem5::Sensitivity::notify(), sc_core::sc_export< bw_interface_type >::operator bw_interface_type &(), sc_core::sc_export< IF >::operator->(), sc_core::sc_export< IF >::operator->(), sc_core::sc_fifo< T >::register_port(), sc_core::sc_signal< sc_dt::sc_bigint< W > >::register_port(), sc_core::sc_signal< sc_dt::sc_biguint< W > >::register_port(), sc_core::sc_signal< sc_dt::sc_int< W > >::register_port(), sc_core::sc_signal< sc_dt::sc_uint< W > >::register_port(), remove_attribute(), sc_core::sc_report_handler::report(), sc_core::sc_port_base::report_error(), sc_core::sc_vector_base::reportEmpty(), sc_gem5::Process::reset(), sc_gem5::Process::run(), sc_core::sc_export_base::sc_export_base(), sc_object(), sc_core::sc_port_base::sc_port_base(), sc_core::sc_semaphore::sc_semaphore(), gem5::fastmodel::CortexA76Cluster::set_evs_param(), gem5::fastmodel::CortexR52Cluster::set_evs_param(), sc_gem5::spawnWork(), MultiSocketSimpleSwitchAT::targetNBTransport(), SimpleBusAT< NR_OF_INITIATORS, NR_OF_TARGETS >::targetNBTransport(), and sc_gem5::Process::throw_it().

◆ num_attributes()

int sc_core::sc_object::num_attributes ( ) const

Definition at line 110 of file sc_object.cc.

References _gem5_object, and sc_gem5::Object::num_attributes().

◆ operator=()

sc_object & sc_core::sc_object::operator= ( const sc_object & other)
protected

Definition at line 149 of file sc_object.cc.

References _gem5_object.

◆ print()

◆ remove_all_attributes()

void sc_core::sc_object::remove_all_attributes ( )

Definition at line 104 of file sc_object.cc.

References _gem5_object, and sc_gem5::Object::remove_all_attributes().

◆ remove_attribute()

sc_attr_base * sc_core::sc_object::remove_attribute ( const std::string & name)

Definition at line 98 of file sc_object.cc.

References _gem5_object, name(), and sc_gem5::Object::remove_attribute().

◆ simcontext()

sc_simcontext * sc_core::sc_object::simcontext ( ) const

Definition at line 128 of file sc_object.cc.

References _gem5_object, and sc_gem5::Object::simcontext().

Friends And Related Symbol Documentation

◆ sc_gem5::Object

friend class sc_gem5::Object
friend

Definition at line 84 of file sc_object.hh.

Member Data Documentation

◆ _gem5_object


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

Generated on Tue Jun 18 2024 16:24:55 for gem5 by doxygen 1.11.0