21.6.25 VERIFYTIMING

Description

"VERIFYTIMING" is a command tool used in configure_tool and run_tool. Use "configure_tool -name {VERIFYTIMING}" to configure "VERIFYTIMING" tool, run_tool passes a script file that contains timing specific Tcl commands to the VERIFYTIMING command and executes it.

Note: At least one "parameter:value" must be specified. You can repeat -params argument for multiple parameters.
configure_tool -name {VERIFYTIMING} -params {parameter:value}
run_tool -name {VERIFYTIMING} -script {timing.tcl}

Where, timing.tcl is a script that contains the SmartTime-specific Tcl commands. You can include SmartTime-specific Tcl commands to create user path, to set and generate timing reports.

Arguments

The following table list the "VERIFYTIMING" arguments for PolarFire, SmartFusion 2, IGLOO 2, RTG4 and PolarFire SoC.

ParameterTypeDescription
MAX_TIMING_MULTI_CORNERbooleanMax Delay Static Timing Analysis report based on multi-corners. Specify 0 or "False" to turn report generation OFF and 1 or "True" to turn it ON. Default is 1.
MAX_TIMING_VIOLATIONS_MULTI_CORNERbooleanMax Delay Static Timing Analysis violation report based on multi-corners. Specify 0 or "False" to turn report generation OFF and 1 or "True" to turn it ON. Default is 1.
MIN_TIMING_MULTI_CORNERbooleanMin Delay Static Timing Analysis report based on multi-corners. Specify 0 or "False" to turn report generation OFF and 1 or "True" to turn it ON. Default is 1.
MIN_TIMING_VIOLATIONS_MULTI_CORNERbooleanMin Delay Static Timing Analysis violation report based on multi-corners. Specify 0 or "False" to turn report generation OFF and 1 or "True" to turn it ON. Default is 1.
MAX_TIMING_SLOW_LV_HTbooleanMax Delay Static Timing Analysis report based on Slow process, Low Voltage, and High Temperature operating conditions. Specify 0 or "False" to turn report generation OFF and 1 or "True" to turn it ON. Default is 1.
MIN_TIMING_FAST_HV_LTbooleanMin Delay Static Timing Analysis report based on Fast process, High Voltage, and Low Temperature operating conditions.
MAX_TIMING_FAST_HV_LTbooleanMax Delay Static Timing Analysis report based on Fast process, High Voltage, and Low Temperature operating conditions. Specify 0 or "False" to turn report generation OFF and 1 or "True" to turn it ON. Default is 0.
MIN_TIMING_SLOW_LV_HTbooleanMin Delay Static Timing Analysis report based on Slow process, Low Voltage and High Temperature operating conditions. Specify 0 or "False" to turn report generation OFF and 1 or "True" to turn it ON. Default is 0.
MAX_TIMING_VIOLATIONS_SLOW_LV_HTbooleanMax Delay Static Timing Analysis violation report based on Slow process, Low Voltage and High Temperature operating conditions. Specify 0 or "False" to turn report generation OFF and 1 or "True" to turn it ON. Default is 0.
MIN_TIMING_VIOLATIONS_FAST_HV_LTbooleanMin Delay Static Timing Analysis violation report based on Fast process, High Voltage and Low Temperature operating conditions. Specify 0 or "False" to turn report generation OFF and 1 or "True" to turn it ON. Default is 0.
MAX_TIMING_VIOLATIONS_FAST_HV_LTbooleanMax Delay Static Timing Analysis violation report based on Fast process, High Voltage and Low Temperature operating conditions. Specify 0 or "False" to turn report generation OFF and 1 or "True" to turn it ON. Default is 0.
MIN_TIMING_VIOLATIONS_SLOW_LV_HTbooleanMin Delay Static Timing Analysis violation report based on Slow process, Low Voltage and High Temperature operating conditions. Specify 0 or "False" to turn report generation OFF and 1 or "True" to turn it ON. Default is 0.
MAX_EXPANDED_PATHS_TIMINGintegerSets the number of expanded paths under each section. The number of paths set can be anywhere from 1 to 20000. Default is 5.
MAX_EXPANDED_PATHS_VIOLATIONintegerSets the number of expanded paths under each section. The number of paths set can be anywhere from 0-20000. Default is 20.
MAX_PARALLEL_PATHS_TIMINGintegerSets the number of parallel paths for each expanded path.
MAX_PARALLEL_PATHS_VIOLATIONintegerSets the number of parallel paths for each expanded path. The number of paths set can be anywhere from 1-20000. Default is 1.
MAX_PATHS_TIMINGintegerSets the number of reported paths under each section. The number of paths set can be anywhere from 1- 20000. Default is 10.
MAX_PATHS_VIOLATIONintegerSets the number of reported paths under each section. The number of paths set can be anywhere from 1- 20000. Default is 20.
SLACK_THRESHOLD_VIOLATIONrealSets a maximum slack threshold value in nanoseconds. Paths will be filtered based on the slack threshold value only in Timing Violation reports. Value entered is a real number.
CONSTRAINTS_COVERAGEbooleanConstraint Timing Coverage report.
FORMATstringSelects the format for the Timing Report: Text(txt), XML(xml), CSV(csv) or HTML(html) format.
SMART_INTERACTIVEbooleanWhen SMART_INTERACTIVE parameter is set to 1. The verify timing tool opens timing report explorer interactively and reports timing paths. Available from Libero v12.6+.
MAX_PATHS_INTERACTIVE_REPORTintegerSpecifies maximum number of path in the max and min analysis. The default value is set to 1000. The Range is 1-10000. Available from Libero v12.6+.

