CIRCT 20.0.0git
|
Implement the magic cosim channel communication. More...
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. | |
![]() | |
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 |
|
inline |
Definition at line 577 of file Cosim.cpp.
References clientChannelAssignments.
|
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 609 of file Cosim.cpp.
References clientChannelAssignments, conn, esi::backends::cosim::CosimAccelerator::StubContainer::getChannelDesc(), esi::BundlePort::isWrite(), esi::backends::cosim::CosimAccelerator::rpcClient, esi::backends::cosim::CosimAccelerator::StubContainer::stub, and esi::AppIDPath::toStr().
|
private |
Definition at line 604 of file Cosim.cpp.
Referenced by CosimEngine(), and createPort().
|
private |
Definition at line 602 of file Cosim.cpp.
Referenced by createPort().