UPGRADE YOUR BROWSER

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

Zynq-7000 AP SoC - What devices are supported for configuration?

Description

When choosing a flash device to incorporate with Zynq-7000 devices, it is important to consider the following logistical criteria:

  • Is the device supported with the Xilinx tools?
  • Will the device work with the Zynq device BootROM?
  • Is the device supported with software like U-Boot and Linux?

In addition, there are design considerations which include:

  • How many pins are required for a configuration method?
  • How much flash memory is required?
  • How fast can the Zynq-7000 device be configured?
  • How difficult is it to manage the flash device?

Based on the logistical criteria, there are three categories of flash devices:

  • Xilinx Tested and Supported Flash Devices - These devices meet the logistical criteria listed above.
    These devices receive regression testing with Xilinx tools and their use is fully supported by Xilinx Technical Support.

  • Known to Work Flash Devices - These devices are not explicitly supported in the Xilinx tools, but have been known to work with Zynq-7000 devices.
    Many of these devices are programmed using U-Boot as an alternate programming method, but source changes to U-Boot might have to be made by users in order to configure that specific device.

  • Unverified Flash Devices - These devices have not been tested in any way by Xilinx with Zynq-7000 devices.
    There are NO known issues (but possible limitations) for these devices.

    The user will be responsible for validating the flash on Zynq-7000, making necessary changes to U-Boot and configuring the device.
  • Incompatible Flash Devices - These devices will not work on Zynq-7000.

Note: Xilinx Technical Support will not be able to provide assistance with designs using "Known to Work" or "Unverified" flash devices.

Xilinx can only provide assistance for the devices listed as 'Xilinx Tested and Supported'.

Solution

QSPI

Benefits of QSPI:

  • High performance - QSPI is the fastest configuration solution.
  • Low Pin count - QSPI has the lowest pin count of the configuration solution options besides SD.
  • Easy management - QSPI can be accessed as linear memory in Zynq-7000 devices. In addition, NO bad blocks management is required.

Downsides of QSPI:

  • Low memory density - QPSI is only supported up to 16 MB in single linear mode or 32 MB in dual linear mode because linear QSPI controllers only support 3-byte addressing.
    Higher densities need to be supported in I/O Mode.

Vendors

VendorQSPI Flash Families
MicronN25Q,MT25
Spansion25FL
MacronixMX25,MX66
WinbondW25Q
ISSIIS25LP


Configuration and Specifications

Memory ConfigurationMIO PinsMax Memory Size - Linear ModeMax Memory Size - IO Mode
QSPI - Single Memory716 MB128 MB
QSPI - Dual Stack Memory832 MB256 MB
QSPI - Dual Parallel Memory1332 MB256 MB


Xilinx Supported Devices


