gem5  v22.1.0.0
Public Member Functions | Protected Attributes | List of all members
gem5::minor::MinorBuffer< ElemType, ReportTraits, BubbleTraits > Class Template Reference

TimeBuffer with MinorTrace and Named interfaces. More...

#include <buffers.hh>

Inheritance diagram for gem5::minor::MinorBuffer< ElemType, ReportTraits, BubbleTraits >:
gem5::Named gem5::TimeBuffer< ElemType >

Public Member Functions

 MinorBuffer (const std::string &name, const std::string &data_name, int num_past, int num_future, int report_left=-1, int report_right=-1)
 
bool empty () const
 
void minorTrace () const
 Report buffer states from 'slot' 'from' to 'to'. More...
 
- Public Member Functions inherited from gem5::Named
 Named (const std::string &name_)
 
virtual ~Named ()=default
 
virtual std::string name () const
 
- Public Member Functions inherited from gem5::TimeBuffer< ElemType >
 TimeBuffer (int p, int f)
 
 TimeBuffer ()
 
 ~TimeBuffer ()
 
void id (int id)
 
int id ()
 
void advance ()
 
ElemType * access (int idx)
 
ElemType & operator[] (int idx)
 
const ElemType & operator[] (int idx) const
 
wire getWire (int idx)
 
wire zero ()
 
unsigned getSize ()
 

Protected Attributes

int reportLeft
 The range of elements that should appear in trace lines. More...
 
int reportRight
 
std::string dataName
 Name to use for the data in a MinorTrace line. More...
 
- Protected Attributes inherited from gem5::TimeBuffer< ElemType >
int past
 
int future
 
unsigned size
 
int _id
 
char * data
 
std::vector< char * > index
 
unsigned base
 

Additional Inherited Members

- Protected Member Functions inherited from gem5::TimeBuffer< ElemType >
void valid (int idx) const
 
int calculateVectorIndex (int idx) const
 

Detailed Description

template<typename ElemType, typename ReportTraits = ReportTraitsAdaptor<ElemType>, typename BubbleTraits = BubbleTraitsAdaptor<ElemType>>
class gem5::minor::MinorBuffer< ElemType, ReportTraits, BubbleTraits >

TimeBuffer with MinorTrace and Named interfaces.

Definition at line 159 of file buffers.hh.

Constructor & Destructor Documentation

◆ MinorBuffer()

template<typename ElemType , typename ReportTraits = ReportTraitsAdaptor<ElemType>, typename BubbleTraits = BubbleTraitsAdaptor<ElemType>>
gem5::minor::MinorBuffer< ElemType, ReportTraits, BubbleTraits >::MinorBuffer ( const std::string &  name,
const std::string &  data_name,
int  num_past,
int  num_future,
int  report_left = -1,
int  report_right = -1 
)
inline

Definition at line 169 of file buffers.hh.

Member Function Documentation

◆ empty()

template<typename ElemType , typename ReportTraits = ReportTraitsAdaptor<ElemType>, typename BubbleTraits = BubbleTraitsAdaptor<ElemType>>
bool gem5::minor::MinorBuffer< ElemType, ReportTraits, BubbleTraits >::empty ( ) const
inline

◆ minorTrace()

template<typename ElemType , typename ReportTraits = ReportTraitsAdaptor<ElemType>, typename BubbleTraits = BubbleTraitsAdaptor<ElemType>>
void gem5::minor::MinorBuffer< ElemType, ReportTraits, BubbleTraits >::minorTrace ( ) const
inline

Report buffer states from 'slot' 'from' to 'to'.

For example 0,-1 will produce two slices with current (just assigned) and last (one advance() old) slices with the current (0) one on the left. Reverse the numbers to change the order of slices

Definition at line 198 of file buffers.hh.

References gem5::TimeBuffer< ElemType >::data, gem5::minor::MinorBuffer< ElemType, ReportTraits, BubbleTraits >::dataName, gem5::ArmISA::i, gem5::minor::minorTrace(), gem5::minor::MinorBuffer< ElemType, ReportTraits, BubbleTraits >::reportLeft, and gem5::minor::MinorBuffer< ElemType, ReportTraits, BubbleTraits >::reportRight.

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

Member Data Documentation

◆ dataName

template<typename ElemType , typename ReportTraits = ReportTraitsAdaptor<ElemType>, typename BubbleTraits = BubbleTraitsAdaptor<ElemType>>
std::string gem5::minor::MinorBuffer< ElemType, ReportTraits, BubbleTraits >::dataName
protected

Name to use for the data in a MinorTrace line.

Definition at line 166 of file buffers.hh.

Referenced by gem5::minor::MinorBuffer< ElemType, ReportTraits, BubbleTraits >::minorTrace().

◆ reportLeft

template<typename ElemType , typename ReportTraits = ReportTraitsAdaptor<ElemType>, typename BubbleTraits = BubbleTraitsAdaptor<ElemType>>
int gem5::minor::MinorBuffer< ElemType, ReportTraits, BubbleTraits >::reportLeft
protected

The range of elements that should appear in trace lines.

Definition at line 163 of file buffers.hh.

Referenced by gem5::minor::MinorBuffer< ElemType, ReportTraits, BubbleTraits >::minorTrace().

◆ reportRight

template<typename ElemType , typename ReportTraits = ReportTraitsAdaptor<ElemType>, typename BubbleTraits = BubbleTraitsAdaptor<ElemType>>
int gem5::minor::MinorBuffer< ElemType, ReportTraits, BubbleTraits >::reportRight
protected

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