![]()  | 
  
    PandA-2024.02
    
   | 
 
Class managing the module allocation. More...
#include <unique_binding.hpp>


Public Member Functions | |
| unique_binding (const ParameterConstRef Param, const HLS_managerRef HLSMgr, unsigned int funId, const DesignFlowManagerConstRef design_flow_manager) | |
| Constructor.  More... | |
| ~unique_binding () override | |
| Destructor.  More... | |
| DesignFlowStep_Status | InternalExec () override | 
| Performs module binding assigning each operation to a free resource.  More... | |
  Public Member Functions inherited from fu_binding_creator | |
| fu_binding_creator (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.  More... | |
| ~fu_binding_creator () override | |
| Destructor.  More... | |
| void | Initialize () override | 
| Initialize the step (i.e., like a constructor, but executed just before exec.  More... | |
  Public Member Functions inherited from HLSFunctionStep | |
| 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.  More... | |
| ~HLSFunctionStep () override | |
| Destructor.  More... | |
| bool | HasToBeExecuted () const override | 
| Check if this step has actually to be executed.  More... | |
| void | Initialize () override | 
| Initialize the step (i.e., like a constructor, but executed just before exec.  More... | |
| std::string | GetSignature () const final | 
| Return a unified identifier of this design step.  More... | |
| std::string | GetName () const final | 
| Return the name of this design step.  More... | |
| DesignFlowStep_Status | Exec () final | 
| Execute the step.  More... | |
  Public Member Functions inherited from HLS_step | |
| HLS_step (const ParameterConstRef _parameters, const HLS_managerRef HLSMgr, const DesignFlowManagerConstRef design_flow_manager, const HLSFlowStep_Type hls_flow_step_type, const HLSFlowStepSpecializationConstRef hls_flow_step_specialization=HLSFlowStepSpecializationConstRef()) | |
| Constructor.  More... | |
| ~HLS_step () override | |
| Destructor.  More... | |
| std::string | GetSignature () const override | 
| Return a unified identifier of this design step.  More... | |
| std::string | GetName () const override | 
| Return the name of this design step.  More... | |
| virtual std::string | GetKindText () const | 
| Return the name of the type of this frontend flow step.  More... | |
| DesignFlowStepFactoryConstRef | CGetDesignFlowStepFactory () const final | 
| Return the factory to create this type of steps.  More... | |
| void | ComputeRelationships (DesignFlowStepSet &design_flow_step_set, const DesignFlowStep::RelationshipType relationship_type) override | 
| Compute the relationships of a step with other steps.  More... | |
  Public Member Functions inherited from DesignFlowStep | |
| DesignFlowStep (const DesignFlowManagerConstRef design_flow_manager, const ParameterConstRef parameters) | |
| Constructor.  More... | |
| virtual | ~DesignFlowStep () | 
| Destructor.  More... | |
| DesignFlowStep_Status | GetStatus () const | 
| Return the status of this design step.  More... | |
| virtual void | WriteDot (std::ostream &out) const | 
| Write the label for a dot graph.  More... | |
| bool | IsComposed () const | 
| Returns if this step is composed.  More... | |
| int | CGetDebugLevel () const | 
| Return the debug level of the step.  More... | |
| virtual void | PrintInitialIR () const | 
| Dump the initial intermediate representation.  More... | |
| virtual void | PrintFinalIR () const | 
| Dump the final intermediate representation.  More... | |
Additional Inherited Members | |
  Public Types inherited from DesignFlowStep | |
| enum | RelationshipType { DEPENDENCE_RELATIONSHIP, INVALIDATION_RELATIONSHIP, PRECEDENCE_RELATIONSHIP } | 
| The relationship type.  More... | |
  Static Public Member Functions inherited from HLSFunctionStep | |
| 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.  More... | |
  Static Public Member Functions inherited from HLS_step | |
| static std::string | EnumToName (const HLSFlowStep_Type hls_flow_step_type) | 
| Given a HLS flow step type, return the name of the type.  More... | |
| static const std::string | ComputeSignature (const HLSFlowStep_Type hls_flow_step_type, const HLSFlowStepSpecializationConstRef hls_flow_step_specialization) | 
| Compute the signature of a hls flow step.  More... | |
  Protected Member Functions inherited from fu_binding_creator | |
| const CustomUnorderedSet< std::tuple< HLSFlowStep_Type, HLSFlowStepSpecializationConstRef, HLSFlowStep_Relationship > > | ComputeHLSRelationships (const DesignFlowStep::RelationshipType relationship_type) const override | 
| Compute the relationship of this step.  More... | |
  Protected Member Functions inherited from HLSFunctionStep | |
| void | ComputeRelationships (DesignFlowStepSet &design_flow_step_set, const DesignFlowStep::RelationshipType relationship_type) override | 
| Compute the relationships of a step with other steps.  More... | |
  Protected Attributes inherited from HLSFunctionStep | |
| std::map< unsigned int, unsigned int > | last_bb_ver | 
| last bb version of the called functions  More... | |
| std::map< unsigned int, unsigned int > | last_bitvalue_ver | 
| The version of bit value IR representation on which this step was applied.  More... | |
| const unsigned int | funId | 
| identifier of the function to be processed (0 means that it is a global step)  More... | |
| hlsRef | HLS | 
| HLS data structure of the function to be analyzed.  More... | |
| unsigned int | bb_version | 
| The version of bb intermediate representation on which this step was applied.  More... | |
| unsigned int | bitvalue_version | 
| The version of bitvalue on which this step was applied.  More... | |
| unsigned int | memory_version | 
| The version of memory representation on which this step was applied.  More... | |
  Protected Attributes inherited from HLS_step | |
| const HLS_managerRef | HLSMgr | 
| information about all the HLS synthesis  More... | |
| const HLSFlowStep_Type | hls_flow_step_type | 
| The type of this step.  More... | |
| const HLSFlowStepSpecializationConstRef | hls_flow_step_specialization | 
| The information about specialization.  More... | |
  Protected Attributes inherited from DesignFlowStep | |
| bool | composed | 
| True if this step represents a composition of design flow steps (e.g., a flow); must be set by specialized constructors.  More... | |
| const Wrefcount< const DesignFlowManager > | design_flow_manager | 
| The design flow manager.  More... | |
| const ParameterConstRef | parameters | 
| Set of input parameters.  More... | |
| int | debug_level | 
| The debug level.  More... | |
| const int | output_level | 
| The output level.  More... | |
  Static Protected Attributes inherited from HLS_step | |
| static CustomUnorderedMap< std::string, HLSFlowStep_Type > | command_line_name_to_enum | 
| Map hls step name to enum.  More... | |
Class managing the module allocation.
Definition at line 50 of file unique_binding.hpp.
| unique_binding::unique_binding | ( | const ParameterConstRef | Param, | 
| const HLS_managerRef | HLSMgr, | ||
| unsigned int | funId, | ||
| const DesignFlowManagerConstRef | design_flow_manager | ||
| ) | 
Constructor.
HLS/module_allocation include.
| design_flow_manager | is the design flow manager | 
Definition at line 62 of file unique_binding.cpp.
References UNIQUE_MODULE_BINDING, and ~unique_binding().

      
  | 
  overridedefault | 
      
  | 
  overridevirtual | 
Performs module binding assigning each operation to a free resource.
Implements HLSFunctionStep.
Definition at line 70 of file unique_binding.cpp.
References hls::allocation_information, fu_binding::bind(), FunctionBehavior::CFG, FunctionBehavior::CGetOpGraph(), DesignFlowStep::debug_level, DEBUG_LEVEL_VERBOSE, HLSFunctionStep::funId, fu_binding::get_assign(), fu_binding::get_index(), GET_NAME, HLSFunctionStep::HLS, HLS_step::HLSMgr, INFINITE_UINT, AllocationInformation::is_memory_unit(), AllocationInformation::is_vertex_bounded(), Schedule::print(), hls::Rfu, hls::Rsch, and SUCCESS.

 1.8.13