Fletchgen
The Fletcher Design Generator
Public Member Functions | Protected Attributes | List of all members
fletchgen::Mantle Class Reference

A component that wraps a Kernel and all ArrayReaders/Writers resulting from a Schema set. More...

#include <mantle.h>

Inheritance diagram for fletchgen::Mantle:
Inheritance graph
[legend]
Collaboration diagram for fletchgen::Mantle:
Collaboration graph
[legend]

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< Nucleusnucleus () 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< Nucleusnucleus_
 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.
 

Detailed Description

A component that wraps a Kernel and all ArrayReaders/Writers resulting from a Schema set.

Definition at line 36 of file mantle.h.


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