CIRCT  19.0.0git
Public Member Functions | List of all members
esi::Accelerator Class Reference

Top level accelerator class. More...

#include <Accelerator.h>

Inheritance diagram for esi::Accelerator:
Inheritance graph
[legend]
Collaboration diagram for esi::Accelerator:
Collaboration graph
[legend]

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
virtual ~HWModule ()=default
 
std::optional< ModuleInfogetInfo () const
 Access the module's metadata, if any. More...
 
std::vector< const Instance * > getChildrenOrdered () const
 Get a vector of the module's children in a deterministic order. More...
 
const std::map< AppID, Instance * > & getChildren () const
 Access the module's children by ID. More...
 
std::vector< std::reference_wrapper< BundlePort > > getPortsOrdered () const
 Get the module's ports in a deterministic order. More...
 
const std::map< AppID, const BundlePort & > & getPorts () const
 Access the module's ports by ID. More...
 

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< ModuleInfoinfo
 
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, const 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 56 of file Accelerator.h.

Constructor & Destructor Documentation

◆ Accelerator() [1/3]

esi::Accelerator::Accelerator ( )
delete

◆ Accelerator() [2/3]

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

◆ ~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

Definition at line 61 of file Accelerator.h.


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