gem5  v22.1.0.0
Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
sc_core::sc_port_base Class Referenceabstract

#include <sc_port.hh>

Inheritance diagram for sc_core::sc_port_base:
sc_core::sc_object sc_core::sc_port_b< IF > sc_core::sc_port< tlm::tlm_master_if< REQ, RSP > > sc_core::sc_port< bw_interface_type, 1, sc_core::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_in_if< bool >, 1 > sc_core::sc_port< tlm_nonblocking_put_if< T >, 1 > sc_core::sc_port< sc_signal_in_if< T >, 1 > sc_core::sc_port< tlm_nonblocking_get_if< T >, 1 > sc_core::sc_port< tlm::tlm_transport_if< REQ, RSP > > sc_core::sc_port< sc_signal_inout_if< bool >, 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_int< W > >, 1 > sc_core::sc_port< sc_signal_inout_if< sc_dt::sc_logic >, 1 > sc_core::sc_port< sc_signal_inout_if< T >, 1 > sc_core::sc_port< sc_signal_in_if< sc_dt::sc_biguint< W > >, 1, SC_ONE_OR_MORE_BOUND > sc_core::sc_port< tlm::tlm_slave_if< REQ, RSP > > 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< sc_dt::sc_bigint< W > >, 1, SC_ONE_OR_MORE_BOUND > sc_core::sc_port< sc_signal_in_if< sc_dt::sc_bigint< W > >, 1, SC_ONE_OR_MORE_BOUND > sc_core::sc_port< tlm_nonblocking_peek_if< T >, 1 > sc_core::sc_port< sc_fifo_out_if< T >, 0 > sc_core::sc_port< sc_signal_in_if< sc_dt::sc_uint< W > >, 1, SC_ONE_OR_MORE_BOUND > sc_core::sc_port< sc_fifo_in_if< T >, 0 > sc_core::sc_port< tlm_fw_transport_if<>, 1, sc_core::SC_ONE_OR_MORE_BOUND > sc_core::sc_port< sc_signal_inout_if< sc_dt::sc_int< W > >, 1 > sc_core::sc_port< IF, N, P >

Public Member Functions

 sc_port_base (const char *name, int n, sc_port_policy p)
 
virtual ~sc_port_base ()
 
void warn_port_constructor () const
 
int maxSize () const
 
int size () const
 
const char * kind () 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
 
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

void bind (sc_interface &)
 
void bind (sc_port_base &)
 
virtual int vbind (sc_interface &)=0
 
virtual int vbind (sc_port_base &)=0
 
virtual void before_end_of_elaboration ()=0
 
virtual void end_of_elaboration ()=0
 
virtual void start_of_simulation ()=0
 
virtual void end_of_simulation ()=0
 
void report_error (const char *id, const char *add_msg) const
 
- 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 ()
 

Private Member Functions

virtual sc_interface_gem5Interface (int n) const =0
 
virtual void _gem5AddInterface (sc_interface *i)=0
 
virtual const char * _ifTypeName () const =0
 
virtual sc_port_policy _portPolicy () const =0
 

Private Attributes

::sc_gem5::Port_gem5Port
 

Friends

class ::sc_gem5::Module
 
class ::sc_gem5::Port
 
class ::sc_gem5::Kernel
 

Detailed Description

Definition at line 74 of file sc_port.hh.

Constructor & Destructor Documentation

◆ sc_port_base()

sc_core::sc_port_base::sc_port_base ( const char *  name,
int  n,
sc_port_policy  p 
)

◆ ~sc_port_base()

sc_core::sc_port_base::~sc_port_base ( )
virtual

Definition at line 79 of file sc_port.cc.

References _gem5Port.

Member Function Documentation

◆ _gem5AddInterface()

virtual void sc_core::sc_port_base::_gem5AddInterface ( sc_interface i)
privatepure virtual

◆ _gem5Interface()

virtual sc_interface* sc_core::sc_port_base::_gem5Interface ( int  n) const
privatepure virtual

◆ _ifTypeName()

virtual const char* sc_core::sc_port_base::_ifTypeName ( ) const
privatepure virtual

Implemented in sc_core::sc_port_b< IF >.

Referenced by sc_gem5::Port::regPort().

◆ _portPolicy()

virtual sc_port_policy sc_core::sc_port_base::_portPolicy ( ) const
privatepure virtual

