Quartus II開発ソフトウェアは、エンハンスド・コンフィギュレーショ
ン・デバイスにプログラミング・サポートを提供し、EPC4、EPC8、
EPC16デバイス用のPOFファイルを自動的に生成します。マルチ・デバ
イス・プロジェクトでは、ソフトウェアは複数のStratixシリーズ、Cyclone シリーズ、APEX II、APEX20K、Mercury、ACEX 1K、およびFLEX 10K FPGA用のSOFファイルを組み合わせて、エンハンスド・コンフィギュ レーション・デバイスのための1つのプログラミング・ファイルにする ことができます。
プログラミング・ファイルの生成について詳しくは、「コンフィギュ レーション・ハンドブック」の「アルテラ・エンハンスド・コンフィ ギュレーション・デバイス」の章または「ソフトウェア設定」のセク ションを参照してください。
エンハンスド・コンフィギュレーション・デバイスは、業界標準の4ピ ンJTAGインタフェースを介してイン・システムでプログラムできます。
エンハンスド・コンフィギュレーション・デバイスのISP機能により、
容易にプロトタイプ作成やFPGA機能のアップデートを行うことができ ます。
イン・システムでのエンハンスド・コンフィギュレーション・デバイス のプログラミング後、エンハンスド・コンフィギュレーション・デバイ スのJTAG INIT_CONF命令(表2–9)を含めることによって、FPGAコ ンフィギュレーションを開始することができます。
エンハンスド・コンフィギュレーション・デバイスのISP回路は、IEEE Std. 1532規格に準拠しています。IEEE Std.1532は複数のベンダ製デバイ ス間で同時ISPを可能にする標準規格です。
表2–9. エンハンスド・コンフィギュレーション・デバイスのJTAG命令 ( 1 / 3 ) 注(1)
JTAG命令 OPCODE 説明
SAMPLE/PRELOAD 00 0101 0101 通常のデバイス動作中に、エンハンスド・コンフィギュレーション・デ バイス・ピンの状態のスナップショットをキャプチャして検査すること ができ、またデバイス・ピンへの最初のデータ・パターン出力を許可し ます。
EXTEST 00 0000 0000 出力ピンにテスト・パターンを強制的に与え、入力ピンでテスト結果を
取り込むことによって外部回路との接続とボード・レベルの配線がテス トできます。
BYPASS 11 1111 1111 TDIピンとTDOピンの間に1ビットのバイパス・レジスタを配置すること によって、デバイスに通常の動作をさせながらBSTデータが選択された デバイスをバイパスして、隣接したデバイスに同期転送されるようにす ることができます。
IDCODE 00 0101 1001 デバイスIDCODEレジスタを選択し、これをTDIピンとTDOピンの間 に配置することによって、デバイスIDCODEがTDOにシリアルにシフ ト・アウトされるようにすることができます。すべてのエンハンスド・
コンフィギュレーション・デバイス用のデバイスIDCODEは、以下のと おりです。
0100A0DDh
USERCODE 00 0111 1001 USERCODEレジスタを選択し、これをTDIピンとTDOピンの間に配置 することによって、USERCODEがTDOにシリアルにシフト・アウトさ れるようにすることができます。32ビットのUSERCODEは、プログラ マブルなユーザ定義パターンです。
INIT_CONF 00 0110 0001 この機能はFPGAのnCONFIGピンに接続されている nINIT_CONFピン に、Lowパルスを出力する事で、FPGAのリコンフィギュレーション・プ ロセスを開始させます。この命令がアップデートされた後、JTAGステー ト・マシンがRun-Test/Idle状態に移行すると、nINIT_CONFピンに Lowパルスが出力されます。nINIT_CONFピンが解放され、nCONFIGは JTAGステート・マシンがRun-Test/Idle状態を抜けた後で、抵抗で Highにプルアップされます。nCONFIGがHighになった後、FPGAコン フィギュレーションが開始されます。結果として、FPGAはフラッシュに 格納されている新しいコンフィギュレーション・データによりISPを介 し て コ ン フ ィ ギ ュ レ ー シ ョ ン さ れ ま す。こ の 機 能 は、Programmer optionsウィンドウ(Optionsメニュー)のInitiate configuration after programmingオプションをイネーブルにすることによって、Quartus II ソフトウェアのプログラミング・ファイル(POF、JAM、JBC)に追加で きます。
表2–9. エンハンスド・コンフィギュレーション・デバイスのJTAG命令 ( 2 / 3 ) 注(1)
JTAG命令 OPCODE 説明
エンハンスド・コンフィギュレーション・デバイスJTAGサポートにつ いて詳しくは、アルテラ・ウェブサイトで提供されているBDSLファイ ルを参照してください。
エンハンスド・コンフィギュレーション・デバイスは、サードパーティ 製フラッシュ・プログラマまたは外部フラッシュ・インタフェースを使 用したオン・ボード・プロセッサでもプログラムできます。プログラミ ング・ファイル(POF)は、Quartus IIのConvert Programming Filesユー ティリティを使用して、プログラマまたはプロセッサで使用するための Intel HEXフォーマット・ファイル(.hexout)に変換可能です。
Quartus IIソフトウェア、アルテラ・プログラミング・ユニット(APU)、
および適切なコンフィギュレーション・デバイス・プログラミング・ア ダプタを使用して、エンハンスド・コンフィギュレーション・デバイス をプログラムすることもできます。表2–10に、各エンハンスド・コン フィギュレーション・デバイスで使用するプログラミング・アダプタを 示します。
PENDCFG 00 0110 0101 このオプション機能は、エンハンスド・コンフィギュレーション・デバ
イスのJTAGベースISP中に、nINIT_CONFピンをLowに保持するため に使用できます。この機能は、外部フラッシュ・インタフェースが外部
FPGA/プロセッサにコントロールされている場合に役立ちます。
この機能により、コントローラと外部デバイスの両方が同時にフラッ シュにアクセスするときに、フラッシュ・ピンでの競合を防止します。
エンハンスド・コンフィギュレーション・デバイスのコントローラは、
外部FPGA/プロセッサがフラッシュへのインタフェースをトライ・ス
テートにした後でフラッシュ・メモリにアクセスできます。これは nCONFIGピンをドライブし、外部FPGA/プロセッサを「リセット状態」
に保持するnINIT_CONFを使用してFPGAをリセットすることにより 確実に実行できます。コンフィギュレーション開始(INIT_CONF)JTAG 命令が発行されると、nINIT_CONFピンが解放されます。
表2–9の注:
(1) エンハンスド・コンフィギュレーション・デバイス・インストラクション・レジスタの長さは10で、バウ ンダリ・スキャンの長さは174です。
表2–9. エンハンスド・コンフィギュレーション・デバイスのJTAG命令 ( 3 / 3 ) 注(1)
JTAG命令 OPCODE 説明
表2–10.プログラミング・アダプタ ( 1 / 2 )
デバイス パッケージ アダプタ
EPC16 88ピンUltra FineLine BGA PLMUEPC-88
100ピンPQFP PLMQEPC-100