The “Remote System Upgrade” feature allows Intel FPGAs to receive new configuration data from a remote source and update the contents of the flash memory so that the new configuration data allows reconfiguration of the FPGA. This enables you to shorten design cycles, keep pace with evolving standards, and overcome the difficult challenges of deploying systems in remote locations.

What is Remote System Upgrade (RSU)?

A general term for upgrading (rewriting) the data content of the memory device that stores the configuration data for the Intel FPGA.
The figure below illustrates this operation.

Typical remote system upgrade process

Remote system upgrade is performed according to the following operation flow.

0. FPGA works with existing configuration data
1. Transfer and update new configuration data to Flash memory externally via FPGA
2. IP in FPGA accesses updated configuration data in Flash memory
3. Reconfigure FPGA with new image

The figure below shows the configuration of FPGA and Flash memory for configuration to realize remote system upgrade.

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.

You can usually update the behavior of the FPGA by switching between this factory image and the application image on the fly. This feature is called remote update.

[Related information] How to switch FPGA configuration data HDL edition

Extending this remote update to rewrite the existing application image in Flash memory, which stores the configuration data, is called remote system upgrade. To enable remote system upgrade and remote update functionality, a dedicated IP must be incorporated 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 Intel FPGA IP

 

Generic Serial Flash Interface Intel FPGA

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 Intel FPGA IP

 

Dual Configuration Intel FPGA 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 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