STARTUPE3 represents combinatorial
connections, and does not contain any registers. Registers must be placed
outside STARTUPE3. The USRCCLKO input to
STARTUPE3 does not synchronize logic inside the block. It is a direct
combinatorial connection to the CCLK pin
after configuration. The USRCCLKO input
would typically come from a global clock resource in the FPGA to synchronize
the post-configuration interface to the flash.
The flash clock Low to output valid
time (TSPITCO for SPI mode) must take into
account the CCLK delay through the
STARTUPE3, TUSRCCLKO.
Similarly, the FPGA data setup time
(TSPIDCC for SPI mode) on D[03:00] is delayed by the setup time from
the pins to the STARTUPE3 DI ports (TDI) plus the
routing delays from the STARTUPE3 DI port outputs to the slice flip-flops
used.
Higher-order data pins D[xx:04] are routed directly to
general-purpose I/O pins, so the delays can be constrained using standard
input and output timing constraints. When setting input delays for serial
NOR flash used in SPI mode, the clock polarity of the FPGA design must be
taken into account. Data from the serial NOR flash device is launched off
the falling edge of the clock.