gem5 v25.0.0.1
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.

References buffer, delay, and name().

Member Function Documentation

◆ empty()

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

Definition at line 273 of file buffers.hh.

References buffer.

◆ evaluate()

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

Definition at line 283 of file buffers.hh.

References buffer.

◆ 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 buffer.

◆ minorTrace()

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

Definition at line 281 of file buffers.hh.

References buffer.

◆ 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 buffer, and delay.

Member Data Documentation

◆ buffer

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

Definition at line 231 of file buffers.hh.

Referenced by empty(), evaluate(), input(), Latch(), minorTrace(), and output().

◆ 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 Latch(), and output().


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

Generated on Sat Oct 18 2025 08:06:59 for gem5 by doxygen 1.14.0