インテルのみ表示可能 — GUID: sss1452752551244
Ixiasoft
1.3.1. FPGAコンフィギュレーション
FPGAコンフィギュレーションはコンフィギュレーション・コントロール・チップによって管理されます。このプロセスには、フラッシュ・メモリからのコンフィギュレーション・データの読み出し、コンフィギュレーション・データの復元、適切なDATA[ ]ピンでのコンフィギュレーション・データの送信およびエラー状態の処理が含まれます。
POR後、コントローラはフラッシュ・メモリーからオプション・ビットを読み出し、ユーザー定義のコンフィギュレーション・オプションを決定します。このオプションには、コンフィギュレーション手法、コンフィギュレーション・クロック速度、復元およびコンフィギュレーション・ページの設定が含まれます。オプション・ビットは0x8000(ワード・アドレス)のフラッシュ・アドレス位置に格納され、メモリーの512ビットまたは32ワードを占めています。このオプション・ビットは、内部フラッシュ・インタフェースおよびデフォルトの10MHz内蔵オシレータを使用して読み出されます。
コンフィギュレーション設定を取得した後、コンフィギュレーション・コントロール・チップはnSTATUSおよびCONF_DONE信号をモニタし、FPGAがコンフィギュレーション・データを受け入れる準備ができているかをチェックします。FPGA側の準備ができた場合(nSTATUSがhighとCONF_DONEがlow)、コントローラはDCLKおよびDATA[ ]の出力ピンでデーターの送信を開始します。PORまたはリセット後にPGM[2..0]ピンをサンプリングすることによって、コントローラはFPGAに送信するコンフィギュレーション・ページを選択します。
コンフィギュレーション・ユニットの機能は、コンフィギュレーション手法に応じて、復元したデータをFPGAに送信するということにあります。EPCデバイスは、n = 1、2、4または8(nとは、DATA[n]信号でのDCLKサイクルごと送信されるビット数)の4つの同時コンフィギュレーション・モードをサポートします。nの値が1の場合、従来のPSコンフィギュレーション手法に対応します。nの値が2、4および8の場合、2つ、4つまたは8つの異なるPSコンフィギュレーション・チェインの同時コンフィギュレーションにそれぞれ対応します。さらに、FPGAは、DCLKサイクルごと8ビットのDATAがFPGAにクロックされるFPPモードでコンフィギュレーションできます。コンフィギュレーション・バス幅(n)に応じて、回路が有効なDATA[n]ピンに非圧縮のコンフィギュレーション・データをシフトします。未使用のDATA[ ]ピンがlowに駆動されます。
FPGAにコンフィギュレーション・データを送信する以外にも、コンフィギュレーション回路は、送信データが不足している場合にコンフィギュレーションを一時停止させる役割も担っています。この状況は、フラッシュ読み出し帯域幅がコンフィギュレーション書き込み帯域幅より低い場合に起こります。フラッシュからのデータの読み出しまたはデータの復元を待機する際、FPGAへのDCLKを停止することによって、コンフィギュレーションが一時停止されます。この手法は、「Pausing DCLK」と呼ばれています。
EPCデバイスのフラッシュ・メモリは90nsのアクセス・タイム(約10MHz)を備えています。従って、フラッシュの読み出し帯域幅は毎秒約160メガビット(Mbps)(10MHzで16ビットのフラッシュ・データ・バス、DQ[ ])に制約されます。その一方、アルテラFPGAがサポートするコンフィギュレーションの速度ははるかに速く、高いコンフィギュレーション書き込み帯域幅に変換します。例えば、100MHzのStratix FPPコンフィギュレーションでは、800Mbps(100MHzで8ビットのDATA[ ]バス)のデータ送信レートを必要とします。この値はフラッシュ・メモリーがサポートできる160Mbpsよりはるかに高く、コンフィギュレーション時間の制限要因となります。データを圧縮することで、同じ量のコンフィギュレーション・データがフラッシュ・メモリ内で占めるスペースが少なくなるため、有効なフラッシュ読み出し帯域幅が増えます。Stratixコンフィギュレーション・データの圧縮率は約2であるため、有効な読み出し帯域幅がおよそ320Mbpsに倍増します。
最後に、コンフィギュレーション・コントローラもコンフィギュレーション時のエラーを管理します。FPGAが、最後のコンフィギュレーション・データ・ビットを送信した後で64DCLKサイクル以内にCONF_DONE信号をディアサートしない場合、CONF_DONEエラーが発生します。CONF_DONEエラーが検出された場合、コントローラがOEラインをlowにパルスすることによって、nSTATUS信号をlowに引き下げ、別のコンフィギュレーション・サイクルをトリガします。
FPGAがコンフィギュレーション・データの破損を検出すると、巡回冗長検査(CRC)エラーが発生します。この破損は、コンフィギュレーション信号のシグナル・インテグリティの問題など、ボード上のノイズ・カップリングに起因し得ます。FPGAがこのエラーを通知すると(nSTATUS信号をlowに駆動する)、コントローラはコンフィギュレーションを停止します。FPGAでAuto-Restart Configuraton After Errorオプションが有効にされた場合、FPGAはリセット・タイムアウト後にnSTATUS信号をリリースし、コントローラがFPGAのリコンフィギュレーションを試みます。
FPGAのコンフィギュレーション・プロセスが完了した後、コントローラはDCLKピンをlowに、DATA[ ]ピンをhighにそれぞれ駆動します。その上、コントローラがフラッシュ・メモリーへの内部インタフェースをトライ・ステートにし、フラッシュ・アドレスおよびコントロール・ライン上の内部ウィーク・プルアップを有効にし、フラッシュ・データ・ライン上のバス・キーパー回路を有効にします。
以下の項では、FPP、PSおよび同時コンフィギュレーション手法を含む、EPCデバイスでサポートされる異なるコンフィギュレーション手法について説明します。