CIRCT 24.0.0git
Loading...
Searching...
No Matches
esi::Accelerator Class Reference

Top level accelerator class. More...

#include <Accelerator.h>

Inheritance diagram for esi::Accelerator:
Collaboration diagram for esi::Accelerator:

Public Member Functions

 Accelerator ()=delete
 Accelerator (const Accelerator &)=delete
 ~Accelerator ()=default
 Accelerator (std::optional< ModuleInfo > info, std::vector< std::unique_ptr< Instance > > children, std::vector< services::Service * > services, std::vector< std::unique_ptr< BundlePort > > &&ports)
Public Member Functions inherited from esi::HWModule
 HWModule (const HWModule &)=delete
HWModule & operator= (const HWModule &)=delete
virtual ~HWModule ()=default
std::optional< ModuleInfo > getInfo () const
 Access the module's metadata, if any.
std::vector< const Instance * > getChildrenOrdered () const
 Get a vector of the module's children in a deterministic order.
const std::map< AppID, Instance * > & getChildren () const
 Access the module's children by ID.
std::vector< std::reference_wrapper< BundlePort > > getPortsOrdered () const
 Get the module's ports in a deterministic order.
const std::map< AppID, BundlePort & > & getPorts () const
 Access the module's ports by ID.
const std::vector< services::Service * > & getServices () const
 Access the services provided by this module.
bool poll ()
 Master poll method.
const HWModule * resolveInst (const AppIDPath &path, AppIDPath &lastLookup) const
 Attempt to resolve a path to a module instance.
BundlePort * resolvePort (const AppIDPath &path, AppIDPath &lastLookup) const
 Attempt to resolve a path to a port.

Additional Inherited Members

Protected Member Functions inherited from esi::HWModule
 HWModule (std::optional< ModuleInfo > info, std::vector< std::unique_ptr< Instance > > children, std::vector< services::Service * > services, std::vector< std::unique_ptr< BundlePort > > &&ports)
Protected Attributes inherited from esi::HWModule
const std::optional< ModuleInfo > info
const std::vector< std::unique_ptr< Instance > > children
const std::map< AppID, Instance * > childIndex
const std::vector< services::Service * > services
const std::vector< std::unique_ptr< BundlePort > > ports
const std::map< AppID, BundlePort & > portIndex

Detailed Description

Top level accelerator class.

Maintains a shared pointer to the manifest, which owns objects used in the design hierarchy owned by this class. Since this class owns the entire design hierarchy, when it gets destroyed the entire design hierarchy gets destroyed so all of the instances, ports, etc. are no longer valid pointers.

Definition at line 85 of file Accelerator.h.

Constructor & Destructor Documentation

◆ Accelerator() [1/3]

esi::Accelerator::Accelerator ( )
delete

Referenced by Accelerator().

◆ Accelerator() [2/3]

esi::Accelerator::Accelerator ( const Accelerator & )
delete

References Accelerator().

◆ ~Accelerator()

esi::Accelerator::~Accelerator ( )
default

◆ Accelerator() [3/3]

esi::Accelerator::Accelerator ( std::optional< ModuleInfo > info,
std::vector< std::unique_ptr< Instance > > children,
std::vector< services::Service * > services,
std::vector< std::unique_ptr< BundlePort > > && ports )
inline

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