gem5 v24.0.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 67 of file sc_fifo.hh.
|
inlineprivate |
Definition at line 198 of file sc_fifo.hh.
|
inlinevirtual |
Implements sc_core::sc_fifo_nonblocking_out_if< T >.
Definition at line 152 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 147 of file sc_fifo.hh.
References sc_core::sc_fifo< T >::_dataWriteEvent.
|
inlinevirtual |
Reimplemented from sc_core::sc_object.
Definition at line 169 of file sc_fifo.hh.
References sc_core::sc_fifo< T >::_entries, and sc_core::sc_object::name().
|
inlinevirtual |
Reimplemented from sc_core::sc_prim_channel.
Definition at line 178 of file sc_fifo.hh.
|
inlinevirtual |
Implements sc_core::sc_fifo_nonblocking_in_if< T >.
Definition at line 108 of file sc_fifo.hh.
References sc_core::sc_fifo< T >::num_available(), and sc_core::sc_fifo< T >::read().
|
inlinevirtual |
Implements sc_core::sc_fifo_nonblocking_out_if< T >.
Definition at line 130 of file sc_fifo.hh.
References sc_core::sc_fifo< T >::num_free(), and sc_core::sc_fifo< T >::write().
|
inlinevirtual |
Implements sc_core::sc_fifo_in_if< T >.
Definition at line 157 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 158 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 117 of file sc_fifo.hh.
References sc_core::sc_fifo< T >::read().
|
inlineprivate |
Definition at line 200 of file sc_fifo.hh.
|
inline |
Definition at line 140 of file sc_fifo.hh.
References sc_core::sc_fifo< T >::write().
|
inlinevirtual |
Reimplemented from sc_core::sc_object.
Definition at line 161 of file sc_fifo.hh.
References sc_core::sc_fifo< T >::_entries.
|
inlinevirtual |
Implements sc_core::sc_fifo_blocking_in_if< T >.
Definition at line 101 of file sc_fifo.hh.
References sc_core::sc_fifo< T >::read().
Referenced by sc_core::sc_fifo< T >::nb_read(), sc_core::sc_fifo< T >::operator T(), and sc_core::sc_fifo< T >::read().
|
inlinevirtual |
Implements sc_core::sc_fifo_blocking_in_if< T >.
Definition at line 90 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(), and sc_core::wait().
|
inlinevirtual |
Reimplemented from sc_core::sc_interface.
Definition at line 70 of file sc_fifo.hh.
References sc_core::sc_fifo< T >::_reader, sc_core::sc_fifo< T >::_writer, sc_core::sc_object::name(), and SC_REPORT_ERROR.
|
inlineprotectedvirtual |
Reimplemented from sc_core::sc_prim_channel.
Definition at line 182 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, and sc_core::sc_event::notify().
|
inlinevirtual |
Implements sc_core::sc_fifo_blocking_out_if< T >.
Definition at line 120 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(), and sc_core::wait().
Referenced by sc_core::sc_fifo< T >::nb_write(), and sc_core::sc_fifo< T >::operator=().
|
private |
Definition at line 202 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 203 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 211 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 210 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 209 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 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 >::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 >::update().
|
private |
Definition at line 206 of file sc_fifo.hh.
Referenced by sc_core::sc_fifo< T >::register_port().
|
private |
Definition at line 213 of file sc_fifo.hh.
Referenced by sc_core::sc_fifo< T >::update(), and sc_core::sc_fifo< T >::write().