MAX® II デバイスはリアルタイム・イン・システム・プログラマビリティ (ISP) を搭載しています。 リアルタイム ISP では、デバイスが以前にコンフィギュレーションされたデザインで動作中にユーザがデバイスをプログラムできるため、メンテナンス・コストが低減します。 この新機能を使用すると、リコンフィギュレーションを開始するためにシステムをオフにする必要がないので、製品の迅速なインフィールド・アップデートが可能になります。
MAX II デバイスでは、フラッシュ・コンフィギュレーション・ブロックとプログラマブル・ロジック・ブロックが分離されているためリアルタイム ISP が可能です。 アップデートされたデザインをすぐにデバイスにロードするか、次のパワー・サイクルまで待機するように指示できます。 MAX II デバイスでリアルタイム ISP を使用すると、不経済なシステム・ダウンタイムが発生することなく、また担当者を遠方に派遣することなく、ボード管理ファンクションを迅速にアップデートできます。
さらに複数のデザインを 1つのデバイスで実行し、それぞれのデザインに影響を与えることなく個別にアップデートすることができます。 図 1 に示すリモート・アップデート・アプリケーションでは、マイクロコントローラのI/O 拡張をほんの少しの間中断するだけで FPGA コンフィギュレーション・デザインのアップデートが可能です。
図 1. 代表的なリモート・フィールド・アップデート・アプリケーション (FPGA コンフィギュレーション)

注:
- POR: パワー・オン・リセット
- JTAG: Joint Test Action Group
リアルタイム ISP の使用方法
リアルタイム ISP を使用する最初のステップは、JTAG (Joint Test Action Group) ポート経由で固定リンクまたはリモート・リンク (電話モデムまたは Ethernet 接続) を介してプログラミング・ビット・ストリームを保存先のコンフィギュレーション・フラッシュ・メモリに送信することです (図 2 参照)。
このダウンロード中も、ユーザ・フラッシュ・メモリ、プログラミング・ロジック、および I/O ピンは動作状態のままなので、マイクロコントローラ I/O 拡張ロジックなどその他のデバイス要素の動作が中断されることはありません。 I/O ピンの動作が中断されないということは、すべてのピンが既知の状態で維持され、アップデート中にグリッチが発生しないことを意味します。 システムが動作状態であれば、新しいプログラミング・ビット・ストリームのダウンロードを随時開始することができます。
図 2. プログラミング・ビット・ストリームのダウンロード

新しいダウンロード・ビット・ストリームがすぐにプログラマブル・ロジックをアップデートできるので(図 3 参照)、プログラマブル・ロジックへのダウンロードが完了する間に I/O ピンがトライ・ステートになります。 あるいは、新しいプログラミング・ビット・ストリームを次のパワー・サイクルまでコンフィギュレーション・フラッシュ・メモリに残すこともできます。次のパワー・サイクルは状況に応じて (システム使用率が低い間などに) 指定できます。 この時点でユーザ・フラッシュ・メモリをアップデートし、新しいシステム管理データ (プログラミング変更のデータなど) を保存することも可能です。
図 3. ロジック・コンフィギュレーション
その他のアプリケーション
その他にも多くのアプリケーションでリアルタイム ISP 機能が役立ちます。 暗号化回路として使用しているCPLDの動作中に、新しいキー(コード)を取り込んで次のパワー・サイクルで使用することができます。また、高い集積度のMAXIIデバイスを使えば、最終製品として稼動している際に様々なテストや診断プログラムを実行することも可能です。
