The SPI flash device has requirements on the switching characteristics of its input data with respect to its input clock. This analysis is for data capture at the SPI flash device when receiving data from the system-level design example.
The following parameters, shown in the previous figure, are defined as requirements for successful data capture by the SPI flash device:
- Tdvch
- SPI flash minimum data setup requirement with respect to clock
- Tchdx
- SPI flash minimum data hold requirement with respect to clock
The analysis assumes minimum propagation delays are zero. This analysis also assumes the following skews are negligible:
- Skew on input clock distribution to FPGA output flip-flops.
- Skew on output signal paths from FPGA output flip-flops to FPGA pins.
- Skew in PCB level translator channel delays. The level translator on clock and datapaths must be matched for this to be true.
- Skew in PCB trace segment delays. The trace delay on clock and datapaths must be matched for this to be true.
- Duty cycle distortion.
The following parameters are defined as implementation parameters of the SPI flash master helper block and PCB:
- Tclk =
input clock cycle time (
icap_clk
) - Tqfpga =
FPGA output delay with respect to
icap_clk
- Tw1 = FPGA to level translator PCB trace delay
- Tw2 = Level translator to SPI flash PCB trace delay
- Tdly = Level translator channel delay
The memory system signaling generated by the SPI flash master helper block implementation is shown in the following figure.
Given the stated assumptions, the delays on both the clock and datapaths are identical and track each other over process, voltage, and temperature variations. The following relationships exist:
- Tclk ≥ Tdvch
- Tclk ≥ Tchdx
Example :
- Tdvch = 1.75 ns (from SPI flash data sheet)
- Tchdx = 2 ns (from SPI flash data sheet)
- Calculate: Tclk ≥ Tdvch requires Tclk ≥ 1.75 ns
- Calculate: Tclk ≥ Tchdx requires Tclk ≥ 2 ns
These requirements on Tclk indicate that the SPI Transmit Waveform and Timing Budget restrict the system-level design example input clock cycle time to be 2 ns or larger.