AR# 39083: 12.1 EDK - Possible solutions to store the embedded software in external non-volatile memory
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.
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: http://www.xilinx.com/support/documentation/application_notes/xapp1106.pdf
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)