set_input_jitter - 2023.2 English

Vivado Design Suite Tcl Command Reference Guide (UG835)

Document ID
UG835
Release Date
2023-10-18
Version
2023.2 English

Set input jitter for a clock object

Syntax

set_input_jitter [‑quiet] [‑verbose] <clock> <input_jitter>

Returns

Clock

Usage

Name Description
[-quiet] Ignore command errors
[-verbose] Suspend message limits during command execution
<clock> Clock
<input_jitter> Input jitter: Value >= 0

Categories

XDC

Description

Use the set_input_jitter command to specify additional jitter for a specific primary clock.

Input jitter is the difference between successive clock edges due to variation from the ideal arrival times. This command sets the input jitter in nanoseconds (ns) for a specified primary clock, defined with the create_clock command. Because the command accepts a single clock, the jitter for each primary clock must be set individually.

You can only use the set_input_jitter command to specify input jitter on primary clocks. You cannot use the command to set input jitter on generated or auto derived clocks. Input jitter is propagated to generated clocks from the master clock, except for MMCM and PLL.

The input jitter is used in the calculation of discrete jitter, which is the amount of jitter introduced by hardware primitives such as MMCM or PLL. Discrete jitter is a feature of clocks generated by the MMCM. See set_clock_uncertainty.

The set_input_jitter command is ignored during synthesis.

Tip: INPUT_JITTER is a property of primary clocks that can be returned by the get_property or report_property commands.

This command returns nothing if successful, or returns an error if it fails.

Arguments

-quiet - (Optional) Execute the command quietly, returning no messages from the command. The command also returns TCL_OK regardless of any errors encountered during execution.
Note: Any errors encountered on the command-line, while launching the command, will be returned. Only errors occurring inside the command will be trapped.
-verbose - (Optional) Temporarily override any message limits and return all messages from this command.
Note: Message limits can be defined with the set_msg_config command.

<clock> - (Required) The clock name of a primary clock, defined with the create_clock command.

<input_jitter> - (Required) The input jitter for the specified clock object (value >= 0). The value is specified as nanoseconds (ns).

Examples

The following example sets an input jitter value of 0.3 ns on two clocks, sysClk and procClk. Although the jitter values are the same, you must use two set_input_jitter commands since the command only takes one clock as an argument:

set_input_jitter sysClk 0.3
set_input_jitter procClk 0.3

The following example defines a primary clock, sysClk, and a generated clock, sysClkDiv2, that is a divide by two version of the primary clock. An input jitter of 0.15 ns is specified on the primary clock. The input jitter is automatically propagated to the generated clock:

create_clock -period 10 -name sysClk [get_ports sysClk]
create_generated_clock  -name sysClkDiv2 -source [get_ports sysClk] \
   -divide_by 2 [get_pins clkgen/sysClkDiv/Q]
set_input_jitter sysClk 0.15
Note: In this example sysClkDiv2 is generated by a divider implemented with flip-flops, so the input jitter is propagated from the primary clock.