#include <tlm_fifo.h>
Public Member Functions | |
tlm_fifo (int size_=1) | |
tlm_fifo (const char *name_, int size_=1) | |
virtual | ~tlm_fifo () |
T | get (tlm_tag< T > *t=0) |
bool | nb_get (T &) |
bool | nb_can_get (tlm_tag< T > *t=0) const |
const sc_core::sc_event & | ok_to_get (tlm_tag< T > *t=0) const |
T | peek (tlm_tag< T > *t=0) const |
bool | nb_peek (T &) const |
bool | nb_can_peek (tlm_tag< T > *t=0) const |
const sc_core::sc_event & | ok_to_peek (tlm_tag< T > *t=0) const |
void | put (const T &) |
bool | nb_put (const T &) |
bool | nb_can_put (tlm_tag< T > *t=0) const |
const sc_core::sc_event & | ok_to_put (tlm_tag< T > *t=0) 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 |
Static Public Attributes | |
static const char *const | kind_string = "tlm_fifo" |
Protected Member Functions | |
sc_core::sc_event & | read_event (tlm_tag< T > *t=0) |
void | update () |
void | init (int) |
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 |
Definition at line 43 of file tlm_fifo.h.
tlm::tlm_fifo< T >::tlm_fifo | ( | int | size_ = 1 |
) | [inline, explicit] |
Definition at line 52 of file tlm_fifo.h.
References tlm::tlm_fifo< T >::init().
tlm::tlm_fifo< T >::tlm_fifo | ( | const char * | name_, | |
int | size_ = 1 | |||
) | [inline, explicit] |
Definition at line 59 of file tlm_fifo.h.
References tlm::tlm_fifo< T >::init().
virtual tlm::tlm_fifo< T >::~tlm_fifo | ( | ) | [inline, virtual] |
tlm::tlm_fifo< T >::tlm_fifo | ( | const tlm_fifo< T > & | ) | [private] |
T tlm::tlm_fifo< T >::get | ( | tlm_tag< T > * | t = 0 |
) | [inline, virtual] |
Implements tlm::tlm_blocking_get_if< T >.
Definition at line 32 of file tlm_fifo_put_get.h.
References tlm::tlm_fifo< T >::buffer, tlm::tlm_fifo< T >::is_empty(), tlm::tlm_fifo< T >::m_data_written_event, and tlm::tlm_fifo< T >::m_num_read.
bool tlm::tlm_fifo< T >::nb_get | ( | T & | val_ | ) | [inline, virtual] |
Implements tlm::tlm_nonblocking_get_if< T >.
Definition at line 51 of file tlm_fifo_put_get.h.
References tlm::tlm_fifo< T >::buffer, tlm::tlm_fifo< T >::is_empty(), and tlm::tlm_fifo< T >::m_num_read.
bool tlm::tlm_fifo< T >::nb_can_get | ( | tlm_tag< T > * | t = 0 |
) | const [inline, virtual] |
Implements tlm::tlm_nonblocking_get_if< T >.
Definition at line 70 of file tlm_fifo_put_get.h.
References tlm::tlm_fifo< T >::is_empty().
const sc_core::sc_event& tlm::tlm_fifo< T >::ok_to_get | ( | tlm_tag< T > * | t = 0 |
) | const [inline, virtual] |
Implements tlm::tlm_nonblocking_get_if< T >.
Definition at line 80 of file tlm_fifo.h.
References tlm::tlm_fifo< T >::m_data_written_event.
T tlm::tlm_fifo< T >::peek | ( | tlm_tag< T > * | t = 0 |
) | const [inline, virtual] |
Implements tlm::tlm_blocking_peek_if< T >.
Definition at line 26 of file tlm_fifo_peek.h.
References tlm::tlm_fifo< T >::buffer, tlm::tlm_fifo< T >::is_empty(), and tlm::tlm_fifo< T >::m_data_written_event.
bool tlm::tlm_fifo< T >::nb_peek | ( | T & | t | ) | const [inline, virtual] |
Implements tlm::tlm_nonblocking_peek_if< T >.
Definition at line 44 of file tlm_fifo_peek.h.
References tlm::tlm_fifo< T >::buffer, and tlm::tlm_fifo< T >::used().
bool tlm::tlm_fifo< T >::nb_can_peek | ( | tlm_tag< T > * | t = 0 |
) | const [inline, virtual] |
Implements tlm::tlm_nonblocking_peek_if< T >.
Definition at line 76 of file tlm_fifo_peek.h.
References tlm::tlm_fifo< T >::is_empty().
const sc_core::sc_event& tlm::tlm_fifo< T >::ok_to_peek | ( | tlm_tag< T > * | t = 0 |
) | const [inline, virtual] |
Implements tlm::tlm_nonblocking_peek_if< T >.
Definition at line 90 of file tlm_fifo.h.
References tlm::tlm_fifo< T >::m_data_written_event.
void tlm::tlm_fifo< T >::put | ( | const T & | val_ | ) | [inline, virtual] |
Implements tlm::tlm_blocking_put_if< T >.
Definition at line 86 of file tlm_fifo_put_get.h.
References tlm::tlm_fifo< T >::buffer, tlm::tlm_fifo< T >::is_full(), tlm::tlm_fifo< T >::m_data_read_event, and tlm::tlm_fifo< T >::m_num_written.
bool tlm::tlm_fifo< T >::nb_put | ( | const T & | val_ | ) | [inline, virtual] |
Implements tlm::tlm_nonblocking_put_if< T >.
Definition at line 107 of file tlm_fifo_put_get.h.
References tlm::tlm_fifo< T >::buffer, tlm::tlm_fifo< T >::is_full(), and tlm::tlm_fifo< T >::m_num_written.
Referenced by tlm::tlm_analysis_fifo< T >::write().
bool tlm::tlm_fifo< T >::nb_can_put | ( | tlm_tag< T > * | t = 0 |
) | const [inline, virtual] |
Implements tlm::tlm_nonblocking_put_if< T >.
Definition at line 130 of file tlm_fifo_put_get.h.
References tlm::tlm_fifo< T >::is_full().
const sc_core::sc_event& tlm::tlm_fifo< T >::ok_to_put | ( | tlm_tag< T > * | t = 0 |
) | const [inline, virtual] |
Implements tlm::tlm_nonblocking_put_if< T >.
Definition at line 101 of file tlm_fifo.h.
References tlm::tlm_fifo< T >::m_data_read_event.
void tlm::tlm_fifo< T >::nb_expand | ( | unsigned int | n = 1 |
) | [inline] |
Definition at line 32 of file tlm_fifo_resize.h.
References tlm::tlm_fifo< T >::m_expand, and tlm::tlm_fifo< T >::m_size.
void tlm::tlm_fifo< T >::nb_unbound | ( | unsigned int | n = 16 |
) | [inline] |
Definition at line 43 of file tlm_fifo_resize.h.
References tlm::tlm_fifo< T >::buffer, tlm::tlm_fifo< T >::m_expand, and tlm::tlm_fifo< T >::m_size.
bool tlm::tlm_fifo< T >::nb_reduce | ( | unsigned int | n = 1 |
) | [inline] |
Definition at line 59 of file tlm_fifo_resize.h.
References tlm::tlm_fifo< T >::m_size, tlm::tlm_fifo< T >::nb_bound(), and tlm::tlm_fifo< T >::size().
bool tlm::tlm_fifo< T >::nb_bound | ( | unsigned int | n | ) | [inline] |
Definition at line 72 of file tlm_fifo_resize.h.
References tlm::tlm_fifo< T >::m_size, and tlm::tlm_fifo< T >::used().
Referenced by tlm::tlm_fifo< T >::nb_reduce().
bool tlm::tlm_fifo< T >::nb_peek | ( | T & | t, | |
int | n | |||
) | const [inline, virtual] |
Implements tlm::tlm_fifo_debug_if< T >.
Definition at line 58 of file tlm_fifo_peek.h.
References tlm::tlm_fifo< T >::buffer, and tlm::tlm_fifo< T >::used().
bool tlm::tlm_fifo< T >::nb_poke | ( | const T & | t, | |
int | n = 0 | |||
) | [inline, virtual] |
Implements tlm::tlm_fifo_debug_if< T >.
Definition at line 84 of file tlm_fifo_peek.h.
References tlm::tlm_fifo< T >::buffer, and tlm::tlm_fifo< T >::used().
int tlm::tlm_fifo< T >::used | ( | ) | const [inline, virtual] |
Implements tlm::tlm_fifo_debug_if< T >.
Definition at line 118 of file tlm_fifo.h.
References tlm::tlm_fifo< T >::m_num_read, and tlm::tlm_fifo< T >::m_num_readable.
Referenced by tlm::tlm_fifo< T >::debug(), tlm::tlm_fifo< T >::is_empty(), tlm::tlm_fifo< T >::nb_bound(), tlm::tlm_fifo< T >::nb_peek(), and tlm::tlm_fifo< T >::nb_poke().
int tlm::tlm_fifo< T >::size | ( | ) | const [inline, virtual] |
Implements tlm::tlm_fifo_debug_if< T >.
Definition at line 122 of file tlm_fifo.h.
References tlm::tlm_fifo< T >::m_size.
Referenced by tlm::tlm_fifo< T >::debug(), tlm::tlm_fifo< T >::is_full(), and tlm::tlm_fifo< T >::nb_reduce().
void tlm::tlm_fifo< T >::debug | ( | ) | const [inline, virtual] |
Implements tlm::tlm_fifo_debug_if< T >.
Definition at line 126 of file tlm_fifo.h.
References tlm::tlm_fifo< T >::is_empty(), tlm::tlm_fifo< T >::is_full(), tlm::tlm_fifo< T >::m_num_read, tlm::tlm_fifo< T >::m_num_readable, tlm::tlm_fifo< T >::m_num_written, tlm::tlm_fifo< T >::size(), and tlm::tlm_fifo< T >::used().
const char* tlm::tlm_fifo< T >::kind | ( | ) | const [inline] |
sc_core::sc_event& tlm::tlm_fifo< T >::read_event | ( | tlm_tag< T > * | t = 0 |
) | [inline, protected] |
void tlm::tlm_fifo< T >::update | ( | ) | [inline, protected] |
Definition at line 236 of file tlm_fifo.h.
References tlm::tlm_fifo< T >::buffer, tlm::tlm_fifo< T >::m_data_read_event, tlm::tlm_fifo< T >::m_data_written_event, tlm::tlm_fifo< T >::m_expand, tlm::tlm_fifo< T >::m_num_read, tlm::tlm_fifo< T >::m_num_read_no_notify, tlm::tlm_fifo< T >::m_num_readable, and tlm::tlm_fifo< T >::m_num_written.
void tlm::tlm_fifo< T >::init | ( | int | size_ | ) | [inline, protected] |
Definition at line 210 of file tlm_fifo.h.
References tlm::tlm_fifo< T >::buffer, tlm::tlm_fifo< T >::m_expand, tlm::tlm_fifo< T >::m_num_read, tlm::tlm_fifo< T >::m_num_read_no_notify, tlm::tlm_fifo< T >::m_num_readable, tlm::tlm_fifo< T >::m_num_written, and tlm::tlm_fifo< T >::m_size.
Referenced by tlm::tlm_fifo< T >::tlm_fifo().
tlm_fifo& tlm::tlm_fifo< T >::operator= | ( | const tlm_fifo< T > & | ) | [private] |
bool tlm::tlm_fifo< T >::is_empty | ( | ) | const [inline, private] |
Definition at line 187 of file tlm_fifo.h.
References tlm::tlm_fifo< T >::used().
Referenced by tlm::tlm_fifo< T >::debug(), tlm::tlm_fifo< T >::get(), tlm::tlm_fifo< T >::nb_can_get(), tlm::tlm_fifo< T >::nb_can_peek(), tlm::tlm_fifo< T >::nb_get(), and tlm::tlm_fifo< T >::peek().
bool tlm::tlm_fifo< T >::is_full | ( | ) | const [inline, private] |
Definition at line 191 of file tlm_fifo.h.
References tlm::tlm_fifo< T >::m_num_readable, tlm::tlm_fifo< T >::m_num_written, and tlm::tlm_fifo< T >::size().
Referenced by tlm::tlm_fifo< T >::debug(), tlm::tlm_fifo< T >::nb_can_put(), tlm::tlm_fifo< T >::nb_put(), and tlm::tlm_fifo< T >::put().
const char *const tlm::tlm_fifo< T >::kind_string = "tlm_fifo" [inline, static] |
circular_buffer<T>* tlm::tlm_fifo< T >::buffer [protected] |
Definition at line 163 of file tlm_fifo.h.
Referenced by tlm::tlm_fifo< T >::get(), tlm::tlm_fifo< T >::init(), tlm::tlm_fifo< T >::nb_get(), tlm::tlm_fifo< T >::nb_peek(), tlm::tlm_fifo< T >::nb_poke(), tlm::tlm_fifo< T >::nb_put(), tlm::tlm_fifo< T >::nb_unbound(), tlm::tlm_fifo< T >::peek(), tlm::tlm_fifo< T >::put(), tlm::tlm_fifo< T >::update(), and tlm::tlm_fifo< T >::~tlm_fifo().
int tlm::tlm_fifo< T >::m_size [protected] |
Definition at line 165 of file tlm_fifo.h.
Referenced by tlm::tlm_fifo< T >::init(), tlm::tlm_fifo< T >::nb_bound(), tlm::tlm_fifo< T >::nb_expand(), tlm::tlm_fifo< T >::nb_reduce(), tlm::tlm_fifo< T >::nb_unbound(), and tlm::tlm_fifo< T >::size().
int tlm::tlm_fifo< T >::m_num_readable [protected] |
Definition at line 167 of file tlm_fifo.h.
Referenced by tlm::tlm_fifo< T >::debug(), tlm::tlm_fifo< T >::init(), tlm::tlm_fifo< T >::is_full(), tlm::tlm_fifo< T >::update(), and tlm::tlm_fifo< T >::used().
int tlm::tlm_fifo< T >::m_num_read [protected] |
Definition at line 168 of file tlm_fifo.h.
Referenced by tlm::tlm_fifo< T >::debug(), tlm::tlm_fifo< T >::get(), tlm::tlm_fifo< T >::init(), tlm::tlm_fifo< T >::nb_get(), tlm::tlm_fifo< T >::update(), and tlm::tlm_fifo< T >::used().
int tlm::tlm_fifo< T >::m_num_written [protected] |
Definition at line 169 of file tlm_fifo.h.
Referenced by tlm::tlm_fifo< T >::debug(), tlm::tlm_fifo< T >::init(), tlm::tlm_fifo< T >::is_full(), tlm::tlm_fifo< T >::nb_put(), tlm::tlm_fifo< T >::put(), and tlm::tlm_fifo< T >::update().
bool tlm::tlm_fifo< T >::m_expand [protected] |
Definition at line 170 of file tlm_fifo.h.
Referenced by tlm::tlm_fifo< T >::init(), tlm::tlm_fifo< T >::nb_expand(), tlm::tlm_fifo< T >::nb_unbound(), and tlm::tlm_fifo< T >::update().
int tlm::tlm_fifo< T >::m_num_read_no_notify [protected] |
Definition at line 171 of file tlm_fifo.h.
Referenced by tlm::tlm_fifo< T >::init(), and tlm::tlm_fifo< T >::update().
sc_core::sc_event tlm::tlm_fifo< T >::m_data_read_event [protected] |
Definition at line 173 of file tlm_fifo.h.
Referenced by tlm::tlm_fifo< T >::ok_to_put(), tlm::tlm_fifo< T >::put(), tlm::tlm_fifo< T >::read_event(), and tlm::tlm_fifo< T >::update().
sc_core::sc_event tlm::tlm_fifo< T >::m_data_written_event [protected] |
Definition at line 174 of file tlm_fifo.h.
Referenced by tlm::tlm_fifo< T >::get(), tlm::tlm_fifo< T >::ok_to_get(), tlm::tlm_fifo< T >::ok_to_peek(), tlm::tlm_fifo< T >::peek(), and tlm::tlm_fifo< T >::update().