PandA-2024.02
Public Member Functions | Static Public Member Functions | Private Attributes
time_info Class Reference

#include <time_info.hpp>

Collaboration diagram for time_info:
Collaboration graph
[legend]

Public Member Functions

 time_info (const ParameterConstRef _Param)
 Constructor. More...
 
 ~time_info ()
 Destructor. More...
 
void set_initiation_time (const ControlStep _initiation_time)
 
ControlStep get_initiation_time () const
 
unsigned int get_cycles () const
 
double get_stage_period () const
 
void set_stage_period (double st_per)
 
void set_execution_time (double execution_time, unsigned int cycles=time_info::cycles_time_DEFAULT)
 
void set_synthesis_dependent (bool value)
 
bool get_synthesis_dependent () const
 
double get_execution_time () const
 

Static Public Member Functions

static time_infoRef factory (const ParameterConstRef Param)
 

Static Public Attributes

Default values associated with the members of the operation class.
static const double execution_time_DEFAULT = 0
 
static const ControlStep initiation_time_DEFAULT
 
static const unsigned int cycles_time_DEFAULT
 zero means that the operation is not pipelined More...
 
static const double stage_period_DEFAULT = 0
 zero means that the operation last in ceil(execution_time/clock_period) More...
 

Private Attributes

const ParameterConstRef Param
 class containing all the parameters More...
 
ControlStep initiation_time
 initiation time, in terms of cycle_units, for this type of operation on a given functional unit. More...
 
unsigned int cycles
 number of cycles required to complete the computation More...
 
bool synthesis_dependent
 flag to check if the number of cycles are dependent on the synthesis or not More...
 
double stage_period
 critical timing execution path, in term of ns, of a potentially pipelined operation. More...
 
double execution_time
 execution time, in terms of ns, for this type of operation on a given functional unit. More...
 

Detailed Description

Definition at line 52 of file time_info.hpp.

Constructor & Destructor Documentation

◆ time_info()

time_info::time_info ( const ParameterConstRef  _Param)
explicit

Constructor.

zero means a non-pipelined operation

Definition at line 52 of file time_info.cpp.

References ~time_info().

Referenced by factory().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ~time_info()

time_info::~time_info ( )
default

Destructor.

Referenced by time_info().

Here is the caller graph for this function:

Member Function Documentation

◆ factory()

time_infoRef time_info::factory ( const ParameterConstRef  Param)
static

◆ get_cycles()

unsigned int time_info::get_cycles ( ) const

Definition at line 95 of file time_info.cpp.

References cycles.

Referenced by allocation::check_templated_units(), DiscrepancyAnalysisCWriter::writePostInstructionInfo(), and operation::xwrite().

Here is the caller graph for this function:

◆ get_execution_time()

double time_info::get_execution_time ( ) const

Definition at line 80 of file time_info.cpp.

References execution_time.

Referenced by SynthesisEvaluation::Exec(), operation::print(), AllocationInformation::time_m_execution_time(), and operation::xwrite().

Here is the caller graph for this function:

◆ get_initiation_time()

ControlStep time_info::get_initiation_time ( ) const

Definition at line 90 of file time_info.cpp.

References initiation_time.

Referenced by AllocationInformation::get_correction_time(), operation::print(), and operation::xwrite().

Here is the caller graph for this function:

◆ get_stage_period()

double time_info::get_stage_period ( ) const

Definition at line 100 of file time_info.cpp.

References stage_period.

Referenced by AllocationInformation::time_m_stage_period(), and operation::xwrite().

Here is the caller graph for this function:

◆ get_synthesis_dependent()

bool time_info::get_synthesis_dependent ( ) const

Definition at line 75 of file time_info.cpp.

References synthesis_dependent.

Referenced by operation::xwrite().

Here is the caller graph for this function:

◆ set_execution_time()

void time_info::set_execution_time ( double  execution_time,
unsigned int  cycles = time_info::cycles_time_DEFAULT 
)

◆ set_initiation_time()

void time_info::set_initiation_time ( const ControlStep  _initiation_time)

Definition at line 85 of file time_info.cpp.

References initiation_time.

Referenced by operation::xload().

Here is the caller graph for this function:

◆ set_stage_period()

void time_info::set_stage_period ( double  st_per)

Definition at line 105 of file time_info.cpp.

References stage_period.

Referenced by operation::xload().

Here is the caller graph for this function:

◆ set_synthesis_dependent()

void time_info::set_synthesis_dependent ( bool  value)

Definition at line 70 of file time_info.cpp.

References synthesis_dependent, and symmetry::value.

Referenced by operation::xload().

Here is the caller graph for this function:

Field Documentation

◆ cycles

unsigned int time_info::cycles
private

number of cycles required to complete the computation

Definition at line 59 of file time_info.hpp.

Referenced by get_cycles(), and set_execution_time().

◆ cycles_time_DEFAULT

const unsigned int time_info::cycles_time_DEFAULT
static
Initial value:
=
0

zero means that the operation is not pipelined

Definition at line 105 of file time_info.hpp.

Referenced by RTLCharacterization::AnalyzeCell(), operation::xload(), and operation::xwrite().

◆ execution_time

double time_info::execution_time
private

execution time, in terms of ns, for this type of operation on a given functional unit.

Definition at line 65 of file time_info.hpp.

Referenced by get_execution_time(), and set_execution_time().

◆ execution_time_DEFAULT

const double time_info::execution_time_DEFAULT = 0
static

◆ initiation_time

ControlStep time_info::initiation_time
private

initiation time, in terms of cycle_units, for this type of operation on a given functional unit.

Definition at line 57 of file time_info.hpp.

Referenced by get_initiation_time(), and set_initiation_time().

◆ initiation_time_DEFAULT

const ControlStep time_info::initiation_time_DEFAULT
static
Initial value:
=
ControlStep(0u)

Definition at line 104 of file time_info.hpp.

Referenced by RTLCharacterization::AnalyzeCell(), operation::xload(), and operation::xwrite().

◆ Param

const ParameterConstRef time_info::Param
private

class containing all the parameters

Definition at line 55 of file time_info.hpp.

◆ stage_period

double time_info::stage_period
private

critical timing execution path, in term of ns, of a potentially pipelined operation.

Definition at line 63 of file time_info.hpp.

Referenced by get_stage_period(), and set_stage_period().

◆ stage_period_DEFAULT

const double time_info::stage_period_DEFAULT = 0
static

zero means that the operation last in ceil(execution_time/clock_period)

Definition at line 106 of file time_info.hpp.

Referenced by RTLCharacterization::AnalyzeCell(), operation::xload(), and operation::xwrite().

◆ synthesis_dependent

bool time_info::synthesis_dependent
private

flag to check if the number of cycles are dependent on the synthesis or not

Definition at line 61 of file time_info.hpp.

Referenced by get_synthesis_dependent(), and set_synthesis_dependent().


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

Generated on Mon Feb 12 2024 13:04:05 for PandA-2024.02 by doxygen 1.8.13