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.
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.
Eligible device family
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:
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.
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
Below is a simple chart for each family.
Arria 10, Cyclone 10 GX Remote Update Mode
Remote update mode for Stratix V, Stratix IV, Arria V, Cyclone V
Cyclone 10 LP Remote Update Mode
Remote Update Mode in MAX 10
General Procedure for Remote System Upgrade
- Each user design includes and compiles IP for RSU
- Create programming data for RSU
- Write to Configuration ROM (or Flash memory)
- Configure FPGA, FPGA works
- Update configuration ROM (or Flash memory) data externally while FPGA is running
- 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.)