TLM-2.0  2.0.3
Accellera TLM-2.0 proof-of-concept library
Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | List of all members
tlm::tlm_fifo< T > Class Template Reference

#include <tlm_core/tlm_1/tlm_req_rsp/tlm_channels/tlm_fifo/tlm_fifo.h>

Inheritance diagram for tlm::tlm_fifo< T >:
Inheritance graph
[legend]
Collaboration diagram for tlm::tlm_fifo< T >:
Collaboration graph
[legend]

Public Member Functions

 tlm_fifo (int size_=1)
 
 tlm_fifo (const char *name_, int size_=1)
 
virtual ~tlm_fifo ()
 
get (tlm_tag< T > *=0)
 
bool nb_get (T &)
 
bool nb_can_get (tlm_tag< T > *=0) const
 
const sc_core::sc_eventok_to_get (tlm_tag< T > *=0) const
 
peek (tlm_tag< T > *=0) const
 
bool nb_peek (T &) const
 
bool nb_can_peek (tlm_tag< T > *=0) const
 
const sc_core::sc_eventok_to_peek (tlm_tag< T > *=0) const
 
void put (const T &)
 
bool nb_put (const T &)
 
bool nb_can_put (tlm_tag< T > *=0) const
 
const sc_core::sc_eventok_to_put (tlm_tag< 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
 
- Public Member Functions inherited from tlm::tlm_blocking_get_if< T >
virtual void get (T &t)
 
- Public Member Functions inherited from tlm::tlm_blocking_peek_if< T >
virtual void peek (T &t) const
 

Static Public Attributes

static const char *const kind_string = "tlm_fifo"
 

Protected Member Functions

sc_core::sc_eventread_event (tlm_tag< 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
 

Detailed Description

template<typename T>
class tlm::tlm_fifo< T >

Definition at line 43 of file tlm_fifo.h.

Constructor & Destructor Documentation

template<typename T >
tlm::tlm_fifo< T >::tlm_fifo ( int  size_ = 1)
inlineexplicit

Definition at line 52 of file tlm_fifo.h.

template<typename T >
tlm::tlm_fifo< T >::tlm_fifo ( const char *  name_,
int  size_ = 1 
)
inlineexplicit

Definition at line 59 of file tlm_fifo.h.

template<typename T >
virtual tlm::tlm_fifo< T >::~tlm_fifo ( )
inlinevirtual

Definition at line 68 of file tlm_fifo.h.

Member Function Documentation

template<typename T >
void tlm::tlm_fifo< T >::debug ( ) const
inlinevirtual

Implements tlm::tlm_fifo_debug_if< T >.

Definition at line 122 of file tlm_fifo.h.

template<typename T >
T tlm::tlm_fifo< T >::get ( tlm_tag< T > *  = 0)
inlinevirtual

Implements tlm::tlm_blocking_get_if< T >.

Definition at line 32 of file tlm_fifo_put_get.h.

template<typename T >
void tlm::tlm_fifo< T >::init ( int  size_)
inlineprotected

Definition at line 210 of file tlm_fifo.h.

template<typename T >
const char* tlm::tlm_fifo< T >::kind ( ) const
inlinevirtual

Reimplemented from sc_core::sc_prim_channel.

Definition at line 140 of file tlm_fifo.h.

template<typename T >
bool tlm::tlm_fifo< T >::nb_bound ( unsigned int  n)
inline

Definition at line 73 of file tlm_fifo_resize.h.

template<typename T >
bool tlm::tlm_fifo< T >::nb_can_get ( tlm_tag< T > *  = 0) const
inlinevirtual

Implements tlm::tlm_nonblocking_get_if< T >.

Definition at line 70 of file tlm_fifo_put_get.h.

template<typename T >
bool tlm::tlm_fifo< T >::nb_can_peek ( tlm_tag< T > *  = 0) const
inlinevirtual

Implements tlm::tlm_nonblocking_peek_if< T >.

Definition at line 75 of file tlm_fifo_peek.h.

template<typename T >
bool tlm::tlm_fifo< T >::nb_can_put ( tlm_tag< T > *  = 0) const
inlinevirtual

Implements tlm::tlm_nonblocking_put_if< T >.

Definition at line 130 of file tlm_fifo_put_get.h.

template<typename T >
void tlm::tlm_fifo< T >::nb_expand ( unsigned int  n = 1)
inline

Definition at line 32 of file tlm_fifo_resize.h.

template<typename T >
bool tlm::tlm_fifo< T >::nb_get ( T &  val_)
inlinevirtual

Implements tlm::tlm_nonblocking_get_if< T >.

Definition at line 51 of file tlm_fifo_put_get.h.

template<typename T >
bool tlm::tlm_fifo< T >::nb_peek ( T &  t) const
inlinevirtual

Implements tlm::tlm_nonblocking_peek_if< T >.

Definition at line 43 of file tlm_fifo_peek.h.

template<typename T >
bool tlm::tlm_fifo< T >::nb_peek ( T &  t,
int  n 
) const
inlinevirtual

Implements tlm::tlm_fifo_debug_if< T >.

Definition at line 57 of file tlm_fifo_peek.h.

template<typename T >
bool tlm::tlm_fifo< T >::nb_poke ( const T &  t,
int  n = 0 
)
inlinevirtual

Implements tlm::tlm_fifo_debug_if< T >.

Definition at line 83 of file tlm_fifo_peek.h.

template<typename T >
bool tlm::tlm_fifo< T >::nb_put ( const T &  val_)
inlinevirtual

Implements tlm::tlm_nonblocking_put_if< T >.

Definition at line 107 of file tlm_fifo_put_get.h.

template<typename T >
bool tlm::tlm_fifo< T >::nb_reduce ( unsigned int  n = 1)
inline

Definition at line 60 of file tlm_fifo_resize.h.

template<typename T >
void tlm::tlm_fifo< T >::nb_unbound ( unsigned int  n = 16)
inline

Definition at line 44 of file tlm_fifo_resize.h.

template<typename T >
const sc_core::sc_event& tlm::tlm_fifo< T >::ok_to_get ( tlm_tag< T > *  = 0) const
inlinevirtual

Implements tlm::tlm_nonblocking_get_if< T >.

Definition at line 76 of file tlm_fifo.h.

template<typename T >
const sc_core::sc_event& tlm::tlm_fifo< T >::ok_to_peek ( tlm_tag< T > *  = 0) const
inlinevirtual

Implements tlm::tlm_nonblocking_peek_if< T >.

Definition at line 86 of file tlm_fifo.h.

template<typename T >
const sc_core::sc_event& tlm::tlm_fifo< T >::ok_to_put ( tlm_tag< T > *  = 0) const
inlinevirtual

Implements tlm::tlm_nonblocking_put_if< T >.

Definition at line 97 of file tlm_fifo.h.

template<typename T >
T tlm::tlm_fifo< T >::peek ( tlm_tag< T > *  = 0) const
inlinevirtual

Implements tlm::tlm_blocking_peek_if< T >.

Definition at line 26 of file tlm_fifo_peek.h.

template<typename T >
void tlm::tlm_fifo< T >::put ( const T &  val_)
inlinevirtual

Implements tlm::tlm_blocking_put_if< T >.

Definition at line 86 of file tlm_fifo_put_get.h.

template<typename T >
sc_core::sc_event& tlm::tlm_fifo< T >::read_event ( tlm_tag< T > *  = 0)
inlineprotected

Definition at line 145 of file tlm_fifo.h.

template<typename T >
int tlm::tlm_fifo< T >::size ( ) const
inlinevirtual

Implements tlm::tlm_fifo_debug_if< T >.

Definition at line 118 of file tlm_fifo.h.

template<typename T >
void tlm::tlm_fifo< T >::update ( )
inlineprotectedvirtual

Reimplemented from sc_core::sc_prim_channel.

Definition at line 236 of file tlm_fifo.h.

template<typename T >
int tlm::tlm_fifo< T >::used ( ) const
inlinevirtual

Implements tlm::tlm_fifo_debug_if< T >.

Definition at line 114 of file tlm_fifo.h.

Member Data Documentation

template<typename T >
circular_buffer<T> tlm::tlm_fifo< T >::buffer
protected

Definition at line 159 of file tlm_fifo.h.

template<typename T >
const char *const tlm::tlm_fifo< T >::kind_string = "tlm_fifo"
static

Definition at line 138 of file tlm_fifo.h.

template<typename T >
sc_core::sc_event tlm::tlm_fifo< T >::m_data_read_event
protected

Definition at line 169 of file tlm_fifo.h.

template<typename T >
sc_core::sc_event tlm::tlm_fifo< T >::m_data_written_event
protected

Definition at line 170 of file tlm_fifo.h.

template<typename T >
bool tlm::tlm_fifo< T >::m_expand
protected

Definition at line 166 of file tlm_fifo.h.

template<typename T >
int tlm::tlm_fifo< T >::m_num_read
protected

Definition at line 164 of file tlm_fifo.h.

template<typename T >
int tlm::tlm_fifo< T >::m_num_read_no_notify
protected

Definition at line 167 of file tlm_fifo.h.

template<typename T >
int tlm::tlm_fifo< T >::m_num_readable
protected

Definition at line 163 of file tlm_fifo.h.

template<typename T >
int tlm::tlm_fifo< T >::m_num_written
protected

Definition at line 165 of file tlm_fifo.h.

template<typename T >
int tlm::tlm_fifo< T >::m_size
protected

Definition at line 161 of file tlm_fifo.h.


The documentation for this class was generated from the following files: