![]() |
PandA-2024.02
|
#include <hls_flow_step_factory.hpp>


Public Member Functions | |
| HLSFlowStepFactory (const DesignFlowManagerConstRef design_flow_manager, const HLS_managerRef _HLS_mgr, const ParameterConstRef parameters) | |
| Constructor. More... | |
| ~HLSFlowStepFactory () override | |
| Destructor. More... | |
| const std::string | GetPrefix () const override |
| Return the prefix of the steps created by the factory. More... | |
| DesignFlowStepRef | CreateHLSFlowStep (const HLSFlowStep_Type hls_flow_step_type, const unsigned int funId, const HLSFlowStepSpecializationConstRef hls_flow_step_specialization=HLSFlowStepSpecializationConstRef()) const |
| Create a scheduling design flow step. More... | |
| const DesignFlowStepSet | CreateHLSFlowSteps (const CustomUnorderedSet< std::pair< HLSFlowStep_Type, HLSFlowStepSpecializationConstRef >> &hls_flow_steps) const |
| Create the frontend design flow steps. More... | |
| const DesignFlowStepSet | CreateHLSFlowSteps (const std::pair< HLSFlowStep_Type, HLSFlowStepSpecializationConstRef > &hls_flow_step) const |
| The same as CreateHLSFlowSteps, but just for one step. More... | |
| const DesignFlowStepSet | CreateHLSFlowSteps (const HLSFlowStep_Type type, const HLSFlowStepSpecializationConstRef hls_flow_step_specialization) const |
| The same as CreateHLSFlowSteps, but just for one step, with an even simpler syntax. More... | |
| const DesignFlowStepRef | CreateHLSFlowStep (const std::pair< HLSFlowStep_Type, HLSFlowStepSpecializationConstRef > &hls_flow_step) const |
| const DesignFlowStepRef | CreateHLSFlowStep (const HLSFlowStep_Type type, const HLSFlowStepSpecializationConstRef hls_flow_step_specialization) const |
Public Member Functions inherited from DesignFlowStepFactory | |
| DesignFlowStepFactory (const DesignFlowManagerConstRef &design_flow_manager, const ParameterConstRef ¶meters) | |
| Constructor. More... | |
| virtual | ~DesignFlowStepFactory () |
| Destructor. More... | |
| virtual DesignFlowStepRef | CreateFlowStep (const std::string &signature) const |
| Return a step given the signature. More... | |
Protected Member Functions | |
| bool | checkNode (const xml_element *node, unsigned int funId, const std::string &ref_step) const |
| Verifies if the current node has to be added to the list of steps. More... | |
Protected Attributes | |
| const HLS_managerRef | HLS_mgr |
| The HLS manager. More... | |
Protected Attributes inherited from DesignFlowStepFactory | |
| const Wrefcount< const DesignFlowManager > | design_flow_manager |
| The design flow manager. More... | |
| const ParameterConstRef | parameters |
| The set of input parameters. More... | |
| int | debug_level |
| The debug level. More... | |
Definition at line 56 of file hls_flow_step_factory.hpp.
| HLSFlowStepFactory::HLSFlowStepFactory | ( | const DesignFlowManagerConstRef | design_flow_manager, |
| const HLS_managerRef | _HLS_mgr, | ||
| const ParameterConstRef | parameters | ||
| ) |
Constructor.
| design_flow_manager | is the design flow manager |
| HLS_manager | is the HLS manager |
| parameters | is the set of input parameters |
Definition at line 136 of file hls_flow_step_factory.cpp.
References DesignFlowStepFactory::debug_level, GET_CLASS, DesignFlowStepFactory::parameters, and ~HLSFlowStepFactory().

