PLD デバイス・アーキテクトの決断 ――Altera社 ARM-based Excalibur の場合
クロック生成には,二つのPLLが使用されています.一つはCPUと周辺回路用で,もう一つはSDRAMコントローラ用です.いずれのPLLもデバイス・コンフィグレーションとCPUを通じて周波数をプログラムできるので,デバイス動作を維持しながらクロックを動的に変化させることができます.PLLによるクロックのてい倍を利用すれば,CPUの最大動作周波数である200MHzをより低周波の基準クロックから作ることができます.なお,低電力動作時にはPLLを無効にできます.
ARM-based Excaliburデバイスは,マルチマスタリングや分割トランザクション,バースト・トランザクションが可能な階層AHBバス構造を備えています.最大200MHzのシステム周波数で動作するAHB(図3のAHB1)は,もっとも広い帯域幅を必要とする周辺回路やメモリとCPUを接続します.一方,最大100MHzで動作する二つ目のAHB(図3のAHB2)は,AHB1とより低速な周辺回路,PLDインターフェースの間の通信を行います.さらに,このサブシステムは拡張バス・インターフェース(EBI)を提供します.このEBIには,フラッシュ・メモリやSRAM,ROM,そのほかのメモリ・マップされた周辺回路(最大32Mバイトの外部デバイスを4個まで)を接続することができます.
プログラマブル・ロジック部からプロセッサ・サブシステムへのブリッジを使うと,プログラマブル・ロジック部のマスタからサブシステムのスレーブにアクセスできます.この機能によって,外部バス・インターフェースは,実装されたSDRAMデバイス内の共有データにアクセスできるようになります.同じように,プロセッサ・サブシステムからプログラマブル・ロジック部へのブリッジを使うと,サブシステムのバス・マスタからプログラマブル・ロジック部のスレーブにアクセスできます.どちらのブリッジも同期機構を備えています.これにより,マスタやスレーブのインターフェースとAHBバスが異なるクロック周波数で動作していても,問題は起こりません.さらに,両ブリッジは書き込みポストと読み取りプリフェッチをサポートしているので,スループットを引き上げることができます.