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# 41813

13.1i – Spartan-6 – Can I store a userdata at the beginning of or prior to the FPGA Configuration memory?


Can I store a userdata at the beginning of the BPI/SPI configuration memory?

Can I start configuration at addresses other than 0x000?


In Spartan-6 FPGA, the default Master configuration address is 0x000000, which is the beginning of the configuration memory for Master SPI/BPI/SelectMAP configuration mode.


In Spartan-6 you can store a userdata in configuration memory before the configuration memory start address (at the location 0x00000) in BPI or SelectMAP configuration mode only.


In Master SPI/Serial configuration mode, storing user-data before configuration memory should be avoided. 

If it is used then it should not exceed 512 clock cycle. 


This is because the Spartan-6 FPGA has a Master SPI Vendor Auto-Detection and Error Handling state machine, which runs at the power cycle or at the PROG_B/JPROG signals.

If the Synchronization word does not detected before 512 cycles then FPGA configuration will fail with INIT_B LOW. 

As a result you should take precautions when storing user-data prior to the configuration memory in configuration flash memory.


AR# 41813
Date Created 04/18/2011
Last Updated 11/28/2014
Status Active
Type General Article
  • Spartan-6 LX
  • Spartan-6 LXT
  • Spartan-6Q
Boards & Kits
  • Spartan-6 FPGA Connectivity Kit
  • Spartan-6 FPGA Embedded Kit
  • Spartan-6 FPGA SP601 Evaluation Kit
  • More
  • Spartan-6 FPGA SP605 Evaluation Kit
  • Spartan-6 FPGA SP623 Characterization Kit
  • Less