CIRCT 24.0.0git
Loading...
Searching...
No Matches
esi::backends::cosim::CosimEngine Class Reference

Implement the magic cosim channel communication. More...

Inheritance diagram for esi::backends::cosim::CosimEngine:
Collaboration diagram for esi::backends::cosim::CosimEngine:

Public Member Functions

 CosimEngine (CosimAccelerator &conn, AppIDPath idPath, const ServiceImplDetails &details, const HWClientDetails &clients)
std::unique_ptr< ChannelPort > createPort (AppIDPath idPath, const std::string &channelName, BundleType::Direction dir, const Type *type) override
 Each engine needs to know how to create a ports.
Public Member Functions inherited from esi::Engine
 Engine (AcceleratorConnection &conn)
virtual ~Engine ()=default
virtual void connect ()
 Start the engine, if applicable.
virtual void disconnect ()
 Stop the engine, if applicable.
virtual ChannelPort & requestPort (AppIDPath idPath, const std::string &channelName, BundleType::Direction dir, const Type *type)
 Get a port for a channel, from the cache if it exists or create it.

Private Attributes

CosimAccelerator & conn
std::map< AppIDPath, std::map< std::string, std::string > > clientChannelAssignments

Additional Inherited Members

Protected Attributes inherited from esi::Engine
bool connected
AcceleratorConnection & conn

Detailed Description

Implement the magic cosim channel communication.

Definition at line 788 of file Cosim.cpp.

Constructor & Destructor Documentation

◆ CosimEngine()

esi::backends::cosim::CosimEngine::CosimEngine ( CosimAccelerator & conn,
AppIDPath idPath,
const ServiceImplDetails & details,
const HWClientDetails & clients )
inline

Definition at line 790 of file Cosim.cpp.

References clientChannelAssignments, conn, and esi::Engine::Engine().

Member Function Documentation

◆ createPort()

std::unique_ptr< ChannelPort > CosimEngine::createPort ( AppIDPath idPath,
const std::string & channelName,
BundleType::Direction dir,
const Type * type )
overridevirtual

Each engine needs to know how to create a ports.

This method is called if a port doesn't exist in the engine cache.

Implements esi::Engine.

Definition at line 822 of file Cosim.cpp.

References clientChannelAssignments, conn, esi::BundlePort::isWrite(), and esi::AppIDPath::toStr().

Member Data Documentation

◆ clientChannelAssignments

std::map<AppIDPath, std::map<std::string, std::string> > esi::backends::cosim::CosimEngine::clientChannelAssignments
private

Definition at line 817 of file Cosim.cpp.

Referenced by CosimEngine(), and createPort().

◆ conn

CosimAccelerator& esi::backends::cosim::CosimEngine::conn
private

Definition at line 815 of file Cosim.cpp.

Referenced by CosimEngine(), and createPort().


The documentation for this class was generated from the following file: