Cyclone® V SoC and Arria® V SoC support the following flash devices both as a boot source and for mass data storage:
- Quad serial peripheral interface (QSPI) flash
- NAND flash
- Secure Digital (SD), Secure Digital High Capacity (SDHC), Secure Digital eXtended Capacity (SDXC), MultiMediaCard (MMC), or Embedded MMC (eMMC) flash
When choosing a flash device to incorporate with SoCs, it is important to consider the following:
- Will the device work with the Altera® device BootROM?
- The hard processor system (HPS) can only boot from flash devices supported in the BootROM.
- Is the device verified to work and supported by software, such as the Preloader, U-Boot, and Linux?
- For supported devices, Altera provides the Preloader, U-Boot, and Linux* software. For other devices, this software must be developed by the user.
- Is the device supported with the HPS Flash Programmer?
- The HPS Flash Programmer enables writing to flash using a JTAG connection. This is primarily intended for programming the initial pre-loader or bootloader image.
- If the device is not supported by the HPS Programmer, other flash programming methods may be used, such as using the HPS to program flash. For example, the flash programming capabilities of U-Boot can be used.
Based on the criteria above, the following categories of flash devices are identified:
- Altera Tested and Supported Flash Device - These devices meet the criteria listed above. These devices receive regression testing with Altera tools and their use is fully supported by Altera Technical Support.
- Known to Work Flash Devices - These devices are not explicitly supported in the Altera tools, but have been known to work with SoCs. 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 a specific device.
- Incompatible Flash Devices - These devices will not work with Cyclone V SoC and Arria V SoC.
The following sections present the support level for various flash devices for Cyclone V SoC and Arria V SoC.
Quad SPI Flash Devices
The quad SPI flash devices have the following advantages:
- Reliability: they typically support a minimum of 100,000 erase cycles per sector and a minimum of 20 years data retention. As a result, their management is simpler, with no need for error correction and bad block management.
- Low pin count requirement: a quad SPI flash device typically requires six pins, but it can be used with as few as four pins.
- High bandwidth
A quad SPI flash device typically has smaller storage capacity than other flash devices. They are therefore mostly used as a boot source and not for mass storage.
Up to four quad SPI flash chip selects can be used with Cyclone V SoC and Arria V SoC. The device will boot from quad SPI flash connected to chip select zero.
The current list of tested and supported devices is presented below. Note that the device list applies only to the HPS Quad SPI controller, and does not apply for FPGA configuration.
|Part Number||Manufacturer||Capacity||Voltage||Support Category||Notes|
|N25Q512A83GSF40F||Micron||512 Mb||3.3 V||Altera Tested and Supported||Available on Cyclone V SoC Development Kit|
|N25Q00AA13GSF40F||Micron||1 Gb||3.3 V||Known to Work|
|MT25QL01GBBB8ESF-0SIT||Micron||1 Gb||3.3 V||Known to Work|
|MT25QL512ABA8ESF-0SIT||Micron||512 Mb||3.3 V||Known to Work|
|MT25QL512ABB8ESF-0SIT||Micron||512 Mb||3.3 V||Known to Work|
|MT25QL256ABA8ESF-0SIT||Micron||256 Mb||3.3 V||Known to Work|
|N25Q128A13ESF40F||Micron||128 Mb||3.3 V||Known to Work|
|MT25QL128ABA8ESF-0SIT||Micron||128 Mb||3.3 V||Known to Work|
|MX25L12833FMI-10G||Macronix||128 Mb||3.3 V||Known to Work||U-Boot updates needed. U-Boot used for flashing.|
|MX25L25645GMI-08G||Macronix||256 Mb||3.3 V||Known to Work||U-Boot updates needed.|
|MX25L25635FMI-10G||Macronix||256 Mb||3.3 V||Known to Work||U-Boot updates needed.|
|MX25L51245GMI-08G||Macronix||512 Mb||3.3 V||Known to Work||U-Boot updates needed. U-Boot used for flashing.|
|MX66L51235FMI-10G||Macronix||512 Mb||3.3 V||Known to Work||U-Boot updates needed. U-Boot used for flashing.|
|MX66U51235FMI-10G||Macronix||512 Mb||1.8 V||Known to Work||U-Boot updates needed.|
|MX25U51245GMI00||Macronix||512 Mb||1.8 V||Known to Work||U-Boot updates needed.|
|MX25U51245GXDI00||Macronix||512 Mb||1.8 V||Known to Work||U-Boot updates needed.|
|MX66L1G45GMI-10G||Macronix||1 Gb||3.3 V||Known to Work||U-Boot updates needed.|
|MX25U51245GMI00||Macronix||2 Gb||3.3 V||Known to Work||U-Boot updates needed. U-Boot used for flashing.|
|S25FL128SAGMFI00||Cypress||128 Mb||3.3 V||Known to Work|
|S25FL256SAGMFI00||Cypress||256 Mb||3.3 V||Known to Work|
|S25FL512SAGMFI01||Cypress||512 Mb||3.3 V||Known to Work|
|S25FL512SAGMFIG11||Cypress||512 Mb||3.3 V||Altera Tested and Supported|
|S70FL01GSAGMFI011||Cypress||1 Gb||3.3 V||Known to Work||Two chip selects. HPS Flash Programmer
and BootROM use only CS0
|GD25Q127CFIG||GigaDevice||128 Mb||3.3 V||Known to Work||U-Boot updates needed. U-Boot used for flashing.|
NAND Flash Devices
The main advantage of the NAND flash devices is large storage capacity.
The disadvantages of NAND flash devices include:
- A high pin count requirement (a minimum of 15 pins are required)
- More difficult to manage, as individual bit reliability is lower compared to quad SPI flash, error correction, and bad block management are required
- Lower maximum bandwidth as compared to quad SPI flash devices
The NAND flash devices are typically used for mass data storage, but they can also be used as a boot source.
The NAND flash devices to be used with Cyclone V SoC and Arria V SoC must satisfy at least the following requirements:
- ONFI 1.0 compatibilty
- x8 interface
- Single-level cell (SLC) or multi-level cell (MLC)
- Only one ce# and only one rb# pin
- Page size: 512 bytes, 2 KB, 4 KB or 8 KB
- Pages per block: 32, 64, 128, 256, 384, or 512
- Error correction code (ECC) sector size can be programmed to 512 bytes (for 4, 8, or 16 bit correction) or 1,024 bytes (for 24 bit correction)
The current list of tested and supported devices is presented below:
|Part Number||Manufacturer||Capacity||Voltage||Support Category||Notes|
|MT29F1G08ABBEAH4:E||Micron||1 Gb||1.8 V||Known to Work|
|MT29F4G08ABBEAH4:E||Micron||4 Gb||1.8 V||Known to Work|
|MT29F4G08ABADAWP:D||Micron||4 Gb||3.3 V||Known to Work|
|MT29F8G08ADADAH4-IT:D||Micron||8 Gb||3.3 V||Known to Work|
|MX30UF1G18AC-TI||Macronix||1 Gb||1.8 V||Known to Work|
|MX30LF1G18AC-TI||Macronix||1 Gb||3.3 V||Known to Work|
|MX30UF2G18AC-TI||Macronix||2 Gb||1.8 V||Known to Work|
|MX30LF2G18AC-TI||Macronix||2 Gb||3.3 V||Known to Work|
|MX30UF4G18AB-TI||Macronix||4 Gb||1.8 V||Known to Work|
|MX60LF8G18AC-TI||Macronix||8 Gb||3.3 V||Known to Work|
|S34MS01G200TFI90||Cypress||1 Gb||1.8 V||Known to Work|
|S34MS02G200TFI00||Cypress||2 Gb||1.8 V||Known to Work|
|S34MS04G200TFI00||Cypress||4 Gb||1.8 V||Known to Work|
|S34ML08G201TFI000||Cypress||8 Gb||3.3 V||Known to Work|
SD/SDHC/SDXC/MMC/eMMC Flash Devices
The SD/SDHC/SDXC/MMC cards have the following advantages:
- Large storage capacities
- Internal error correction, bad block management, and wear levelling
Some of the disadvantages of SD/SDHC/SDXC/MMC are:
- Typically less reliable than quad SPI (although higher reliability industrial versions are available)
- They require a socket, which makes them more vulnerable mechanically
The eMMC flash devices have the following advantages over SD/SDHC/SDXC/MMC flash devices:
- Improved reliability
- Smaller, not removable (soldered down) package
The Altera Cyclone V SoC and Arria V SoC are compatible with the following devices:
- SD/SDHC/SDXC (including eSD) - version 3.0 compliant
- MMC and eMMC - version 4.41 compliant
The current list of tested and supported eMMC devices is presented below:
|Part Number||Manufacturer||Capacity||Support Category||Notes|
|MTFC16GJDDQ-4M IT||Micron||16 GB||Known to Work||eMMC v4.51 compliant|
|MTFC16GAKAENA-4M IT||Micron||16 GB||Known to Work||eMMC v5.0 compliant|
|MTFC16GAKAEDQ-AIT||Micron||16 GB||Known to Work||eMMC v5.0 compliant|
|MTFC8GACAANA-4M IT||Micron||8 GB||Known to Work||eMMC v4.51 compliant|
|MTFC8GACAEDQ-AIT||Micron||8 GB||Known to Work||eMMC v5.0 compliant|
|S40410081B1B2W000||Cypress||8 GB||Known to Work||eMMC v4.51 compliant|
|S40410161B1B2W010||Cypress||16 GB||Known to Work||eMMC v4.51 compliant|