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
Notes: - Indirect Programming of SPI Serial Flash PROMs with Spartan®-3A FPGAs
(XAPP974)
- 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
configuration interface
OR - An FPGA attached to a BPI Flash memory through a BPI direct configuration
interface.
- 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 tables below. iMPACT SPI Flash Programming Support 7 Series FPGA Family Support Flash
Vendor | Flash Family | Supported Flash Density | SPI Indirect Programming Support | Micron (Numonyx) | N25Q 3.3V (1) | 32Mb – 256Mb | Kintex™-7, Artix™-7 | N25Q 1.8V (1) | 32Mb – 256Mb | Kintex-7,Virtex-7, Artix-7 | Winbond | W25Q (Rev BV) | 32Mb – 128Mb | Kintex-7 | W25Q (Rev BW) | 8Mb | Artix-7 | W25Q (Rev FV) | 64Mb – 128Mb | Kintex-7 | W25Q (Rev DW) | 32Mb – 64Mb | Kintex-7, Virtex®-7. Artix-7 | Spansion | S25FLxxP (2) | 32Mb – 256Mb | Kintex-7 | S25FLxxS (3) | 128Mb, 512Mb | Kintex-7 | S25FLxxS (3) | 256Mb, 512Mb | Virtex-7 | S25FLxxS (3) | 128Mb, 256Mb | Artix-7 |
- For Numonyx N25Q: Top, Bottom, and Uniform block sectors are
supported.
- S25FL129P and S25FL256S are supported. 64Kb sector size only.
S25FL128P is not supported.
- 64kB sector size only.
Virtex and Spartan FPGA Family Support Flash
Vendor | Flash Family | Supported Flash Density | SPI Indirect Programming Support | Micron
(Numonyx) | M25P | 512kB – 128Mb | Spartan®-3E, Spartan-3A, Spartan-3A DSP, Spartan-6, Virtex-5, Virtex-6 | M25PE | 1Mb – 16Mb | Spartan-3E, Spartan-3A, Spartan-3A DSP, Spartan-6, Virtex-5 | M45PE | 1Mb – 16Mb | Spartan-3E, Spartan-3A, Spartan-3A DSP, Spartan-6 | N25Q 3.3V (1) | 32Mb – 128Mb | Spartan-3E, Spartan-6, | N25Q 1.8V (1) | 32Mb – 128Mb | Virtex-6 | Atmel | AT45DB (Rev
B, C, and D) | 1Mb – 64Mb | Spartan-3E, Spartan-3A, Spartan-3A DSP, Spartan-6, Virtex-5, Virtex-6 | Winbond | W25Q (Rev V/CV) | 4Mb – 64Mb | Spartan-6 | W25Q (Rev BV) | 4Mb – 128Mb | Spartan-6 | W25Q 1.8V (Rev
BW) | 4Mb | Virtex-6 | W25Q 1.8V (Rev
BW) | 8Mb | Spartan-6 | W25Q 1.8V (Rev
DW) | 64Mb | Virtex-6 | Spansion | S25FLxxP (2) | 32Mb – 128Mb | Spartan-3A, Spartan-3A DSP, Spartan-6, Virtex-5, Virtex-6 |
- For Numonyx N25Q: Top, Bottom, and Uniform block sectors are
supported.
- S25FL032P, S25FL064P, and S25FL129P are supported. 64kB sector
size only. S25FL128P is not supported.
iMPACT BPI Flash Programming Support 7 Series FPGA Family Support Flash
Vendor | Flash Family | Supported Flash Density | Data Bus Width | BPI Indirect Programming Support (1) | Micron (Numonyx) | P33 (Axcell™) | 64Mb – 1Gb | D[15:0] (x16) | Kintex-7 | P30 (Strataflash™, Axcell™) | 64Mb – 1Gb | D[15:0] (x16) | Kintex-7, Virtex-7, Artix-7 | M29EW | 64Mb – 1Gb | D[15:0] (x16) | Kintex-7, Virtex-7 , Artix-7 | D[7:0] (x8) | G18F (2) | 128Mb – 1Gb | D[15:0] (x16) | Kintex-7, Virtex-7, Artix-7 | Spansion | S29GLxxP | 128Mb – 1Gb | D[15:0] (x16) | Kintex-7, Virtex-7 | D[7:0] (x8) | S29GLxxS | 128Mb – 1Gb | D[15:0] (x16) | Kintex-7, Virtex-7, Artix-7 | |
- Indirect BPI programming supports using the 7 series (Virtex-7 and Kintex-7)
RS[1:0] pins when they are tied to the upper two BPI Flash address
pins..
- For Micron G18: Non-Mux interface family members are supported.
Virtex and Spartan FPGA Family Support Flash
Vendor | Flash Family | Supported Flash Density | Data Bus Width | BPI Indirect Programming Support (1) (2) | Xilinx® | XCF128X | 128Mb | D[15:0] (x16) | Virtex-5, Virtex-6 | Micron
(Numonyx) (3) | P30 (Strataflash™,
Axcell™) | 64Mb – 1Gb | D[15:0] (x16) | Spartan-6, Virtex-5, Virtex-6 | P33 Axcell | 64Mb – 1Gb | D[15:0] (x16) | Spartan-6 | J3 (Rev D, F) | 32Mb – 256Mb | D[15:0] (x16) | Spartan-6, Virtex-5 | D[7:0] (x8) | Spartan-3A, Spartan-3A DSP, Spartan-6, Virtex-5 | Spansion | S29GLxxS | 128Mb – 1Gb | D[15:0] (x16) | Spartan-6, Virtex-6 | S29GLxxP | 128Mb – 1Gb | D[15:0] (x16) | Spartan-6, Virtex-5, Virtex-6 | D[7:0] (x8) |
- Maximum indirect BPI Flash programming TCK frequency is 3 MHz.
- Indirect BPI programming supports using the Virtex-6 and Virtex-5 FPGA
RS[1:0] pins when they are tied to the upper two BPI Flash address
pins.
- For Micron (Numonyx) monolithic P30: Top and Bottom parameter
boot type are supported, and symmetrical boot type are not supported.
P30 48F4400P0 Flash are also supported.
|