PLD デバイス・アーキテクトの決断 ――Altera社 ARM-based Excalibur の場合
ARM-based Excaliburは基本的な周辺回路(メモリ,コントローラ,外部インターフェース)を内蔵しているので,CPUがプログラマブル・ロジック部と相互干渉を起こしたり,プログラマブル・ロジック部からの介入を受けることなく,外部メモリからの起動やコード実行,外部との通信を行えます.その結果,CPUはプログラマブル・ロジック部の構成に関係なく,演算や処理を実行します.つまりシステムが動作中であれば,プログラマブル・ロジック部がコンフィグレーション中であっても,CPUは動作します.
先に述べたように,CPUはプログラマブル・ロジック部のコンフィグレーションを管理することができます.このことは,プログラマブル・ロジック部のコンフィグレーションを行うために,わざわざ専用のメカニズムやデバイスを設ける必要がないことを意味します.なぜなら,CPUの持つ不揮発性メモリ(通常はフラッシュ・メモリ)をその目的に使用できるからです.
この機能にリアルタイムOSを加えれば,複数のコンフィグレーション・ファイルを用意するシステムを容易に開発できます.これらのコンフィグレーション・ファイルは,外部メモリに保存されており,ローカルにアクセスされます.あるいは,接続されたネットワークから受け取る場合もあります.いつでもリアルタイムOSを実行できるので,CPUは容易に標準の通信プロトコルに対応できます.例えば,上記の目的のほか,TCP/IPプロトコル・スタックを実行させてコンフィグレーション・ファイルをダウンロードしたり,プログラマブル・ロジックのコンフィグレーション状態をユーザに示すためのWebサイトを作成できます.