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

Zynq-7000 AP SoC - 2013.3 SDK / 14.7 iMPACT is not able to program the QSPI if in QSPI boot mode on a production silicon


This issue arises when programming an image on the QSPI flash using iMPACT or SDK when booting in QSPI mode on a ZC702 with 7020 production silicon, or a ZC706 with 7045 production silicon.

iMPACT indicates that everything is okay (erase, blank check, program and verify), but I cannot boot from QSPI.

SDK and iMPACT reset the processor after every operation (erase, blank check, program and verify).

After the erase step, the QSPI does not have a valid image on it and the bootROM fails to load the FSBL.

After this failure, Production Silicon bootROM sets the MIO settings back to the reset value (3-stated inputs). 

Programming the flash is not possible with these settings.

To address all questions related to Zynq-7000 AP SoC, see the Zynq-7000 AP SoC Solution Center (Xilinx Answer 52512).



An update for 2013.3 SDK and 14.7 iMPACT is available in the form of a Tactical Patch. See (Xilinx Answer 59287).

This Tactical Patch is needed for this Xilinx Answer. On top of it the below workaround must be applied.

The work-around is to force the QSPI MIO to the correct settings after every reset using the following debug environmental variables.

Refer to (Xilinx Answer 59272) for more details on How to use these Debug Environmental Variables.

XIL_CSE_ZYNQ_MASKWRITE_00 must be set to F8000708,FFFFFFFF,00001202
XIL_CSE_ZYNQ_MASKWRITE_01 must be set to F800070C,FFFFFFFF,00001202
XIL_CSE_ZYNQ_MASKWRITE_02 must be set to F8000710,FFFFFFFF,00001202
XIL_CSE_ZYNQ_MASKWRITE_03 must be set to F8000714,FFFFFFFF,00001202
XIL_CSE_ZYNQ_MASKWRITE_04 must be set to F8000718,FFFFFFFF,00001202
XIL_CSE_ZYNQ_MASKWRITE_05 must be set to F8000720,FFFFFFFF,00001202
XIL_CSE_ZYNQ_MASKWRITE_06 must be set to F8000704,FFFFFFFF,00001202

Once the Debug Environmental Variables are set, use the SDK or iMPACT GUI to program the QSPI.

Note: This is not a silicon requirement, just a tool limitation.

Vivado release 2014.1 does not have this limitation and it is possible to program QSPI in Production Silicon when booting in QSPI boot mode.

Linked Answer Records

Master Answer Records

Answer Number Answer Title Version Found Version Resolved
52538 Zynq-7000 AP SoC - Boot and Configuration N/A N/A

Associated Answer Records

Answer Number Answer Title Version Found Version Resolved
52512 Xilinx Zynq-7000 AP SoC Solution Center N/A N/A
58102 2013.3 SDK/14.7 iMPACT - Issues Programming QSPI Flash. N/A N/A
AR# 55920
Date Created 05/08/2013
Last Updated 06/11/2014
Status Active
Type General Article
  • Zynq-7000
  • EDK - 14.7
Boards & Kits
  • Zynq-7000 All Programmable SoC ZC702 Evaluation Kit