gem5
v20.1.0.0
|
#include <base_gen.hh>
Public Member Functions | |
StochasticGen (SimObject &obj, RequestorID requestor_id, Tick _duration, Addr start_addr, Addr end_addr, Addr _blocksize, Addr cacheline_size, Tick min_period, Tick max_period, uint8_t read_percent, Addr data_limit) | |
Public Member Functions inherited from BaseGen | |
BaseGen (SimObject &obj, RequestorID requestor_id, Tick _duration) | |
Create a base generator. More... | |
virtual | ~BaseGen () |
std::string | name () const |
Get the name, useful for DPRINTFs. More... | |
virtual void | enter ()=0 |
Enter this generator state. More... | |
virtual PacketPtr | getNextPacket ()=0 |
Get the next generated packet. More... | |
virtual void | exit () |
Exit this generator state. More... | |
virtual Tick | nextPacketTick (bool elastic, Tick delay) const =0 |
Determine the tick when the next packet is available. More... | |
Protected Attributes | |
const Addr | startAddr |
Start of address range. More... | |
const Addr | endAddr |
End of address range. More... | |
const Addr | blocksize |
Blocksize and address increment. More... | |
const Addr | cacheLineSize |
Cache line size in the simulated system. More... | |
const Tick | minPeriod |
Request generation period. More... | |
const Tick | maxPeriod |
const uint8_t | readPercent |
Percent of generated transactions that should be reads. More... | |
const Addr | dataLimit |
Maximum amount of data to manipulate. More... | |
Protected Attributes inherited from BaseGen | |
const std::string | _name |
Name to use for status and debug printing. More... | |
const RequestorID | requestorId |
The RequestorID used for generating requests. More... | |
Additional Inherited Members | |
Public Attributes inherited from BaseGen | |
const Tick | duration |
Time to spend in this state. More... | |
Protected Member Functions inherited from BaseGen | |
PacketPtr | getPacket (Addr addr, unsigned size, const MemCmd &cmd, Request::FlagsType flags=0) |
Generate a new request and associated packet. More... | |
Definition at line 132 of file base_gen.hh.
StochasticGen::StochasticGen | ( | SimObject & | obj, |
RequestorID | requestor_id, | ||
Tick | _duration, | ||
Addr | start_addr, | ||
Addr | end_addr, | ||
Addr | _blocksize, | ||
Addr | cacheline_size, | ||
Tick | min_period, | ||
Tick | max_period, | ||
uint8_t | read_percent, | ||
Addr | data_limit | ||
) |
Definition at line 79 of file base_gen.cc.
References blocksize, cacheLineSize, fatal, and BaseGen::name().
|
protected |
Blocksize and address increment.
Definition at line 150 of file base_gen.hh.
Referenced by DramGen::genStartAddr(), NvmGen::genStartAddr(), RandomGen::getNextPacket(), LinearGen::getNextPacket(), DramGen::getNextPacket(), NvmGen::getNextPacket(), DramRotGen::getNextPacket(), and StochasticGen().
|
protected |
Cache line size in the simulated system.
Definition at line 153 of file base_gen.hh.
Referenced by StochasticGen().
|
protected |
Maximum amount of data to manipulate.
Definition at line 165 of file base_gen.hh.
Referenced by RandomGen::nextPacketTick(), and LinearGen::nextPacketTick().
|
protected |
End of address range.
Definition at line 147 of file base_gen.hh.
Referenced by DramGen::genStartAddr(), NvmGen::genStartAddr(), RandomGen::getNextPacket(), and LinearGen::getNextPacket().
|
protected |
Definition at line 157 of file base_gen.hh.
Referenced by RandomGen::nextPacketTick(), and LinearGen::nextPacketTick().
|
protected |
Request generation period.
Definition at line 156 of file base_gen.hh.
Referenced by RandomGen::nextPacketTick(), and LinearGen::nextPacketTick().
|
protected |
Percent of generated transactions that should be reads.
Definition at line 162 of file base_gen.hh.
Referenced by DramRotGen::DramRotGen(), RandomGen::getNextPacket(), LinearGen::getNextPacket(), DramGen::getNextPacket(), NvmGen::getNextPacket(), and DramRotGen::getNextPacket().
|
protected |
Start of address range.
Definition at line 144 of file base_gen.hh.
Referenced by LinearGen::enter(), DramGen::genStartAddr(), NvmGen::genStartAddr(), RandomGen::getNextPacket(), and LinearGen::getNextPacket().