64 unsigned int _function_id,
const DesignFlowManagerConstRef _design_flow_manager)
72 switch(relationship_type)
77 const auto* frontend_flow_step_factory = GetPointer<const FrontendFlowStepFactory>(
82 frontend_flow_step ? design_flow_graph->CGetDesignFlowStepInfo(frontend_flow_step)->design_flow_step :
83 frontend_flow_step_factory->CreateApplicationFrontendFlowStep(BAMBU_FRONTEND_FLOW);
84 relationship.insert(design_flow_step);
86 const auto* technology_flow_step_factory = GetPointer<const TechnologyFlowStepFactory>(
88 const std::string technology_flow_signature =
92 technology_flow_step ?
93 design_flow_graph->CGetDesignFlowStepInfo(technology_flow_step)->design_flow_step :
95 relationship.insert(technology_design_flow_step);
121 if(
HLSMgr->GetFunctionBehavior(
funId)->is_simple_pipeline())
void Initialize() override
Initialize the step (i.e., like a constructor, but executed just before exec.
const HLS_managerRef HLSMgr
information about all the HLS synthesis
Data structure representing the entire HLS information.
RelationshipType
The relationship type.
Source must be executed to satisfy target.
const unsigned int funId
identifier of the function to be processed (0 means that it is a global step)
InitializeHLS(const ParameterConstRef _parameters, const HLS_managerRef _HLS_mgr, unsigned int _function_id, const DesignFlowManagerConstRef design_flow_manager)
DesignFlowStep_Status InternalExec() override
Execute the step.
Class specification of the manager of the technology library data structures.
void ComputeRelationships(DesignFlowStepSet &design_flow_step_set, const DesignFlowStep::RelationshipType relationship_type) override
Compute the relationships of a step with other steps.
static hlsRef create_HLS(const HLS_managerRef HLSMgr, unsigned int functionId)
Creates the HLS flow starting from the given specification.
HLSFlowStep_Type controller_type
The type of controller to be instantiated.
#define THROW_UNREACHABLE(str_expr)
helper function used to specify that some points should never be reached
Step which intializes hls data structur.
Class specification of the data structures used to manage technology information. ...
HLSFlowStep_Type module_binding_algorithm
The type of module binding to be adopted.
Classes to describe design flow graph.
Target must be reexecuted.
static const std::string ComputeSignature(const TechnologyFlowStep_Type technology_flow_step_type)
Compute the signature of a technology flow step.
Factory for technology flow step.
static const std::string ComputeSignature(const FrontendFlowStepType frontend_flow_step_type)
Compute the signature of a function frontend flow step.
boost::graph_traits< graph >::vertex_descriptor vertex
vertex definition.
const Wrefcount< const DesignFlowManager > design_flow_manager
The design flow manager.
Classes specification of the tree_node data structures.
const ParameterConstRef parameters
Set of input parameters.
DesignFlowStep_Status
The status of a step.
Base class to allocate memories in high-level synthesis.
Data structure definition for HLS constraints.
This file collects some utility functions.
refcount< T > lock() const
This class describes all classes used to represent a structural object.
HLSFlowStep_Type chaining_algorithm
The type of chaining algorithm to be adopted.
hlsRef HLS
HLS data structure of the function to be analyzed.
void ComputeRelationships(DesignFlowStepSet &relationship, const DesignFlowStep::RelationshipType relationship_type) final
Compute the relationships of a step with other steps.
This class contains the methods to create a frontend flow step.
Template borrowed from the ANTLR library by Terence Parr (http://www.jGuru.com - Software rights: htt...
this class is used to manage the command-line or XML options.
Class implementation of the structural_manager.
Data structure definition for high-level synthesis flow.
This class contains the base representation for a generic frontend flow step which works on the whole...
Class specification of the manager of the tree structures extracted from the raw file.
Base class for technology flow steps.
HLS specialization of generic_device.
HLSFlowStep_Type liveness_algorithm
The type of liveness algorithm to be adopted.