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!

Page Bookmarked

AR# 39083

12.1 EDK - Possible solutions to store the embedded software in external non-volatile memory


In my embedded design, the software application is too large to fit into internal BRAM. I know I can run it from external DRAM, but where can I store the software application?


There are several solutions can help you store the software application. Generally, it will be much better to consider with your FPGA configuration solution. In other words, the solution you are using to configure FPGA can also be the solution to store application.

If you are using PROM, then you can use impact the add the software application into PROM and then need make a bootloader yourself to bootload the software application into external BRAM.

2. BPI Flash
If you are using BPI Flash, this will be a easiest way to program and bootload the software application, as Xilinx provides a Program Flash Utility (Flashwriter) to help you program the sw application and also create a bootloader automatically. The flow is described at Chapter13 "Flash Memory Programming" of est_rm.pdf (locates at your EDK installation directory: ...\ISE_DS\EDK\doc\usenglish)
You can also refer to reference design at:

3. SPI Flash
Using SPI Flash is similar to PROM solution. For details, please refer to:

Note: For both BPI and SPI, you can also use picoblaze example design to program and bootload the application.
For details, you can refer to picoblaze BPI & SPI example at:

4. CF Card
When you are using sysace with CF card solution, you can also store your software into CF card. If the software application is stored into CF directly, you need to use xps_sysace core to read the files; this should be similar to above bootloader flow, or you can also use genace.tcl to generate the ace which combines both hardware and software into a new ace file. Then, after hardware is configured and up, it will download the software application automatically. For genace.tcl usage, you can refer to chapter 12 "System ACE File Generator" of est_rm.pdf(locates at your EDK installation directory: ...\ISE_DS\EDK\doc\usenglish)

Linked Answer Records

Master Answer Records

Answer Number Answer Title Version Found Version Resolved
34609 12.x EDK - Master Answer Record List N/A N/A
AR# 39083
Date 12/15/2012
Status Active
Type General Article
  • EDK - 12.3
  • EDK - 12.1
  • EDK - 12.2