After the I/O timing constraints are entered, it is important to review how timing
is analyzed on the I/O paths and the amount of slack violation for both setup and hold
checks. By using the timing reports from/to all ports for both setup and hold analysis
(that is, delay type = min_max), you can verify
that:
- The correct clocks and clock edges are used as reference for the delay constraints.
- The expected clocks are launching and capturing the I/O data inside the device.
- The violations can reasonably be fixed by placement or by setting the proper delay line tap configuration. If this is not the case, you must review the I/O delay values entered in the constraints and evaluate whether they are realistic, and whether you must modify the design to meet timing.