We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 29628

Virtex-5 / Spartan-3E/-3A/3AN/3A DSP - How do I program the third-party Parallel NOR Flash which are used in BPI configuration mode?


How many methods exist to program the third-party BPI Flash which can be used to configure Virtex-5, Spartan-3E/-3A/3AN/-3A DSP FPGA?


EDK Flashwriter

The FPGA itself can be used as a parallel Flash PROM programmer during development and test phases. The Xilinx Platform Studio (XPS) includes Flash programming support. Essentially, XPS downloads a Flash programmer into the FPGA via the FPGAs JTAG port. The FPGA then performs the Flash PROM programming algorithms. Any Xilinx FPGAs that support BPI configuration mode are suitablefor this method. This method requires that the flash device be CFI compliant. Consult Chapter 9 in the "Embedded System Tools Reference Manual" (UG111) for supported flash list and other details.

Indirect Programming using iMPACT

In this method, iMPACT downloads a core into the targeted FPGA and the core will transmit the configuration data coming from JTAG to the BPI flash through BPI interface. iMPACT 9.1i or later can support Virtex-5 LX/LXT (SXT from 9.2i), Spartan-3A, or Spartan-3A DSP FPGA to do this work.

PicoBlaze Processor BPI Flash Programmer

This method also turns the FPGA into an BPI Flash programmer. The FPGA connects to a PC via an RS232 UART and downloads an MCS file from HyperTerminal to the BPI Flash.

Refer below to the two example designs built for Spartan-3E and Spartan-3A Start Kit respectively:



Off-board third-party programmer

Solution 1-3 are ISP methods commonly used in prototyping stage.

In production applications, the parallel Flash PROM is typically preprogrammed by using third-partly programmer before it is mounted on the printed circuit board.
AR# 29628
Date 12/15/2012
Status Active
Type General Article
  • Virtex-5 FXT
  • Virtex-5 LX
  • Virtex-5 LXT
  • More
  • Virtex-5 SXT
  • Virtex-5 TXT
  • Spartan-3E
  • Spartan-3A
  • Spartan-3A DSP
  • Spartan-3AN
  • Less