Site Search

With the Remote System Upgrade feature, Altera® FPGAs can receive new configuration data from a remote source, update the contents of the flash memory, and reconfigure the FPGA with the new configuration data, helping to shorten design cycles, keep up with evolving standards, and overcome the challenges of system deployment in remote locations.

What is Remote System Upgrade (RSU)?

A general term for upgrading (rewriting) the data contents of the memory device that stores the configuration data of Altera FPGAs.
The diagram below illustrates how it works.

Typical remote system upgrade process

Remote system upgrades are performed according to the following workflow:

0. The FPGA operates with existing configuration data.
1. Transfer and update new configuration data to Flash memory via FPGA from an external source.
2. The IP within the FPGA accesses the updated configuration data in the Flash memory.
3. Reconfigure the FPGA with the new image.

The diagram below shows the FPGA and configuration flash memory configuration for enabling remote system upgrades.

Block diagram of remote system upgrade

Eligible device family

Table 1. Devices that support RSU

FPGA family

Stratix® V, Stratix® IV, Arria® 10, Arria® V, Cyclone® 10, Cyclone® V, MAX® 10

Configuration ROM

EPCQA, EPCQ, EPCS

RSU must have remote update capability

To implement remote system upgrade, store two types of files in the FPGA's configuration ROM:

Table 2. File types and overview

factory image

Configuration data that is loaded into the FPGA at startup or in the event of a system error. Depending on the device, there are families where initial boot is determined to load the factory image.

application image

Data to be reconfigured into the FPGA. Multiple holdings possible. Stored in pages excluding factory images. May be renewed upon RSU.

Normally, FPGA operation can be updated by switching between the factory image and the application image while the system is running. This function is called remote updating.

[Related Information] How to switch FPGA configuration data (HDL version)

This remote update process is further extended to remote system upgrade, which involves rewriting the existing application image in the Flash memory where the configuration data is stored. Implementing remote system upgrade and remote update functionality requires integrating dedicated IP into the user's design.

Table 3. FPGA Families and IP

FPGA Family

feature

IP

Arria 10

Cyclone 10GX

Optionally specify configuration data (factory/application) to use at startup

Remote Update IP

 

Generic Serial Flash Interface IP

Stratix V

Stratix IV

Arria V

Cyclone V

Start from factory design. When transitioning from one application design to another application design, it is necessary to return to the factory design once.

Cyclone 10 LP

MAX 10

Optionally specify configuration data (factory/application) to use at startup

On-Chip Flash IP

 

Dual Configuration IP

Image of switching configuration data

Remote update has different specifications for switching configuration data depending on each FPGA.
Below is a simple chart for each family.

Arria 10, Cyclone 10 GX Remote Update Mode

Configuration data switching image in Arria 10, Cyclone 10 GX

Remote update mode for Stratix V, Stratix IV, Arria V, Cyclone V

Configuration data switching image in Stratix V, Stratix IV, Arria V, Cyclone V

Cyclone 10 LP Remote Update Mode

Configuration data switching image in Cyclone 10 LP

Remote Update Mode in MAX 10

Configuration data switching image in MAX 10

General Procedure for Remote System Upgrade

  1. Each user design includes and compiles IP for RSU
  2. Create programming data for RSU
  3. Write to the configuration ROM (or flash memory).
  4. Configure FPGA, FPGA works
  5. Update configuration ROM (or Flash memory) data externally while FPGA is running
  6. Reconfigure FPGA

At the end

A video about remote system upgrade is available on YouTube below.

Sample designs are available below. (For the Design Store, see this page.)

Related seminar

Click here for recommended articles/materials

Click here for recommended FAQ