gem5  [DEVELOP-FOR-23.0]
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
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 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

Definition at line 273 of file buffers.hh.

◆ evaluate()

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

Definition at line 283 of file buffers.hh.

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

◆ minorTrace()

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

Definition at line 281 of file buffers.hh.

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

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

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


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

Generated on Sun Jul 30 2023 01:57:51 for gem5 by doxygen 1.8.17