Introduction
This document describes how to use an adapted version of the direct flash programming method from the Xilinx XAPP800 application note.
In Xilinx XAPP800 multiple methods of programming a 3rd party SPI flash were described, one of which is the direct flash programming method using Xilinx Impact and a Xilinx USB Platform Cable. With minor adaptions this method is also compatible with the Zefant-nano V4 FPGA module, so the AT45DB642 SPI flash can be programmed from Impact and the FPGA be booted from the FPGA Flash after power-up.
Authors and Copyright
This is not our code. The application note and all relevant code has been provided by Xilinx in the Xilinx XAPP 800 application note.
All credits for adapting the code appertain to Andre Krüger working for the design house iC-Logic, thank you for sharing with us!
We do only want to share and document the adapted version for the Zefant users.
Quick Start
It's only a few very easy steps, simply check the video:
Setup
Requirements
- Xilinx Impact Installation (Version 11 or higher preferred)
- Xilinx Platform cable
- Zefant nano V4 module
- Zefant nano Universal Baseboard
- One jumper or jumper cable
Hardware Setup
The Xilinx platform cable is connected to X304 of the nano Universal Baseboard and a jumper is plugged onto X302:

Top view:

Connect the cables as shown:
| Universal BB | Signal | Xilinx Platform Cable color | CPLD Pin | VHDL Signal |
| X304 - 1 | VREF | red | - | - |
| X304 - 3 | SCK | yellow | 33 | pc_sclk |
| X304 - 4 | MISO | magenta | 34 | pc_miso |
| X304 - 5 | MOSI | white | 35 | pc_mosi |
| X304 - 6 | SS | green | 36 | pc_cs_n |
| X304 - 20 | GND | black | - | - |
| X302 - 18 | Enable Programming | (Jumper) | 37 | sel_config |
| X302 - 20 | GND | (Jumper) | - | - |
Note that the solder bridge SB302 is set to 3,3V. It is located between X302 and X304 and is clearly visible in the top view photo. Setting the solder bridge is required!
Booting from Flash
When the flash has been programmed, simply remove the jumper from X302. After the next power-up the FPGA will automatically be configured from SPI flash. Configuration takes ~2 seconds for an LX25 FPGA, and ~1,5 seconds for an FX12.