Input Forward Clock Delay (GPIO clkout)
This example shows how to set constratints for an input forward clock.
The SDC constraint formulas for the foward clock delay are:
set_input_delay -clock <clock> -reference_pin <clkout interface name> \
-max <max calculation> <ports>
set_input_delay -clock <clock> -reference_pin <clkout interface name> \
-min <min calculation> <ports>Reference Pin
With forward clocks, you use the -reference_pin option to include
the clock latency delay in the I/O constraint. The -reference_pin
pin target is a clkout pad that the software automatically adds to the netlist. The
<project>.pt_timing.rpt file shows the reference
pin name.
Calculate the min and max constraints using the following equations:
<max calculation> = <max board constraint> + GPIO_INmax + GPIO_CLK_OUTmax
<min calculation> = <min board constraint> + GPIO_INmin + GPIO_CLK_OUTmin
The following example shows how to calculate the delays and set the constraints.
Constraining Input Forward Clock
i input with respect to clock
clk_fwd with a max board constraint of 2 ns and a min
board constraint of 2 ns. The non-registered GPIO configuration data from
the <project>.pt_timing.rpt file is:Clkout GPIO Configuration:
===========================
+---------------+-----------+--------------+----------+----------+--------------------+
| Instance Name | Clock Pin | Parameter | Max (ns) | Min (ns) | Reference Pin Name |
+---------------+-----------+--------------+----------+----------+--------------------+
| clk_fwd | clk | GPIO_CLK_OUT | 2.205 | 1.470 | clk~CLKOUT~219~1 |
+---------------+-----------+--------------+----------+----------+--------------------+
Non-registered HSIO GPIO Configuration:
========================================
+---------------+----------+-------------+----------+----------+
| Instance Name | Pin Name | Parameter | Max (ns) | Min (ns) |
+---------------+----------+-------------+----------+----------+
| clk | clk | GPIO_CLK_IN | 0.828 | 0.552 |
| i | i | GPIO_IN | 0.828 | 0.552 |
| o | o | GPIO_OUT | 2.205 | 1.470 |
+---------------+----------+-------------+----------+----------+
set_input_delay -clock clk -reference_pin clk~CLKOUT~219~1 -max 5.033 [get_ports {i}]
set_input_delay -clock clk -reference_pin clk~CLKOUT~219~1 -min 4.022 [get_ports {i}]