iMPACT can program
certain BPI or SPI Flash devices indirectly, by preloading into the
FPGA a design that understands the boundary-scan (JTAG) protocol and
converts the applied data to BPI or SPI bus relationships. This FPGA
design serves as a bridge between the iMPACT programming tool
and the Flash device connected to the FPGA. The design is downloaded
into the FPGA by iMPACT (using a Xilinx® cable) to make the
indirect programming of the SPI or BPI Flash device possible.
For a detailed description of indirect programming, see these Xilinx Application
- Indirect Programming of SPI Serial Flash PROMs with Spartan®-3A FPGAs
- Indirect Programming of BPI PROMs with Virtex®-5 FPGAs (XAPP973)
For SPI and BPI configuration information, see the FPGA
Configuration User Guide
pertaining to the FPGA that will
be used for indirect programming. These User Guides are available
from the Documentation
Web page on the Xilinx website.
The indirect programming solution in iMPACT is used during
prototype design stages and is supported by the Xilinx FPGAs that
have a direct SPI or BPI flash configuration mode. Refer to the table
below for the supported Xilinx FPGAs and Flash memory devices.
Requirements for the indirect programming solution are:
- The iMPACT software.
- A supported Xilinx FPGA with a supported Flash device attached.
This will be:
- An FPGA attached to an SPI Flash memory through an SPI direct
- An FPGA attached to a BPI Flash memory through a BPI direct configuration
- A Xilinx cable and connector.
iMPACT supports select SPI and BPI Flash memories. The Flash
devices supported by iMPACT’s indirect programming are listed
in the table below.
iMPACT SPI Flash Programming Support
Vendor||Flash Family||Supported Flash Density ||SPI Direct Programming Support?||SPI Indirect Programming Support|
|Numonyx||M25P ||512Kb – 128Mb||Yes||Spartan-3E, Spartan-3A, Spartan-3A DSP. Spartan-6, Virtex-5, Virtex-6|
|M25PE ||1Mb – 16Mb||Yes||Spartan-3E, Spartan-3A, Spartan-3A DSP, Spartan-6, Virtex-5|
|M45PE ||1Mb – 16Mb||Yes||Spartan-3E, Spartan-3A, Spartan-3A DSP, Spartan-6, Virtex-5|
B, C, and D) ||1Mb – 64Mb||Yes||Spartan-3E, Spartan-3A, Spartan-3A DSP, Spartan-6, Virtex-5|
|Winbond||W25Q ||16Mb – 64Mb||Yes||Spartan-6|
iMPACT BPI Flash Programming Support
Vendor||Flash Family||Supported Flash Density ||Data Bus Width||BPI Indirect Programming Support (1)|
|Xilinx||XCF128X ||128Mb ||D[15:0] (x16) ||Virtex-5 (2),
|Numonyx (3)||P30 ||64Mb – 256Mb ||D[15:0] (x16) ||Spartan-6, Virtex-5 (2), Virtex-6 (2)|
|J3 (Rev D, F) (4)||32Mb – 256Mb ||D[15:0] (x16) ||Spartan-6, Virtex-5 (2), Virtex-6 (2)|
|D[7:0] (x8) ||Spartan-3A, Spartan-3A DSP, Spartan-6, Virtex-5 (2), Virtex-6 (2)|
- The maximum indirect BPI programming TCK frequency is 6 MHz
(default Platform Cable USB speed).
- Virtex-5 and Virtex-6 indirect BPI programming supports RS[1:0]
pin usage when the FPGA’s RS pins are tied to the upper two BPI Flash
address pins of the target Flash density.
- Numonyx monolithic die and Top boot BPI Flash are supported.
Stacked die and Bottom or Uniform boot BPI Flash are not supported.
- J3-65nm (Rev F is available in 256Mb)