28#ifndef __SYSTEMC_TLM_PORT_WRAPPER_HH__
29#define __SYSTEMC_TLM_PORT_WRAPPER_HH__
38template <
unsigned int BUSWIDTH,
typename FW_IF,
typename BW_IF,
int N,
40class TlmInitiatorBaseWrapper;
42template <
unsigned int BUSWIDTH,
typename FW_IF,
typename BW_IF,
int N,
44class TlmTargetBaseWrapper;
46template <
unsigned int BUSWIDTH,
typename FW_IF,
typename BW_IF,
int N,
69 fatal_if(!target,
"Attempt to bind TLM initiator socket %s to "
70 "incompatible port %s.",
name(), peer.
name());
81 panic(
"TLM sockets can't be unbound.");
88template <
unsigned int BUSWIDTH,
typename FW_IF,
typename BW_IF,
int N,
114 using namespace gem5;
116 panic(
"TLM sockets can't be unbound.");
123template <
unsigned int BUSWIDTH=32,
130template <
unsigned int BUSWIDTH=32,
Ports are used to interface objects to each other.
const std::string name() const
Return port name (for DPRINTF).
virtual void bind(Port &peer)
Attach to a peer port.
InitiatorSocket & _initiator
TlmTargetBaseWrapper< BUSWIDTH, FW_IF, BW_IF, N, POL > TargetWrapper
InitiatorSocket::base_target_socket_type TargetSocket
void unbind() override
Dettach from a peer port.
tlm::tlm_base_initiator_socket< BUSWIDTH, FW_IF, BW_IF, N, POL > InitiatorSocket
void bind(gem5::Port &peer) override
Attach to a peer port.
InitiatorSocket & initiator()
TlmInitiatorBaseWrapper(InitiatorSocket &i, const std::string &_name, gem5::PortID _id)
void bind(gem5::Port &peer) override
Attach to a peer port.
void unbind() override
Dettach from a peer port.
tlm::tlm_base_target_socket< BUSWIDTH, FW_IF, BW_IF, N, POL > TargetSocket
TlmTargetBaseWrapper(TargetSocket &t, const std::string &_name, gem5::PortID _id)
virtual void bind(base_target_socket_type &s)
#define panic(...)
This implements a cprintf based panic() function.
#define fatal_if(cond,...)
Conditional fatal macro that checks the supplied condition and only causes a fatal error if the condi...
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
int16_t PortID
Port index/ID type, and a symbolic name for an invalid port id.