各種コンフィギュレーション手法の比較については、表 1 を参照してください。
| 表 1. 各種コンフィギュレーション手法の一般的な比較 | |||||
| アクティブまたはパッシブ・コンフィギュレーション手法 | コンフィギュレーション手法 | シリアルまたはパラレル・コンフィギュレーション | 外部メモリおよび/またはコンフィギュレーション・デバイス (1) | DATA バス幅(ビット数) | 相対コンフィギュレーション時間 (2) |
|---|---|---|---|---|---|
| アクティブ | AS | シリアル | シリアル・コンフィギュレーション(EPCS)デバイス(PDF) | 1 | 中程度 |
| AP | パラレル | サポートされているコモン・フラッシュ・インタフェース(CFI)対応 パラレル・フラッシュ・メモリ |
16 | 高速 | |
| パッシブ | PS | シリアル | MAX® II、MAX 3000A/7000、またはマイクロプロセッサとフラッシュ・メモリ | 1 | 中程度 |
| シリアル | エンハンスド・コンフィギュレーション(EPC)デバイス(PDF) | 1 | 中程度 | ||
| シリアル | ダウンロード・ケーブル | 1 | 中程度 | ||
| FPP | パラレル | MAX II、MAX 3000A/7000、またはマイクロプロセッサとフラッシュ・メモリ | 8 | 高速 | |
| パラレル | エンハンスド・コンフィギュレーション(EPC)デバイス(PDF) | 8 | 高速 | ||
| PPS | パラレル | MAX II、MAX 3000A/7000、またはマイクロプロセッサとフラッシュ・メモリ | 8 | 中程度 | |
| PPA | パラレル | MAX II、MAX 3000A/7000、またはマイクロプロセッサとフラッシュ・メモリ | 8 | 中程度 | |
| JTAG | シリアル | MAX II、MAX 3000A/7000、またはマイクロプロセッサとフラッシュ・メモリ | 1 | 低速 | |
| シリアル | ダウンロード・ケーブル | 1 | 低速 | ||
- 同じコンフィギュレーション手法を使用する異なるデバイスが、異なる外部コントローラおよび/またはコンフィギュレーション・デバイスをサポートすることがあります。詳しくは、コンフィギュレーション・ハンドブックのそれぞれのアルテラ・デバイスのコンフィギュレーションの章を参照してください。
- コンフィギュレーション時間は、相対的な比較として示されており、一般的なガイドラインとしてのみ役立ちます。コンフィギュレーション時間はコンフィギュレーション手法ごとに異なり、コンフィギュレーション・ファイルのサイズ、コンフィギュレーション・データの幅、ドライビング・クロックの周波数、およびフラッシュ・アクセス時間に依存します。
アクティブおよびパッシブ・コンフィギュレーション手法
一般に、アルテラのコンフィギュレーション手法は、アクティブ・コンフィギュレーション手法またはパッシブ・コンフィギュレーション手法に分類されます。アクティブ・コンフィギュレーション手法では、デバイスがコンフィギュレーション・プロセスを制御し、外部メモリ・デバイスからコンフィギュレーション・データを取得します。アクティブ・コンフィギュレーション手法には、アクティブ・シリアル(AS)とアクティブ・パラレル(AP)があります。メモリ・デバイスは、AS コンフィギュレーションの場合は、シリアル・コンフィギュレーション(EPCS)デバイス(PDF)、AP コンフィギュレーションの場合はサポートされているパラレル・フラッシュ・メモリです。これとは反対に、パッシブ・コンフィギュレーション手法では、コンフィギュレーション・デバイスがコンフィギュレーション・プロセスを制御し、コンフィギュレーション・データを供給します。コンフィギュレーション・デバイスは、PC、エンハンスド・コンフィギュレーション(EPC)デバイス(PDF)、マイクロプロセッサなどの外部インテリジェント・ホスト、または MAX II CPLD のどちらでもかまいません。パッシブ・コンフィギュレーション手法には、パッシブ・シリアル(PS)、ファースト・パッシブ・パラレル(FPP)、パッシブ・パラレル非同期(PPA)、パッシブ・パラレル同期(PPS)、および JTAG があります。
外部メモリおよび/またはコンフィギュレーション・デバイス
すべてのコンフィギュレーション手法は、外部メモリまたはコンフィギュレーション・デバイスを必要とします。これらの外部デバイスは、特定のコンフィギュレーション手法を使用する際にコンフィギュレーション・データを格納し、アルテラ FPGA をコンフィギュレーションするのに必要です。例えば、外部メモリ・デバイスは、シリアル・コンフィギュレーション(EPCS)デバイス(PDF)、またはサポートされているパラレル・フラッシュ・メモリ・デバイスのどちらでもかまいません。コンフィギュレーション・コントローラには、エンハンスド・コンフィギュレーション(EPC)デバイス(PDF)、マイクロプロセッサ、または MAX II もしくは MAX3000A/7000 CPLD のいずれでも使用できます。外部メモリおよび/またはコンフィギュレーション・デバイスごとに、異なるコンフィギュレーション手法がサポートされることに注意してください。MAX II CPLD は、JTAG インタフェースを介してコモン・フラッシュ・インタフェース(CFI)準拠のフラッシュ・メモリ・デバイスをプログラムするためのパラレル・フラッシュ・ローダ IP をサポートし、フラッシュ・メモリ・デバイスからアルテラ FPGA へのコンフィギュレーション(PS および FPP)を制御するためのロジックを備えています。
- MAX II CPLD 用パラレル・フラッシュ・ローダ
- AN 386: Using the MAX II Parallel Flash Loader with the Quartus II Software(PDF)
- MAX Series Configuration Controller Using Flash Memory white paper (PDF)
DATA バスの幅
DATA バスの幅によって、コンフィギュレーション手法での DCLK サイクルあたりの送信ビット数が決まります。一般に、コンフィギュレーション手法は、シリアル・コンフィギュレーション手法またはシリアル・コンフィギュレーション手法にグループ化することもできます。シリアル・コンフィギュレーション手法では、1 DCLK サイクルあたり 1 ビットが送信されます。PS、AS、および JTAG はシリアル・コンフィギュレーション手法です。一方、パラレル・コンフィギュレーション手法では、1 DCLK サイクルあたり 1 ビットよりも多いビット数が送信されます。FPP、PPA、および PPS コンフィギュレーション手法では、1 DCLK サイクルあたり 8 ビットが送信されます。AP コンフィギュレーション手法では、1 DCLK サイクルあたり 16 ビットが送信されます。一般に、1 DCLK サイクルあたりに送信される DATA ビット数が多いほど、コンフィギュレーション時間が短くなります。
相対コンフィギュレーション時間
コンフィギュレーション・サイクルは、リセット、コンフィギュレーション、および初期化の 3つのステージで構成されます。相対コンフィギュレーション時間は、ここではコンフィギュレーション・ステージにのみ関係しています。デバイスがユーザ・モードに入るのに要する時間は、実際にはこれよりも長くなります。
コンフィギュレーション時間はコンフィギュレーション手法ごとに異なり、コンフィギュレーション・ファイルのサイズ、コンフィギュレーション・データの幅、ドライビング・クロックの周波数、およびフラッシュ・アクセス時間に依存します。同じデバイス・ファミリおよび集積度を対象にした様々なコンフィギュレーション手法の間で、相対コンフィギュレーション時間を推定することができます。
AS コンフィギュレーション時間は、EPCS から FPGA デバイスにデータを転送するのに要する時間に支配されます。AS インタフェースは、内部オシレータから生成される FPGA の DCLK 出力によって同期動作します。40MHz オシレータを使用する場合、DCLK の最小周波数は 20 MHz(50 ns)です。例えば、EP3C10 デバイスの最大 AS コンフィギュレーション時間の推定値は、(2.5 M ビットの非圧縮データ)= RBF サイズ x(最大 DCLK 周期/DCLK サイクルあたり 1 ビット)= 2.5 M ビット x(50 ns/1 ビット)= 125 ms です。
AP コンフィギュレーション時間は、サポートされているパラレル・フラッシュ・メモリからデバイスにデータを転送するのに要する時間で支配されます。 この AP インタフェースは、内部オシレータから生成されるデバイスの DCLK 出力によって同期動作します。 40MHz オシレータを使用する場合、DCLK の最小周波数は 20 MHz(50 ns)です。 例えば、EP3C10 デバイスの最大 AP コンフィギュレーション時間の推定値は、(2.5 M ビットの非圧縮データ)= RBF サイズ x(最大 DCLK 周期/DCLK サイクルあたり 16 ビット)= 2.5 M ビット x(50 ns/16 ビット)= 7.8125 ms
一般に、AP および FPP コンフィギュレーション手法のコンフィギュレーション時間がもっとも短く、ついで PPS および PPA のコンフィギュレーション時間が短くなります。FPP の場合と同様に、PPS および PPA のコンフィギュレーション周波数は外部デバイスによって制御されます。AS、PS、および JTAG コンフィギュレーション手法のコンフィギュレーション時間は相対的に遅くなります。ただし、相対コンフィギュレーション時間は推定値にすぎません。実際のコンフィギュレーション時間は、コンフィギュレーション・データの幅、デバイスがクロックされるコンフィギュレーション周波数、コンフィギュレーション・ファイルのサイズ、およびフラッシュ・アクセス時間によって大きく異なります。圧縮を有効にすると、アルテラ・デバイスに送信されるコンフィギュレーション・データの量が削減され、これによってもコンフィギュレーション時間が短縮されます。コンフィギュレーション時間は、圧縮によって平均 50% 短縮されます。
CLKUSR 機能のサポート
デバイスによっては、コンフィギュレーション後に 1個または複数のデバイスの初期化を同期させるユーザ供給クロックを入力するオプション・ピンが CLKUSR ピンしかない場合があります。この機能により、1 個または複数のデバイスが同時にユーザ・モードに入ることができます。 このピンは、Quartus® II ソフトウェアの CLKUSR(Enable user-supplied start-up clock)オプションをオンにするとイネーブルされます。
詳しくは、コンフィギュレーション・ハンドブックのそれぞれのアルテラ・デバイスのコンフィギュレーションの章を参照してください。
拡張性
アルテラのシリアル・コンフィギュレーション(EPCS)デバイス(PDF)は、Stratix® シリーズ (Stratix および Stratix GX を除く) および Cyclone® シリーズ FPGA 向けのシングル・デバイス・コンフィギュレーション・ソリューションをサポートしています。 エンハンスド・コンフィギュレーション(EPC)デバイス(PDF)は、Stratix シリーズ、Cyclone シリーズ、APEX™ II、APEX 20K、Mercury、ACEX® 1K、および FLEX 10K® デバイスに対するコンフィギュレーション・サポートを提供します。
適切なコンフィギュレーション・デバイスを選択するには、ターゲットの FPGA または FPGA のチェインに必要な合計コンフィギュレーション・スペースを求める必要があります。 FPGA のチェインをコンフィギュレーションする場合は、各 FPGA のコンフィギュレーション・ファイル・サイズを加算して、必要な合計コンフィギュレーション・スペースを算出する必要があります。
アルテラ・コンフィギュレーション・ デバイス(PDF)を参照して、どのコンフィギュレーション・デバイスがコンフィギュレーション・スペース要件を満たすかを判断してください。
