分享

Introduction to Indirect Programming – SPI or BPI Flash Memory

 灞河之滨 2017-10-10
Note The following describes indirect programming through a Xilinx FPGA. For a description of indirect programming through a Zynq™-7000 AP SoC, see Zynq™-7000 AP SoC Operations In iMPACT.
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.
Image
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 VendorFlash FamilySupported Flash Density SPI Indirect Programming Support
Micron (Numonyx)N25Q 3.3V (1)32Mb – 256MbKintex™-7, Artix™-7
N25Q 1.8V (1)32Mb – 256MbKintex-7,Virtex-7, Artix-7
WinbondW25Q (Rev BV)32Mb – 128MbKintex-7
W25Q (Rev BW)8MbArtix-7
W25Q (Rev FV)64Mb – 128MbKintex-7
W25Q (Rev DW)32Mb – 64MbKintex-7, Virtex®-7. Artix-7
SpansionS25FLxxP (2)32Mb – 256MbKintex-7
S25FLxxS (3)128Mb, 512MbKintex-7
S25FLxxS (3)256Mb, 512MbVirtex-7
S25FLxxS (3)128Mb, 256MbArtix-7
  1. For Numonyx N25Q: Top, Bottom, and Uniform block sectors are supported.
  2. S25FL129P and S25FL256S are supported. 64Kb sector size only. S25FL128P is not supported.
  3. 64kB sector size only.
Virtex and Spartan FPGA Family Support
Flash VendorFlash FamilySupported Flash Density SPI Indirect Programming Support
Micron (Numonyx)M25P 512kB – 128MbSpartan®-3E, Spartan-3A, Spartan-3A DSP, Spartan-6, Virtex-5, Virtex-6
M25PE 1Mb – 16MbSpartan-3E, Spartan-3A, Spartan-3A DSP, Spartan-6, Virtex-5
M45PE 1Mb – 16MbSpartan-3E, Spartan-3A, Spartan-3A DSP, Spartan-6
N25Q 3.3V (1)32Mb – 128MbSpartan-3E, Spartan-6,
N25Q 1.8V (1)32Mb – 128MbVirtex-6
AtmelAT45DB (Rev B, C, and D) 1Mb – 64MbSpartan-3E, Spartan-3A, Spartan-3A DSP, Spartan-6, Virtex-5, Virtex-6
WinbondW25Q (Rev V/CV)4Mb – 64MbSpartan-6
W25Q (Rev BV)4Mb – 128MbSpartan-6
W25Q 1.8V (Rev BW)4MbVirtex-6
W25Q 1.8V (Rev BW)8MbSpartan-6
W25Q 1.8V (Rev DW)64MbVirtex-6
SpansionS25FLxxP (2)32Mb – 128MbSpartan-3A, Spartan-3A DSP, Spartan-6, Virtex-5, Virtex-6
  1. For Numonyx N25Q: Top, Bottom, and Uniform block sectors are supported.
  2. 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 VendorFlash FamilySupported Flash Density Data Bus WidthBPI Indirect Programming Support (1)
Micron (Numonyx)P33 (Axcell™)64Mb – 1GbD[15:0] (x16)Kintex-7
P30 (Strataflash™, Axcell™) 64Mb – 1GbD[15:0] (x16)Kintex-7, Virtex-7,
Artix-7
M29EW64Mb – 1GbD[15:0] (x16)Kintex-7, Virtex-7 , Artix-7
D[7:0] (x8)
G18F (2)128Mb – 1GbD[15:0] (x16)Kintex-7, Virtex-7, Artix-7
SpansionS29GLxxP128Mb – 1GbD[15:0] (x16)Kintex-7, Virtex-7
D[7:0] (x8)
S29GLxxS128Mb – 1GbD[15:0] (x16)Kintex-7, Virtex-7, Artix-7
 
  1. 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..
  2. For Micron G18: Non-Mux interface family members are supported.
Virtex and Spartan FPGA Family Support
Flash VendorFlash FamilySupported Flash Density Data Bus WidthBPI 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 Axcell64Mb – 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
SpansionS29GLxxS128Mb – 1GbD[15:0] (x16)Spartan-6, Virtex-6
S29GLxxP 128Mb – 1Gb D[15:0] (x16)Spartan-6, Virtex-5, Virtex-6
D[7:0] (x8)
  1. Maximum indirect BPI Flash programming TCK frequency is 3 MHz.
  2. 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.
  3. 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.

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多