By default, UltraScale FPGAs use the parallel NOR flash asynchronous read in the master BPI configuration mode. The FPGA drives the address bus from a given start address, and the flash sends back the bitstream data. The default start address is address 0, but the start address can be explicitly set in a MultiBoot reconfiguration procedure. In asynchronous read mode, supported bus widths of x8 and x16 are auto-detected. The following figure provides the connectivity diagram between the FPGA and parallel NOR flash for the x16 asynchronous read master BPI configuration mode.
Figure 1. Master BPI Configuration Interface Example for x16 Asynchronous
Read
Notes relevant to the previous figure:
- Parallel NOR flash that have a BYTE# signal must set the BYTE# signal appropriately. For x16 data bus width the BYTE# signal must be set High. For x8 data bus width the BYTE# signal must be set Low. Refer to the flash data sheet for details.
- Review the flash vendor's data sheet carefully
to ensure that the flash LSB address signal is connected correctly depending on the vendor
and data bus width used. Parallel NOR flash with the dual purpose
DQ15/A-1signal must ensure that it is connected properly. The DQ15/A-1 is a data pin in x16 mode. For the x8 mode the flashDQ15/A-1is an LSB address line and needs to be connected to the FPGA A00.. - The
DONEpin is by default an open-drain output. See Configuration Pin Definitions for DONE signal details. - The
INIT_Bpin is a bidirectional, open-drain pin. An external pull-up resistor is required. See Configuration Pin Definitions forINITsignal details. - The x16 BPI interface is shown in the previous
figure. For x8 BPI interfaces, only
D[07:00]are used. - The flash vendor data sheet should be referred to for flash signal connectivity details. Ensure the FPGA LSB A00 is aligned to the flash LSB address (dependent on the flash family and data width selected).
-
CSO_Bshould be connected to theCSI_Bof the downstream FPGA for parallel daisy-chains. - The FPGA VCCO_0 supply must be compatible with the VCC for the I/O of the selected parallel NOR device.
- The
CCLKfrequency is adjusted by the VivadoConfiguration Ratebitstream setting (BITSTREAM.CONFIG.CONFIGRATE) if the source is the internal oscillator. Alternatively, theEnable External Configuration Clockoption (BITSTREAM.CONFIG.EXTMASTERCCLK_EN) can switch theCCLKto source from theEMCCLKpin to use an external clock source. See EMCCLK Option and File Generation for details. - The FPGA
PUDC_Bpin is tied toGNDto enable internal pull-ups or it can be tied to VCCO_0 to 3-state the SelectIO pins after power-up and during configuration. See Configuration Pin Definitions for PUDC_B signal details. - See the respective data sheet ( Virtex UltraScale FPGAs Data Sheet: DC and AC Switching Characteristics (DS893) or Kintex UltraScale FPGAs Data Sheet: DC and AC Switching Characteristics (DS892)) for the VCCINT, VCCAUX, and VCCO_0 supply voltages.
-
ADV_BandCCLKconnections are available on some supported flash families, but the connections are not required for asynchronous read operation. TheCCLKoutput is not used to connect to flash in the asynchronous read mode, but it is used to sample flash read data during configuration. All timing is referenced toCCLK. On asynchronous read setups, if the flash hasADV_BandCLKlines, they must be tied toGND. - The
RS[1:0]pins are not connected, as shown in the previous figure. This sample schematic supports single bitstream configuration. These output pins are optional and can be used for MultiBoot configuration. - The JTAG connections are shown for a simple,
single-device JTAG scan chain. When multiple devices are on the JTAG scan chain, use the
proper IEEE Std 1149.1 daisy-chain technique to connect the JTAG signals. The TCK signal
integrity is critical for JTAG operation. Route, terminate, and if necessary, buffer the
TCKsignal appropriately to ensure signal integrity for the devices in the JTAG scan chain.