The SPI flash device has requirements on the switching characteristics of its input clock. This analysis is for the clock signal generated for the SPI flash device by the system-level design example. Completion of this analysis requires board-level signal integrity simulation capability.
The following parameters, shown in the previous figure, are defined as requirements on the clock input to the SPI flash device:
- Tclch
- SPI bus clock maximum rise time requirement
- Tchcl
- SPI bus clock maximum fall time requirement
- Tcl
- SPI bus clock minimum low time requirement
- Tch
- SPI bus clock minimum high time requirement
Based on the physical construction of the SPI bus, the I/O characteristics of the FPGA, and the I/O characteristics of any level translator used, the SPI bus clock signal originating at the FPGA exhibits maximum rise and fall times (Trise and Tfall ) at the SPI flash device. Satisfaction of Tclch and Tchcl requirements by Trise and Tfall must be verified. Should Tclch and Tchcl requirements not be satisfied, avenues of correction include:
- Change I/O slew rate for the system-level design example SPI bus clock output.
- Change I/O drive strength for the system-level design example SPI bus clock output.
- Select an alternate level translator with more suitable I/O characteristics.
Generally, the Tclch and Tchcl requirements are easy to satisfy. They exist to prohibit exceptionally long rise and fall times that might occur on a true bus with many loads, rather than the point-to-point scheme used with the system-level design example.
The SPI bus clock generated by the system-level design example is the input clock divided by two. Therefore, the SPI bus clock high and low times are nominally equal to Tclk . However, considering actual Trise and Tfall , also ensure satisfaction of the following:
- Tclk ≥ Trise + Tch
- Tclk ≥ Tfall + Tcl
Example :
- Tclch = 33 ns (from SPI flash data sheet)
- Tchcl = 33 ns (from SPI flash data sheet)
- Tcl = 3.375 ns (from SPI flash data sheet)
- Tch = 3.375 ns (from SPI flash data sheet)
- Trise = 2 ns (from PCB simulation)
- Tfall = 2 ns (from PCB simulation)
Given this data, perform the following:
- Check: Is Tclch ≥ Trise ? Is 33 ns ≥ 2 ns ? Yes
- Check: Is Tchcl ≥ Tfall ? Is 33 ns ≥ 2 ns ? Yes
- Calculate: Tclk ≥ Trise + Tch requires Tclk ≥ 2 ns + 3.375 ns, or Tclk ≥ 5.375 ns
- Calculate: Tclk ≥ Tfall + Tcl requires Tclk ≥ 2 ns + 3.375 ns, or Tclk ≥ 5.375 ns
The rise time requirements are satisfied. These requirements on Tclk indicate that the SPI Bus Clock Waveform and Timing Budget restrict the system-level design example input clock cycle time to be 5.375 ns or larger.