Parallel Flash Loader Intel® FPGA IP User Guide

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

1.9. Specifications

This section provides the equations to estimate the time for reconfiguring the FPGA with the PFL IP core.
The equations in the following table assume the following definitions:
  • Cflash is the number of clock cycles required to read from flash memory.
  • Ccfg is the number of input clock cycles to clock out the data (producing between one and 16 DCLK cycles, depending on the choice of flash data bus width and FPP or PS mode). Only the larger number between Cflash and Ccfg is important because reading from the flash and clocking out the data for configuration are performed in parallel.
  • Fclk is the input clock frequency to the PFL IP core.
  • Taccess is the flash access time.
  • Caccess is the number of clock cycles required before the data from the flash is ready.
  • Tpage_access is the page read time for Cypress flash memory devices and is only applicable for page mode access. Tpage_access is set to 30 ns in the PFL IP core.
  • N is the number of bytes to be clocked out. This value is obtained from the .rbf for the specific FPGA.
Table 19.  FPP and PS Mode Equations for the PFL
Flash Access Mode Configuration Data Option Flash Data Width (bits) DCLK Ratio = 1, 2, 4, or 8 16
FPP Mode PS Mode
Normal Mode/Page Mode Normal 8

Cflash = Caccess

Ccfg = DCLK Ratio

Coverhead = 5*Caccess

Cflash = Caccess

Ccfg = 8*DCLK Ratio

Coverhead = 5*Caccess

16

Cflash = Caccess/2

Ccfg = DCLK Ratio

Coverhead = 3*Caccess

Cflash = Caccess/2

Ccfg = 8*DCLK Ratio

Coverhead = 3*Caccess

32

Cflash = Caccess/4

Ccfg = DCLK Ratio

Coverhead = 3*Caccess

Cflash = Caccess/4

Ccfg = 8*DCLK Ratio

Coverhead = 3*Caccess

Compressed or encrypted or both 8

Cflash = Caccess

Ccfg = 4*DCLK Ratio

Coverhead = 5*Caccess

Cflash = Caccess

Ccfg = 8*DCLK Ratio

Coverhead = 5*Caccess

16

Cflash = Caccess/2

Ccfg = 4*DCLK Ratio

Coverhead = 3*Caccess

Cflash = Caccess/2

Ccfg = 8*DCLK Ratio

Coverhead = 3*Caccess

32

Cflash = Caccess/4

Ccfg = 4*DCLK Ratio

Coverhead = 3*Caccess

Cflash = Caccess/4

Ccfg = 8*DCLK Ratio

Coverhead = 3*Caccess

Burst Mode Normal 4

Cflash = 4

Ccfg = DCLK Ratio

Coverhead = 48

Cflash = 4

Ccfg = 8*DCLK Ratio

Coverhead = 48

8

Cflash = 2

Ccfg = DCLK Ratio

Coverhead = 22*Caccess+8

Cflash = 2

Ccfg = 8*DCLK Ratio

Coverhead = 22*Caccess+8

16

Cflash = 1

Ccfg = DCLK Ratio

Coverhead = 20*Caccess+8

Cflash = 1

Ccfg = 8*DCLK Ratio

Coverhead = 20*Caccess+8

32

Cflash = 0.5

Ccfg = DCLK Ratio

Coverhead = 20*Caccess+8

Cflash = 0.5

Ccfg = 8*DCLK Ratio

Coverhead = 20*Caccess+8

Compressed or encrypted or both 4

Cflash = 4

Ccfg = 4*DCLK Ratio

Coverhead = 48

Cflash = 4

Ccfg = 8*DCLK Ratio

Coverhead = 48

8

Cflash = 2

Ccfg = 4*DCLK Ratio

Coverhead = 22*Caccess+8

Cflash = 2

Ccfg = 8*DCLK Ratio

Coverhead = 22*Caccess+8

16

Cflash = 1

Ccfg = 4*DCLK Ratio

Coverhead = 20*Caccess+8

Cflash = 1

Ccfg = 8*DCLK Ratio

Coverhead = 20*Caccess+8

32

Cflash = 0.5

Ccfg = 4*DCLK Ratio

Coverhead = 20*Caccess+8

Cflash = 0.5

Ccfg = 8*DCLK Ratio

Coverhead = 20*Caccess+8

  • For Normal Mode and Burst Mode:

    Caccess = roundup(Taccess*Fclk+1)

    Total Clock Cycles (from nRESET asserted high to N bytes of data clocked out)

    = Coverhead + max(Cflash, Ccfg)*N

    Total Configuration Time = Total Clock Cycle/ PFL Input Clock

  • For Page Mode

    Caccess = [roundup(Taccess*Fclk+1) + roundup((Tpage_access*Fclk+1)*15)]/16

    Total Clock Cycles (from nRESET asserted high to N bytes of data clocked out)

    = Coverhead + max (Cflash, Ccfg)*N

    Total Configuration Time = Total Clock Cycle/ PFL Input Clock

  • For FPP (×8)

    Total Clock Cycles (from nRESET asserted high to N bytes of data clocked out)

    Cflash remains the same

  • For FPP (×16)

    Total Clock Cycles (from nRESET asserted high to N word of data clocked out)

    Cflash = Cflash × 2 (×2 of Cflash from FPP ×8)

  • For FPP (×32)

    Total Clock Cycles (from nRESET asserted high to N double word of data clocked out)

    Cflash = Cflash × 4 (×4 of Cflash from FPP ×8)

16 Ratio between input clock and DCLK output clock. For more information, see related information