インテル® FPGA は “Remote System Upgrade (リモート・システム・アップグレード) 機能” によって、リモート・ソースから新しいコンフィグレーション・データを受信、およびフラッシュ・メモリーの内容を更新することができ、その新しいコンフィグレーション・データで FPGA の再コンフィグレーションを可能にします。これにより、デザイン・サイクルの短縮、規格の進化への対応、および遠隔地でのシステム配備といった困難な課題の克服を実現します。
Remote System Upgrade (RSU) とは?
インテル FPGA のコンフィグレーション・データを格納するメモリー・デバイスのデータ内容をアップグレード (書き換え) することの総称です。
下図は、その動作を図化したものです。
![](/business/semiconductor/articles/article_header_img1__29.png)
リモート・システム・アップグレードは、以下の動作フローで行います。
0. 既存のコンフィグレーション・データで FPGA が動作
1. 外部から FPGA を経由して、新しいコンフィグレーション・データを Flash メモリーに転送および更新
2. FPGA 内の IP により、更新した Flash メモリー内のコンフィグレーション・データにアクセス
3. 新しいイメージで FPGA を再コンフィグレーション
下図は、リモート・システム・アップグレードを実現するための FPGA とコンフィグレーション用 Flash メモリーの構成を示しています。
![](/business/semiconductor/articles/article_header_img2__19.png)
対象デバイス・ファミリー
FPGA ファミリー |
Stratix® V, Stratix® IV, Arria® 10, Arria® V, Cyclone® 10, Cyclone® V, MAX® 10 |
コンフィグレーション ROM |
EPCQA, EPCQ, EPCS |
RSU にはリモート・アップデート機能が必須
リモート・システム・アップグレードを実現するには、FPGA のコンフィグレーション用 ROM に以下の2種類のファイルを格納します。
ファクトリー・イメージ |
起動時やシステム・エラー時に、FPGA にロードされるコンフィグレーション・データ。デバイスによって、初期起動はファクトリー・イメージがロードされると決まっているファミリーがある。 |
アプリケーション・イメージ |
FPGA に再コンフィグレーションされるデータ。複数保有することが可能。ファクトリー・イメージを除いたページに格納される。RSU 時に更新することができる。 |
通常は、このファクトリー・イメージとアプリケーション・イメージを動作中に切り替えることで、FPGA の動作を更新することができます。この機能を リモート・アップデート と言います。
[関連情報] FPGA のコンフィグレーション・データを切り替える方法 HDL 編
このリモート・アップデートをさらに拡張して、コンフィグレーション・データを格納している Flash メモリ内の既存アプリケーション・イメージを書き換えることを リモート・システム・アップグレード と言います。 リモート・システム・アップグレードおよびリモート・アップデート機能を実現するには、専用の IP をユーザーのデザインに組み込む必要があります。
FPGA ファミリ |
特徴 |
IP |
Arria 10 Cyclone 10 GX |
起動時に使用するコンフィグレーション・データ(ファクトリー/アプリケーション)を任意で指定可能 |
Remote Update Intel FPGA IP
Generic Serial Flash Interface Intel FPGA |
Stratix V Stratix IV Arria V Cyclone V |
ファクトリー・デザインから起動。アプリケーション・デザインから別のアプリケーション・デザインへ遷移する際は、一度ファクトリー・デザインへ戻る必要あり。 |
|
Cyclone 10 LP |
||
MAX 10 |
起動時に使用するコンフィグレーション・データ(ファクトリー/アプリケーション)を任意で指定可能 |
On-Chip Flash Intel FPGA IP
Dual Configuration Intel FPGA IP |
コンフィグレーション・データの切り替えイメージ
以下は、ファミリー別に簡単に図化したものです。
Arria 10, Cyclone 10 GX のリモート・アップデート・モード
![](/business/semiconductor/articles/article_header_img4__25.png)
Stratix V, Stratix IV, Arria V, Cyclone V のリモート・アップデート・モード
![](/business/semiconductor/articles/article_header_img5__16.png)
Cyclone 10 LP のリモート・アップデート・モード
![](/business/semiconductor/articles/article_header_img5__17.png)
MAX 10 のリモート・アップデート・モード
![](/business/semiconductor/articles/article_header_img6__11.png)
リモート・システム・アップグレードの一般的な作業手順
- 各ユーザー・デザインに、RSU 用 IP を組み込んでコンパイル
- RSU 用のプログラミング・データを作成
- コンフィグレーション ROM (または Flash メモリ) に書き込む
- FPGA をコンフィグレーション、FPGA が動作
- FPGA が動作中に、外部からコンフィグレーションROM (または Flash メモリー) のデータを更新
- FPGA を再コンフィグレーション
最後に
リモート・システム・アップグレードに関する動画が、下記 YouTubeにおいて公開中です。
サンプル・デザインは下記より入手できます。 (Design Store については、こちらのページをご覧ください。)