The following table list the "VERIFYTIMING" arguments for PolarFire and PolarFire SoC.

ParameterTypeDescription
MAX_TIMING_SLOW_LV_LTbooleanMax Delay Static Timing Analysis report based on Slow process, Low Voltage, and Low Temperature operating conditions. Specify 0 or "False" to turn report generation OFF and 1 or "True" to turn it ON. Default is 1.
MIN_TIMING_SLOW_LV_LTbooleanMin Delay Static Timing Analysis report based on Slow process, Low Voltage and Low Temperature operating conditions. Specify 0 or "False" to turn report generation OFF and 1 or "True" to turn it ON. Default is 0.
MAX_TIMING_VIOLATIONS_SLOW_LV_LTbooleanMax Delay Static Timing Analysis violation report based on Slow process, Low Voltage and Low Temperature operating conditions. Specify 0 or "False" to turn report generation OFF and 1 or "True" to turn it ON. Default is 0.
MIN_TIMING_VIOLATIONS_SLOW_LV_LTbooleanMin Delay Static Timing Analysis violation report based on Slow process, Low Voltage and Low Temperature operating conditions. Specify 0 or "False" to turn report generation OFF and 1 or "True" to turn it ON. Default is 0.
Return TypeDescription
Integer"configure_tool -name {VERIFYTIMING}" returns 0 on success and 1 on failure. "run_tool -name {VERIFYTIMING} -script {<timing.tcl>}" returns 0 on success and 1 on failure.

Error Codes

