63 const DesignFlowManagerConstRef _design_flow_manager,
const HLSFlowStep_Type _hls_flow_step_type,
65 :
HLSFunctionStep(_Param, _HLSMgr, _funId, _design_flow_manager, _hls_flow_step_type,
66 _hls_flow_step_specialization),
67 speculation(_Param->getOption<
bool>(OPT_speculative))
85 if(
parameters->getOption<
int>(OPT_memory_banks_number) > 1 && !
parameters->isOption(OPT_context_switch))
99 switch(relationship_type)
103 #if HAVE_FROM_PRAGMA_BUILT 104 if(
parameters->getOption<
bool>(OPT_parse_pragma))
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.
File containing functions and utilities to support the printing of debug messagges.
Scheduling(const ParameterConstRef Param, const HLS_managerRef HLSMgr, unsigned int funId, const DesignFlowManagerConstRef design_flow_manager, const HLSFlowStep_Type hls_flow_step_type, const HLSFlowStepSpecializationConstRef hls_flow_step_specialization=HLSFlowStepSpecializationConstRef())
Constructor.
refcount< fu_binding > fu_bindingRef
RefCount type definition of the fu_binding class structure.
refcount< Schedule > ScheduleRef
Refcount definition of the class.
Class managing the schedule of the operations.
static fu_bindingRef create_fu_binding(const HLS_managerConstRef _HLSMgr, const unsigned int _function_id, const ParameterConstRef _parameters)
create_fu_binding: factory method for fu_binding
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)
void Initialize() override
Initialize the step (i.e., like a constructor, but executed just before exec.
void Initialize()
Initialize the data structure.
#define THROW_UNREACHABLE(str_expr)
helper function used to specify that some points should never be reached
fu_bindingRef Rfu
Store the refcounted functional unit binding of the operations.
ScheduleRef Rsch
Store the refcounted scheduling of the operations.
Base class for all scheduling algorithms.
Target must be reexecuted.
Data structure used to store the functional-unit binding of the vertices.
const ParameterConstRef parameters
Set of input parameters.
This file collects some utility functions and macros.
Data structure definition for HLS constraints.
Template definition of refcount.
Class definition of the list_based structure.
Data structure used to store the functional-unit binding of the vertexes.
const OpGraphConstRef CGetOpGraph(FunctionBehavior::graph_type gt) const
This method returns the operation graphs.
hlsRef HLS
HLS data structure of the function to be analyzed.
Data structures used in operations graph.
Template borrowed from the ANTLR library by Terence Parr (http://www.jGuru.com - Software rights: htt...
System dependence + anti-dependence + output dependence graph + flow graph.
this class is used to manage the command-line or XML options.
This package is used by all HLS packages to manage resource constraints and characteristics.
refcount< const HLSFlowStepSpecialization > HLSFlowStepSpecializationConstRef
const refcount definition of the class
virtual const CustomUnorderedSet< std::tuple< HLSFlowStep_Type, HLSFlowStepSpecializationConstRef, HLSFlowStep_Relationship > > ComputeHLSRelationships(const DesignFlowStep::RelationshipType relationship_type) const override
Compute the relationship of this step.
~Scheduling() override
Destructor.
Data structure definition for high-level synthesis flow.