Article ID: 000101354 Content Type: Troubleshooting Last Reviewed: 06/05/2025

How can I avoid common mistakes when implementing Altera® FPGA configuration schemes?

Environment

BUILT IN - ARTICLE INTRO SECOND COMPONENT
Description

All Altera® FPGAs need to be configured with a user image to perform the desired user function.  

Depending on the device family, Altera FPGAs support different configuration modes and have different architectures and requirements to facilitate successful configuration.

Since it is imperative to mitigate against configuration failures when designing the target board, this KDB lists some mistakes commonly made when implementing a configuration scheme with Altera FPGAs, which may result in configuration failures.

Resolution

Cyclone® 10 FPGAs, Arria® 10 FPGAs, and earlier devices

Device families in this category employ a state-machine-based architecture for configuration control and processing, with dedicated and dual-purpose configuration pins. Below is a list of common mistakes made with these device families that could result in configuration failure.

 

Incorrect or missing pull-up resistors on Open-Drain configuration pins

Altera provides recommended values for pull-up resistors for configuration pins based on device characterization, which should be adhered to. Some configuration pins (nSTATUS, CONF_DONE, INIT_DONE, etc) are implemented as Open-Drain and thus a pull-up of 10-K Ohms is mandatory such that they can drive a logic high when released by the FPGA.

 

Dedicated or dual-purpose configuration pins are inadvertently left unconnected

Dual-purpose Configuration Pins enabled in the Quartus® Prime Software project should not be left N/C on the target device and board. For example, if INIT_DONE is enabled in the project and not pulled high on the board, the device may not enter user mode after configuration completes. Check your Quartus® Prime Software project settings file (.qsf) to determine which options have been enabled.

 

Excessive load on CONF_DONE

When using Active Serial configuration mode, configuration success may be sensitive to the rise time of CONF_DONE. To prevent this, excessive load should not be connected to this pin, and if driving an LED, this should be done via a field-effect transistor (FET) or buffer.

See:

 

Circuitry or buffers placed between the FPGA AS pins and QSPI devices

It is generally not recommended to place voltage translators or buffers between QSPI devices and the FPGAs' Active Serial pins, as this can present propagation delay-induced timing issues, which may lead to configuration failures. A direct point-to-point connection between devices is recommended.

 

Stratix® 10 FPGAs and Agilex™ FPGAs series devices

Devices in this category employ a Triple Redundant Processor-based architecture (SDM) for configuration control and processing with dedicated SDM I/O pins that function based on user-defined settings. Below is a list of common mistakes made with these device families that could result in configuration failure.

 

Missing clocks during configuration

For designs that use transceivers, HBM2, PCIe, eSRAM, or HPS EMIF, the reference clocks for these must be stable and free running before configuration to avoid configuration failures. If a configuration with a simple design without such elements is successful, this indicates that a missing reference clock is causing configuration failure with the complete design.

 

SDM_IO pin connections do not match the Quartus® software project

SDM_IO functionality depends upon the user-defined Quartus® Prime project settings under Device & Pin Options -> Configuration -> Configuration Pins. Make sure these settings correlate with your board-level implementation.

 

nSTATUS is not monitored

It is recommended that the nSTATUS signal from the FPGA be monitored when controlling nCONFIG. This ensures a reconfiguration request is successful, as nCONFIG must only change when it has the same value as nSTATUS.  

 

3V Tiles unpowered

Since designs that use 3V I/O are implemented on Transceiver Tiles, failure to power the respective transceiver tiles before configuration begins can result in configuration failure.

 

Conflicting pull-up/downs on SDM_IO Pins

It is important to note that whilst most SDM_IO pins are weakly pulled high internally, some are weakly pulled low.

 

Mismatch between Configuration Clock source setting & board connection

The source for the internal oscillator can be set in the Quartus® Prime project. If OSC_CLK_1 is selected as the source, ensure the frequency setting matches what is equipped on the board. Note that if using Transceivers, a connection on OSC_CLK_1 is mandatory as this clock is used for Transceiver calibration. OSC_CLK_1 should be free-running throughout user mode.

See:

 

Missing Reset Release IP in design

To ensure successful entry into user mode, it is recommended that you instance the Reset Release IP in your design to hold user logic in reset until device configuration and initialization are complete.

 

Conflicting MSEL connections/Debug provisioning

Since MSEL pins may drive out during power-up, Altera recommends only connecting a 4.7-kΩ pull-up or pull-down resistor to these pins and not driving them with active logic. It is also recommended that the MSEL pins be configured in JTAG mode for debug purposes.

 

Incorrect PMBus settings or usage of unsupported Voltage Regulators

When using SmartVID-enabled devices, please make sure the Quartus® Prime project settings correctly reflect the voltage regulator being used and that the Voltage Regulator uses a supported voltage output format as described in the Power Management User Guide for your chosen device. You must also ensure the voltage regulator's NVM is set correctly to ensure a successful configuration.

See:

 

General (Applicable to all device families) 

Usage of unsupported 3rd-party SPI/QSPI devices for Active Serial Configuration

Altera recommends using one of the supported 3rd party QSPI flash devices for Active Serial configuration, where possible.

 

10-Pin download cable header not connected correctly

The 10-pin download cable has a specific pin-out for Altera download cable headers, which should be followed to ensure compatibility with these cables.

 

Excessive load or signal integrity/timing issues on configuration interfaces/pins

Altera recommends simulating configuration topologies with IBIS models to verify signal integrity.

You may want to reduce the download cable speed (if supported) from 24 MHz, particularly if another device in the JTAG chain has a maximum supported TCK frequency of less than 24 MHz.

If multiple devices are connected in a JTAG chain, follow the buffering guidance in the following link:

 

Useful Reference

Device Configuration - Support Center

AN 955: Programmer’s Configuration Debugger Tool

 

 

Related Products

This article applies to 3 products

Intel® Stratix®
Intel® Arria®
Intel® Cyclone®

1