Output Forward Clock Delay (GPIO clkout)
This example shows how to set constratints for an output forward clock.
Warning: Most designs do not need to use this method. For
high-performance designs, use the GPIO registers and follow the instructions in Constraining Synchronous Inputs and Outputs.
The SDC constraint formulas for the forward clock delay are:
set_output_delay -clock <clock> -reference_pin <clkout interface name> \
-max <max calculation> <ports>
set_output_delay -clock <clock> -reference_pin <clkout interface name> \
-min <min calculation> <ports>
Calculate the min and max constraints using the following equations:
<max calculation> = <max board constraint> + GPIO_OUTmax - GPIO_CLK_OUTmax
<min calculation> = <min board constraint> + GPIO_OUTmin - GPIO_CLK_OUTmin
The following example shows how to calculate the delays and set the constraints.
Constraining Output Forward Clock
You want to constrain the
o output 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 Interface Designer timing report 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 |
+---------------+----------+-------------+----------+----------+
The equations are:
<max calculation> = 2 + 2.205 - 2.205 = 2
<min calculation> = 2 + 1.470 - 1.470 = 2
The resulting constraints are:
set_output_delay -clock clk -reference_pin clk~CLKOUT~219~1 -max 2 [get_ports {o}]
set_output_delay -clock clk -reference_pin clk~CLKOUT~219~1 -min 2 [get_ports {o}]