42#ifndef __CPU_RUBYTEST_RUBYTESTER_HH__
43#define __CPU_RUBYTEST_RUBYTESTER_HH__
54#include "params/RubyTester.hh"
86 {
panic(
"%s does not expect a retry\n",
name()); }
110 void init()
override;
120 void print(std::ostream& out)
const;
The ClockedObject class extends the SimObject with a clock and accessor functions to relate ticks to ...
A Packet is used to encapsulate a transfer between two objects in the memory system (e....
Ports are used to interface objects to each other.
const std::string name() const
Return port name (for DPRINTF).
A RequestPort is a specialisation of a Port, which implements the default protocol for the three diff...
virtual bool recvTimingResp(PacketPtr pkt)
Receive a timing response from the peer.
virtual void recvReqRetry()
Called by the peer if sendTimingReq was called on this peer (causing recvTimingReq to be called on th...
CpuPort(const std::string &_name, RubyTester *_tester, PortID _id, PortID _index)
EventFunctionWrapper checkStartEvent
void printStats(std::ostream &out) const
std::vector< RequestPort * > readPorts
bool isInstOnlyCpuPort(int idx)
void printConfig(std::ostream &out) const
RubyTester & operator=(const RubyTester &obj)
void incrementCheckCompletions()
RequestPort * getWritableCpuPort(int idx)
void hitCallback(ruby::NodeID proc, ruby::SubBlock *data)
int m_num_inst_only_ports
RubyTester(const Params &p)
RequestorID requestorId()
void init() override
init() is called after all C++ SimObjects have been created and all ports are connected.
bool isInstDataCpuPort(int idx)
std::vector< RequestPort * > writePorts
RubyTester(const RubyTester &obj)
RequestPort * getReadableCpuPort(int idx)
uint64_t m_checks_to_complete
int m_num_inst_data_ports
CheckTable * m_checkTable_ptr
Port & getPort(const std::string &if_name, PortID idx=InvalidPortID) override
Get a port with a given name and index.
uint64_t m_checks_completed
std::vector< Cycles > m_last_progress_vector
void print(std::ostream &out) const
ClockedObject declaration and implementation.
#define panic(...)
This implements a cprintf based panic() function.
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
const PortID InvalidPortID
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
int16_t PortID
Port index/ID type, and a symbolic name for an invalid port id.
static std::ostream & operator<<(std::ostream &os, const DummyMatRegContainer &d)
Declaration of the Packet class.
A virtual base opaque structure used to hold state associated with the packet (e.g....
SenderState(Addr addr, int size)