A
Booting and Configuration Introduction
2013.12.30
cv_5400a
Send Feedback
This topic describes the booting of the hard processor system (HPS) and the configuration of the FPGA
portion of the Altera system-on-a-chip (SoC) device.
The HPS boot starts when a processor is released from reset (for example, on power up) and executes code
in the internal boot ROM at the reset exception address. The boot process ends when the code in the boot
ROM jumps to the next stage of the boot software. This next stage of boot software is referred to as the
preloader. The preloader can be customized and is typically stored external to the HPS in a nonvolatile flash-
based memory.
The processor can boot from the following sources:
• NAND flash memory through the NAND flash controller
• Secure Digital/MultiMediaCard (SD/MMC) flash memory through the SD/MMC flash controller
• Serial peripheral interface (SPI) and quad SPI flash memory through the quad SPI flash controller using
Slave Select 0
• FPGA fabric
The HPS boot supports indirect or direct execution of the preloader depending on the boot device. With
indirect execution, the boot ROM code copies the preloader from the boot device into the on-chip RAM
and jumps to it. Indirect execution is used for flash memory boot sources. With direct execution, the boot
ROM code jumps to the preloader located in the FPGA fabric.
Configuration of the FPGA portion of the device starts when the FPGA portion is released from the reset
state (for example, on power-on). The control block (CB) in the FPGA portion of the device is responsible
for obtaining an FPGA configuration image and configuring the FPGA. The FPGA configuration ends when
the configuration image has been fully loaded and the FPGA enters user mode. The FPGA configuration
image is provided by users and is typically stored in non-volatile flash-based memory. The FPGA CB can
obtain a configuration image from the HPS through the FPGA manager or from any of the sources supported
by the Cyclone V FPGAs family.
The following three figures illustrate the possible HPS boot and FPGA configuration schemes. The arrows
in the figures denote the data flow direction. The following figure shows that the FPGA configuration and
HPS boot occur independently. The FPGA configuration obtains its configuration image from a non-HPS
source, while the HPS boot obtains its preloader from a non-FPGA fabric source.
©
2013 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, HARDCOPY, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words
and logos are trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other
words and logos identified as trademarks or service marks are the property of their respective holders as described at
www.altera.com/common/legal.html
. Altera warrants performance of its semiconductor products to current specifications in accordance with
Altera's standard warranty, but reserves the right to make changes to any products and services at any time without notice. Altera assumes
no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly
agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device specifications before relying on any published
information and before placing orders for products or services.
www.altera.com
101 Innovation Drive, San Jose, CA 95134