gem5 v24.1.0.1
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
gem5::StreamGen Class Referenceabstract

#include <stream_gen.hh>

Inheritance diagram for gem5::StreamGen:
gem5::FixedStreamGen gem5::RandomStreamGen

Public Member Functions

virtual ~StreamGen ()
 
virtual uint32_t pickStreamID ()=0
 
virtual uint32_t pickSubstreamID ()=0
 
bool ssidValid () const
 Returns true if the substreamID generation is valid and hence should be taken into account.
 

Static Public Member Functions

static StreamGencreate (const BaseTrafficGenParams &p)
 Factory method for constructing a Stream generator.
 

Protected Member Functions

 StreamGen (const BaseTrafficGenParams &p)
 

Protected Attributes

std::vector< uint32_t > streamIds
 Store preset Stream and Substream IDs to use for requests This is the set of available streamIDs the generator can pick.
 
std::vector< uint32_t > substreamIds
 

Detailed Description

Definition at line 53 of file stream_gen.hh.

Constructor & Destructor Documentation

◆ StreamGen()

gem5::StreamGen::StreamGen ( const BaseTrafficGenParams &  p)
inlineprotected

Definition at line 56 of file stream_gen.hh.

References fatal_if, and streamIds.

◆ ~StreamGen()

virtual gem5::StreamGen::~StreamGen ( )
inlinevirtual

Definition at line 68 of file stream_gen.hh.

Member Function Documentation

◆ create()

StreamGen * gem5::StreamGen::create ( const BaseTrafficGenParams &  p)
static

Factory method for constructing a Stream generator.

The Stream generator type is selected by the StreamGenType enum parameter.

@params p pointer to BaseTrafficGenParams struct where the stream generator type is stored.

Returns
a pointer to the newly alocated StremGen

Definition at line 44 of file stream_gen.cc.

References gem5::MipsISA::p.

◆ pickStreamID()

virtual uint32_t gem5::StreamGen::pickStreamID ( )
pure virtual

◆ pickSubstreamID()

virtual uint32_t gem5::StreamGen::pickSubstreamID ( )
pure virtual

◆ ssidValid()

bool gem5::StreamGen::ssidValid ( ) const
inline

Returns true if the substreamID generation is valid and hence should be taken into account.

It is valid if the set of substreamIDs passed as a parameter to the TrafficGenerator is a non empty list.

Returns
true if ssid is valid, false otherwise

Definition at line 92 of file stream_gen.hh.

References substreamIds.

Member Data Documentation

◆ streamIds

std::vector<uint32_t> gem5::StreamGen::streamIds
protected

Store preset Stream and Substream IDs to use for requests This is the set of available streamIDs the generator can pick.

The actual ID being picked for a specific memory request is selected by the pickStreamID and pickSubstreamID methods.

Definition at line 102 of file stream_gen.hh.

Referenced by gem5::FixedStreamGen::FixedStreamGen(), gem5::FixedStreamGen::pickStreamID(), gem5::RandomStreamGen::pickStreamID(), and StreamGen().

◆ substreamIds

std::vector<uint32_t> gem5::StreamGen::substreamIds
protected

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

Generated on Mon Jan 13 2025 04:28:58 for gem5 by doxygen 1.9.8