Flash DeviceModeVendorFlash DensityVoltage****Support
Category
Xilinx Tool**U-Boot*Notes
N25Q64Quad Mode - SingleMicron64 Mb3.3VXilinx
Supported
Vivado**2013.10
N25Q64Quad Mode - Dual ParallelMicron64 Mb3.3VXilinx
Supported
Vivado**2013.10
N25Q64Quad Mode - Dual StackedMicron64 Mb3.3VXilinx
Supported
Vivado**2013.10
N25Q128AQuad Mode - SingleMicron128 Mb1.8V/3.3VXilinx
Supported
Vivado** / ISE 14.12013.04
N25Q128AQuad Mode - Dual ParallelMicron128 Mb1.8V/3.3VXilinx
Supported
Vivado** / ISE 14.22013.04
N25Q128AQuad Mode - Dual StackedMicron128Mb1.8V/3.3VXilinx
Supported
Vivado** / ISE 14.7(patch)***2013.04
N25Q256Quad Mode - SingleMicron256Mb3.3VXilinx
Supported
Vivado** / ISE 14.7(patch)2013.04
N25Q256Quad Mode - Dual ParallelMicron256Mb3.3VXilinx
Supported
Vivado** / ISE 14.7(patch)2013.04
N25Q256Quad Mode - Dual StackedMicron256Mb3.3VXilinx
Supported
Vivado** / ISE 14.7(patch)2013.04
N25Q512Quad Mode - SingleMicron512Mb3.3VXilinx
Supported
Vivado** / ISE 14.7(patch)2013.04
N25Q512Quad Mode - Dual ParallelMicron512Mb3.3VXilinx
Supported
Vivado** / ISE 14.7(patch)2013.04
N25Q512Quad Mode - Dual StackedMicron512Mb3.3VXilinx
Supported
Vivado** / ISE 14.7(patch)2013.04
N25Q00Quad Mode - SingleMicron1024Mb3.3VXilinx
Supported
Vivado** / ISE 14.7(patch)2013.04
N25Q00Quad Mode - Dual ParallelMicron1024Mb3.3VXilinx
Supported
Vivado** / ISE 14.7(patch)2013.04
N25Q00Quad Mode - Dual StackedMicron1024Mb3.3VXilinx
Supported
Vivado** / ISE 14.7(patch)2013.04
MT25QL512Quad Mode - SingleMicron512 Mb3.3VXilinx
Supported
Vivado**xilinx-v2015.2.01
MT25QL512Quad Mode - Dual ParallelMicron512 Mb3.3VXilinx
Supported
Vivado**xilinx-v2015.2.01
MT25QL512Quad Mode - Dual StackedMicron512 Mb3.3VXilinx
Supported
Vivado**xilinx-v2015.2.01
MT25QU01GQuad Mode - Single - Dual Parallel and StackedMicronMicronXilinx
Supported
Vivado**xilinx-v2015.2.01
MT25QL01GQuad Mode - Single - Dual Parallel and StackedMicronMicronXilinx
Supported
Vivado**xilinx-v2015.2.01
S25FL132KQuad Mode - SingleSpansion32Mb3.3VKnown to Work
S25FL132KQuad Mode - Dual ParallelSpansion32Mb3.3VKnown to Work
S25FL132KQuad Mode - Dual StackedSpansion32Mb3.3VKnown to Work
S25FL164KQuad Mode - SingleSpansion64Mb3.3VKnown to Work
S25FL164KQuad Mode - Dual ParallelSpansion64Mb3.3VKnown to Work
S25FL164KQuad Mode - Dual StackedSpansion64Mb3.3VKnown to Work
S25FL129PQuad Mode - SingleSpansion128 Mb1.8V/3.3VXilinx
Supported
Vivado** / ISE 14.42013.04Not Recommended for New Designs. Recommend using the S25FL127S or S25FL128S for all new designs
S25FL129PQuad Mode - Dual ParallelSpansion128 Mb1.8V/3.3VXilinx
Supported
Vivado** / ISE 14.42013.04Not Recommended for New Designs. Recommend using the S25FL127S or S25FL128S for all new designs
S25FL129PQuad Mode - Dual StackedSpansion128 Mb1.8V/3.3VXilinx
Supported
Vivado** / ISE 14.7(patch)2013.04Not Recommended for New Designs. Recommend using the S25FL127S or S25FL128S for all new designs
S25FL128SQuad Mode - SingleSpansion128 Mb1.8V/3.3VXilinx
Supported
Vivado** / ISE 14.42013.04
S25FL128SQuad Mode - Dual ParallelSpansion128 Mb3.3VXilinx
Supported
Vivado** / ISE 14.7(patch)2013.04
S25FL128SQuad Mode - Dual StackedSpansion128Mb3.3VXilinx
Supported
Vivado** / ISE 14.7(patch)2013.04
S25FL128SQuad Mode - Dual ParallelSpansion128Mb1.8VXilinx
Supported
Vivado** / ISE 14.42013.04
S25FL128SQuad Mode - Dual StackedSpansion128Mb1.8VXilinx
Supported
Vivado** / ISE 14.7(patch)2013.04
S25FL127SQuad Mode - SingleSpansion128Mb3.3VXilinx
Supported
Vivado**xilinx-v2015.2.01
S25FL127SQuad Mode - Dual ParallelSpansion128Mb3.3VXilinx
Supported
Vivado**xilinx-v2015.2.01
S25FL127SQuad Mode - Dual StackedSpansion128Mb3.3VXilinx
Supported
Vivado**xilinx-v2015.2.01
S25FS128SQuad Mode - SingleSpansion128Mb1.8VIncompatibleThe Spansion S25FS family does not support Dual Out (0x3B) and Quad Out (0x6B) read commands
S25FS128SQuad Mode - Dual StackedSpansion128Mb1.8VIncompatibleThe Spansion S25FS family does not support Dual Out (0x3B) and Quad Out (0x6B) read commands
S25FS128SQuad Mode - Dual ParallelSpansion128Mb1.8VIncompatibleThe Spansion S25FS family does not support Quad Out (0x6B) read, necessary for Dual Parallel
S25FL256SQuad Mode - SingleSpansion256Mb1.8V/3.3VXilinx
Supported
Vivado** / ISE 14.7(patch)2013.04
S25FL256SQuad Mode - Dual ParallelSpansion256Mb1.8V/3.3VXilinx
Supported
Vivado** / ISE 14.7(patch)2013.04
S25FL256SQuad Mode - Dual StackedSpansion256Mb1.8V/3.3VXilinx
Supported
Vivado** / ISE 14.7(patch)2013.04
S25FL512SQuad Mode - SingleSpansion512Mb3.3VXilinx
Supported
Vivado** / ISE 14.7(patch)2013.04
S25FL512SQuad Mode - Dual ParallelSpansion512Mb3.3VXilinx
Supported
Vivado** / ISE 14.7(patch)2013.04
S25FL512SQuad Mode - Dual StackedSpansion512Mb3.3VXilinx
Supported
Vivado** / ISE 14.7(patch)2013.04
S70FL01GSQuad Mode - Dual StackedSpansion1024Mb3.3VXilinx
Supported
Vivado** / ISE 14.7(patch)2013.04This part is two 512 Mb dies in a single package (Dual Stacked).
S70FS01GSQuad Mode - SingleSpansion1024Mb1.8VIncompatibleFour byte address mode or four byte address commands are required to access memory locations above the first 128 Mbits (16MBytes).
MX25L25635FQuad Mode - SingleMacronix256 Mb3.3VXilinx
Supported
Vivado**xilinx-v2015.2.012015.3 FSBL requires modifications. See (Xilinx Answer 65425).
MX25L25635FQuad Mode - Dual ParallelMacronix256 Mb3.3VXilinx
Supported
Vivado**xilinx-v2015.2.012015.3 FSBL requires modifications. See (Xilinx Answer 65425).
MX25L25635FQuad Mode - Dual StackedMacronix256 Mb3.3VXilinx
Supported
Vivado**xilinx-v2015.2.012015.3 FSBL requires modifications. See (Xilinx Answer 65425).
MX66L51235FQuad Mode - SingleMacronix512 Mb3.3VKnown to Work2015.3 FSBL requires modifications. See (Xilinx Answer 65425).
MX66L51235FQuad Mode - Dual ParallelMacronix512 Mb3.3VKnown to Work2015.3 FSBL requires modifications. See (Xilinx Answer 65425).
MX66L51235FQuad Mode - Dual StackedMacronix512 Mb3.3VKnown to Work2015.3 FSBL requires modifications. See (Xilinx Answer 65425).
W25Q128FVQuad Mode - SingleWinbond128Mb3.3VXilinx
Supported
Vivado** / ISE 14.7(patch)2013.07
W25Q128FVQuad Mode - Dual ParallelWinbond128Mb3.3VXilinx
Supported
Vivado** / ISE 14.7(patch)2013.07
W25Q128FVQuad Mode - Dual StackedWinbond128Mb3.3VXilinx
Supported
Vivado** / ISE 14.7(patch)2013.07
W25Q128BVQuad Mode - SingleWinbond128MbKnown to Work2013.07