Implemented in sc_core::sc_port< IF, N, P >, sc_core::sc_port< tlm::tlm_master_if< REQ, RSP > >, sc_core::sc_port< bw_interface_type, 1, sc_core::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_in_if< bool >, 1 >, sc_core::sc_port< tlm_nonblocking_put_if< T >, 1 >, sc_core::sc_port< sc_signal_in_if< T >, 1 >, sc_core::sc_port< tlm_nonblocking_get_if< T >, 1 >, sc_core::sc_port< tlm::tlm_transport_if< REQ, RSP > >, sc_core::sc_port< sc_signal_inout_if< bool >, 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_int< W > >, 1 >, sc_core::sc_port< sc_signal_inout_if< sc_dt::sc_logic >, 1 >, sc_core::sc_port< sc_signal_inout_if< T >, 1 >, sc_core::sc_port< sc_signal_in_if< sc_dt::sc_biguint< W > >, 1, SC_ONE_OR_MORE_BOUND >, sc_core::sc_port< tlm::tlm_slave_if< REQ, RSP > >, 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< sc_dt::sc_bigint< W > >, 1, SC_ONE_OR_MORE_BOUND >, sc_core::sc_port< sc_signal_in_if< sc_dt::sc_bigint< W > >, 1, SC_ONE_OR_MORE_BOUND >, sc_core::sc_port< tlm_nonblocking_peek_if< T >, 1 >, sc_core::sc_port< sc_fifo_out_if< T >, 0 >, sc_core::sc_port< sc_signal_in_if< sc_dt::sc_uint< W > >, 1, SC_ONE_OR_MORE_BOUND >, sc_core::sc_port< sc_fifo_in_if< T >, 0 >, sc_core::sc_port< tlm_fw_transport_if<>, 1, sc_core::SC_ONE_OR_MORE_BOUND >, and sc_core::sc_port< sc_signal_inout_if< sc_dt::sc_int< W > >, 1 >.

Referenced by sc_gem5::Port::finalize().

◆ before_end_of_elaboration()

virtual void sc_core::sc_port_base::before_end_of_elaboration ( )
protectedpure virtual

◆ bind() [1/2]

void sc_core::sc_port_base::bind ( sc_interface i)
protected

Definition at line 109 of file sc_port.cc.

References _gem5Port, sc_gem5::Port::bind(), and gem5::ArmISA::i.

Referenced by sc_core::sc_in< sc_dt::sc_int< W > >::bind(), sc_core::sc_in< sc_dt::sc_bigint< W > >::bind(), sc_core::sc_in< sc_dt::sc_uint< W > >::bind(), sc_core::sc_in< sc_dt::sc_biguint< W > >::bind(), sc_core::sc_inout< sc_dt::sc_int< W > >::bind(), sc_core::sc_inout< sc_dt::sc_bigint< W > >::bind(), sc_core::sc_inout< sc_dt::sc_uint< W > >::bind(), sc_core::sc_inout< sc_dt::sc_biguint< W > >::bind(), sc_core::sc_port_b< IF >::bind(), sc_core::sc_in< bool >::bind(), sc_core::sc_in< sc_dt::sc_logic >::bind(), sc_core::sc_in< T >::bind(), sc_core::sc_in< sc_dt::sc_int< W > >::operator()(), sc_core::sc_in< sc_dt::sc_bigint< W > >::operator()(), sc_core::sc_in< sc_dt::sc_uint< W > >::operator()(), sc_core::sc_in< sc_dt::sc_biguint< W > >::operator()(), sc_core::sc_inout< sc_dt::sc_int< W > >::operator()(), sc_core::sc_inout< sc_dt::sc_bigint< W > >::operator()(), sc_core::sc_inout< sc_dt::sc_uint< W > >::operator()(), sc_core::sc_inout< sc_dt::sc_biguint< W > >::operator()(), sc_core::sc_in< sc_dt::sc_int< W > >::sc_in(), sc_core::sc_in< sc_dt::sc_bigint< W > >::sc_in(), sc_core::sc_in< sc_dt::sc_uint< W > >::sc_in(), sc_core::sc_in< sc_dt::sc_biguint< W > >::sc_in(), sc_core::sc_port_b< IF >::vbind(), sc_core::sc_in< sc_dt::sc_int< W > >::vbind(), sc_core::sc_inout< sc_dt::sc_int< W > >::vbind(), sc_core::sc_in< sc_dt::sc_bigint< W > >::vbind(), sc_core::sc_inout< sc_dt::sc_bigint< W > >::vbind(), sc_core::sc_in< sc_dt::sc_uint< W > >::vbind(), sc_core::sc_inout< sc_dt::sc_uint< W > >::vbind(), sc_core::sc_in< sc_dt::sc_biguint< W > >::vbind(), and sc_core::sc_inout< sc_dt::sc_biguint< W > >::vbind().

◆ bind() [2/2]

void sc_core::sc_port_base::bind ( sc_port_base p)
protected

Definition at line 110 of file sc_port.cc.

References _gem5Port, sc_gem5::Port::bind(), and gem5::VegaISA::p.

◆ end_of_elaboration()

virtual void sc_core::sc_port_base::end_of_elaboration ( )
protectedpure virtual

◆ end_of_simulation()

