Remote Update Intel® FPGA IP User Guide

ID 683695
Date 7/25/2024
Public
Document Table of Contents

1.5.2. Remote System Configuration Components

Table 14.  Remote System Configuration Components in Cyclone® IV and Cyclone® 10 LP Devices
Components Details
Page mode feature

Cyclone® IV and Cyclone® 10 LP devices use a 24-bit boot start address for AS configuration in which you set the most significant 22 bits. Similar setting applies for AP configuration in Cyclone® IV E devices. In addition, Cyclone® IV and Cyclone® 10 LP devices do not support pgmout ports.

Factory configuration

Factory configuration is the default configuration setup.

In remote configuration mode, the factory configuration loads into Cyclone® IV and Cyclone® 10 LP devices upon power-up.

If a system encounters an error while loading application configuration data or if the device reconfigures due to nCONFIG assertion, the device loads the factory configuration. The remote system configuration register determines the reason for factory configuration. Based on this information, the factory configuration determines which application configuration to load.

Upon power-up in remote update in the AP configuration scheme, Cyclone® IV E devices load the default factory configuration located at the following address:

boot_address[23:0] = 24'h010000 = 24'b1 0000 0000 0000 0000.

You can change the default factory configuration address to any address using the APFC_BOOT_ADDR JTAG instruction. The factory image is stored in non-volatile memory and is never updated or modified using remote access. This corresponds to the default start address location 0x010000 (or the updated address if the default address is changed) in the supported parallel flash memory. Note that 0x010000 is the 16-bit word address for the AP flash memory. However, the Quartus® Prime software implements 8-bit byte addressing. Therefore, the correct Quartus® Prime software setting for this address is 0x020000.

Application configuration

The application configuration is the configuration data from a remote source and the data is stored in different locations or pages of the memory storage device, excluding the factory default page.

Watchdog timer

A watchdog timer is a circuit that determines the functionality of another mechanism. The watchdog timer functions like a time delay relay that remains in the reset state while an application runs properly.

The devices are equipped with a built-in watchdog timer for remote system configuration to prevent a faulty application configuration from indefinitely stalling the device.

The timer is a 29-bit counter, but you use only the upper 12 bits (left-most or most-significant bits) to set the value for the watchdog timer.

The timer begins counting after the device goes into user mode. If the application configuration does not reset the user watchdog timer before time expires, the dedicated circuitry reconfigures the device with the factory configuration and resets the user watchdog timer.

To ensure the application configuration is valid, you must continuously reset the watchdog reset_timer within a specific duration during user mode operation.

Remote update sub-block

The remote update sub-block manages the remote configuration feature. A remote configuration state machine controls this sub-block. This sub-block generates the control signals required to control the various configuration registers.

Remote configuration registers

The remote configuration registers keep track of page addresses and the cause of configuration errors. You can control both the update and shift registers. The status and control registers are controlled by internal logic, but are read via the shift register.

The remote system upgrade status register has additional capabilities. Three sets of registers store the status for the current application configuration and the two previous application configurations.

For details about configuration registers, refer to the Configuration, Design Security, and Remote System Upgrades chapter in the respective device handbook.