Parallel Flash Loader Intel® FPGA IP User Guide

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

1.4.2.1. Constraining Clock Signal

At any given time, one of the following two clock sources clocks the blocks and modules of the PFL IP core:

  • Clock signals from the pfl_clk ports of the PFL during FPGA configuration
  • TCK pins of the JTAG programming interface during flash programming

The clock signal on the TCK pins is internally constrained to the maximum frequency supported by the selected JTAG programming hardware. Constraining the clock signal is not mandatory.

The pfl_clk generates fpga_dclk according to the ratio between input clock and DCLK output clock, a PFL parameter during FPGA configuration. pfl_clk also generates flash_clk and flash_sck which is the clock source for flash data read/write operation.

You can constrain pfl_clk to the maximum frequency that the PFL IP core supports. You can use the create_clock command or the Create Clock dialog box to specify the period and duty cycle of the clock constraint.

You can constrain fpga_dclk/flash_clk/flash_sck using create_generated_clock command or the Create Generated Clock dialog box to specify the relationship to source based on the ratio between input clock and fpga_dclk/flash_clk/flash_sck output clock.

Constraining the pfl_clk signal in the Timing Analyzer

To constrain the pfl_clk signal 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 Unconstrained Paths, click Clock Summary to view the clock that requires constraints. The default setting for all unconstrained clocks is 1 GHz. To constrain the clock signal, right-click the clock name and select Edit Clock Constraint.
  5. In the Create Clock dialog box, set the period and the duty cycle of the clock constraint
  6. Click Run

Constraining fpga_dclk/flash_sck/flash_clk signal in the Timing Analyzer

To constrain the fpga_dclk/flash_clk/flash_sck signal 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, click Update Timing Netlist, to include newly added clocks, constraints, and exceptions.
  4. On the Constraint menu, select Create Generated Clock to launch the dialog box.
  5. In the Create Generated Clock dialog box, set the relationship to source of the clock constraint.
  6. Click Run
  7. If input clock to DCLK output clock ratio more than 1, open the data window using Set Muticycle Path on the Constraint menu.
  8. The output clock frequency for flash_sck is half of the pfl_clk frequency for most of the time. When data is read from the flash device, the data is clocked in by the internal flash_sck clock that has a clock frequency that is equal to pfl_clk. You need to set multicycle path on the constraint menu. For example:
    set_multicycle_path -from [get_ports pfl_clk] -to [get_ports flash_sck] 2