|
overridedefault |
|
protected |
Verifies if the current node has to be added to the list of steps.
| DesignFlowStepRef HLSFlowStepFactory::CreateHLSFlowStep | ( | const HLSFlowStep_Type | hls_flow_step_type, |
| const unsigned int | funId, | ||
| const HLSFlowStepSpecializationConstRef | hls_flow_step_specialization = HLSFlowStepSpecializationConstRef() |
||
| ) | const |
Create a scheduling design flow step.
| hls_flow_step_type | is the type of scheduling step to be created |
| funId | is the index of the function to be scheduled |
| hls_flow_step_specialization | contains information about how specialize the single step |
Definition at line 151 of file hls_flow_step_factory.cpp.
References ADD_LIBRARY, ALLOCATION, BB_STG_CREATOR, C_TESTBENCH_EXECUTION, CALL_GRAPH_UNFOLDING, CDFC_MODULE_BINDING, CHORDAL_COLORING_REGISTER_BINDING, CLASSIC_DATAPATH_CREATOR, CLASSICAL_HLS_SYNTHESIS_FLOW, COLORING_REGISTER_BINDING, HLSFunctionStep::ComputeSignature(), HLS_step::ComputeSignature(), CONTROL_FLOW_CHECKER, DATAPATH_CS_CREATOR, DATAPATH_CS_PARALLEL_CREATOR, DesignFlowStepFactory::debug_level, DEBUG_LEVEL_VERY_PEDANTIC, DesignFlowStepFactory::design_flow_manager, DOMINATOR_ALLOCATION, DOMINATOR_FUNCTION_ALLOCATION, DOMINATOR_MEMORY_ALLOCATION, DOMINATOR_MEMORY_ALLOCATION_CS, DRY_RUN_EVALUATION, EASY_MODULE_BINDING, HLS_step::EnumToName(), EVALUATION, FSM_CONTROLLER_CREATOR, FSM_CS_CONTROLLER_CREATOR, FSM_NI_SSA_LIVENESS, GENERATE_HDL, GENERATE_SIMULATION_SCRIPT, GENERATE_SYNTHESIS_SCRIPT, HLS_FUNCTION_BIT_VALUE, HLS_mgr, HLS_SYNTHESIS_FLOW, HW_DISCREPANCY_ANALYSIS, HW_PATH_COMPUTATION, INDENT_DBG_MEX, INFERRED_INTERFACE_GENERATION, INITIALIZE_HLS, INTERFACE_CS_GENERATION, LIST_BASED_SCHEDULING, Wrefcount< T >::lock(), MINIMAL_INTERFACE_GENERATION, MUX_INTERCONNECTION_BINDING, OMP_BODY_LOOP_SYNTHESIS_FLOW, DesignFlowStepFactory::parameters, PIPELINE_CONTROLLER_CREATOR, PORT_SWAPPING, SCHED_CHAINING, STANDARD_HLS_FLOW, TEST_VECTOR_PARSER, TESTBENCH_GENERATION, THROW_UNREACHABLE, TOP_ENTITY_CREATION, TOP_ENTITY_CS_CREATION, TOP_ENTITY_CS_PARALLEL_CREATION, TOP_ENTITY_MEMORY_MAPPED_CREATION, UNIQUE_MODULE_BINDING, UNIQUE_REGISTER_BINDING, UNKNOWN, VALUES_SCHEME_STORAGE_VALUE_INSERTION, VIRTUAL_DESIGN_FLOW, WB4_INTERCON_INTERFACE_GENERATION, WB4_INTERFACE_GENERATION, WEIGHTED_CLIQUE_REGISTER_BINDING, and WRITE_HLS_SUMMARY.
Referenced by CreateHLSFlowSteps().


| const DesignFlowStepRef HLSFlowStepFactory::CreateHLSFlowStep | ( | const std::pair< HLSFlowStep_Type, HLSFlowStepSpecializationConstRef > & | hls_flow_step | ) | const |
Definition at line 720 of file hls_flow_step_factory.cpp.
References CreateHLSFlowSteps().

| const DesignFlowStepRef HLSFlowStepFactory::CreateHLSFlowStep | ( | const HLSFlowStep_Type | type, |
| const HLSFlowStepSpecializationConstRef | hls_flow_step_specialization | ||
| ) | const |
Definition at line 727 of file hls_flow_step_factory.cpp.
References CreateHLSFlowSteps().