Error CodeDescription
NoneRequired parameter 'params' is missing.
NoneFORMAT is set to an illegal value 'forma_value'. Formats for timing reports generation are XML, TEXT, HTML and CSV.
NoneMAX_EXPANDED_PATHS_TIMING is set to an illegal value 'value'. Legal values must be between 1 and 200000.
NoneMAX_PARALLEL_PATHS_VIOLATION is set to an illegal value 'values'. Legal values must be between 1 and 200000.
NoneMAX_PARALLEL_PATHS_TIMING is set to an illegal value 'value'. Legal values must be between 1 and 200000.
NoneMAX_PATHS_VIOLATION is set to an illegal value 'value'. Legal values must be between 1 and 200000.
NoneMAX_PATHS_TIMING is set to an illegal value 'value'. Legal values must be between 1 and 200000.
NoneMAX_TIMING_FAST_HV_LT is set to an illegal value 'value'. Legal value are true, false, 0 or 1.
NoneMAX_TIMING_MULTI_CORNER is set to an illegal value 'value'. Legal value are true, false, 0 or 1.
NoneMAX_TIMING_SLOW_LV_HT is set to an illegal value 'value'. Legal value are true, false, 0 or 1.
NoneMAX_TIMING_SLOW_LV_LT is set to an illegal value 'value'. Legal value are true, false, 0 or 1.
NoneMAX_TIMING_VIOLATIONS_SLOW_LV_LT is set to an illegal value 'value'. Legal value are true, false, 0 or 1.
NoneMAX_TIMING_VIOLATIONS_SLOW_LV_HT is set to an illegal value 'value'. Legal value are true, false, 0 or 1.
NoneMAX_TIMING_VIOLATIONS_MULTI_CORNER is set to an illegal value 'value'. Legal value are true, false, 0 or 1.
NoneMAX_TIMING_VIOLATIONS_FAST_HV_LT is set to an illegal value 'value'. Legal value are true, false, 0 or 1.
NoneMIN_TIMING_SLOW_LV_LT is set to an illegal value 'value'. Legal value are true, false, 0 or 1.
NoneMIN_TIMING_SLOW_LV_HT is set to an illegal value 'value'. Legal value are true, false, 0 or 1.
NoneMIN_TIMING_MULTI_CORNER is set to an illegal value 'value'. Legal value are true, false, 0 or 1.
NoneMIN_TIMING_FAST_HV_LT is set to an illegal value 'value'. Legal value are true, false, 0 or 1.
NoneMIN_TIMING_VIOLATIONS_SLOW_LV_LT is set to an illegal value 'value'. Legal value are true, false, 0 or 1.
NoneMIN_TIMING_VIOLATIONS_SLOW_LV_HT is set to an illegal value 'value'. Legal value are true, false, 0 or 1.
NoneMIN_TIMING_VIOLATIONS_MULTI_CORNER is set to an illegal value 'value'. Legal value are true, false, 0 or 1.
NoneMIN_TIMING_VIOLATIONS_FAST_HV_LT is set to an illegal value 'value'. Legal value are true, false, 0 or 1.

Supported Families

Supported Families
PolarFire®
PolarFire SoC
RTG4
SmartFusion® 2
IGLOO® 2

Example

The following example specifies text as the Report format and turns on report generation for Constraint_coverage report, the Max_Delay_Analysis Timing Report based on Slow process, Low Voltage, and High Temperature and the Max_Delay_Analysis Timing Violation Report based on Slow Process, Low Voltage, and High Temperature operating conditions. The script turns off Min_Delay_Analysis Timing Violation Report generation based on Slow process, Low Voltage, and High Temperature operating conditions. It also sets the maximum number of timing paths to 25 and maximum slack threshold of 0.04:


configure_tool -name {VERIFYTIMING} \
               -params {FORMAT:txt} \
               -params {CONSTRAINT_COVERAGE:1} \
               -params {MAX_TIMING_SLOW_LV_HT:1} \
               -params {MAX_TIMING_VIOLATIONS_SLOW_LV_HT:1} \
               -params {MIN_TIMING_VIOLATIONS_SLOW_LV_HT:0}
               -params {MAX_PATHS_TIMING:25} \
               -params {SLACK_THRESHOLD_VIOLATION:0.04}
		    
run_tool -name {VERIFYTIMING} -script {timing.tcl}

Sample SmartTime Tcl Script <timing.tcl>

# Create user path set -from B_reg 
create_set -name from_B_reg \
    -source {B_reg*[*]:CLK} -sink {*}

# Create user set -from A, B, C
create_set -name from_in_ports \
    -source {A B C} \
    -sink {*}

# Generate Timing Reports
report \
    -type timing \
    -analysis min \
    -format text \
    -max_paths 10 \
    -print_paths yes \
    -max_expanded_paths 10 \
    -include_user_sets yes \
    min_timing.rpt

# Export SDC
write_sdc -scenario {Primary} exported.sdc

#save the changes
save