derive_clock_uncertainty (::quartus::sdc_ext)
The following table displays information for the derive_clock_uncertainty Tcl command:
Tcl Package and Version |
Belongs to ::quartus::sdc_ext 1.0 |
|||
Syntax | derive_clock_uncertainty [-h | -help] [-long_help] [-add] [-overwrite] | |||
Arguments | -h | -help | Short help | ||
-long_help | Long help with examples and possible return values | |||
-add | Adds results to user-defined clock uncertainty assignments | |||
-overwrite | Overwrites user-defined clock uncertainty assignments | |||
Description |
Applies inter-clock, intra-clock and I/O interface uncertainties based on timing model characterization. This command calculates and applies setup and hold clock uncertainties for each clock-to-clock transfer found in the design. The calculation of the uncertainties is delayed until the next update_timing_netlist call. To get I/O interface uncertainty in addition to inter-clock and intra-clock uncertainties, create a virtual clock to represent an off-chip clock for input or output delay specification and assign delays to input/output ports with set_input_delay and set_output_delay commands that specify the virtual clock. If set_input_delay and set_output_delay commands specifying a non- virtual clock are called, derive_clock_uncertainty applies either inter-clock or intra-clock uncertainty for that clock transfer since those transfers represent a clock-to-clock domain rather than an I/O-to-register clock domain. The set_clock_uncertainty calls will override the derived values for a source clock and destination clock pair unless either the set_clock_uncertainty command or the derive_clock_uncertainty command specified the -add option, in which case the values are added. Specifying the -overwrite option will instead cause all set_clock_uncertainty commands to be ignored. Previous set_clock_uncertainty assignments can also be manually removed by using the remove_clock_uncertainty command. Note that this command is called automatically and the user only needs to manually call it to specify the -add or -overwrite options. |
|||
Example Usage |
# create a virtual clock create_clock -name virtual -period 1 # apply input/output delays with the virtual clock to get # I/O interface uncertainties set_input_delay -clock virtual -add_delay 0 [all_inputs] set_output_delay -clock virtual -add_delay 0 [all_outputs] # call derive_clock_uncertainty. results will be calculated # at the next update_timing_netlist call derive_clock_uncertainty update_timing_netlist |
|||
Return Value | Code Name | Code | String Return | |
TCL_OK | 0 | INFO: Operation successful |