set_max_skew (::quartus::sdc_ext)

The following table displays information for the set_max_skew Tcl command:

Tcl Package and Version

Belongs to ::quartus::sdc_ext 1.0

Syntax set_max_skew [-h | -help] [-long_help] [-exclude <Tcl list> ] [-fall_from_clock <names> ] [-fall_to_clock <names> ] [-from <names> ] [-from_clock <names> ] [-get_skew_value_from_clock_period <src_clock_period|dst_clock_period|min_clock_period> ] [-include <Tcl list> ] [-rise_from_clock <names> ] [-rise_to_clock <names> ] [-skew_value_multiplier <multiplier> ] [-to <names> ] [-to_clock <names> ]
 
[ <skew> ]
Arguments -h | -help Short help
-long_help Long help with examples and possible return values
-exclude <Tcl list> A Tcl list of parameters to exclude during skew analysis. This list can include 1 or more of the following: utsu, uth, utco, from_clock, to_clock, clock_uncertainty, ccpp, input_delay, output_delay, odv. Not supported for TimeQuest Pro
-fall_from_clock <names> Valid source clocks (string patterns are matched using Tcl string matching)
-fall_to_clock <names> Valid destination clocks (string patterns are matched using Tcl string matching)
-from <names> Valid sources (string patterns are matched using Tcl string matching)
-from_clock <names> Valid source clocks (string patterns are matched using Tcl string matching)
-get_skew_value_from_clock_period <src_clock_period|dst_clock_period|min_clock_period> Compute skew constraint as a multiple of the clock period
-include <Tcl list> Tcl list of parameters to include during skew analysis. This list can include 1 or more of the following: utsu, uth, utco, from_clock, to_clock, clock_uncertainty, ccpp, input_delay, output_delay, odv. Not supported for TimeQuest Pro
-rise_from_clock <names> Valid source clocks (string patterns are matched using Tcl string matching)
-rise_to_clock <names> Valid destination clocks (string patterns are matched using Tcl string matching)
-skew_value_multiplier <multiplier> Value by which the clock period should be multiplied to compute skew requirement
-to <names> Valid destinations (string patterns are matched using Tcl string matching)
-to_clock <names> Valid destination clocks (string patterns are matched using Tcl string matching)
<skew> Required skew
Description
Use the set_max_skew constraint to perform maximum
allowable skew analysis between sets of registers or
ports. In order to constrain skew across multiple
paths, all such paths must be defined within a single
set_max_skew constraint. set_max_skew timing
constraint is not affected by set_max_delay,
set_min_delay and set_multicycle_path but it does obey
set_false_path and set_clock_groups.  If TimeQuest Pro is
enabled, skew constraints will also not be affected 
by set_clock_groups.

Legal values for the -from and -to options are
collections of clocks, registers, ports, pins,
cells or partitions in a design.

Applying maximum skew constraints between clocks
applies the constraint from all register or ports
driven by the clock specified with the -from option to
all registers or ports driven by the clock specified
with the -to option.

If pin names or collections are used, the -from value
must be a clock pin and the -to value must be any
non-clock input pin to a register. Assignments from
clock pins or to and from cells apply to all registers
contained in the cell or driven by the clock pin.
Similarly, -to and -from partition specifications
apply to all registers in the specified partition.

Use the -include and -exclude options to include or
exclude one or more of the following: register micro
parameters (utsu, uth, utco), clock arrival times
(from_clock, to_clock), clock uncertainty
(clock_uncertainty), common clock path pessimism
removal (ccpp), input and output delays
(input_delay, output_delay) and on-die variation
(odv). By default, max skew analysis includes data 
arrival times, clock arrival times, register micro 
parameters, clock uncertainty, on-die variation and 
ccpp removal. Among these, only ccpp removal is 
disabled during the Fitter by default. When -include 
is used, those in the inclusion list will be added 
to the default analysis. Similarly, when -exclude 
is used, those in the exclusion list will be excluded 
from the default analysis. When both the -include and 
-exclude options specify the same parameter, that 
parameter will be excluded.	

When TimeQuest Pro is enabled, -exclude and -include are
not supported.  All components will be included.

Use -get_skew_value_from_clock_period to set the skew 
requirement to be equal to the launching or latching clock 
period, or whichever of the two has a smaller period.
If -skew_value_multiplier is used, the requirement is multiplied
by that value.  If this option is used, then the positional 
skew option may not be set.  If the set of skew paths is 
clocked by more than one clock, TimeQuest will use the 
one with smallest period to compute the skew constraint.

When this constraint is used, results of max skew
analysis are displayed in the Report Max Skew
(report_max_skew) report from the TimeQuest Timing
Analyzer. Since skew is defined between two or more
paths, no results are displayed if the
-from/-from_clock and -to/-to_clock filters satisfy
less than two paths.

Avoid using the set_max_skew command if your design
targets a HardCopy series device or if you plan to
migrate your design to a HardCopy series device.
Example Usage
# Constrain the skew on an input port to all registers it feeds
set_max_skew -from [get_ports din] 0.200

# Constrain the skew on output bus dout[*]
set_max_skew -to [get_ports dout\[*\]] 0.200

# Create a max skew constraint that includes only data path arrival
set_max_skew -from [get_keepers inst1|*] -to [get_keepers inst2|*] 0.200 \
-exclude { from_clock to_clock clock_uncertainty }

# Create a max skew constraint that includes input and output delays
# as well as the default data arrivals, clock arrivals and clock uncertainty
set_max_skew -from [get_keepers inst1|*] -to [get_keepers inst2|*] 0.200 \
-include { input_delay output_delay }

# Constrain skew to be less than 90% of the period of any clock  in the source
# register set
set_max_skew -to [get_keepers inst1|*] -get_skew_value_from_clock_period src_clock_period -skew_value_multiplier 0.900

# Report the results of max skew assignments
report_max_skew -panel_name "Report Max Skew" -npaths 10 -detail path_only		
Return Value Code Name Code String Return
TCL_OK 0 INFO: Operation successful
TCL_ERROR 1 ERROR: Options -include and -exclude are not supported in TimeQuest Pro.
TCL_ERROR 1 ERROR: Timing netlist does not exist. Use create_timing_netlist to create a timing netlist.
TCL_ERROR 1 ERROR: <string> is not a valid argument for option <string>. Available arguments are: <string>
TCL_ERROR 1 ERROR: Following options are missing required arguments: <string>
TCL_ERROR 1 ERROR: The option -skew_value_multiplier must be a non-zero floating point number
TCL_ERROR 1 ERROR: The option -skew_value_multiplier may only be used if -get_skew_value_from_clock_period is used