Parallel Flash Loader Intel® FPGA IP User Guide

ID 683698
Date 4/03/2023
Public
Document Table of Contents

1.4.2.2. Constraining Synchronous Input and Output Ports

The setup and hold time of synchronous input and output ports is critical to the system designer. To avoid setup and hold time violations, you can specify the signal delay from the FPGA or the flash memory device to the synchronous input and output ports of the PFL IP core. The Intel® Quartus® Prime Fitter places and routes the input and output registers of the PFL IP core to meet the specified timing constraints.
Note: For more information about the synchronous input and output ports of the PFL IP core, refer to PFL Timing Constraints table.

The signal delay from FPGA or flash memory device to the PFL synchronous input port is specified by set_input_delay. The delay calculation is:

Input delay value = Board delay from FPGA or flash output port to the PFL input port + TCO of the FPGA or flash memory device

The signal delay from PFL synchronous output port to FPGA or flash memory device is specified by set_output_delay. The delay calculation is:

Output delay value = Board delay from the PFL output port to the FPGA or flash input port + TSU / -TDH of FPGA or flash device.

Note: TCO is the clock-to-output time from the timing specification in the FPGA, CPLD or flash datasheet.

To constrain the synchronous input and output signals in the Timing Analyzer, follow these steps:

  1. Run full compilation for the PFL design. Ensure that the timing analysis tool is set to Timing Analyzer.
  2. After full compilation completes, on the Tools menu, select Timing Analyzer to launch the Timing Analyzer window.
  3. In the Tasks list, under Diagnostic, click Report Unconstrained Paths to view the list of unconstrained parts and ports of the PFL design.
  4. In the Report list, under the Unconstrained Paths category, select Setup Analysis, and then click Unconstrained Input Port Paths.
  5. Right-click each synchronous input or output port in the From list or To list and select set_input_delay for the input port or set_output_delay for the output port, then specify the input delay or output delay value.