|
| FuncUnit (std::string name, Location, std::vector< OpGraphOpCode > supported_modes, unsigned size, int II, int latency, bool isElastic=false) |
|
virtual | ~FuncUnit () |
|
virtual MRRG * | createMRRG (unsigned II) override |
|
virtual BitConfig | getBitConfig (const MRRG &mrrg, const OpGraph &og, const Mapping &map, const ConfigCell &ccell, const MRRGNodesFromOpNode &mrrg_nodes_from_op_node, const MRRGNodesFromValNode &mrrg_nodes_from_val_node) const override |
|
virtual std::string | GenericName () override |
|
int | getII () const |
|
int | getLatency () const |
|
auto & | getSupportedModes () const |
|
| Module (std::string name, Location, unsigned size=DEFAULT_SIZE, bool isElastic=false) |
|
| Module (std::string name, std::string template_name, Location loc={0, 0}, unsigned size=DEFAULT_SIZE, bool isElastic=false) |
|
virtual | ~Module () |
|
| Module (const Module &)=delete |
|
| Module (Module &&)=default |
|
Module & | operator= (const Module &)=delete |
|
Module & | operator= (Module &&)=default |
|
void | print () |
|
void | print_dot () |
|
void | print_ports () |
|
void | print_connections () |
|
void | print_submodules () |
|
void | print_configcells () |
|
void | addConfig (ConfigCell *c, std::vector< std::string > ConnectTo) |
|
void | addConfig (std::string name, std::vector< std::string > ConnectTo, int contexts, bool isElastic) |
|
void | addSubModule (Module *m) |
|
void | addSubModule (Module *m, double xPos, double yPos, double width, double height) |
|
void | connectPorts (std::string src, std::string dst, bool isElastic) |
|
void | addConnection (std::string src, std::string dst, bool isInMRRG=true) |
|
void | addElasticConnection (std::string src, std::string dst) |
|
void | addPort (std::string portname, port_type pt, unsigned size) |
|
void | addPort (std::string portname, port_type pt, unsigned size, bool isElastic) |
|
void | addElasticPort (std::string portname, port_type pt, unsigned size) |
|
void | addPort (std::string portname, port_type pt, std::string ParameterName, unsigned size) |
|
void | addPort (std::string portname, port_type pt, std::string ParameterName, unsigned size, bool isElastic) |
|
void | addElasticPort (std::string portname, port_type pt, std::string ParameterName, unsigned size) |
|
void | addParameter (std::string parameterName, unsigned parameterValue) |
|
void | addVerilogPort (std::string name, port_type pt, std::string parameter, unsigned size) |
|
void | genConfigOrder (std::vector< ConfigCell * > &ConfigTable) const |
|
Module * | getSubModule (std::string) |
|
bool | isSubModule (Module *) |
|
Module * | getModule (std::string, std::string err_context="") |
|
Module * | getModuleFromPortName (std::string full_port_name, std::string err_context="") |
|
Port * | getPort (std::string full_port_name, std::string err_context="") |
|
int | getSize () const |
|
auto & | getName () const |
|
std::string | ReturnPath () const |
|
bool | hasConfigCells () const |
|
void | genVerilogCGRAME (std::string dir) |
|
void | genVerilogCoreIR (std::string dir, int contexts) |
|
void | GetModulesToPrint (std::queue< Module * > &ToPrint, std::set< std::string > &PrintedModMap) |
|
virtual void | GenModuleVerilog () |
|
CoreIR::TypeGenFun | makeCoreIRInterfaceGenerator () |
|
CoreIR::ModuleDefGenFun | makeCoreIRModuleDefinitonGenerator () |
|
virtual void | CoreIRGenModuleVerilog (CoreIR::Context *c, int contexts) |
|
bool | setNodePosition (const std::string &nodeName, double x, double y) |
|
std::pair< bool, std::pair< double, double > > | getSubModulePosition (const std::string &submodName) |
|
std::pair< bool, std::pair< double, double > > | getNodePosition (const std::string &nodeName) |
|
bool | addsSynchronousCircuitry () const |
|
|
std::map< std::string, unsigned > | parameterlist |
|
std::map< std::string, Port * > | ports |
|
std::map< Port *, Connection * > | connections |
|
std::map< std::string, Module * > | submodules |
|
std::map< std::string, ConfigCell * > | configcells |
|
std::vector< Port > | portsToPropagate |
|
double | area = 0. |
|
unsigned int | hierarchyLevel = 0 |
|
bool | isLastInHierarchy |
|
bool | isElastic = false |
|
bool | submodsSet |
|
Location | loc |
|
int | overridenFanoutCount = -1 |
|
Module * | parent = nullptr |
|
void | GetConfigsToPrint (std::queue< ConfigCell * > &q, std::set< unsigned > &uniq) |
|
void | GenModuleHeader (bool HasConfig, bool HasRegisters) |
|
void | GenParameters () |
|
void | GenPortSpecs (bool HasConfig, bool HasRegisters) |
|
virtual void | GenConnections () |
|
virtual void | GenFunctionality () |
|
void | CoreIRGetModulesToPrint (std::queue< Module * > &ToPrint, std::set< std::string > &PrintedModMap) |
|
virtual nlohmann::json | CoreIRGenFunctionality () |
|
void | GenerateMatrix (StringMatrix &Matrix) |
|
void | DetermineConnections (StringMatrix &Matrix, PrintList &WireList, PrintList &SubmodList, PrintList &AssignList) |
|
virtual std::vector< ResolvedVeroligModuleParameter > | ResolveVerilogParameters () const |
|
int | FindPortIndex (std::string PortName) |
|
int | FindSubmoduleIndex (std::string SubmoduleName) |
|
Functional Unit, does one of a set of arithmetic computations.
Ports:
- 'in_a' is an input
- 'in_b' is an input
- 'out' is an output
- 'select' is the configuration port. Only present if more than one
supported_modes
.
Definition at line 406 of file Module.h.