44#ifndef __CPU_TRAFFIC_GEN_TRACE_GEN_HH__
45#define __CPU_TRAFFIC_GEN_TRACE_GEN_HH__
161 const std::string& trace_file,
Addr addr_offset)
162 :
BaseGen(obj, requestor_id, _duration),
Declaration of the base generator class for all generators.
Base class for all generators, with the shared functionality and virtual functions for entering,...
A Packet is used to encapsulate a transfer between two objects in the memory system (e....
Abstract superclass for simulation objects.
The trace replay generator reads a trace file and plays back the transactions.
void exit()
Exit this generator state.
PacketPtr getNextPacket()
Get the next generated packet.
bool traceComplete
Set to true when the trace replay for one instance of state is complete.
Tick nextPacketTick(bool elastic, Tick delay) const
Returns the tick when the next request should be generated.
Addr addrOffset
Offset for memory requests.
TraceGen(SimObject &obj, RequestorID requestor_id, Tick _duration, const std::string &trace_file, Addr addr_offset)
Create a trace generator.
TraceElement currElement
Store the current and next element in the trace.
Tick tickOffset
Stores the time when the state was entered.
void enter()
Enter this generator state.
InputStream trace
Input stream used for reading the input trace file.
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
uint64_t Tick
Tick count type.
Declaration of the Packet class.
Declaration of a wrapper for protobuf output streams and input streams.
This struct stores a line in the trace file.
MemCmd cmd
Specifies if the request is to be a read or a write.
Addr addr
The address for the request.
Addr blocksize
The size of the access for the request.
Request::FlagsType flags
Potential request flags to use.
void clear()
Make this element invalid.
Tick tick
The time at which the request should be sent.
bool isValid() const
Check validity of this element.