#include <sysc/communication/sc_port.h>


Public Types | |
| typedef sc_port_base | this_type |
Public Member Functions | |
| virtual sc_interface * | get_interface ()=0 |
| get the first interface without checking for nil | |
| virtual const sc_interface * | get_interface () const =0 |
| get the first interface without checking for nil | |
| virtual const char * | kind () const |
| const char * | name () const |
| return full name of sc_object | |
| const char * | basename () const |
| return base name of sc_object (last part) | |
| virtual void | print (::std::ostream &os=::std::cout) const |
| print object | |
| virtual void | dump (::std::ostream &os=::std::cout) const |
| dump() is more detailed than print() | |
| virtual void | trace (sc_trace_file *tf) const |
| sc_simcontext * | simcontext () const |
| bool | add_attribute (sc_attr_base &) |
| add attribute | |
| sc_attr_base * | get_attribute (const std::string &name_) |
| get attribute by name | |
| const sc_attr_base * | get_attribute (const std::string &name_) const |
| get attribute by name | |
| sc_attr_base * | remove_attribute (const std::string &name_) |
| remove attribute by name | |
| void | remove_all_attributes () |
| remove all attributes | |
| int | num_attributes () const |
| get the number of attributes | |
| sc_attr_cltn & | attr_cltn () |
| get the attribute collection | |
| const sc_attr_cltn & | attr_cltn () const |
| get the attribute collection | |
| virtual const std::vector < sc_object * > & | get_child_objects () const |
| return child objects | |
| sc_object * | get_parent () const |
| return parent object | |
| sc_object * | get_parent_object () const |
| return parent object | |
Protected Member Functions | |
| sc_port_base (int max_size_, sc_port_policy policy=SC_ONE_OR_MORE_BOUND) | |
| constructors | |
| sc_port_base (const char *name_, int max_size_, sc_port_policy policy=SC_ONE_OR_MORE_BOUND) | |
| virtual | ~sc_port_base () |
| destructor | |
| void | bind (sc_interface &interface_) |
| bind interface to this port | |
| void | bind (this_type &parent_) |
| bind parent port to this port | |
| virtual int | vbind (sc_interface &)=0 |
| called by pbind (for internal use only) | |
| virtual int | vbind (sc_port_base &)=0 |
| virtual void | add_interface (sc_interface *)=0 |
| virtual int | interface_count ()=0 |
| virtual const char * | if_typename () const =0 |
| virtual void | before_end_of_elaboration () |
| called by construction_done (does nothing by default) | |
| virtual void | end_of_elaboration () |
| called by elaboration_done (does nothing) | |
| virtual void | start_of_simulation () |
| called by start_simulation (does nothing by default) | |
| virtual void | end_of_simulation () |
| called by simulation_done (does nothing by default) | |
| void | report_error (const char *id, const char *add_msg=0) const |
| error reporting | |
| virtual void | make_sensitive (sc_thread_handle, sc_event_finder *=0) const |
| called by the sc_sensitive* classes | |
| virtual void | make_sensitive (sc_method_handle, sc_event_finder *=0) const |
| void | add_static_event (sc_method_handle process_p, const sc_event &event) const |
| void | add_static_event (sc_thread_handle process_p, const sc_event &event) const |
Protected Attributes | |
| sc_bind_info * | m_bind_info |
Friends | |
| class | sc_module |
| class | sc_port_registry |
| class | sc_sensitive |
| class | sc_sensitive_pos |
| class | sc_sensitive_neg |
Definition at line 114 of file sc_port.h.
Reimplemented in sc_core::sc_fifo_in< T >, sc_core::sc_fifo_out< T >, sc_core::sc_port_b< IF >, sc_core::sc_in< T >, sc_core::sc_core::sc_in< bool >, sc_core::sc_core::sc_in< sc_dt::sc_logic >, sc_core::sc_inout< T >, sc_core::sc_core::sc_inout< bool >, sc_core::sc_core::sc_inout< sc_dt::sc_logic >, sc_core::sc_out< T >, sc_core::sc_in_resolved, sc_core::sc_inout_resolved, sc_core::sc_out_resolved, sc_core::sc_in_rv< W >, sc_core::sc_inout_rv< W >, sc_core::sc_out_rv< W >, sc_core::sc_port_b< sc_core::sc_core::sc_signal_in_if< sc_dt::sc_logic > >, sc_core::sc_port_b< sc_core::sc_core::sc_signal_in_if< bool > >, sc_core::sc_port_b< sc_core::sc_signal_in_if< sc_dt::sc_lv< W > > >, sc_core::sc_port_b< sc_core::sc_signal_inout_if< sc_dt::sc_logic > >, sc_core::sc_port_b< sc_core::sc_fifo_out_if< T > >, sc_core::sc_port_b< sc_core::sc_signal_inout_if< sc_dt::sc_lv< W > > >, sc_core::sc_port_b< sc_core::sc_fifo_in_if< T > >, sc_core::sc_port_b< sc_core::sc_signal_inout_if< T > >, sc_core::sc_port_b< sc_core::sc_signal_in_if< T > >, sc_core::sc_port_b< sc_core::sc_signal_inout_if< bool > >, sc_core::sc_in< sc_dt::sc_lv< W > >, and sc_core::sc_inout< sc_dt::sc_lv< W > >.
| sc_core::sc_port_base::sc_port_base | ( | int | max_size_, | |
| sc_port_policy | policy = SC_ONE_OR_MORE_BOUND | |||
| ) | [explicit, protected] |
| sc_core::sc_port_base::sc_port_base | ( | const char * | name_, | |
| int | max_size_, | |||
| sc_port_policy | policy = SC_ONE_OR_MORE_BOUND | |||
| ) | [protected] |
Definition at line 280 of file sc_port.cpp.
| sc_core::sc_port_base::~sc_port_base | ( | ) | [protected, virtual] |
| virtual sc_interface* sc_core::sc_port_base::get_interface | ( | ) | [pure virtual] |
get the first interface without checking for nil
Implemented in sc_core::sc_port_b< IF >, sc_core::sc_port_b< sc_core::sc_core::sc_signal_in_if< sc_dt::sc_logic > >, sc_core::sc_port_b< sc_core::sc_core::sc_signal_in_if< bool > >, sc_core::sc_port_b< sc_core::sc_signal_in_if< sc_dt::sc_lv< W > > >, sc_core::sc_port_b< sc_core::sc_signal_inout_if< sc_dt::sc_logic > >, sc_core::sc_port_b< sc_core::sc_fifo_out_if< T > >, sc_core::sc_port_b< sc_core::sc_signal_inout_if< sc_dt::sc_lv< W > > >, sc_core::sc_port_b< sc_core::sc_fifo_in_if< T > >, sc_core::sc_port_b< sc_core::sc_signal_inout_if< T > >, sc_core::sc_port_b< sc_core::sc_signal_in_if< T > >, and sc_core::sc_port_b< sc_core::sc_signal_inout_if< bool > >.
| virtual const sc_interface* sc_core::sc_port_base::get_interface | ( | ) | const [pure virtual] |
get the first interface without checking for nil
Implemented in sc_core::sc_port_b< IF >, sc_core::sc_port_b< sc_core::sc_core::sc_signal_in_if< sc_dt::sc_logic > >, sc_core::sc_port_b< sc_core::sc_core::sc_signal_in_if< bool > >, sc_core::sc_port_b< sc_core::sc_signal_in_if< sc_dt::sc_lv< W > > >, sc_core::sc_port_b< sc_core::sc_signal_inout_if< sc_dt::sc_logic > >, sc_core::sc_port_b< sc_core::sc_fifo_out_if< T > >, sc_core::sc_port_b< sc_core::sc_signal_inout_if< sc_dt::sc_lv< W > > >, sc_core::sc_port_b< sc_core::sc_fifo_in_if< T > >, sc_core::sc_port_b< sc_core::sc_signal_inout_if< T > >, sc_core::sc_port_b< sc_core::sc_signal_in_if< T > >, and sc_core::sc_port_b< sc_core::sc_signal_inout_if< bool > >.
| virtual const char* sc_core::sc_port_base::kind | ( | ) | const [inline, virtual] |
Reimplemented from sc_core::sc_object.
Reimplemented in sc_core::sc_fifo_in< T >, sc_core::sc_fifo_out< T >, sc_core::sc_port< IF, N, P >, sc_core::sc_in< T >, sc_core::sc_core::sc_in< bool >, sc_core::sc_core::sc_in< sc_dt::sc_logic >, sc_core::sc_inout< T >, sc_core::sc_core::sc_inout< bool >, sc_core::sc_core::sc_inout< sc_dt::sc_logic >, sc_core::sc_out< T >, sc_core::sc_in_resolved, sc_core::sc_inout_resolved, sc_core::sc_out_resolved, sc_core::sc_in_rv< W >, sc_core::sc_inout_rv< W >, sc_core::sc_out_rv< W >, sc_core::sc_port< sc_core::sc_signal_inout_if< bool >, 1, SC_ONE_OR_MORE_BOUND >, sc_core::sc_port< sc_core::sc_signal_inout_if< sc_dt::sc_logic >, 1, SC_ONE_OR_MORE_BOUND >, sc_core::sc_port< sc_core::sc_signal_inout_if< T >, 1, SC_ONE_OR_MORE_BOUND >, sc_core::sc_port< sc_core::sc_signal_in_if< T >, 1, SC_ONE_OR_MORE_BOUND >, sc_core::sc_port< sc_core::sc_core::sc_signal_in_if< bool >, 1, SC_ONE_OR_MORE_BOUND >, sc_core::sc_port< sc_core::sc_signal_in_if< sc_dt::sc_lv< W > >, 1, SC_ONE_OR_MORE_BOUND >, sc_core::sc_port< sc_core::sc_fifo_out_if< T >, 0, SC_ONE_OR_MORE_BOUND >, sc_core::sc_port< sc_core::sc_signal_inout_if< sc_dt::sc_lv< W > >, 1, SC_ONE_OR_MORE_BOUND >, sc_core::sc_port< sc_core::sc_fifo_in_if< T >, 0, SC_ONE_OR_MORE_BOUND >, sc_core::sc_port< sc_core::sc_core::sc_signal_in_if< sc_dt::sc_logic >, 1, SC_ONE_OR_MORE_BOUND >, sc_core::sc_in< sc_dt::sc_lv< W > >, and sc_core::sc_inout< sc_dt::sc_lv< W > >.
| void sc_core::sc_port_base::bind | ( | sc_interface & | interface_ | ) | [protected] |
| void sc_core::sc_port_base::bind | ( | this_type & | parent_ | ) | [protected] |
bind parent port to this port
Reimplemented in sc_core::sc_port_b< IF >, sc_core::sc_in< T >, sc_core::sc_core::sc_in< bool >, sc_core::sc_core::sc_in< sc_dt::sc_logic >, sc_core::sc_port_b< sc_core::sc_core::sc_signal_in_if< sc_dt::sc_logic > >, sc_core::sc_port_b< sc_core::sc_core::sc_signal_in_if< bool > >, sc_core::sc_port_b< sc_core::sc_signal_in_if< sc_dt::sc_lv< W > > >, sc_core::sc_port_b< sc_core::sc_signal_inout_if< sc_dt::sc_logic > >, sc_core::sc_port_b< sc_core::sc_fifo_out_if< T > >, sc_core::sc_port_b< sc_core::sc_signal_inout_if< sc_dt::sc_lv< W > > >, sc_core::sc_port_b< sc_core::sc_fifo_in_if< T > >, sc_core::sc_port_b< sc_core::sc_signal_inout_if< T > >, sc_core::sc_port_b< sc_core::sc_signal_in_if< T > >, sc_core::sc_port_b< sc_core::sc_signal_inout_if< bool > >, and sc_core::sc_in< sc_dt::sc_lv< W > >.
Definition at line 324 of file sc_port.cpp.
| virtual int sc_core::sc_port_base::vbind | ( | sc_interface & | ) | [protected, pure virtual] |
called by pbind (for internal use only)
Implemented in sc_core::sc_port_b< IF >, sc_core::sc_in< T >, sc_core::sc_core::sc_in< bool >, sc_core::sc_core::sc_in< sc_dt::sc_logic >, sc_core::sc_port_b< sc_core::sc_core::sc_signal_in_if< sc_dt::sc_logic > >, sc_core::sc_port_b< sc_core::sc_core::sc_signal_in_if< bool > >, sc_core::sc_port_b< sc_core::sc_signal_in_if< sc_dt::sc_lv< W > > >, sc_core::sc_port_b< sc_core::sc_signal_inout_if< sc_dt::sc_logic > >, sc_core::sc_port_b< sc_core::sc_fifo_out_if< T > >, sc_core::sc_port_b< sc_core::sc_signal_inout_if< sc_dt::sc_lv< W > > >, sc_core::sc_port_b< sc_core::sc_fifo_in_if< T > >, sc_core::sc_port_b< sc_core::sc_signal_inout_if< T > >, sc_core::sc_port_b< sc_core::sc_signal_in_if< T > >, sc_core::sc_port_b< sc_core::sc_signal_inout_if< bool > >, and sc_core::sc_in< sc_dt::sc_lv< W > >.
| virtual int sc_core::sc_port_base::vbind | ( | sc_port_base & | ) | [protected, pure virtual] |
Implemented in sc_core::sc_port_b< IF >, sc_core::sc_in< T >, sc_core::sc_core::sc_in< bool >, sc_core::sc_core::sc_in< sc_dt::sc_logic >, sc_core::sc_port_b< sc_core::sc_core::sc_signal_in_if< sc_dt::sc_logic > >, sc_core::sc_port_b< sc_core::sc_core::sc_signal_in_if< bool > >, sc_core::sc_port_b< sc_core::sc_signal_in_if< sc_dt::sc_lv< W > > >, sc_core::sc_port_b< sc_core::sc_signal_inout_if< sc_dt::sc_logic > >, sc_core::sc_port_b< sc_core::sc_fifo_out_if< T > >, sc_core::sc_port_b< sc_core::sc_signal_inout_if< sc_dt::sc_lv< W > > >, sc_core::sc_port_b< sc_core::sc_fifo_in_if< T > >, sc_core::sc_port_b< sc_core::sc_signal_inout_if< T > >, sc_core::sc_port_b< sc_core::sc_signal_in_if< T > >, sc_core::sc_port_b< sc_core::sc_signal_inout_if< bool > >, and sc_core::sc_in< sc_dt::sc_lv< W > >.
| virtual void sc_core::sc_port_base::add_interface | ( | sc_interface * | ) | [protected, pure virtual] |
| virtual int sc_core::sc_port_base::interface_count | ( | ) | [protected, pure virtual] |
| virtual const char* sc_core::sc_port_base::if_typename | ( | ) | const [protected, pure virtual] |
| void sc_core::sc_port_base::before_end_of_elaboration | ( | ) | [protected, virtual] |
| void sc_core::sc_port_base::end_of_elaboration | ( | ) | [protected, virtual] |
called by elaboration_done (does nothing)
Reimplemented in sc_core::sc_in< T >, sc_core::sc_core::sc_in< bool >, sc_core::sc_core::sc_in< sc_dt::sc_logic >, sc_core::sc_inout< T >, sc_core::sc_core::sc_inout< bool >, sc_core::sc_core::sc_inout< sc_dt::sc_logic >, sc_core::sc_in_resolved, sc_core::sc_inout_resolved, sc_core::sc_in_rv< W >, sc_core::sc_inout_rv< W >, sc_core::sc_in< sc_dt::sc_lv< W > >, and sc_core::sc_inout< sc_dt::sc_lv< W > >.
Definition at line 357 of file sc_port.cpp.
| void sc_core::sc_port_base::start_of_simulation | ( | ) | [protected, virtual] |
| void sc_core::sc_port_base::end_of_simulation | ( | ) | [protected, virtual] |
| void sc_core::sc_port_base::report_error | ( | const char * | id, | |
| const char * | add_msg = 0 | |||
| ) | const [protected] |
| void sc_core::sc_port_base::make_sensitive | ( | sc_thread_handle | handle_, | |
| sc_event_finder * | event_finder_ = 0 | |||
| ) | const [protected, virtual] |
called by the sc_sensitive* classes
Reimplemented in sc_core::sc_port_b< IF >, sc_core::sc_port_b< sc_core::sc_core::sc_signal_in_if< sc_dt::sc_logic > >, sc_core::sc_port_b< sc_core::sc_core::sc_signal_in_if< bool > >, sc_core::sc_port_b< sc_core::sc_signal_in_if< sc_dt::sc_lv< W > > >, sc_core::sc_port_b< sc_core::sc_signal_inout_if< sc_dt::sc_logic > >, sc_core::sc_port_b< sc_core::sc_fifo_out_if< T > >, sc_core::sc_port_b< sc_core::sc_signal_inout_if< sc_dt::sc_lv< W > > >, sc_core::sc_port_b< sc_core::sc_fifo_in_if< T > >, sc_core::sc_port_b< sc_core::sc_signal_inout_if< T > >, sc_core::sc_port_b< sc_core::sc_signal_in_if< T > >, and sc_core::sc_port_b< sc_core::sc_signal_inout_if< bool > >.
Definition at line 409 of file sc_port.cpp.
| void sc_core::sc_port_base::make_sensitive | ( | sc_method_handle | handle_, | |
| sc_event_finder * | event_finder_ = 0 | |||
| ) | const [protected, virtual] |
Reimplemented in sc_core::sc_port_b< IF >, sc_core::sc_port_b< sc_core::sc_core::sc_signal_in_if< sc_dt::sc_logic > >, sc_core::sc_port_b< sc_core::sc_core::sc_signal_in_if< bool > >, sc_core::sc_port_b< sc_core::sc_signal_in_if< sc_dt::sc_lv< W > > >, sc_core::sc_port_b< sc_core::sc_signal_inout_if< sc_dt::sc_logic > >, sc_core::sc_port_b< sc_core::sc_fifo_out_if< T > >, sc_core::sc_port_b< sc_core::sc_signal_inout_if< sc_dt::sc_lv< W > > >, sc_core::sc_port_b< sc_core::sc_fifo_in_if< T > >, sc_core::sc_port_b< sc_core::sc_signal_inout_if< T > >, sc_core::sc_port_b< sc_core::sc_signal_in_if< T > >, and sc_core::sc_port_b< sc_core::sc_signal_inout_if< bool > >.
Definition at line 418 of file sc_port.cpp.
| void sc_core::sc_port_base::add_static_event | ( | sc_method_handle | process_p, | |
| const sc_event & | event | |||
| ) | const [protected] |
Definition at line 241 of file sc_port.cpp.
| void sc_core::sc_port_base::add_static_event | ( | sc_thread_handle | process_p, | |
| const sc_event & | event | |||
| ) | const [protected] |
Definition at line 247 of file sc_port.cpp.
| const char* sc_core::sc_object::name | ( | ) | const [inline, inherited] |
| const char * sc_core::sc_object::basename | ( | ) | const [inherited] |
| void sc_core::sc_object::print | ( | ::std::ostream & | os = ::std::cout |
) | const [virtual, inherited] |
print object
Reimplemented in sc_core::sc_fifo< T >, sc_core::sc_signal< T >, sc_core::sc_core::sc_signal< bool >, sc_core::sc_core::sc_signal< sc_dt::sc_logic >, and sc_core::sc_signal< sc_dt::sc_lv< W > >.
Definition at line 102 of file sc_object.cpp.
| void sc_core::sc_object::dump | ( | ::std::ostream & | os = ::std::cout |
) | const [virtual, inherited] |
dump() is more detailed than print()
Reimplemented in sc_core::sc_fifo< T >, sc_core::sc_signal< T >, sc_core::sc_core::sc_signal< bool >, sc_core::sc_core::sc_signal< sc_dt::sc_logic >, and sc_core::sc_signal< sc_dt::sc_lv< W > >.
Definition at line 108 of file sc_object.cpp.
| void sc_core::sc_object::trace | ( | sc_trace_file * | tf | ) | const [virtual, inherited] |
Reimplemented in sc_core::sc_fifo< T >, sc_core::sc_signal< T >, sc_core::sc_core::sc_signal< bool >, sc_core::sc_core::sc_signal< sc_dt::sc_logic >, and sc_core::sc_signal< sc_dt::sc_lv< W > >.
Definition at line 302 of file sc_object.cpp.
| sc_simcontext* sc_core::sc_object::simcontext | ( | ) | const [inline, inherited] |
Definition at line 95 of file sc_object.h.
| bool sc_core::sc_object::add_attribute | ( | sc_attr_base & | attribute_ | ) | [inherited] |
| sc_attr_base * sc_core::sc_object::get_attribute | ( | const std::string & | name_ | ) | [inherited] |
| const sc_attr_base * sc_core::sc_object::get_attribute | ( | const std::string & | name_ | ) | const [inherited] |
| sc_attr_base * sc_core::sc_object::remove_attribute | ( | const std::string & | name_ | ) | [inherited] |
| void sc_core::sc_object::remove_all_attributes | ( | ) | [inherited] |
| int sc_core::sc_object::num_attributes | ( | ) | const [inherited] |
| sc_attr_cltn & sc_core::sc_object::attr_cltn | ( | ) | [inherited] |
| const sc_attr_cltn & sc_core::sc_object::attr_cltn | ( | ) | const [inherited] |
| virtual const std::vector<sc_object*>& sc_core::sc_object::get_child_objects | ( | ) | const [inline, virtual, inherited] |
return child objects
Reimplemented in sc_core::sc_module, and sc_core::sc_process_b.
Definition at line 121 of file sc_object.h.
| sc_object* sc_core::sc_object::get_parent | ( | ) | const [inline, inherited] |
| sc_object* sc_core::sc_object::get_parent_object | ( | ) | const [inline, inherited] |
friend class sc_port_registry [friend] |
friend class sc_sensitive [friend] |
Reimplemented in sc_core::sc_port_b< IF >, sc_core::sc_port_b< sc_core::sc_core::sc_signal_in_if< sc_dt::sc_logic > >, sc_core::sc_port_b< sc_core::sc_core::sc_signal_in_if< bool > >, sc_core::sc_port_b< sc_core::sc_signal_in_if< sc_dt::sc_lv< W > > >, sc_core::sc_port_b< sc_core::sc_signal_inout_if< sc_dt::sc_logic > >, sc_core::sc_port_b< sc_core::sc_fifo_out_if< T > >, sc_core::sc_port_b< sc_core::sc_signal_inout_if< sc_dt::sc_lv< W > > >, sc_core::sc_port_b< sc_core::sc_fifo_in_if< T > >, sc_core::sc_port_b< sc_core::sc_signal_inout_if< T > >, sc_core::sc_port_b< sc_core::sc_signal_in_if< T > >, and sc_core::sc_port_b< sc_core::sc_signal_inout_if< bool > >.
friend class sc_sensitive_pos [friend] |
Reimplemented in sc_core::sc_port_b< IF >, sc_core::sc_port_b< sc_core::sc_core::sc_signal_in_if< sc_dt::sc_logic > >, sc_core::sc_port_b< sc_core::sc_core::sc_signal_in_if< bool > >, sc_core::sc_port_b< sc_core::sc_signal_in_if< sc_dt::sc_lv< W > > >, sc_core::sc_port_b< sc_core::sc_signal_inout_if< sc_dt::sc_logic > >, sc_core::sc_port_b< sc_core::sc_fifo_out_if< T > >, sc_core::sc_port_b< sc_core::sc_signal_inout_if< sc_dt::sc_lv< W > > >, sc_core::sc_port_b< sc_core::sc_fifo_in_if< T > >, sc_core::sc_port_b< sc_core::sc_signal_inout_if< T > >, sc_core::sc_port_b< sc_core::sc_signal_in_if< T > >, and sc_core::sc_port_b< sc_core::sc_signal_inout_if< bool > >.
friend class sc_sensitive_neg [friend] |
Reimplemented in sc_core::sc_port_b< IF >, sc_core::sc_port_b< sc_core::sc_core::sc_signal_in_if< sc_dt::sc_logic > >, sc_core::sc_port_b< sc_core::sc_core::sc_signal_in_if< bool > >, sc_core::sc_port_b< sc_core::sc_signal_in_if< sc_dt::sc_lv< W > > >, sc_core::sc_port_b< sc_core::sc_signal_inout_if< sc_dt::sc_logic > >, sc_core::sc_port_b< sc_core::sc_fifo_out_if< T > >, sc_core::sc_port_b< sc_core::sc_signal_inout_if< sc_dt::sc_lv< W > > >, sc_core::sc_port_b< sc_core::sc_fifo_in_if< T > >, sc_core::sc_port_b< sc_core::sc_signal_inout_if< T > >, sc_core::sc_port_b< sc_core::sc_signal_in_if< T > >, and sc_core::sc_port_b< sc_core::sc_signal_inout_if< bool > >.
sc_bind_info* sc_core::sc_port_base::m_bind_info [protected] |
1.5.5