PandA-2024.02
Public Member Functions | Protected Member Functions | Protected Attributes
FixCharacterization Class Reference

Step which fixes characterization. More...

#include <fix_characterization.hpp>

Inheritance diagram for FixCharacterization:
Inheritance graph
[legend]
Collaboration diagram for FixCharacterization:
Collaboration graph
[legend]

Public Member Functions

 FixCharacterization (const technology_managerRef TM, const generic_deviceRef target, const DesignFlowManagerConstRef design_flow_manager, const ParameterConstRef parameters)
 Constructor. More...
 
 ~FixCharacterization () override
 Destructor. More...
 
DesignFlowStep_Status Exec () override
 Execute the step. More...
 
void Initialize () override
 Initialize the step (i.e., like a constructor, but executed just before exec. More...
 
- Public Member Functions inherited from TechnologyFlowStep
 TechnologyFlowStep (const technology_managerRef _TM, const generic_deviceRef target, const DesignFlowManagerConstRef design_flow_manager, const TechnologyFlowStep_Type technology_flow_step_type, const ParameterConstRef parameters)
 Constructor. 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...
 
void ComputeRelationships (DesignFlowStepSet &steps, const DesignFlowStep::RelationshipType relationship_type) override
 Compute the relationships of a step with other steps. More...
 
DesignFlowStepFactoryConstRef CGetDesignFlowStepFactory () const override
 Return the factory to create this type of steps. More...
 
bool HasToBeExecuted () const override
 Check if this step has actually to be executed. 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...
 

Protected Member Functions

const CustomUnorderedSet< TechnologyFlowStep_TypeComputeTechnologyRelationships (const DesignFlowStep::RelationshipType relationship_type) const override
 Return the set of analyses in relationship with this design step. More...
 

Protected Attributes

double assignment_execution_time
 The execution time of the assignment. More...
 
double connection_time
 The estimated execution time of connection. More...
 
TimeStamp assignment_characterization_timestamp
 The timestamp of the assignment. More...
 
- Protected Attributes inherited from TechnologyFlowStep
TechnologyFlowStep_Type technology_flow_step_type
 The type of step. More...
 
const technology_managerRef TM
 The technology manager. More...
 
const generic_deviceRef target
 The target device. 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 DesignFlowManagerdesign_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...
 

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 TechnologyFlowStep
static const std::string EnumToName (const TechnologyFlowStep_Type technology_flow_step_type)
 Given a technology flow step type, return the name of the type. More...
 
static const std::string ComputeSignature (const TechnologyFlowStep_Type technology_flow_step_type)
 Compute the signature of a technology flow step. More...
 

Detailed Description

Step which fixes characterization.

Definition at line 57 of file fix_characterization.hpp.

Constructor & Destructor Documentation

◆ FixCharacterization()

FixCharacterization::FixCharacterization ( const technology_managerRef  TM,
const generic_deviceRef  target,
const DesignFlowManagerConstRef  design_flow_manager,
const ParameterConstRef  parameters 
)

Constructor.

Header include.

Parameters
TMis the technology manager
design_flow_manageris the design flow manager
parametersis the set of input parameters

Definition at line 60 of file fix_characterization.cpp.

References DesignFlowStep::debug_level, FIX_CHARACTERIZATION, GET_CLASS, DesignFlowStep::parameters, and ~FixCharacterization().

Here is the call graph for this function:

◆ ~FixCharacterization()

FixCharacterization::~FixCharacterization ( )
overridedefault

Destructor.

Referenced by FixCharacterization().

Here is the caller graph for this function:

Member Function Documentation

◆ ComputeTechnologyRelationships()

const CustomUnorderedSet< TechnologyFlowStep_Type > FixCharacterization::ComputeTechnologyRelationships ( const DesignFlowStep::RelationshipType  relationship_type) const
overrideprotectedvirtual

Return the set of analyses in relationship with this design step.

Parameters
relationship_typeis the type of relationship to be considered

Implements TechnologyFlowStep.

Definition at line 390 of file fix_characterization.cpp.

References DesignFlowStep::DEPENDENCE_RELATIONSHIP, DesignFlowStep::INVALIDATION_RELATIONSHIP, LOAD_DEFAULT_TECHNOLOGY, LOAD_DEVICE_TECHNOLOGY, LOAD_FILE_TECHNOLOGY, DesignFlowStep::PRECEDENCE_RELATIONSHIP, and THROW_UNREACHABLE.

◆ Exec()

DesignFlowStep_Status FixCharacterization::Exec ( )
overridevirtual

Execute the step.

Returns
the exit status of this step

assignment

shift ops

vectorize shift ops

conversion

bitwise ops

vectorize bitwise ops

cond expr ops

vectorize cond expr ops

Second iteration of fixing

64 bits plus/minus

Implements DesignFlowStep.

Definition at line 84 of file fix_characterization.cpp.

References assignment_characterization_timestamp, assignment_execution_time, connection_time, DesignFlowStep::debug_level, DEBUG_LEVEL_VERY_PEDANTIC, technology_manager::get_fu(), technology_manager::get_library(), library_manager::get_library_fu(), technology_manager::get_library_list(), technology_manager::get_library_manager(), INDENT_DBG_MEX, SplitString(), STR, SUCCESS, THROW_ASSERT, and TechnologyFlowStep::TM.

Here is the call graph for this function:

◆ Initialize()

void FixCharacterization::Initialize ( )
overridevirtual

Initialize the step (i.e., like a constructor, but executed just before exec.

Reimplemented from DesignFlowStep.

Definition at line 73 of file fix_characterization.cpp.

References assignment_characterization_timestamp, assignment_execution_time, technology_manager::CGetSetupHoldTime(), technology_manager::CGetSetupHoldTimeStamp(), connection_time, DesignFlowStep::parameters, and TechnologyFlowStep::TM.

Here is the call graph for this function:

Field Documentation

◆ assignment_characterization_timestamp

TimeStamp FixCharacterization::assignment_characterization_timestamp
protected

The timestamp of the assignment.

Definition at line 67 of file fix_characterization.hpp.

Referenced by Exec(), and Initialize().

◆ assignment_execution_time

double FixCharacterization::assignment_execution_time
protected

The execution time of the assignment.

Definition at line 61 of file fix_characterization.hpp.

Referenced by Exec(), and Initialize().

◆ connection_time

double FixCharacterization::connection_time
protected

The estimated execution time of connection.

Definition at line 64 of file fix_characterization.hpp.

Referenced by Exec(), and Initialize().


The documentation for this class was generated from the following files:

Generated on Mon Feb 12 2024 13:03:51 for PandA-2024.02 by doxygen 1.8.13