29#ifndef __MEM_PORT_TERMINATOR_HH__
30#define __MEM_PORT_TERMINATOR_HH__
48#include "params/PortTerminator.hh"
75 panic(
"Received an unexpected response. RequestPorts on a "
76 "PortTerminator never issue any requests. Therefore, they should "
77 "never receive a response.\n");
A Packet is used to encapsulate a transfer between two objects in the memory system (e....
definition of the ReqPort class.
ReqPort(const std::string &name)
bool recvTimingResp(PacketPtr pkt) override
Receive a timing response from the peer.
void recvReqRetry() override
Called by the peer if sendTimingReq was called on this peer (causing recvTimingReq to be called on th...
void recvRangeChange() override
Called to receive an address range change from the peer response port.
definition of the RespPort class.
RespPort(const std::string &name)
PortTerminator(const PortTerminatorParams ¶ms)
std::vector< ReqPort > reqPorts
std::vector< RespPort > respPorts
Port & getPort(const std::string &if_name, PortID idx=InvalidPortID) override
Get a port with a given name and index.
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...
A ResponsePort is a specialization of a port.
Abstract superclass for simulation objects.
#define panic(...)
This implements a cprintf based panic() function.
const Params & params() const
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
const PortID InvalidPortID
int16_t PortID
Port index/ID type, and a symbolic name for an invalid port id.