1.7. プログラミングおよびコンフィギュレーション・ファイルのサポート
Quartus IIソフトウェアでは、EPCデバイス向けのプログラミング・サポートを提供しており、EPC4、EPC8およびEPC16デバイス用の.pofを自動的に生成します。マルチ・デバイスのプロジェクトにおいて、Quartus IIソフトウェアは、複数のACEX 1K、APEX 20K、APEX II、Cycloneシリーズ、FLEX 10K、MercuryおよびStratixシリーズのFPGA用の.sofを結合し、EPCデバイス向けの1つのプログラミング・ファイルを生成することができます。
EPCデバイスは、業界標準の4ピンJTAGインタフェースを介して、システム内でプログラム可能です。EPCデバイス内のISP機能により、FPGA機能のプロトタイピングおよび更新が容易になります。
EPCデバイスをシステム内でプログラミングした後、FPGAコンフィギュレーションが、EPCデバイスのJTAG INIT_CONF命令を含めることで開始できます。
EPCデバイス内のISP回路は、IEEE規格1532仕様に準拠します。IEEE規格1532とは、複数のベンダーからのデバイス間における同時ISPを可能にする標準規格です。
JTAG命令 | OPCODE | 説明 |
---|---|---|
SAMPLE/ PRELOAD | 00 0101 0101 | 通常のデバイス動作中におけるEPCデバイス・ピンの状態のスナップショットの取り込みおよび検査を可能にし、デバイス・ピンにおける初期データ・パターンの出力を許可する |
EXTEST | 00 0000 0000 | 出力ピンにおいてテスト・パターンを強制し、入力ピンにおいて結果を取り込むことによって、外部回路およびボード・レベルの相互接続をテストすることを可能にする |
BYPASS | 11 1111 1111 | TDIピンとTDOピンの間に1ビットのバイパス・レジスタを配置することによって、BSTデータが通常のデバイス動作中に、選択されたデバイスを介して隣接するデバイスに同期的に通過する |
IDCODE | 00 0101 1001 | デバイスIDCODEレジスタを選択し、TDIとTDOの間に配置することによって、デバイスIDCODEがシリアルにTDOにシフト・アウトされる。すべてのEPCデバイスへのデバイスIDCODEは0100A0DDhである。 |
USERCODE | 00 0111 1001 | USERCODEレジスタを選択し、TDIとTDOの間に配置することによって、USERCODEがシリアルにTDOにシフト・アウトされる。この32ビットのUSERCODEは、プログラマブルのユーザー定義パターンである。 |
INIT_CONF | 00 0110 0001 | この機能は、FPGA nCONFIGピンに接続されている、nINIT_CONFピンをlowにパルスすることによって、FPGAのリコンフィギュレーション・プロセスを開始する。この命令が更新された後、nINIT_CONFピンは、JTAGステート・マシンがRun-Testあるいはアイドル状態に入る時にlowにパルスされる。次に、JTAGステート・マシンがRun-Testあるいはアイドル状態を脱出した後、nINIT_CONFピンが解放され、nCONFIGピンが抵抗によってhighに引き上げられる。nCONFIGがhighになった後、FPGAコンフィギュレーションが開始する。その結果、FPGAはISPを通じて、フラッシュに格納される新しいコンフィギュレーション・データによりコンフィギュレーションされる。この機能は、Programmerオプション・ウインドー(オプション・メニュ)におけるInitiate configuration after programmingオプションを有効にすることによって、Quartus IIソフトウェアでプログラミング・ファイル(.pof、.jam、および.jbc)に追加できる。 |
PENDCFG | 00 0110 0101 | このオプショナル機能を使用して、EPCデバイスのJTAGベースISP中に、nINIT_CONFピンをlowに維持できる。この機能は、外部フラッシュ・インタフェースが外部FPGAまたはプロセッサーによってコントロールされる場合に役立つ。この機能を通じて、コントローラおよび外部デバイス両方が同時にフラッシュにアクセスしようとする際に起きる、フラッシュ・ピンでの競合が防止される。EPCデバイスのコントローラがフラッシュ・メモリーにアクセスする前に、外部FPGAまたはプロセッサーはフラッシュへのインタフェースをトライ・ステートにする必要がある。これは、nINIT_CONFピンを使用してFPGAをリセットすることで確保できる。nINIT_CONFピンの使用によって、nCONFIGピンが駆動され、外部FPGAまたはプロセッサーが「reset」状態に維持される。次に、JTAG命令のコンフィギュレーション開始(INIT_CONF)が発行されると、nINIT_CONFピンが解放される。 |
EPCデバイスでは、外部フラッシュ・インタフェースを使用して、サードパーティーのフラッシュ・プログラマまたはオンボード・プロセッサーによってもプログラム可能です。プログラミング・ファイル(.pof)は、Quartus IIのConvert Programming Filesユーティリティを通じて、プログラマまたはプロセッサー用に16進数(Intelフォーマット)ファイル(.hexout)に変換できます。
また、Quartus IIソフトウェアおよび該当するコンフィギュレーション・デバイスのプログラミング・アダプタを使用して、EPCデバイスをプログラムすることも可能です。
デバイス | パッケージ | アダプタ |
---|---|---|
EPC16 | 88ピンのUFBGA | PLMUEPC-88 |
100ピンのPQFP | PLMQEPC-100 | |
EPC8 | 100ピンのPQFP | PLMQEPC-100 |
EPC4 | 100ピンのPQFP | PLMQEPC-100 |