| const DesignFlowStepSet HLSFlowStepFactory::CreateHLSFlowSteps | ( | const CustomUnorderedSet< std::pair< HLSFlowStep_Type, HLSFlowStepSpecializationConstRef >> & | hls_flow_steps | ) | const |
Create the frontend design flow steps.
| hls_flow_steps | is the set of steps to be created |
Definition at line 585 of file hls_flow_step_factory.cpp.
References ADD_LIBRARY, ALLOCATION, BB_STG_CREATOR, C_TESTBENCH_EXECUTION, CALL_GRAPH_UNFOLDING, CDFC_MODULE_BINDING, CHORDAL_COLORING_REGISTER_BINDING, CLASSIC_DATAPATH_CREATOR, CLASSICAL_HLS_SYNTHESIS_FLOW, COLORING_REGISTER_BINDING, CONTROL_FLOW_CHECKER, CreateHLSFlowStep(), DATAPATH_CS_CREATOR, DATAPATH_CS_PARALLEL_CREATOR, DesignFlowStepFactory::debug_level, DEBUG_LEVEL_VERY_PEDANTIC, DOMINATOR_ALLOCATION, DOMINATOR_FUNCTION_ALLOCATION, DOMINATOR_MEMORY_ALLOCATION, DOMINATOR_MEMORY_ALLOCATION_CS, DRY_RUN_EVALUATION, EASY_MODULE_BINDING, HLS_step::EnumToName(), EVALUATION, FSM_CONTROLLER_CREATOR, FSM_CS_CONTROLLER_CREATOR, FSM_NI_SSA_LIVENESS, GENERATE_HDL, GENERATE_SIMULATION_SCRIPT, GENERATE_SYNTHESIS_SCRIPT, HLS_FUNCTION_BIT_VALUE, HLS_mgr, HLS_SYNTHESIS_FLOW, HW_DISCREPANCY_ANALYSIS, HW_PATH_COMPUTATION, INDENT_DBG_MEX, INFERRED_INTERFACE_GENERATION, INITIALIZE_HLS, INTERFACE_CS_GENERATION, LIST_BASED_SCHEDULING, MINIMAL_INTERFACE_GENERATION, MUX_INTERCONNECTION_BINDING, OMP_BODY_LOOP_SYNTHESIS_FLOW, PIPELINE_CONTROLLER_CREATOR, PORT_SWAPPING, SCHED_CHAINING, STANDARD_HLS_FLOW, TEST_VECTOR_PARSER, TESTBENCH_GENERATION, THROW_UNREACHABLE, TOP_ENTITY_CREATION, TOP_ENTITY_CS_CREATION, TOP_ENTITY_CS_PARALLEL_CREATION, TOP_ENTITY_MEMORY_MAPPED_CREATION, UNIQUE_MODULE_BINDING, UNIQUE_REGISTER_BINDING, UNKNOWN, VALUES_SCHEME_STORAGE_VALUE_INSERTION, VIRTUAL_DESIGN_FLOW, WB4_INTERCON_INTERFACE_GENERATION, WB4_INTERFACE_GENERATION, WEIGHTED_CLIQUE_REGISTER_BINDING, and WRITE_HLS_SUMMARY.
Referenced by CreateHLSFlowStep(), and CreateHLSFlowSteps().


| const DesignFlowStepSet HLSFlowStepFactory::CreateHLSFlowSteps | ( | const std::pair< HLSFlowStep_Type, HLSFlowStepSpecializationConstRef > & | hls_flow_step | ) | const |
The same as CreateHLSFlowSteps, but just for one step.
Definition at line 703 of file hls_flow_step_factory.cpp.
References CreateHLSFlowSteps().

| const DesignFlowStepSet HLSFlowStepFactory::CreateHLSFlowSteps | ( | const HLSFlowStep_Type | type, |
| const HLSFlowStepSpecializationConstRef | hls_flow_step_specialization | ||
| ) | const |
The same as CreateHLSFlowSteps, but just for one step, with an even simpler syntax.
Definition at line 712 of file hls_flow_step_factory.cpp.
References CreateHLSFlowSteps().

|
overridevirtual |
Return the prefix of the steps created by the factory.
Implements DesignFlowStepFactory.
Definition at line 145 of file hls_flow_step_factory.cpp.
|
protected |
The HLS manager.
Definition at line 60 of file hls_flow_step_factory.hpp.
Referenced by CreateHLSFlowStep(), and CreateHLSFlowSteps().
1.8.13