|
gem5 [DEVELOP-FOR-25.0]
|
#include <fifo.hh>
Public Member Functions | |
| tlm_fifo (int size_=1) | |
| tlm_fifo (const char *name_, int size_=1) | |
| virtual | ~tlm_fifo () |
| T | get (tlm_tag< T > *=nullptr) |
| bool | nb_get (T &) |
| bool | nb_can_get (tlm_tag< T > *=nullptr) const |
| const sc_core::sc_event & | ok_to_get (tlm_tag< T > *=nullptr) const |
| T | peek (tlm_tag< T > *=nullptr) const |
| bool | nb_peek (T &) const |
| bool | nb_can_peek (tlm_tag< T > *=nullptr) const |
| const sc_core::sc_event & | ok_to_peek (tlm_tag< T > *=nullptr) const |
| void | put (const T &) |
| bool | nb_put (const T &) |
| bool | nb_can_put (tlm_tag< T > *=nullptr) const |
| const sc_core::sc_event & | ok_to_put (tlm_tag< T > *=nullptr) const |
| void | nb_expand (unsigned int n=1) |
| void | nb_unbound (unsigned int n=16) |
| bool | nb_reduce (unsigned int n=1) |
| bool | nb_bound (unsigned int n) |
| bool | nb_peek (T &, int n) const |
| bool | nb_poke (const T &, int n=0) |
| int | used () const |
| int | size () const |
| void | debug () const |
| const char * | kind () const |
Public Member Functions inherited from tlm::tlm_blocking_get_if< T > | |
| virtual void | get (T &t) |
Public Member Functions inherited from sc_core::sc_interface | |
| virtual void | register_port (sc_port_base &, const char *) |
| virtual const sc_event & | default_event () const |
| virtual | ~sc_interface () |
Public Member Functions inherited from tlm::tlm_blocking_peek_if< T > | |
| virtual void | peek (T &t) 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_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 |
Static Public Attributes | |
| static const char *const | kind_string |
Protected Attributes | |
| circular_buffer< T > | buffer |
| int | m_size |
| int | m_num_readable |
| int | m_num_read |
| int | m_num_written |
| bool | m_expand |
| int | m_num_read_no_notify |
| sc_core::sc_event | m_data_read_event |
| sc_core::sc_event | m_data_written_event |
Private Member Functions | |
| tlm_fifo (const tlm_fifo< T > &) | |
| tlm_fifo & | operator= (const tlm_fifo< T > &) |
| bool | is_empty () const |
| bool | is_full () const |
|
inlineexplicit |
Definition at line 49 of file fifo.hh.
References init(), sc_gen_unique_name(), and sc_core::sc_prim_channel::sc_prim_channel().
Referenced by operator=(), tlm::tlm_analysis_fifo< T >::tlm_analysis_fifo(), tlm::tlm_analysis_fifo< T >::tlm_analysis_fifo(), and tlm_fifo().
|
inlineexplicit |
Definition at line 55 of file fifo.hh.
References init(), and sc_core::sc_prim_channel::sc_prim_channel().
|
inlinevirtual |
|
private |
References tlm_fifo().
|
inlinevirtual |
Implements tlm::tlm_fifo_debug_if< T >.
Definition at line 112 of file fifo.hh.
References is_empty(), is_full(), m_num_read, m_num_readable, m_num_written, size(), and used().
|
inlinevirtual |
Implements tlm::tlm_blocking_get_if< T >.
Definition at line 29 of file fifo_put_get.hh.
References buffer, is_empty(), m_data_written_event, m_num_read, sc_core::sc_prim_channel::request_update(), and wait().
|
inlineprotected |
Definition at line 187 of file fifo.hh.
References buffer, m_expand, m_num_read, m_num_read_no_notify, m_num_readable, m_num_written, and m_size.
Referenced by tlm_fifo(), and tlm_fifo().
|
inlineprivate |
Definition at line 164 of file fifo.hh.
References used().
Referenced by debug(), get(), nb_can_get(), nb_can_peek(), nb_get(), and peek().
|
inlineprivate |
Definition at line 167 of file fifo.hh.
References m_num_readable, m_num_written, and size().
Referenced by debug(), nb_can_put(), and put().
|
inlinevirtual |
Reimplemented from sc_core::sc_prim_channel.
Definition at line 128 of file fifo.hh.
References kind_string.
|
inline |
Definition at line 65 of file fifo_resize.hh.
References m_size, and used().
Referenced by nb_reduce().
|
inlinevirtual |
Implements tlm::tlm_nonblocking_get_if< T >.
Definition at line 60 of file fifo_put_get.hh.
References is_empty().
|
inlinevirtual |
Implements tlm::tlm_nonblocking_peek_if< T >.
Definition at line 68 of file fifo_peek.hh.
References is_empty().
|
inlinevirtual |
Implements tlm::tlm_nonblocking_put_if< T >.
Definition at line 106 of file fifo_put_get.hh.
References is_full().
|
inline |
Definition at line 29 of file fifo_resize.hh.
References m_expand, m_size, and sc_core::sc_prim_channel::request_update().
|
inlinevirtual |
Implements tlm::tlm_nonblocking_get_if< T >.
Definition at line 44 of file fifo_put_get.hh.
References buffer, is_empty(), m_num_read, and sc_core::sc_prim_channel::request_update().
|
inlinevirtual |
Implements tlm::tlm_nonblocking_peek_if< T >.
Definition at line 40 of file fifo_peek.hh.
|
inlinevirtual |
Implements tlm::tlm_fifo_debug_if< T >.
Definition at line 52 of file fifo_peek.hh.
|
inlinevirtual |
Implements tlm::tlm_fifo_debug_if< T >.
Definition at line 75 of file fifo_peek.hh.
|
inlinevirtual |
Implements tlm::tlm_nonblocking_put_if< T >.
Definition at line 87 of file fifo_put_get.hh.
Referenced by tlm::tlm_analysis_fifo< T >::write(), and tlm::tlm_analysis_fifo< T >::write().
|
inline |
Definition at line 54 of file fifo_resize.hh.
References m_size, nb_bound(), and size().
|
inline |
Definition at line 40 of file fifo_resize.hh.
References buffer, m_expand, m_size, and sc_core::sc_prim_channel::request_update().
|
inlinevirtual |
Implements tlm::tlm_nonblocking_get_if< T >.
Definition at line 70 of file fifo.hh.
References m_data_written_event.
|
inlinevirtual |
Implements tlm::tlm_nonblocking_peek_if< T >.
Definition at line 81 of file fifo.hh.
References m_data_written_event.
|
inlinevirtual |
Implements tlm::tlm_nonblocking_put_if< T >.
Definition at line 92 of file fifo.hh.
References m_data_read_event.
|
private |
References tlm_fifo().
|
inlinevirtual |
Implements tlm::tlm_blocking_peek_if< T >.
Definition at line 28 of file fifo_peek.hh.
References buffer, is_empty(), m_data_written_event, and sc_core::wait().
|
inlinevirtual |
Implements tlm::tlm_blocking_put_if< T >.
Definition at line 69 of file fifo_put_get.hh.
References buffer, is_full(), m_data_read_event, m_num_written, sc_core::sc_prim_channel::request_update(), and wait().
|
inlineprotected |
Definition at line 132 of file fifo.hh.
References m_data_read_event.
|
inlinevirtual |
Implements tlm::tlm_fifo_debug_if< T >.
Definition at line 109 of file fifo.hh.
References m_size.
Referenced by debug(), is_full(), and nb_reduce().
|
inlineprotectedvirtual |
Reimplemented from sc_core::sc_prim_channel.
Definition at line 207 of file fifo.hh.
References buffer, m_data_read_event, m_data_written_event, m_expand, m_num_read, m_num_read_no_notify, m_num_readable, m_num_written, and sc_core::SC_ZERO_TIME.
|
inlinevirtual |
Implements tlm::tlm_fifo_debug_if< T >.
Definition at line 108 of file fifo.hh.
References m_num_read, and m_num_readable.
Referenced by debug(), is_empty(), nb_bound(), nb_peek(), and nb_peek().
|
protected |
|
static |
|
protected |
Definition at line 151 of file fifo.hh.
Referenced by ok_to_put(), put(), read_event(), and update().
|
protected |
Definition at line 152 of file fifo.hh.
Referenced by get(), ok_to_get(), ok_to_peek(), peek(), and update().
|
protected |
Definition at line 147 of file fifo.hh.
Referenced by init(), nb_expand(), nb_unbound(), and update().
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Definition at line 142 of file fifo.hh.
Referenced by init(), nb_bound(), nb_expand(), nb_reduce(), nb_unbound(), and size().