|
CIRCT 22.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. | |
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 |
|
inline |
Definition at line 641 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 673 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 668 of file Cosim.cpp.
Referenced by CosimEngine(), and createPort().
|
private |
Definition at line 666 of file Cosim.cpp.
Referenced by createPort().