gem5  v22.1.0.0
Classes | Public Types | Public Member Functions | Protected Attributes | List of all members
gem5::minor::Latch< Data > Class Template Reference

Wraps a MinorBuffer with Input/Output interfaces to ensure that units within the model can only see the right end of buffers between them. More...

#include <buffers.hh>

Classes

class  Input
 Encapsulate wires on either input or output of the latch. More...
 
class  Output
 

Public Types

typedef MinorBuffer< Data > Buffer
 

Public Member Functions

 Latch (const std::string &name, const std::string &data_name, Cycles delay_=Cycles(1), bool report_backwards=false)
 forward/backwardDelay specify the delay from input to output in each direction. More...
 
bool empty () const
 
Input input ()
 An interface to just the input of the buffer. More...
 
Output output ()
 An interface to just the output of the buffer. More...
 
void minorTrace () const
 
void evaluate ()
 

Protected Attributes

Cycles delay
 Delays, in cycles, writing data into the latch and seeing it on the latched wires. More...
 
Buffer buffer
 

Detailed Description

template<typename Data>
class gem5::minor::Latch< Data >

Wraps a MinorBuffer with Input/Output interfaces to ensure that units within the model can only see the right end of buffers between them.

Definition at line 222 of file buffers.hh.

Member Typedef Documentation

◆ Buffer

template<typename Data >
typedef MinorBuffer<Data> gem5::minor::Latch< Data >::Buffer

Definition at line 225 of file buffers.hh.

Constructor & Destructor Documentation

◆ Latch()

template<typename Data >
gem5::minor::Latch< Data >::Latch ( const std::string &  name,
const std::string &  data_name,
Cycles  delay_ = Cycles(1),
bool  report_backwards = false 
)
inline

forward/backwardDelay specify the delay from input to output in each direction.

These arguments must be >= 1

Definition at line 237 of file buffers.hh.

Member Function Documentation

◆ empty()

template<typename Data >
bool gem5::minor::Latch< Data >::empty ( ) const
inline

◆ evaluate()

template<typename Data >
void gem5::minor::Latch< Data >::evaluate ( )
inline

◆ input()

template<typename Data >
Input gem5::minor::Latch< Data >::input ( )
inline

An interface to just the input of the buffer.

Definition at line 277 of file buffers.hh.

References gem5::minor::Latch< Data >::buffer, and gem5::TimeBuffer< T >::getWire().

◆ minorTrace()

template<typename Data >
void gem5::minor::Latch< Data >::minorTrace ( ) const
inline

◆ output()

template<typename Data >
Output gem5::minor::Latch< Data >::output ( )
inline

An interface to just the output of the buffer.

Definition at line 280 of file buffers.hh.

References gem5::minor::Latch< Data >::buffer, gem5::minor::Latch< Data >::delay, and gem5::TimeBuffer< T >::getWire().

Member Data Documentation

◆ buffer

template<typename Data >
Buffer gem5::minor::Latch< Data >::buffer
protected

◆ delay

template<typename Data >
Cycles gem5::minor::Latch< Data >::delay
protected

Delays, in cycles, writing data into the latch and seeing it on the latched wires.

Definition at line 230 of file buffers.hh.

Referenced by gem5::minor::Latch< Data >::output().


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

Generated on Wed Dec 21 2022 10:24:16 for gem5 by doxygen 1.9.1