For Automotive & Industrial Plus Grades: Meet hold timing (tHOmin=0ns) only with Feedback Clock Disabled (QSPICLK < 40MHz).

W25Q128BVQuad Mode - Dual ParallelWinbond128MbKnown to Work2013.07For Automotive & Industrial Plus Grades: Meet hold timing (tHOmin=0ns) only with Feedback Clock Disabled (QSPICLK < 40MHz).
W25Q128BVQuad Mode - Dual StackedWinbond128MbKnown to Work2013.07For Automotive & Industrial Plus Grades: Meet hold timing (tHOmin=0ns) only with Feedback Clock Disabled (QSPICLK < 40MHz).
IS25LP064Quad Mode - SingleISSI64 Mb3.3VKnown to Work2013.07
IS25LP064Quad Mode - Dual StackedISSI64 Mb3.3VKnown to Work2013.07
IS25LP064Quad Mode - Dual ParallelISSI64 Mb3.3VKnown to Work2013.07
IS25LP128Quad Mode - SingleISSI128 Mb3.3VKnown to Work2013.07
IS25LP128Quad Mode - Dual StackedISSI128 Mb3.3VKnown to Work2013.07
IS25LP128Quad Mode - Dual ParallelISSI128 Mb3.3VKnown to Work2013.07
IS25WPxxxQuad Mode - Single, Dual Stacked and Dual ParallelISSIxxx Mb1.8VUnverified

 

