41 #ifndef HLS_FUNCION_STEP_HPP 42 #define HLS_FUNCION_STEP_HPP 127 const
unsigned int function_id);
void Initialize() override
Initialize the step (i.e., like a constructor, but executed just before exec.
bool HasToBeExecuted() const override
Check if this step has actually to be executed.
const HLS_managerRef HLSMgr
information about all the HLS synthesis
std::map< unsigned int, unsigned int > last_bb_ver
last bb version of the called functions
unsigned int bitvalue_version
The version of bitvalue on which this step was applied.
RelationshipType
The relationship type.
HLSFunctionStep(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.
const unsigned int funId
identifier of the function to be processed (0 means that it is a global step)
unsigned int memory_version
The version of memory representation on which this step was applied.
virtual DesignFlowStep_Status InternalExec()=0
Execute the step.
Definition of hash function for EdgeDescriptor.
const HLSFlowStep_Type hls_flow_step_type
The type of this step.
static std::string ComputeSignature(const HLSFlowStep_Type hls_flow_step_type, const HLSFlowStepSpecializationConstRef hls_flow_step_specialization, const unsigned int function_id)
Compute the signature of a hls flow step.
void ComputeRelationships(DesignFlowStepSet &design_flow_step_set, const DesignFlowStep::RelationshipType relationship_type) override
Compute the relationships of a step with other steps.
std::string GetSignature() const final
Return a unified identifier of this design step.
unsigned int bb_version
The version of bb intermediate representation on which this step was applied.
std::map< unsigned int, unsigned int > last_bitvalue_ver
The version of bit value IR representation on which this step was applied.
const Wrefcount< const DesignFlowManager > design_flow_manager
The design flow manager.
DesignFlowStep_Status
The status of a step.
std::string GetName() const final
Return the name of this design step.
hlsRef HLS
HLS data structure of the function to be analyzed.
DesignFlowStep_Status Exec() final
Execute the step.
~HLSFunctionStep() override
Destructor.
refcount< const HLSFlowStepSpecialization > HLSFlowStepSpecializationConstRef
const refcount definition of the class
bool HasToBeExecuted0() const
const HLSFlowStepSpecializationConstRef hls_flow_step_specialization
The information about specialization.