12.4 Adjusting Clock Information
(Ask a Question)- Global jitter (or internal system jitter)
- PLL/DLL jitter
- External jitter
For more information about these types of jitter, see the appropriate product datasheets and documents.
Starting with Libero SoC v2022.1, the automatic computation of system clock jitter for
Place & Route and Static Timing Analysis was introduced to the design flow for
PolarFire and PolarFire SoC devices. With this feature, you need only specify the clock
jitter of any FPGA primary input using the set_input_jitter
constraint.
These jitter components are analyzed automatically, and a specific jitter value computed
for each clock is passed on to the appropriate design flow steps. With the automatic
clock jitter flow, you can add a margin to the estimated jitter of a clock using the
set_clock_uncertainty
constraint.
set_system_jitter
constraint to override the automatically computed
global jitter value. System jitter is estimated based on the count of registers and RAM
blocks in the synthesized netlist. A report similar to the following, detailing the
jitter estimate, is generated upon completing the Place & Route and Verify Timing
steps. You can also provide the latency of a clock from its source outside the device to the
primary input using the set_clock_latency
constraint.
For more information about clock jitters, see the PolarFire Family Clocking Resources User Guide .
12.4.1 Set a Clock Input Jitter Value
(Ask a Question)Use the set_input_jitter
constraint to specify the peak-to-peak jitter
value at the primary input of the clock (see section set_input_jitter).
12.4.2 Set a Clock Uncertainty Constraint
(Ask a Question)Use the Set Clock Uncertainty Constraint dialog box to set either the Simple Clock Uncertainty constraint or the Clock To Clock Uncertainty constraint from the Type drop-down menu. The default is Simple Clock Uncertainty.
12.4.2.1 Set Simple Clock Uncertainty Constraint
(Ask a Question)To open the Set Clock Uncertainty Constraint dialog box from the Constraints menu, choose Clock Uncertainty and select Simple Clock Uncertainty from the Type drop-down menu in Set Clock Uncertainty Constraint dialog box.
The following table describes the Set Clock Uncertainty Constraint dialog box options.
Option | Description |
---|---|
Type |
Select Simple Clock Uncertainty (default) to set clock uncertainty constraint on a single clock. |
Source |
Specifies the clock name as the uncertainty source. To set the source clock, click the Browse button to open the Select Source for Simple Uncertainty Constraint dialog box. The following options are available in the Select Source
for Simple Uncertainty Constraint dialog box:
|
Uncertainity | Enter the time in ns that represents the amount of
deviation between two clock edges. |
Use uncertainty for | Enables you to select whether the uncertainty constraint applies to setup, hold, or all checks. |
Comment | Enables you to save a single line of text that describes this constraint. |
12.4.2.2 Set Clock-to-Clock Uncertainty Constraint
(Ask a Question)To open the Set Clock-to-clock Uncertainty Constraint dialog box from the Constraints menu, choose Clock Uncertainty, and select Clock To Clock Uncertainty from the Type drop-down menu.
The following table describes the Set Clock-to-clock Uncertainty Constraint dialog box options.
Option | Description |
---|---|
Type | Select Clock To Clock Uncertainty. |
From Clock | Specifies clock name as the uncertainty source. To set the From Clock, click the Browse button to open the Select Source Clock List for Clock-to-clock Uncertainty dialog box. The following options
are available in the Select Source Clock List for
Clock-to-clock Uncertainty dialog box:
|
Edge | Enables you to select if the clock-to-clock uncertainty applies to rising, falling, or both edges. |
To Clock | Specifies clock name as the uncertainty destination. To set the To Clock, click the Browse button to open the Select Destination Clock List for Clock-to-clock Uncertainty Constraint dialog box. The
following options are available in the Select Destination
Clock List for Clock-to-clock Uncertainty Constraint
dialog box:
|
Uncertainty | Enter the time in ns that represents the amount of
deviation between two clock edges. |
Use Uncertainty For | Enables you to select whether the uncertainty constraint applies to setup, hold, or all checks. |
Comment | Enables you to save a single line of text that describes this constraint. |
12.4.3 Set Clock Source Latency Constraint
(Ask a Question)Use the clock source latency constraint to specify the delay from the clock generation point to the clock definition point in the design.
Clock source latency defines the delay between an external clock source and the definition pin of a clock.
You can specify both an "early" delay and a "late" delay for this latency, providing an uncertainty that the timing analyzer can use for propagating through its calculations. Rising and falling edges of the same clock can have different latencies. If only one clock source latency value is provided, the value is taken as the exact latency value for both rising and falling edges.
To specify a Clock Source Latency constraint, open the Set Clock Source Latency Constraint dialog box in one of the following four ways:
- In the Constraints Browser, double-click Clock Source Latency.
- Click the Clock Source Latency Constraint icon.
- From the Constraints menu, click Clock Source Latency .
- Right-click any row of Clock Latency Constraints Table and click Add Clock Source Latency. The Set Clock Source Latency Constraint dialog box appears.
The following table describes the Set Clock Source Latency Constraint dialog box options.
Option | Description |
---|---|
Clock Name or Source | To select the clock source, click the Browse
button to open the Choose the Clock Source Pin
dialog box. The only choice available for Pin Type is Clock Pins. |
Late Rise | Specifies the largest possible latency (in nanoseconds) of the rising clock edge at the clock port or pin selected with respect to its source. Negative values are acceptable, but may lead to overly optimistic analysis. |
Late Fall | Specifies the largest possible latency (in nanoseconds) of the falling clock edge at the clock port or pin selected with respect to its source. Negative values are acceptable, but may lead to overly optimistic analysis. |
Early Rise | Specifies the smallest possible latency (in nanoseconds) of the rising clock edge at the clock port or pin selected with respect to its source. Negative values are acceptable, but may lead to overly optimistic analysis. |
Early Fall | Specifies the smallest possible latency (in nanoseconds) of the falling clock edge at the clock port or pin selected with respect to its source. Negative values are acceptable, but may lead to overly optimistic analysis. |
Falling same as rising | Specifies that the rising and falling clock edges have the same latency. |
Early same as Late |
Specifies that the clock source latency must be considered a single value, not a range from early to late. |
Comment | Enter a one-line comment to describe the clock source latency. |
12.4.4 Set a Clock Group
(Ask a Question)To add or delete a clock group constraint, open the Add Clock Groups Constraint dialog box in one of the following ways:
- From the Constraints menu, click Clock Groups.
- In the Constraints Browser, double-click Clock Groups.
- Right-click any row of Clock Groups Constraints Table and click Add Clock Groups.
The following table describes the Add Clock Groups Constraints dialog box options.
Option | Description |
---|---|
ClockGroupsName | Enter a name for the clock groups to be added. |
Exclusive Flag | Choose one of the following three clock group attributes for the
clock group:
|
Add Group | Click Add to open a dialog box to add clocks to a clock group. In the Available Pins list, click the clocks, and then click Add to move them to the Assigned Pins list. Click OK. |
Delete Group | Delete the clocks from a clock group. Select the group of clocks to be deleted and click Delete Group. This will delete the clock group. |
12.4.5 Modifying a System Jitter Value
(Ask a Question)Use the set_system_jitter
constraint to adjust the global jitter that is
automatically generated by Libero.