PandA-2024.02
|
#include <time_info.hpp>
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... | |
Definition at line 52 of file time_info.hpp.
|
explicit |
Constructor.
zero means a non-pipelined operation
Definition at line 52 of file time_info.cpp.
References ~time_info().
Referenced by factory().
|
default |
|
static |
Definition at line 110 of file time_info.cpp.
References time_info().
Referenced by allocation::add_proxy_function_module(), allocation::add_proxy_function_wrapper(), OmpAllocation::AddPandaPthreadMutex(), RTLCharacterization::AnalyzeCell(), AlteraBackendFlow::CheckSynthesisResults(), LatticeBackendFlow::CheckSynthesisResults(), BashBackendFlow::CheckSynthesisResults(), NanoXploreBackendFlow::CheckSynthesisResults(), XilinxBackendFlow::CheckSynthesisResults(), InterfaceInfer::create_resource_array(), InterfaceInfer::create_resource_m_axi(), InterfaceInfer::create_resource_Read_simple(), InterfaceInfer::create_resource_Write_simple(), FunctionalUnitStep::create_template_instance(), add_library::InternalExec(), XilinxBackendFlow::parse_timing(), operation::xload(), and XilinxBackendFlow::xparse_timing().
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().
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().
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().
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().
bool time_info::get_synthesis_dependent | ( | ) | const |
Definition at line 75 of file time_info.cpp.
References synthesis_dependent.
Referenced by operation::xwrite().
void time_info::set_execution_time | ( | double | execution_time, |
unsigned int | cycles = time_info::cycles_time_DEFAULT |
||
) |
Definition at line 64 of file time_info.cpp.
References cycles, and execution_time.
Referenced by AlteraBackendFlow::CheckSynthesisResults(), LatticeBackendFlow::CheckSynthesisResults(), BashBackendFlow::CheckSynthesisResults(), NanoXploreBackendFlow::CheckSynthesisResults(), XilinxBackendFlow::CheckSynthesisResults(), XilinxBackendFlow::parse_timing(), operation::xload(), and XilinxBackendFlow::xparse_timing().
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().
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().
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().
|
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().
|
static |
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().
|
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().
|
static |
Definition at line 103 of file time_info.hpp.
Referenced by RTLCharacterization::AnalyzeCell(), operation::xload(), and operation::xwrite().
|
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().
|
static |
Definition at line 104 of file time_info.hpp.
Referenced by RTLCharacterization::AnalyzeCell(), operation::xload(), and operation::xwrite().
|
private |
class containing all the parameters
Definition at line 55 of file time_info.hpp.
|
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().
|
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().
|
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().