virtual void sc_core::sc_port_base::end_of_simulation ( )
protectedpure virtual

Implemented in sc_core::sc_port_b< IF >.

◆ kind()

const char* sc_core::sc_port_base::kind ( ) const
inlinevirtual

Reimplemented from sc_core::sc_object.

Reimplemented in sc_core::sc_port< IF, N, P >, sc_core::sc_port< tlm::tlm_master_if< REQ, RSP > >, sc_core::sc_port< bw_interface_type, 1, sc_core::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_in_if< bool >, 1 >, sc_core::sc_port< tlm_nonblocking_put_if< T >, 1 >, sc_core::sc_port< sc_signal_in_if< T >, 1 >, sc_core::sc_port< tlm_nonblocking_get_if< T >, 1 >, sc_core::sc_port< tlm::tlm_transport_if< REQ, RSP > >, sc_core::sc_port< sc_signal_inout_if< bool >, 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_int< W > >, 1 >, sc_core::sc_port< sc_signal_inout_if< sc_dt::sc_logic >, 1 >, sc_core::sc_port< sc_signal_inout_if< T >, 1 >, sc_core::sc_port< sc_signal_in_if< sc_dt::sc_biguint< W > >, 1, SC_ONE_OR_MORE_BOUND >, sc_core::sc_port< tlm::tlm_slave_if< REQ, RSP > >, 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< sc_dt::sc_bigint< W > >, 1, SC_ONE_OR_MORE_BOUND >, sc_core::sc_port< sc_signal_in_if< sc_dt::sc_bigint< W > >, 1, SC_ONE_OR_MORE_BOUND >, sc_core::sc_port< tlm_nonblocking_peek_if< T >, 1 >, sc_core::sc_port< sc_fifo_out_if< T >, 0 >, sc_core::sc_port< sc_signal_in_if< sc_dt::sc_uint< W > >, 1, SC_ONE_OR_MORE_BOUND >, sc_core::sc_port< sc_fifo_in_if< T >, 0 >, sc_core::sc_port< tlm_fw_transport_if<>, 1, sc_core::SC_ONE_OR_MORE_BOUND >, sc_core::sc_port< sc_signal_inout_if< sc_dt::sc_int< W > >, 1 >, sc_core::sc_inout< sc_dt::sc_biguint< W > >, sc_core::sc_in< sc_dt::sc_biguint< W > >, sc_core::sc_inout< sc_dt::sc_uint< W > >, sc_core::sc_in< sc_dt::sc_uint< W > >, sc_core::sc_inout< sc_dt::sc_bigint< W > >, sc_core::sc_in< sc_dt::sc_bigint< W > >, sc_core::sc_inout< sc_dt::sc_int< W > >, sc_core::sc_in< sc_dt::sc_int< W > >, 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, 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_base_initiator_socket< BUSWIDTH, FW_IF, BW_IF, N, POL >, tlm::tlm_base_initiator_socket< 64, ClockRateControlFwIf, ClockRateControlBwIf >, 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, SignalInterruptFwIf, SignalInterruptBwIf >, sc_core::sc_inout< sc_dt::sc_lv< W > >, and sc_core::sc_in< sc_dt::sc_lv< W > >.

Definition at line 85 of file sc_port.hh.

Referenced by report_error(), and sc_port_base().

◆ maxSize()

int sc_core::sc_port_base::maxSize ( ) const

Definition at line 106 of file sc_port.cc.

References _gem5Port, and sc_gem5::Port::maxSize().

◆ report_error()

void sc_core::sc_port_base::report_error ( const char *  id,
const char *  add_msg 
) const
protected

◆ size()

int sc_core::sc_port_base::size ( ) const

◆ start_of_simulation()

virtual void sc_core::sc_port_base::start_of_simulation ( )
protectedpure virtual

Implemented in sc_core::sc_port_b< IF >.

◆ vbind() [1/2]

virtual int sc_core::sc_port_base::vbind ( sc_interface )
protectedpure virtual

◆ vbind() [2/2]

virtual int sc_core::sc_port_base::vbind ( sc_port_base )
protectedpure virtual

◆ warn_port_constructor()

void sc_core::sc_port_base::warn_port_constructor ( ) const

Friends And Related Function Documentation

◆ ::sc_gem5::Kernel

friend class ::sc_gem5::Kernel
friend

Definition at line 107 of file sc_port.hh.

◆ ::sc_gem5::Module

friend class ::sc_gem5::Module
friend

Definition at line 92 of file sc_port.hh.

◆ ::sc_gem5::Port

friend class ::sc_gem5::Port
friend

Definition at line 106 of file sc_port.hh.

Member Data Documentation

◆ _gem5Port

::sc_gem5::Port* sc_core::sc_port_base::_gem5Port
private

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

Generated on Wed Dec 21 2022 10:25:07 for gem5 by doxygen 1.9.1