gem5
v20.1.0.0
|
#include <sc_fifo.hh>
Public Member Functions | |
sc_fifo (int size=16) | |
sc_fifo (const char *name, int size=16) | |
virtual | ~sc_fifo () |
virtual void | register_port (sc_port_base &port, const char *iface_type_name) |
virtual void | read (T &t) |
virtual T | read () |
virtual bool | nb_read (T &t) |
operator T () | |
virtual void | write (const T &t) |
virtual bool | nb_write (const T &t) |
sc_fifo< T > & | operator= (const T &t) |
virtual const sc_event & | data_written_event () const |
virtual const sc_event & | data_read_event () const |
virtual int | num_available () const |
virtual int | num_free () const |
virtual void | print (std::ostream &os=std::cout) const |
virtual void | dump (std::ostream &os=std::cout) const |
virtual const char * | kind () const |
Public Member Functions inherited from sc_core::sc_interface | |
virtual const sc_event & | default_event () const |
virtual | ~sc_interface () |
Public Member Functions inherited from sc_core::sc_object | |
const char * | name () const |
const char * | basename () 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 |
Private Member Functions | |
sc_fifo (const sc_fifo< T > &) | |
sc_fifo & | operator= (const sc_fifo< T > &) |
Private Attributes | |
sc_gem5::InternalScEvent | _dataReadEvent |
sc_gem5::InternalScEvent | _dataWriteEvent |
sc_port_base * | _reader |
sc_port_base * | _writer |
int | _size |
int | _num_free |
int | _num_available |
std::list< T > | _entries |
bool | _readsHappened |
bool | _writesHappened |
Definition at line 48 of file sc_fifo.hh.
|
inlineexplicit |
Definition at line 53 of file sc_fifo.hh.
|
inlineexplicit |
Definition at line 60 of file sc_fifo.hh.
|
inlinevirtual |
Definition at line 66 of file sc_fifo.hh.
|
inlineprivate |
Definition at line 197 of file sc_fifo.hh.
|
inlinevirtual |
Implements sc_core::sc_fifo_nonblocking_out_if< T >.
Definition at line 151 of file sc_fifo.hh.
References sc_core::sc_fifo< T >::_dataReadEvent.
|
inlinevirtual |
Implements sc_core::sc_fifo_nonblocking_in_if< T >.
Definition at line 146 of file sc_fifo.hh.
References sc_core::sc_fifo< T >::_dataWriteEvent.
|
inlinevirtual |
Reimplemented from sc_core::sc_object.
Definition at line 168 of file sc_fifo.hh.
References sc_core::sc_fifo< T >::_entries, sc_core::sc_object::name(), and X86ISA::os.
|
inlinevirtual |
Reimplemented from sc_core::sc_prim_channel.
Definition at line 177 of file sc_fifo.hh.
|
inlinevirtual |
Implements sc_core::sc_fifo_nonblocking_in_if< T >.
Definition at line 107 of file sc_fifo.hh.
References sc_core::sc_fifo< T >::num_available(), sc_core::sc_fifo< T >::read(), and ArmISA::t.
|
inlinevirtual |
Implements sc_core::sc_fifo_nonblocking_out_if< T >.
Definition at line 129 of file sc_fifo.hh.
References sc_core::sc_fifo< T >::num_free(), ArmISA::t, and sc_core::sc_fifo< T >::write().
|
inlinevirtual |
Implements sc_core::sc_fifo_in_if< T >.
Definition at line 156 of file sc_fifo.hh.
References sc_core::sc_fifo< T >::_num_available.
Referenced by sc_core::sc_fifo< T >::nb_read(), and sc_core::sc_fifo< T >::read().
|
inlinevirtual |
Implements sc_core::sc_fifo_out_if< T >.
Definition at line 157 of file sc_fifo.hh.
References sc_core::sc_fifo< T >::_num_free.
Referenced by sc_core::sc_fifo< T >::nb_write(), and sc_core::sc_fifo< T >::write().
|
inline |
Definition at line 116 of file sc_fifo.hh.
References sc_core::sc_fifo< T >::read().
|
inlineprivate |
Definition at line 199 of file sc_fifo.hh.
|
inline |
Definition at line 139 of file sc_fifo.hh.
References ArmISA::t, and sc_core::sc_fifo< T >::write().
|
inlinevirtual |
Reimplemented from sc_core::sc_object.
Definition at line 160 of file sc_fifo.hh.
References sc_core::sc_fifo< T >::_entries, and X86ISA::os.
|
inlinevirtual |
Implements sc_core::sc_fifo_blocking_in_if< T >.
Definition at line 100 of file sc_fifo.hh.
References ArmISA::t.
Referenced by sc_core::sc_fifo< T >::nb_read(), and sc_core::sc_fifo< T >::operator T().
|
inlinevirtual |
Implements sc_core::sc_fifo_blocking_in_if< T >.
Definition at line 89 of file sc_fifo.hh.
References sc_core::sc_fifo< T >::_dataWriteEvent, sc_core::sc_fifo< T >::_entries, sc_core::sc_fifo< T >::_num_available, sc_core::sc_fifo< T >::_readsHappened, sc_core::sc_fifo< T >::num_available(), sc_core::sc_prim_channel::request_update(), ArmISA::t, and sc_core::wait().
|
inlinevirtual |
Reimplemented from sc_core::sc_interface.
Definition at line 69 of file sc_fifo.hh.
References sc_core::sc_fifo< T >::_reader, sc_core::sc_fifo< T >::_writer, sc_core::sc_object::name(), sc_core::SC_ID_BIND_IF_TO_PORT_, sc_core::SC_ID_MORE_THAN_ONE_FIFO_READER_, sc_core::SC_ID_MORE_THAN_ONE_FIFO_WRITER_, and SC_REPORT_ERROR.
|
inlineprotectedvirtual |
Reimplemented from sc_core::sc_prim_channel.
Definition at line 181 of file sc_fifo.hh.
References sc_core::sc_fifo< T >::_dataReadEvent, sc_core::sc_fifo< T >::_dataWriteEvent, sc_core::sc_fifo< T >::_entries, sc_core::sc_fifo< T >::_num_available, sc_core::sc_fifo< T >::_num_free, sc_core::sc_fifo< T >::_readsHappened, sc_core::sc_fifo< T >::_size, sc_core::sc_fifo< T >::_writesHappened, sc_core::sc_event::notify(), and sc_core::SC_ZERO_TIME.
|
inlinevirtual |
Implements sc_core::sc_fifo_blocking_out_if< T >.
Definition at line 119 of file sc_fifo.hh.
References sc_core::sc_fifo< T >::_dataReadEvent, sc_core::sc_fifo< T >::_entries, sc_core::sc_fifo< T >::_num_free, sc_core::sc_fifo< T >::_writesHappened, sc_core::sc_fifo< T >::num_free(), sc_core::sc_prim_channel::request_update(), ArmISA::t, and sc_core::wait().
Referenced by sc_core::sc_fifo< T >::nb_write(), and sc_core::sc_fifo< T >::operator=().
|
private |
Definition at line 201 of file sc_fifo.hh.
Referenced by sc_core::sc_fifo< T >::data_read_event(), sc_core::sc_fifo< T >::update(), and sc_core::sc_fifo< T >::write().
|
private |
Definition at line 202 of file sc_fifo.hh.
Referenced by sc_core::sc_fifo< T >::data_written_event(), sc_core::sc_fifo< T >::read(), and sc_core::sc_fifo< T >::update().
|
mutableprivate |
Definition at line 210 of file sc_fifo.hh.
Referenced by sc_core::sc_fifo< T >::dump(), sc_core::sc_fifo< T >::print(), sc_core::sc_fifo< T >::read(), sc_core::sc_fifo< T >::update(), and sc_core::sc_fifo< T >::write().
|
private |
Definition at line 209 of file sc_fifo.hh.
Referenced by sc_core::sc_fifo< T >::num_available(), sc_core::sc_fifo< T >::read(), and sc_core::sc_fifo< T >::update().
|
private |
Definition at line 208 of file sc_fifo.hh.
Referenced by sc_core::sc_fifo< T >::num_free(), sc_core::sc_fifo< T >::update(), and sc_core::sc_fifo< T >::write().
|
private |
Definition at line 204 of file sc_fifo.hh.
Referenced by sc_core::sc_fifo< T >::register_port().
|
private |
Definition at line 211 of file sc_fifo.hh.
Referenced by sc_core::sc_fifo< T >::read(), and sc_core::sc_fifo< T >::update().
|
private |
Definition at line 207 of file sc_fifo.hh.
Referenced by sc_core::sc_fifo< T >::update().
|
private |
Definition at line 205 of file sc_fifo.hh.
Referenced by sc_core::sc_fifo< T >::register_port().
|
private |
Definition at line 212 of file sc_fifo.hh.
Referenced by sc_core::sc_fifo< T >::update(), and sc_core::sc_fifo< T >::write().