Go to the documentation of this file.
38 #ifndef __MEM_MEM_DELAY_HH__
39 #define __MEM_MEM_DELAY_HH__
44 struct MemDelayParams;
45 struct SimpleMemDelayParams;
180 #endif //__MEM_MEM_DELAY_HH__
const Tick writeRespDelay
SnoopRespPacketQueue snoopRespQueue
RequestPort(const std::string &_name, MemDelay &_parent)
virtual Tick delaySnoopResp(PacketPtr pkt)
Delay a snoop response by some number of ticks.
Delay packets by a constant time.
const PortID InvalidPortID
void recvRangeChange() override
Called to receive an address range change from the peer response port.
Tick recvAtomic(PacketPtr pkt) override
Receive an atomic request packet from the peer.
uint64_t Tick
Tick count type.
RespPacketQueue respQueue
int16_t PortID
Port index/ID type, and a symbolic name for an invalid port id.
AddrRangeList getAddrRanges() const
Get the address ranges of the connected responder port.
bool recvTimingResp(PacketPtr pkt) override
Receive a timing response from the peer.
AddrRangeList getAddrRanges() const override
Get a list of the non-overlapping address ranges the owner is responsible for.
virtual Tick delayResp(PacketPtr pkt)
Delay a response by some number of ticks.
const Params * params() const
bool recvTimingSnoopResp(PacketPtr pkt) override
Receive a timing snoop response from the peer.
The ClockedObject class extends the SimObject with a clock and accessor functions to relate ticks to ...
void recvFunctional(PacketPtr pkt) override
Receive a functional request packet from the peer.
bool recvTimingReq(PacketPtr pkt) override
Receive a timing request from the peer.
MemDelay(const MemDelayParams *params)
SimpleMemDelay(const SimpleMemDelayParams *params)
The QueuedRequestPort combines two queues, a request queue and a snoop response queue,...
Ports are used to interface objects to each other.
bool isSnooping() const
Find out if the peer request port is snooping or not.
A queued port is a port that has an infinite queue for outgoing packets and thus decouples the module...
Tick delayResp(PacketPtr pkt) override
Delay a response by some number of ticks.
void recvFunctionalSnoop(PacketPtr pkt) override
Receive a functional snoop request packet from the peer.
This abstract component provides a mechanism to delay packets.
Tick recvAtomicSnoop(PacketPtr pkt) override
Receive an atomic snoop request packet from our peer.
void recvTimingSnoopReq(PacketPtr pkt) override
Receive a timing snoop request from the peer.
Port & getPort(const std::string &if_name, PortID idx=InvalidPortID) override
Get a port with a given name and index.
bool isSnooping() const override
Determine if this request port is snooping or not.
bool tryTiming(PacketPtr pkt) override
Availability request from the peer.
bool trySatisfyFunctional(PacketPtr pkt)
void init() override
init() is called after all C++ SimObjects have been created and all ports are connected.
A Packet is used to encapsulate a transfer between two objects in the memory system (e....
ResponsePort responsePort
ResponsePort(const std::string &_name, MemDelay &_parent)
virtual Tick delayReq(PacketPtr pkt)
Delay a request by some number of ticks.
void sendRangeChange() const
Called by the owner to send a range change.
Tick delayReq(PacketPtr pkt) override
Delay a request by some number of ticks.
Generated on Wed Sep 30 2020 14:02:13 for gem5 by doxygen 1.8.17