Intel® FPGAs can receive new configuration data from a remote source and update their flash memory contents through the "Remote System Upgrade" feature. The "Remote System Upgrade" feature allows the FPGA to receive new configuration data from a remote source and update its flash memory contents, enabling the FPGA to reconfigure itself with the new configuration data. This helps overcome the challenges of shortening design cycles, keeping up with evolving standards, and deploying systems in remote locations.
What is Remote System Upgrade (RSU)?
Remote System Upgrade (RSU) is a generic term for upgrading (rewriting) the data content of a memory device that stores configuration data for an Intel FPGA.
The figure below illustrates how it works.
Typical Remote System Upgrade Process
A remote system upgrade is performed in the following flow of operations. 0.
0. FPGA runs with existing configuration data
1. transfer and update new configuration data to Flash memory from outside 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 the FPGA and configuration Flash memory to achieve a remote system upgrade.
Remote System Upgrade Block Diagram
Target Device Families
Table 1: Devices Supporting RSUs
| FPGA Family | Stratix® V, Stratix® IV, Arria® 10, Arria® V, Cyclone® 10, Cyclone® V, MAX® 10 |
| Configuration ROM | EPCQA, EPCQ, EPCS |
Remote update capability is a must for RSUs
To achieve remote system upgrade, the FPGA configuration ROM contains the following two types of files.
Table 2. File Types and Summary
| Factory image | Configuration data that is loaded into the FPGA at boot time or in the event of a system error. Some families of devices specify that the factory image is loaded for initial startup. |
| Application Image | Data that is reconfigured into the FPGA. Multiple images can be held. Can be updated during RSU. |
Normally, the FPGA operation can be updated by switching between the factory image and the application image during operation. This feature is called Remote Update.
[Related Information] How to Switch FPGA Configuration Data HDL Edition
A further extension of Remote Update to rewrite the existing application image in Flash memory that contains the configuration data is called Remote System Upgrade. To achieve remote system upgrade and remote update functionality, dedicated IP must be incorporated into the user's design.
Table 3: FPGA Families and IP
| FPGA Family | Feature | IP |
|
Arria 10 Cyclone 10 GX |
Configuration data (factory/application) can be arbitrarily specified for use at startup |
Remote Update Intel FPGA IP Generic Serial Flash Interface Intel FPGA |
|
Stratix V Stratix IV Arria V Cyclone V |
Boot from factory design. Must return to factory design when transitioning from one application design to another. | |
| Cyclone 10 LP | ||
| MAX 10 | Configuration data (factory/application) used at startup can be specified arbitrarily |
On-Chip Flash Intel FPGA IP Dual Configuration Intel FPGA IP |
Configuration data switching image
For remote update, each FPGA has its own specification for switching configuration data.
The following is a simple diagram for each family.
Remote update mode for Arria 10 and Cyclone 10 GX
Configuration data switching image for Arria 10 and Cyclone 10 GX
Remote update mode for Stratix V, Stratix IV, Arria V, and Cyclone V
Image of configuration data switching for Stratix V, Stratix IV, Arria V, and Cyclone V
Cyclone 10 LP Remote Update Mode
Image of configuration data switching for Cyclone 10 LP
Remote update mode for MAX 10
Image of configuration data switching in MAX 10
General Procedure for Remote System Upgrades
- Compile each user design with IP for RSU
- Create programming data for RSU
- Write to configuration ROM (or Flash memory)
- Configure FPGA and run FPGA
- Externally update data in configuration ROM (or Flash memory) while FPGA is running
- Reconfigure FPGA
Finally
Sample designs are available at (For more information about the Design Store, please visit this page )