gem5 v24.0.0.0
Loading...
Searching...
No Matches
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.
 
bool empty () const
 
Input input ()
 An interface to just the input of the buffer.
 
Output output ()
 An interface to just the output of the buffer.
 
void minorTrace () const
 
void evaluate ()
 

Protected Attributes

Cycles delay
 Delays, in cycles, writing data into the latch and seeing it on the latched wires.
 
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 221 of file buffers.hh.

Member Typedef Documentation

◆ Buffer

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

Definition at line 224 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 236 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 276 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 279 of file buffers.hh.

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

Member Data Documentation

◆ buffer

◆ 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 229 of file buffers.hh.

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


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

Generated on Tue Jun 18 2024 16:24:20 for gem5 by doxygen 1.11.0