Go to the documentation of this file.
32 #ifndef CPU_TESTERS_PROTOCOL_TESTER_PROTOCOL_TESTER_HH_
33 #define CPU_TESTERS_PROTOCOL_TESTER_PROTOCOL_TESTER_HH_
60 #include "params/ProtocolTester.hh"
83 {
panic(
"%s does not expect a retry\n",
name()); }
121 void init()
override;
int16_t PortID
Port index/ID type, and a symbolic name for an invalid port id.
std::vector< DmaThread * > dmaThreads
const std::string name() const
Return port name (for DPRINTF).
ProtocolTester(const Params &p)
std::vector< GMTokenPort * > cuTokenPorts
std::vector< TokenManager * > cuTokenManagers
const PortID id
A numeric identifier to distinguish ports in a vector, and set to InvalidPortID in case this port is ...
std::vector< RequestPort * > dmaPorts
std::vector< RequestPort * > cpuPorts
std::vector< RequestPort * > cuSqcPorts
void init() override
init() is called after all C++ SimObjects have been created and all ports are connected.
const PortID InvalidPortID
A RequestPort is a specialisation of a Port, which implements the default protocol for the three diff...
RequestorID requestorId()
Port & getPort(const std::string &if_name, PortID idx=InvalidPortID) override
Get a port with a given name and index.
int getEpisodeLength() const
std::vector< CpuThread * > cpuThreads
A Packet is used to encapsulate a transfer between two objects in the memory system (e....
void recvReqRetry()
Called by the peer if sendTimingReq was called on this peer (causing recvTimingReq to be called on th...
std::vector< RequestPort * > cuScalarPorts
GMTokenPort(const std::string &name, ProtocolTester *_tester, PortID id=InvalidPortID)
void dumpErrorLog(std::stringstream &ss)
A virtual base opaque structure used to hold state associated with the packet (e.g....
bool checkDRF(Location atomic_loc, Location loc, bool isStore) const
The ClockedObject class extends the SimObject with a clock and accessor functions to relate ticks to ...
int numNormalLocsPerAtomic
ProtocolTesterParams Params
virtual void recvReqRetry()
Called by the peer if sendTimingReq was called on this peer (causing recvTimingReq to be called on th...
Ports are used to interface objects to each other.
SenderState(TesterThread *_th)
virtual bool recvTimingResp(PacketPtr pkt)
Receive a timing response from the peer.
AddressManager::Location Location
AddressManager * getAddressManager() const
bool recvTimingResp(PacketPtr)
Receive a timing response from the peer.
AddressManager::Value Value
SeqPort(const std::string &_name, ProtocolTester *_tester, PortID _id, PortID _index)
Reference material can be found at the JEDEC website: UFS standard http://www.jedec....
AddressManager * addrManager
std::vector< RequestPort * > cuVectorPorts
#define panic(...)
This implements a cprintf based panic() function.
std::vector< GpuWavefront * > wfs
Generated on Sun Jul 30 2023 01:56:53 for gem5 by doxygen 1.8.17