For QSPI flash devices with sector size greater than 64 KB and using SDK versions older than 2015.3, please refer to (Xilinx Answer 60539)

* 2013.04 is the U-Boot release number (U-Boot from April, 2013), not the Xilinx tool release.

** Xilinx Tools indicate the ISE (iMPACT) version. For Vivado and SDK Flash Programming version, refer to UG908 "Supported Flash memory devices for Zynq-7000 device configuration".

*** A patch to ISE14.7 and SDK 2013.3 may be required to program these flash devices in iMPACT and SDK. 

The same patch works for both.

Refer to (Xilinx Answer 59275).

**** If a flash is marked as Xilinx Supported for a specific voltage (for example 1.8V), the equivalent flash at the other voltage (for example 3.3V) can be considered Known to Work.

See (Xilinx Answer 62743) for Guidelines on Xilinx Unverified QSPI Flash Devices.


NAND

Benefits of NAND:

  • High Memory density - NAND is an inexpensive solution for large density devices.

Downsides of NAND:

  • Lower device performance - Maximum bandwidth is less than QSPI.
  • High pin count - NAND devices require more pins than QSPI.
  • Difficult Management - NAND devices are hard to manage. Bad blocks are a regular concern which require design decisions on how bad blocks will be managed for a particular system setup.

Notes:

Only On-Die ECC and 1-bit ECC NAND devices can be used with Zynq-7000 SoC.

    • In order to be supported by Zynq-7000 SoC, the flash MUST support bit 3 (Enable/Disable ECC) in Feature Address 90h.

Only 1 chip-select NAND devices can be used with Zynq-7000 SoC.

Vendors

VendorNAND Flash Families
MicronOn-Die ECC
SpansionS34

 

Micron on-die ECC NAND

Micron NAND devices typically require multi-bit ECC, which necessitates using only devices with on-die ECC support. Check the specific data sheet for on-die ECC support.

Configuration and Specifications

Memory ConfigurationMIO Pins
NAND - x815
NAND - x1623


Xilinx Supported Devices

Flash DeviceModeVendorFlash DensityVoltage****Feature SetSupport
Category
Xilinx Tool**U-Boot*Notes
MT29F1G08AxxDxxx-xxEx8Micron1 Gb1.8/3.3VDIncompatible
on-DIE ECC but missing required bit 3 (enable ECC) in Feature Address 90h.
MT29F1G08AxxDxxx-Ex8Micron1 Gb1.8/3.3VDIncompatibleon-DIE ECC but missing required bit 3 (enable ECC) in Feature Address 90h.
MT29F1GxxAxxDxxxx8,x16Micron1 Gb1.8/3.3VDKnown to Work


on-DIE ECC
MT29F1GxxAxxExxxx16Micron1 Gb1.8/3.3VEIncompatible

