•
SD cards are cheap, universally available, and have large storage capacities.
Industrial versions available, with improved reliability. They are managed NAND
flash, so wear leveling and bad block management are performed internally.
•
eMMC devices have smaller packages, are available in large capacities, and can be
more reliable than SD. They are not removable, with can be a plus, allowing a
more rugged operation.
•
QSPI devices are very reliable, typically with a minimum 100,000 cycles of erase
cycles per sector. However, they have less capacity than the other options. They
are typically used as a boot source, but not as an application filesystem.
•
NAND devices are available in large sizes, but they are unmanaged NAND, which
means that techniques such as wear leveling and bad block management need to
be implemented in software.
•
FPGA boot allows HPS to boot without the need of an external Flash device. The
FPGA boot memory can be synthesized our of FPGA resources (typically pre-
initialized embedded memory blocks) or can be memory connected to the FPGA
such as an external SRAM or SDRAM. To boot from FPGA, the FPGA must be
configured using a traditional configuration mechanism.
4.2.1.2. Select Desired Flash Device
GUIDELINE: Select the boot flash device.
When choosing a flash device to incorporate with SoC FPGA devices, it is important to
consider the following:
•
Is the flash device compatible with the HPS boot ROM ?: The HPS can only
boot from flash devices supported in the boot ROM.
•
Is the device verified to work and supported by software like Preloader,
U-Boot and Linux ?: For supported devices, Intel provides the Preloader, U-Boot
and Linux software. For other devices, this software must be developed by the
user.
•
Is the flash device supported by the HPS Flash Programmer?: The HPS
Flash Programmer enables writing to flash using a JTAG connection, primarily to
program the initial pre-loader/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.
Supported Flash Devices for Cyclone V SoC and Arria V SoC
information.
4.2.1.3. BSEL Options
GUIDELINE: Configure the BSEL pins for the selected boot source.
The boot source is selected by means of BSEL pins.
It may be beneficial to change the boot source for debugging purposes, even if the
board does not have available another boot source. For example, on a board booting
from QSPI it may be beneficial to select the reserved boot so that BootROM would not
do anything. Or select boot from FPGA and put a test image in the FPGA fabric.
If the system allows it (space constraints etc.) plan to provide either switches or at
least resistors to be able to change BSEL as needed.
4. Board Design Guidelines for SoC FPGAs
AN-796 | 2018.06.18
AN 796: Cyclone V and Arria V SoC Device Design Guidelines
29