Fletchgen
The Fletcher Design Generator
|
A component that wraps a Kernel and all ArrayReaders/Writers resulting from a Schema set. More...
#include <mantle.h>
Public Member Functions | |
Mantle (std::string name, const std::vector< std::shared_ptr< RecordBatch >> &recordbatches, const std::shared_ptr< Nucleus > &nucleus, BusDim bus_dim, Axi4LiteSpec axi_spec) | |
Construct a Mantle based on a SchemaSet. | |
std::shared_ptr< Nucleus > | nucleus () const |
Return the kernel component of this Mantle. | |
std::vector< Instance * > | recordbatch_instances () const |
Return all RecordBatch(Reader/Writer) instances of this Mantle. | |
std::vector< std::shared_ptr< RecordBatch > > | recordbatch_components () const |
Return all RecordBatch(Reader/Writer) components of this Mantle. | |
Protected Attributes | |
BusDim | bus_dim_ |
Top-level bus dimensions. | |
std::shared_ptr< Nucleus > | nucleus_ |
The Nucleus to be instantiated by this Mantle. | |
Instance * | nucleus_inst_ |
Shortcut to the instantiated Nucleus. | |
std::vector< Instance * > | recordbatch_instances_ |
The RecordBatch instances. | |
std::vector< std::shared_ptr< RecordBatch > > | recordbatch_components_ |
The RecordBatch components. | |
std::unordered_map< BusPort *, Instance * > | arbiters_ |
A mapping of bus port (containing the bus parameters and function) to arbiter instances. | |
A component that wraps a Kernel and all ArrayReaders/Writers resulting from a Schema set.