Requires > 1-bit ECC (No on-DIE)
MT29F2GxxAxxExxxx8,x16Micron2 Gb1.8/3.3VEXilinx
Supported
Vivado** / ISE 14.42013.04on-DIE ECC
MT29F2GxxAxxFxxxx8,x16Micron2 Gb1.8/3.3VFIncompatibleRequires > 1-bit ECC (No on-DIE)
MT29F4GxxAxxDxxxx8,x16Micron4 Gb1.8/3.3VDKnown to Workon-DIE ECC
MT29F8G08AxxDxxxx8Micron8 Gb1.8/3.3VDXilinx
Supported
Vivado** / ISE 14.42013.4on-DIE ECC
MT29F8G08AxxBxxxx8Micron8 Gb1.8/3.3VBIncompatibleRequires > 1-bit ECC (No on-DIE)
MT29F16G08AJADxxxx8Micron16 Gb3.3VDIncompatibleRequires 2 CS
S34ML01G1x8Spansion1 Gb3.3VXilinx
Supported
Vivado**Requires 1-bit ECC
S34ML01G2x8Spansion1 Gb3.3VIncompatibleRequires 2-bit ECC
S34ML02G1x8,x16Spansion2 Gb3.3VXilinx
Supported
Vivado**Requires 1-bit ECC
S34ML04G1x8Spansion4 Gb3.3VXilinx
Supported
ISE 14.72013.04
Requires 1-bit ECC
S34ML04G2x8Spansion4 Gb3.3VIncompatibleRequires 2-bit ECC
S34ML08G101TFI000x8Spansion8 Gb3.3VUnverifiedRequires 1-bit ECC
S34ML08G101TFI200x8Spansion8 Gb3.3VIncompatibleRequires 2 CS


* 2013.04 is the U-Boot release number (U-Boot from April, 2013), not the Xilinx tool release.

** Xilinx Tools indicate the ISE (iMPACT) version. For Vivado and SDK Flash Programming version, refer to (UG908) "Supported Flash memory devices for Zynq-7000 device configuration".
**** If a flash is marked as Xilinx Supported for a specific voltage (for example 1.8V), the equivalent flash at the other voltage (for example 3.3V) can be considered Known to Work.

NOR

Benefits of NOR:

  • Easy management - NOR can be accessed as linear memory in Zynq devices. In addition, bad blocks are not as much of a concern as, for example, NAND.

Downsides of NOR:

  • High pin count - NOR requires nearly all of the 54 MIO pins.
  • Low Density - NOR density is comparable to QSPI.

Vendors

VendorNOR Flash Families
MicronM29EW


Configuration and Specifications

Memory ConfigurationMIO PinsMax Memory Size
NOR (BPI)4064 MB


Xilinx Supported Devices

Flash DeviceModeVendorFlash DensityVoltageSupport
Category

Xilinx Tool **

U-Boot*
28F512M29EWL---Micron512 Mb3.3VXilinx
Supported
Vivado** / ISE 14.72013.04
28F256M29EWH---Micron256 Mb3.3VXilinx
Supported
Vivado** / ISE 14.42013.04
28F128M29EWH---Micron128 Mb3.3VXilinx
Supported
Vivado** / ISE 14.42013.04
28F064M29EWT---Micron64 Mb3.3VXilinx
Supported
Vivado** / ISE 14.42013.04
28F032M29EWT---Micron32 Mb3.3VXilinx
Supported
Vivado** / ISE 14.42013.04


* 2013.04 is the U-Boot release number (U-Boot from April, 2013), not the Xilinx tool release.

** Xilinx Tools indicate the ISE (iMPACT) version. For Vivado and SDK Flash Programming version, refer to UG908 "Supported Flash memory devices for Zynq-7000 device configuration".

SD

Benefits of SD:

  • High density - SD has densities comparable to NAND.
  • Easy Management - Device is generally managed as a file system. Bad blocks do not need to be managed in the user design.

Downsides of SD:

  • Slow performance - SD is slower than QSPI
  • Mechanical considerations - SD cards require a connector.
    eMMC devices are not primary boot devices but can be used as a secondary boot source.
    For details see Zynq-7000 All Programmable SoC Software Developers Guide (UG821)

Configuration and Specifications

Memory ConfigurationMIO PinsMax Memory Size
SD Card6Any Size

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
60539 2013.4 SDK and Vivado Hardware Manager: Failed to program QSPI flashes with 256K and 512K erase sector size N/A N/A
AR# 50991
Date Created 07/25/2012
Last Updated 11/03/2016
Status Active
Type General Article
Devices
  • Zynq-7000
Tools
  • EDK
IP
  • Embedded Processing
Boards & Kits
  • Zynq-7000 All Programmable SoC ZC702 Evaluation Kit