13. Cyclone II デバイスの コンフィギュレーション この資料は英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。こちらの日本語版は参考用としてご利用 ください。設計の際には、最新の英語版で内容をご確認ください。 CII51013-2.0 はじめに Cyclone™ II デバイスは、SRAM セルを使用してコンフィギュレーショ ン・データを格納します。SRAM メモリは揮発性のため、デバイスに電 源を投入するたびにコンフィギュレーション・データを Cyclone II デバ イスにダウンロードする必要があります。アクティブ・シリアル(AS) コンフィギュレーション手法を使用して、Cyclone II デバイスをコン フィギュレーションできます。この手法は最大 40 MHz の DCLK 周波数 で動作可能です。パッシブ・シリアル(PS)や JTAG(Joint Test Action Group)ベースのコンフィギュレーション手法を使用しても、Cyclone II デバイスをコンフィギュレーションできます。さらに、Cyclone II デバ イスは圧縮されたコンフィギュレーション・ビットストリームを受信し て、このデータをすぐに復元することができるため、必要なメモリおよ びコンフィギュレーション時間を低減します。 この章では、Cyclone II デバイスのコンフィギュレーション機能、およ びサポートされているコンフィギュレーション手法を使用して Cyclone II デバイスをコンフィギュレーションする方法について説明し ます。コンフィギュレーション・ピンの内容と Cyclone II デバイスのコ ンフィギュレーション・ファイル・フォーマットについても説明します。 デバイスのコンフィギュレーション・オプションの設定方法またはコン フィギュレーション・ファイルの作成方法の詳細については、 「Configuration Handbook」の「Software Settings」の章を参照してください。 Cyclone II デバイスの コンフィギュ レーションに ついて Altera Corporation 2005 年 7 月 Cyclone II デバイスをコンフィギュレーションするには、AS、PS、およ びJTAGコンフィギュレーション手法を使用できます。使用するコンフィ ギュレーション手法を選択するには、表 13–1 に示すように、Cyclone II デバイスの MSEL ピンを High または Low にドライブします。MSEL ピ ンは、そのピンが存在するバンクの VCCIO 電源によって給電されます。 パワー・オン・リセット(POR)およびリコンフィギュレーション中、 MSEL ピンがロジック Low またはロジック High と判定されるには、そ れぞれ LVTTL VIL レベルであるか、VIH レベルであることが必要です。 このため、不正なコンフィギュレーション手法の検出の問題を避けるた めに、MSEL[] ピンを、そのピンが存在する I/O バンクの VCCIO と GND にプルアップ抵抗またはプルダウン抵抗なしで接続する必要がありま す。MSEL[] ピンをマイクロプロセッサや別のデバイスでドライブして はなりません。 13–1 Cyclone II デバイスのコンフィギュレーションについて 表 13–1. Cyclone II のコンフィギュレーション手法 MSEL1 MSEL0 AS (20 MHz) 0 0 PS 0 1 高速 AS(40 MHz) 1 0 (2) (2) コンフィギュレーション手法 JTAG ベースの コンフィギュレーション (1) 表 13–1 の注: (1) JTAG ベースのコンフィギュレーションは、他のコンフィギュレーション手 法よりも優先されます。つまり、MSEL ピンの設定は無視されます。 (2) MSEL ピンは浮動状態のままにしないで、VCCIO または GND に接続してくださ い。これらのピンは、生産時に使用される JTAG 以外のコンフィギュレーショ ン手法をサポートします。JTAG コンフィギュレーションしか使用しない場合 は、MSEL ピンを GND に接続する必要があります。 コンフィギュレーション・データは、表 13–2 のオプションを使用して、 AS、PS、または JTAG のインタフェースにより Cyclone II FPGA にダウ ンロードできます。 表 13–2. Cyclone II のコンフィギュレーション手法 コンフィギュレーション手法 説明 AS コンフィギュレーション シリアル・コンフィギュレーション・ デバイス(EPCS1、EPCS4、EPCS16、 または EPCS64 デバイス)を使用した コンフィギュレーション PS コンフィギュレーション エンハンスド・コンフィギュレーショ ン・デバイス(EPC4、EPC8、およ び EPC16 デバイス)、EPC2 および EPC1 コンフィギュレーション・デバ イス、インテリジェント・ホスト(マ イクロプロセッサ)、またはダウン ロード・ケーブルを使用したコンフィ ギュレーション JTAG ベースのコンフィギュレーション ダウンロード・ケーブル、インテリ ジェント・ホスト(マイクロプロセッ サ) 、または Jam™ STAPL(Standard Test and Programming Language)を 使用した、JTAG ピンによるコンフィ ギュレーション 13–2 Cyclone II デバイス・ハンドブック Volume 1 Altera Corporation 2005 年 7 月 Cyclone II デバイスのコンフィギュレーション コンフィギュ レーション・ ファイル・ フォーマット 表 13–3 に、Cyclone II デバイスの非圧縮コンフィギュレーション・ファ イルのおおよそのサイズを示します。複数のデバイス・コンフィギュレー ションに必要なストレージ容量を計算するには、各デバイスのファイル・ サイズを加算します。 表 13–3. Cyclone II のロウ・バイナリ・ファイル 注 (1) (.rbf)サイズ デバイス データ・サイズ (ビット) データ・サイズ (バイト) EP2C5 1,265,792 152,998 EP2C8 1,983,536 247,974 EP2C20 3,892,496 486,562 EP2C35 6,858,656 857,332 EP2C50 9,963,392 1,245,424 EP2C70 14,319,216 1,789,902 表 13–3 の注: (1) これらの値は暫定仕様です。 表 13–3 のデータは、デザインのコンパイル前のファイル・サイズの見積 りにのみ使用してください。16 進(.hex)フォーマットや表形式テキス ト・ファイル(.ttf)フォーマットなど、コンフィギュレーション・ファ イル・フォーマットごとにファイル・サイズが異なります。ただし、特 定バージョンの Quartus® II ソフトウェアでは、同じデバイスを対象とし たデザインの非圧縮コンフィギュレーション・ファイルのサイズは同じ になります。圧縮を使用した場合、圧縮率はデザインに依存するため、 ファイル・サイズはコンパイルするたびに変わる可能性があります。 コンフィギュ レーション・ データの圧縮 Cyclone II デバイスは、コンフィギュレーション・メモリのスペースと 時間を節減するコンフィギュレーション・データの復元をサポートしま す。この機能により、圧縮されたコンフィギュレーション・データをコ ンフィギュレーション・デバイスまたはその他のメモリに格納し、この 圧縮されたビットストリームを Cyclone II デバイスに送信することがで きます。コンフィギュレーションの間、Cyclone II デバイスはリアルタ イムでビットストリームを復元し、SRAM セルをプログラムします。 暫定的なデータでは、圧縮によりコンフィギュレーション・ビッ トストリームのサイズが35∼55%減少することが示されています。 Cyclone II デバイスは、AS および PS コンフィギュレーション手法での 復元をサポートします。JTAG ベースのコンフィギュレーションでは、復 元はサポートされていません。 Altera Corporation 2005 年 7 月 13–3 Cyclone II デバイス・ハンドブック Volume 1 コンフィギュレーション・データの圧縮 どちらも同じ圧縮アルゴリズムを使用しますが、Cyclone II デバイスで サポートされている復元機能は、エンハンスド・コンフィギュレーショ ン・デバイス(EPC16、EPC8、および EPC4 デバイス)の復元機能とは 異なります。エンハンスド・コンフィギュレーション・デバイスのデー タ復元機能では、圧縮されたデータを格納し、ターゲット・デバイスに 送信する前にそのビットストリームを復元できます。 PS モードでは、圧縮されたコンフィギュレーション・データの送信によ りコンフィギュレーション時間を削減できるため Cyclone II デバイスの 復元機能を使用する必要があります。Cyclone II デバイスとエンハンス ド・コンフィギュレーション・デバイスの両方の復元機能を同時に使用 しないでください。圧縮アルゴリズムが再帰的でないため、コンフィギュ レーション・ファイルをさらに圧縮しないで拡張する可能性があります。 シリアル・コンフィギュレーション・デバイスのコンフィギュレーショ ン・メモリ・スペースを節減する必要がある場合は、AS コンフィギュレー ション中に Cyclone II デバイスの復元機能を使用する必要があります。 圧縮を有効にすると、Quartus II ソフトウェアは、圧縮されたコンフィ ギュレーション・データを使用してコンフィギュレーション・ファイル を生成します。この圧縮ファイルにより、コンフィギュレーション・デ バイスやフラッシュに必要なメモリが減少し、Cyclone II デバイスへの ビットストリームの送信に必要な時間が短縮されます。Cyclone II デバ イスでのコンフィギュレーション・ファイルの復元に必要な時間は、コ ンフィギュレーション・データの FPGA への送信に必要な時間より短く なります。 Cyclone II ビットストリームの圧縮を有効にするには、デザインのコン パイル前(Compiler Settings メニュー)とデザインのコンパイル後 (Convert Programming Files ウィンドウ)の 2 つの方法があります。 プロジェクトのコンパイラ設定の圧縮を有効にするには、Assignments メニューの下にある Device を選択して、設定ウィンドウを起動します。 Cyclone II デバイスを選択したら、Device & Pin Options ウィンドウを 開きます。General settings タブで、Generate compressed bitstreams のチェック・ボックスをオンにします(図 13-1 を参照)。 13–4 Cyclone II デバイス・ハンドブック Volume 1 Altera Corporation 2005 年 7 月 Cyclone II デバイスのコンフィギュレーション 図 13-1. Compiler Settings での Cyclone II ビットストリームの圧縮を 有効にする Convert Programming Files ウィンドウからプログラミング・ファイル を作成するときに、次のステップを使用して圧縮を有効にすることもで きます。 1. (File メニューから)Convert Programming Files をクリックします。 2. プログラミング・ファイルのタイプを選択します。Programmer オブ ジェクト・ファイル(.pof) 、SRAM HEXOUT、RBF、または TTF ファ イルのみが、圧縮をサポートしています。 3. POF の場合、コンフィギュレーション・デバイスを選択します。 4. Add File を選択し、Cyclone II SRAM オブジェクト・ファイル(.sof) を追加します。 5. SOF データ領域に追加したファイルの名前を選択して、Properties を クリックします。 6. Compression チェック・ボックスをオンにします。 Altera Corporation 2005 年 7 月 13–5 Cyclone II デバイス・ハンドブック Volume 1 AS コンフィギュレーション(シリアル・コンフィギュレーション・デバイス) 複数の Cyclone II デバイスをカスケード接続する場合、チェイン内の各 デバイスに対して圧縮機能を選択的に有効にできます。図 13-2 に、2 つ の Cyclone II デバイス・チェインを示します。最初の Cyclone II デバイ スは圧縮が有効にされているため、コンフィギュレーション・デバイス から圧縮されたビットストリームを受信します。2 つ目の Cyclone II デバ イスは圧縮機能が無効にされているため、非圧縮のデータを受信します。 図 13-2. プログラミング・ファイル内の圧縮および 非圧縮コンフィギュレーション・データ シリアル・データ シリアルまたは エンハンスド・ コンフィギュレーション・ デバイス 圧縮 非圧縮 VCC 10 kΩ Cyclone II デバイス nCE Cyclone II デバイス nCEO nCE nCEO N.C. GND Quartus II ソフトウェアでは、このセットアップ用のプログラミング・ ファイル(例えば、POF ファイル)を生成できます。 AS コンフィ ギュレーション (シリアル・ コンフィギュ レーション・ デバイス) AS コンフィギュレーション手法では、Cyclone II デバイスは、シリア ル・コンフィギュレーション・デバイスを使用してコンフィギュレーショ ンされます。これらのコンフィギュレーション・デバイスは、シンプル な 4 ピン・インタフェースとスモール・フォーム・ファクタを特長とす る、不揮発性メモリを搭載した低コスト・デバイスです。これらの機能 によって、シリアル・コンフィギュレーション・デバイスは低コストの コンフィギュレーションに最適なソリューションになります。 シリアル・コンフィギュレーション・デバイスの詳細については、 「Configuration Handbook」の「Serial Configuration Devices Data Sheet」の章を参照してください。 13–6 Cyclone II デバイス・ハンドブック Volume 1 Altera Corporation 2005 年 7 月 Cyclone II デバイスのコンフィギュレーション シリアル・コンフィギュレーション・デバイスは、コンフィギュレーショ ン・データにアクセスするためのシリアル・インタフェースを提供しま す。デバイスのコンフィギュレーション中、Cyclone II デバイスは、シ リアル・インタフェース経由でコンフィギュレーション・データを読み 込み、必要に応じてデータを復元し、その SRAM セルをコンフィギュ レーションします。FPGA は AS コンフィギュレーション手法のコンフィ ギュレーション・インタフェースを制御し、外部ホスト(コンフィギュ レーション・デバイスやマイクロプロセッサなど)は PS コンフィギュ レーション手法のインタフェースを制御します。 Cyclone II デバイスの復元機能は、AS モードで Cyclone II デバ イスをコンフィギュレーションするときに使用できます。 表 13–4 に、AS コンフィギュレーション手法を使用時の MSEL ピンの設 定を示します。 表 13–4. Cyclone II デバイスのコンフィギュレーション手法 MSEL1 MSEL0 AS (20 MHz) (1) 0 0 高速 AS (40 MHz) (1) 1 0 コンフィギュレーション手法 表 13–4 の注: (1) EPCS16 と EPCS64 は、最大 40 MHz の DCLK をサポートします。他の EPCS デバイスでは、最大 20 MHz の DCLK がサポートされます。詳細については、 「Serial Configuration Devices Data Sheet」を参照してください。 単一デバイスの AS コンフィギュレーション シリアル・コンフィギュレーション・デバイスには、シリアル・クロッ ク入力(DCLK)、シリアル・データ出力(DATA)、AS データ入力(ASDI)、 アクティブ Low チップ・セレクト(nCS)の 4 つのピン・インタフェー スがあります。この 4 ピン・インタフェースは、図 13-3 に示すように、 Cyclone II デバイスのピンに接続されます。 Altera Corporation 2005 年 7 月 13–7 Cyclone II デバイス・ハンドブック Volume 1 AS コンフィギュレーション(シリアル・コンフィギュレーション・デバイス) 図 13-3. 単一デバイスの AS コンフィギュレーション VCC (1) VCC (1) VCC (1) 10 kΩ 10 kΩ シリアル・ コンフィギュレーション・ デバイス 10 kΩ Cyclone II FPGA nSTATUS CONF_DONE nCEO N.C. (3) nCONFIG nCE GND DATA DATA0 DCLK DCLK nCS nCSO MSEL1 (3) ASDO MSEL0 (3) ASDI VCC (2) GND 図 13-3 の注: (1) プルアップ抵抗を 3.3 V 電源に接続します。 (2) Cyclone II デバイスは、ASDO から ASDI へのパスを使用して、コンフィギュレー ション・デバイスを制御します。 (3) nCEO ピンは、未接続のままにするか、別のデバイスの nCE ピンに信号を供給し ていない場合はユーザ I/O ピンとして使用できます。 パワーアップ時には、Cyclone II デバイスでは POR の処理が行われます。 POR の処理中、デバイスはリセットされ、nSTATUS と CONF_DONE を Low に保持し、すべてのユーザ I/O ピンをトライ・ステートにします。 POR の処理(通常 100 ms)後、Cyclone II デバイスは nSTATUS を解放 し、10 kΩ の外部抵抗が nSTATUS ピンを High にプルアップすると、コ ンフィギュレーション・モードに移行します。FPGA が POR を正常に終 了すると、すべてのユーザ I/O ピンはトライ・ステート状態を継続しま す。Cyclone II デバイスのユーザ I/O ピン上には、コンフィギュレーショ ンの実行前と実行時にオンになるウィーク・プルアップ抵抗があります。 コンフィギュレーションの実行前と実行時にオンになる I/O ピン上の ウィーク・プルアップ抵抗の値については、 「Cyclone II デバイス・ハン ドブック」の「DC 特性とタイミング仕様」の章を参照してください。 コンフィギュレーション・サイクルは、リセット、コンフィギュレーショ ン、初期化の各ステージで構成されています。 13–8 Cyclone II デバイス・ハンドブック Volume 1 Altera Corporation 2005 年 7 月 Cyclone II デバイスのコンフィギュレーション リセット・ステージ nCONFIG または nSTATUS が Low の場合、デバイスはリセット状態で す。POR の処理後、Cyclone II デバイスは nSTATUS を解放します。10 kΩ の外部プルアップ抵抗が nSTATUS 信号を High にプルアップし、 Cyclone II デバイスはコンフィギュレーション・モードに移行します。 コンフィギュレーション・プロセスを開始するには、コンフィ ギュレーションと JTAG ピンが存在するバンクの VCCINT と VCCIO に十分な電力を供給して、適切な電圧レベルにする必要があります。 コンフィギュレーション・ステージ Cyclone II デバイスで生成されるシリアル・クロック(DCLK)は、コン フィギュレーション・サイクル全体を制御し、シリアル・インタフェー スに対するタイミングを提供します。Cyclone II デバイスは、内部発振 器を使用して DCLK を生成します。MSEL[] ピンを使用すると、20 MHz または 40 MHz の発振器を選択できます。シリアル・コンフィギュレー ション・デバイスを使用して設計するとき、20 MHz または 40 MHz の 発振器を選択できますが、40 MHzの発振器の方がコンフィギュレーショ ン時間が高速です。内部発振器の周波数は、Cyclone II デバイスのプロ セス、電圧、および温度の条件によってある程度変動します。内部発振 器は、最大周波数を保証して EPCS デバイスの仕様に適合するように設 計されています。 表 13–5 に AS の DCLK 出力周波数を示します。 表 13–5. AS の DCLK 出力周波数 選択された発振器 注 (1) 最小 標準 最大 単位 40 MHz 20 26 40 MHz 20 MHz 10 13 20 MHz 表 13–5 の注: (1) これらの値は暫定仕様です。 AS および高速 AS コンフィギュレーション手法では、シリアル・コン フィギュレーション・デバイスは DCLK の立ち上がりエッジで入力およ びコントロール信号をラッチし、立ち下がりエッジでコンフィギュレー ション・データを送出します。Cyclone II デバイスは、DCLK の立ち下が りエッジでコントロール信号を送出し、DCLK の立ち下がりエッジでコ ンフィギュレーション・データをラッチします。 Altera Corporation 2005 年 7 月 13–9 Cyclone II デバイス・ハンドブック Volume 1 AS コンフィギュレーション(シリアル・コンフィギュレーション・デバイス) コンフィギュレーション・モードでは、Cyclone II デバイスは、コンフィ ギュレーション・デバイスのチップ・セレクト(nCS)ピンに接続され ている、nCSO 出力ピンを Low にすることで、シリアル・コンフィギュ レーション・デバイスを有効にします。Cyclone II デバイスは、シリア ル・クロック(DCLK)ピンとシリアル・データ出力(ASDO)ピンを使 用して、シリアル・コンフィギュレーション・デバイスに対する操作コ マンドの送信やアドレス信号の読み込みを行います。その後、コンフィ ギュレーション・デバイスは、Cyclone II デバイスの DATA0 入力に接続 されている、シリアル・データ出力(DATA)ピンにデータを供給します。 Cyclone II デバイスはすべてのコンフィギュレーション・ビットを受信 後、オープン・ドレイン CONF_DONE ピンを解放します。次にこのピン は 10 kΩ の外部抵抗によって High にプルアップされます。Cyclone II デ バ イ ス は ま た、DCLK 信 号 の ド ラ イ ブ を 停 止 し ま す。初 期 化 は、 CONF_DONE 信号がロジック High レベルに達した後でのみ開始します。 デバイスを初期化するには、CONF_DONE ピンは 10 kΩ の外部プルアッ プ抵抗が必要です。すべての AS コンフィギュレーション・ピン(DATA0、 DCLK、nCSO、および ASDO)には、常にアクティブな内部ウィーク・プ ルアップ抵抗があります。このため、コンフィギュレーション後に、こ れらのピンは High になります。 初期化ステージ Cyclone II デバイスの初期化クロック・ソースは、Cyclone II デバイス の 10 MHz(通常)内部発振器(AS 内部発振器とは別)またはオプショ ンの CLKUSR ピンのいずれかです。内部発振器は、初期化用のデフォル トのクロック・ソースです。内部発振器を使用する場合、Cyclone II デ バイスでは、適切に初期化するのに十分なクロック・サイクルが供給さ れます。内部発振器を使用する利点は、初期化ステージで外部ソースの 追加クロック・サイクルを CLKUSR ピンに送信する必要がないことです。 さらに、CLKUSR ピンをユーザ I/O ピンとして使用できます。 デバイスの初期化を遅延させる場合、この CLKUSR ピン・オプションを 使用できます。CLKUSR ピンを使用すると、デバイスがユーザ・モード に移行するタイミングを制御できます。デバイスがユーザ・モードに移 行するタイミングは、無期限に遅延できます。User Supplied Start-Up Clock オプションをオンにすると、CLKUSR ピンが初期化クロック・ソー スになります。CLKUSR にクロックを供給しても、コンフィギュレーショ ン・プロセスに影響はありません。コンフィギュレーション・データが すべて受け入れられ、CONF_DONE が High になった後、Cyclone II デバ イスは、適切に初期化を実行し、100 MHz の CLKUSR fMAX をサポート するために、299 個のクロック・サイクルを必要とします。 13–10 Cyclone II デバイス・ハンドブック Volume 1 Altera Corporation 2005 年 7 月 Cyclone II デバイスのコンフィギュレーション Cyclone II デバイスは、初期化の終了とユーザ・モードの開始を Low から High への遷移で知らせる、オプションの INIT_DONE ピンを備えていま す。Quartus II ソフトウェアでは、Device & Pin Options ウィンドウの General タブから Enable INIT_DONE output オプションを使用できます。 INIT_DONE ピンを使用する場合、nCONFIG が Low でかつコンフィギュ レーションの開始時には、信号を High にプルアップするために、10 kΩ の 外部プルアップ抵抗が必要です。INIT_DONE をイネーブルするオプショ ンのビットをデバイスにプログラムすると(コンフィギュレーション・ データの最初のフレームで) 、INIT_DONE ピンが Low になります。初期 化が完了すると、INIT_DONE ピンが解放され、High にプルアップされま す。この Low から High への遷移で、FPGA がユーザ・モードに入ったこ とがわかります。 INIT_DONE ピンを使用しない場合、 CONF_DONE が High になり 299 個のクロック・サイクルが CLKUSR ピンに送信された後、また は Cyclone II デバイスが内部発振器を使用しているときには tCF2UM 時間 (表 13–8 を参照)経過後に、初期化期間が完了します。 ユーザ・モード 初期化が完了すると、FPGA はユーザ・モードに移行します。ユーザ・ モードでは、ユーザ I/O ピンにウィーク・プルアップ抵抗がなくなり、 デザインで割り当てられた機能が実行されます。 Cyclone II デバイスがユーザ・モードのときに、nCONFIG 信号を Low に するとリコンフィギュレーションを開始できます。nCONFIG 信号は、少 なくとも 40 µs の間 Low でなければなりません。nCONFIG が Low にプル ダウンされると、Cyclone II デバイスはリセットされ、リセット・ステー ジに移行します。Cyclone II デバイスは nSTATUS と CONF_DONE も Low にプルダウンするため、すべての I/O ピンがトライ・ステートになります。 nCONFIG がロジック High レベルに戻り、nSTATUS が Cyclone II デバイ スによって解放されると、リコンフィギュレーションが開始します。 コンフィギュレーション中のエラー コンフィギュレーション中にエラーが発生した場合、Cyclone II デバイ スは nSTATUS 信号を Low にドライブして、データ・フレーム・エラー を示します。CONF_DONE 信号は Low のままです。Quartus II ソフトウェ アの Device & Pin Options ダイアログ・ボックスの General タブで、 Auto-restart configuration after error オプションをオンにすると、 Cyclone II デバイスでは、nCSO のパルスを発生させてシリアル・コン フィギュレーション・デバイスをリセットします。リセット・タイムア ウト期間(約 40 µs)後に nSTATUS を解放して、コンフィギュレーショ ンを再試行します。Auto-restart configuration after error オプションを オフにした場合は、外部システムで nSTATUS のエラーを監視し、少な くとも 40 µs 間 nCONFIG を Low にして、コンフィギュレーションを再 開する必要があります。 Altera Corporation 2005 年 7 月 13–11 Cyclone II デバイス・ハンドブック Volume 1 AS コンフィギュレーション(シリアル・コンフィギュレーション・デバイス) オプションの CLKUSR ピンを使用し、nCONFIG ピンを Low にし てデバイスの初期化中にコンフィギュレーションを再開する場合 は、nSTATUS が Low の間(最大 40 µs)、CLKUSR が継続的にト グルするようにします。 コンフィギュレーション問題の詳細については、「Configuration Handbook」の「Debugging Configuration Problems」の章、およびア ルテラ Web サイト(www.altera.co.jp)の FPGA Configuration Troubleshooter を参照してください。 複数デバイスの AS コンフィギュレーション 単一のシリアル・コンフィギュレーション・デバイスを使用して、複数の Cyclone II デバイスをコンフィギュレーションすることができます。チッ プ・イネーブル(nCE)ピンとチップ・イネーブル出力(nCEO)ピンを使 用すると、複数の Cyclone II デバイスをカスケード接続できます。チェイ ンの最初のデバイスの nCE ピンを GND に接続し、nCEO ピンをチェイン の次のデバイスの nCE ピンに接続します。10 kΩ の外部プルアップ抵抗を 使用して、nCEO 信号を VCCIO レベルに対して High にプルアップし、内部 ウィーク・プルアップ抵抗を支援します。最初のデバイスがビットスト リームからそのコンフィギュレーション・データをすべてキャプチャする と、nCEO ピンを Low に遷移させ、チェイン内の次のデバイスのコンフィ ギュレーションを開始します。最後のデバイスの nCEO ピンは、未接続の ままにするか、あるいはチェイン内の最後のデバイスが Cyclone II デバイ スの場合は、コンフィギュレーション後にユーザ I/O ピンとして使用でき ます。 Quartus II ソフトウェアは、Cyclone II デバイスの nCEO ピンを 出力ピンとして設定し、デフォルトで GND にドライブします。 デバイスがチェイン内にあり、nCEO ピンが次のデバイスの nCE ピンに接続されている場合は、コンフィギュレーション後にその nCEO ピンをユーザ I/O ピンとして使用しないようにする必要が あります。ソフトウェア設定は、Quartus IIソフトウェアのDevice & Pin Options ダイアログ・ボックスの Dual-Purpose Pins タブ にあります。 チェイン内の最初の Cyclone II デバイスは、コンフィギュレーション・ マスタであり、チェイン全体のコンフィギュレーションを制御します。 最初の Cyclone II デバイスについては、AS コンフィギュレーション手 法を、残りの Cyclone II デバイス(コンフィギュレーション・スレーブ) については、PS コンフィギュレーション手法を選択します。PS コンフィ ギュレーションをサポートする他のアルテラ・デバイスも、コンフィギュ レーション・スレーブとしてチェインの一部にすることができます。複 数デバイス・チェインでは、チェイン内の各デバイスの nCONFIG、 nSTATUS、CONF_DONE、DCLK、および DATA0 ピンは接続されます(図 13-4 を参照)。図 13-4 に、このセットアップのピン接続を示します。 13–12 Cyclone II デバイス・ハンドブック Volume 1 Altera Corporation 2005 年 7 月 Cyclone II デバイスのコンフィギュレーション 図 13-4. 複数デバイスの AS コンフィギュレーション VCC (1) 10 kΩ VCC (1) VCC (1) 10 kΩ VCC (2) 10 kΩ シリアル・ コンフィギュレーション・ デバイス 10 kΩ Cyclone II FPGA マスタ・デバイス Cyclone II FPGA スレーブ・デバイス nSTATUS nSTATUS CONF_DONE CONF_DONE nCONFIG nCE nCONFIG nCE nCEO nCEO N.C. (3) VCC GND VCC DATA DATA0 MSEL1 DATA0 DCLK DCLK MSEL0 DCLK nCS nCSO ASDI ASDO MSEL1 MSEL0 GND GND 図 13-4 の注: (1) プルアップ抵抗を 3.3 V 電源に接続します。 (2) プルアップ抵抗を nCEO ピンが存在している I/O バンクの VCCIO 電源電圧に接続します。 (3) nCEO ピンは、未接続のままにするか、別のデバイスの nCE ピンに信号を供給していない場合はユーザ I/O ピン として使用できます。 図 13-4 に示すように、すべてのターゲット FPGA 上の nSTATUS ピンと CONF_DONE ピンは、外部プルアップ抵抗を使用して互いに接続されま す。これらのピンは、FPGA 上のオープン・ドレイン双方向ピンです。 最初のデバイスが(該当するコンフィギュレーション・データすべてを 受信後)nCEO をアサートすると、CONF_DONE ピンを解放します。ただ し、チェイン内の後続のデバイスは、自身のコンフィギュレーション・ データを受信するまで、CONF_DONE 信号を Low に維持します。チェイ ン内のすべてのターゲット FPGA が自身のコンフィギュレーション・ データを受信し、CONF_DONE を解放すると、プルアップ抵抗はこの信 号を High にプルアップし、すべてのデバイスが同時に初期化モードに 移行します。 Altera Corporation 2005 年 7 月 13–13 Cyclone II デバイス・ハンドブック Volume 1 AS コンフィギュレーション(シリアル・コンフィギュレーション・デバイス) 初期化中、初期化クロック・ソースは、Cyclone II デバイスの 10 MHz (通常)内部発振器(AS 内部発振器とは別)か、またはオプションの CLKUSR ピンのいずれかです。デフォルトでは、内部発振器は初期化用 のクロック・ソースです。内部発振器を使用する場合、Cyclone II デバ イスでは、適切に初期化するのに十分なクロック・サイクルが供給され ます。内部発振器を使用する利点は、初期化ステージで外部ソースの追 加クロック・サイクルを CLKUSR ピンに送信する必要がないことです。 CLKUSR ピンはユーザ I/O ピンとしても使用できるため、ユーザ I/O ピ ンを追加できることを意味します。 チェイン内のデバイスの初期化を遅延させる場合、この CLKUSR ピン・ オプションを使用できます。CLKUSR ピンを使用すると、デバイスがユー ザ・モードに移行するタイミングを制御できます。この機能により、各 デバイスの CLKUSR ピンに個別のクロックを供給することによって、各 デバイスがユーザ・モードに移行するタイミングの順序を制御すること もできます。CLKUSR ピンを使用すると、複数デバイス・チェインで最 初にユーザ・モードに移行するデバイスを選択し、他のデバイスを後で ユーザ・モードに移行させるようにすることができます。 デバイス・ファミリによって、必要な初期化クロック・サイクル数が異 なる場合があります。したがって、複数デバイス・チェインが異なるファ ミリのデバイスで構成される場合、必要な初期化クロック・サイクル数 が異なるため、デバイスがユーザ・モードに移行する時間は多少異なる 可能性があります。ただし、異なるデバイス・ファミリ間で初期化クロッ ク・サイクルの数がほぼ同じか、またはデバイスが同じファミリのメン バの場合、これらのデバイスは同時にユーザ・モードに移行します。必 要な初期化クロック・サイクル数の詳細については、それぞれのデバイ ス・ファミリ・ハンドブックを参照してください。 コンフィギュレーションのどこかでエラーが発生した場合、エラーを発 生したFPGAはnSTATUS信号をLowにします。 Auto-restart configuration after error オプションをオンにすると、リセット・タイムアウト期間(最 大 40 µs)後にチェイン全体がリコンフィギュレーションを開始します。 Auto-restart configuration after error オプションがオフの場合は、マイク ロプロセッサまたはコントローラで nSTATUS のエラーを監視し、 nCONFIG で Low のパルスを発生させて、コンフィギュレーションを再 開する必要があります。nCONFIG が VCC に接続されてなく、システムの 制御下にある場合は、マイクロプロセッサまたはコントローラでこのピ ンのパルスを発生させることができます。 Cyclone II デバイスはカスケード接続できますが、シリアル・コ ンフィギュレーション・デバイスをカスケード接続したり、互い にチェインすることはできません。 オプションの CLKUSR ピンを使用し、nCONFIG を Low にしてデ バイスの初期化中にコンフィギュレーションを再開する場合は、 nSTATUS が Low の間(最大 40 µs)、CLKUSR が継続的にトグル するようにします。 13–14 Cyclone II デバイス・ハンドブック Volume 1 Altera Corporation 2005 年 7 月 Cyclone II デバイスのコンフィギュレーション コンフィギュレーション・ビットストリームのサイズがシリアル・コン フィギュレーション・デバイスの容量を超える場合、大きなコンフィギュ レーション・デバイスを選択するか、圧縮機能を有効にする必要があり ます。複数のデバイスをコンフィギュレーションする場合、ビットスト リームのサイズは個々のデバイスのコンフィギュレーション・ビットス トリームの合計になります。 同じデザインによる複数の Cyclone II デバイスの コンフィギュレーション デザインによっては、コンフィギュレーション・ビットストリームまた は SOF を通して、同じデザインで複数の Cyclone II デバイスをコンフィ ギュレーションすることが必要です。これは、このセクションで説明す る 2 つの方法のいずれかを使用して行うことができます。いずれの方法 でも、シリアル・コンフィギュレーション・デバイスをカスケード接続 したり、互いにチェインすることはできません。 複数の SOF 最初の方法では、SOF ファイルの 2 つのコピーはシリアル・コンフィ ギュレーション・デバイスに格納されます。最初のコピーは、Cyclone II マスタ・デバイスのコンフィギュレーションに使用し、2 番目のコピー は、残りのすべてのスレーブ・デバイスを同時にコンフィギュレーショ ンするために使用します。このセットアップでは、Cyclone II マスタ・ デバイスは AS モードであり、Cyclone II スレーブ・デバイスは PS モー ド(MSEL=01)になります。図 13-5 を参照してください。 同じ SOF ファイルを使用して 4 つの(同等の)Cyclone II デバイスをコ ンフィギュレーションするには、図 13-5 に示すように、3 つのスレーブ・ デバイスを同時コンフィギュレーション用に接続します。マスタ・デバ イスの nCEO ピンは、3 つのすべてのスレーブ・デバイス上の nCE 入力 ピンをドライブします。コンフィギュレーション・デバイスの DATA と DCLK ピンを、Cyclone II デバイスの DATA と DCLK ピンにパラレルに接 続します。最初のコンフィギュレーション・サイクル中、マスタ・デバ イスは、nCEO を High に保持しながら、そのコンフィギュレーション・ データをシリアル・コンフィギュレーション・デバイスから読み込みま す。コンフィギュレーション・サイクルの完了後、マスタ・デバイスは、 nCE を Low にし、コンフィギュレーション・データの 2 番目のコピー を 3 つのスレーブ・デバイスすべてに送信し、それらのデバイスを同時 にコンフィギュレーションします。 図 13-5 のセットアップを使用する利点は、Cyclone II マスタ・デバイス用 に異なる SOF ファイルを使用できることです。 ただし、 すべての Cyclone II スレーブ・デバイスは、同じ SOF ファイルを使用してコンフィギュレー ションする必要があります。 このコンフィギュレーション方法の SOF ファ イルは、圧縮または非圧縮ファイルのいずれでもかまいません。 Altera Corporation 2005 年 7 月 13–15 Cyclone II デバイス・ハンドブック Volume 1 AS コンフィギュレーション(シリアル・コンフィギュレーション・デバイス) マスタとスレーブの Cyclone II デバイスが同じ SOF を使用する 場合にも、この方法を使用できます。 図 13-5. FPGA が複数の SOF を使用して同じデータを受信する場合の複数デバイスの AS コンフィギュレーション Cyclone II デバイスのスレーブ nSTATUS CONF_DONE VCC (1) VCC (1) VCC (1) VCC (2) nCONFIG nCE N.C. (3) nCEO VCC 10 kΩ 10 kΩ 10 kΩ 10 kΩ DATA0 DCLK MSEL0 MSEL1 Cyclone II デバイスのマスタ シリアル・ コンフィギュレーション・ デバイス Cyclone II デバイスのスレーブ nSTATUS nSTATUS CONF_DONE CONF_DONE nCONFIG nCE nCONFIG nCEO nCE VCC Data DATA0 DCLK DCLK MSEL0 nCS nCSO MSEL1 ASDI ASDO N.C. (3) nCEO VCC DATA0 DCLK MSEL0 MSEL1 Cyclone II デバイスのスレーブ nSTATUS CONF_DONE nCONFIG nCE N.C. (3) nCEO VCC DATA0 DCLK MSEL0 MSEL1 図 13-5 の注: (1) プルアップ抵抗を 3.3 V 電源に接続します。 (2) プルアップ抵抗を nCEO ピンが存在する I/O バンクの VCCIO 電源電圧に接続します。 (3) nCEO ピンは、未接続のままにするか、別のデバイスの nCE ピンに信号を供給していない場合は、ユーザ I/O ピ ンとして使用できます。 13–16 Cyclone II デバイス・ハンドブック Volume 1 Altera Corporation 2005 年 7 月 Cyclone II デバイスのコンフィギュレーション 単一の SOF 2 番目の方法では、マスタとスレーブの Cyclone II デバイスを同じ SOF を使用してコンフィギュレーションします。シリアル・コンフィギュレー ション・デバイスは、SOF ファイルの 1 つのコピーを格納します。図 136 にこのセットアップを示します。ここでは、マスタが AS モードでセッ トアップされ、スレーブ・デバイスは PS モード(MSEL=01)でセット アップされます。チェイン内の 1 つまたは複数のスレーブ・デバイスを セットアップでき、すべてのスレーブ・デバイスは、図 13-6 と同じ方法 でセットアップされます。 図 13-6. FPGA が単一の SOF を使用して同じデータを受信する場合の複数デバイスの AS コンフィギュレーション VCC (1) 10 kΩ 10 kΩ VCC (1) VCC (1) 10 kΩ Cyclone II デバイスのマスタ シリアル・ コンフィギュレーション・ デバイス Cyclone II デバイスのスレーブ1 Cyclone II デバイスのスレーブ2 nSTATUS nSTATUS nSTATUS CONF_DONE CONF_DONE CONF_DONE nCONFIG nCONFIG nCE nCEO N.C. (2) VCC Data DATA0 DCLK DCLK MSEL0 nCS nCSO MSEL1 ASDI ASDO nCE nCONFIG nCEO N.C. (2) nCE nCEO VCC DATA0 DCLK N.C. (2) VCC DATA0 MSEL0 MSEL1 DCLK MSEL0 MSEL1 バッファ 図 13-6 の注: (1) プルアップ抵抗を 3.3 V 電源に接続します。 (2) nCEO ピンは、未接続のままにするか、別のデバイスの nCE ピンに信号を供給していない場合は、ユーザ I/O ピ ンとして使用できます。 このセットアップでは、チェイン内のすべての Cyclone II デバイスは、 同時コンフィギュレーション用に接続されます。これによって、すべて の Cyclone II デバイスを 1 コンフィギュレーション・サイクルでコン フィギュレーションできるので、AS コンフィギュレーション時間を短 縮できます。すべての Cyclone II デバイスの nCE 入力ピンを GND に接 続します。すべての Cyclone II デバイスの nCEO 出力ピンを未接続のま まにするか、nCEO 出力ピンを通常のユーザ I/O ピンとして使用するこ ともできます。DATA および DCLK ピンは、すべての Cyclone II デバイ スにパラレルに接続されます。 Altera Corporation 2005 年 7 月 13–17 Cyclone II デバイス・ハンドブック Volume 1 AS コンフィギュレーション(シリアル・コンフィギュレーション・デバイス) 信号強度とシグナル・インテグリティの問題を回避するため、バッファ を Cyclone II マスタ・デバイスの DATA および DCLK 出力の前に配置す る必要があります。このバッファは、DATA および DCLK との関係を大 幅に変更したり、これらの信号を他の AS 信号(ASDI と nCS)に対して 遅延させないようにする必要があります。バッファはまた、Cyclone II スレーブ・デバイスのみドライブして、Cyclone II マスタ・デバイスと シリアル・コンフィギュレーション・デバイス間のタイミングに影響が 出ないようにする必要があります。 このコンフィギュレーション方法は、圧縮された SOF と非圧縮の SOF の 両方をサポートします。したがって、コンフィギュレーション・ビット ストリームのサイズがシリアル・コンフィギュレーション・デバイスの 容量を超える場合、SOF ファイルの圧縮機能を有効にするか、大きなシ リアル・コンフィギュレーション・デバイスを選択することができます。 AS コンフィギュレーション時間の見積り AS コンフィギュレーション時間とは、シリアル・コンフィギュレーショ ン・デバイスから Cyclone II デバイスにデータを転送するのに要する時 間です。Cyclone II デバイスの DCLK 出力(内部発振器から生成される) は、このシリアル・インタフェースにクロックを供給します。表 13–5 に 示すように、40 MHz の発振器を使用する場合、DCLK の最小周波数は 20 MHz(50 ns)となります。このため、EP2C5 デバイスの最大コンフィ ギュレーション時間見積り(1,223,980 ビットの非圧縮データ)は以下の とおりです。 RBF サイズ × (最大 DCLK 期間 / 1 ビット / DCLK サイクル)= 推定最大コンフィギュレーション時間 1,223,980 ビット × (50 ns / 1 ビット)= 61.2 ms 一般的なコンフィギュレーション時間を見積もるには、表 13–5 に示した 一般的な DCLK 期間を使用します。38.46 ns の一般的な DCLK 期間を使 用すると、一般的なコンフィギュレーション時間は 47.1 ms となります。 圧縮を有効にすると、Cyclone II デバイスに送信されるコンフィギュ レーション・データの量が減少し、コンフィギュレーション時間も短縮 されます。圧縮により、コンフィギュレーション時間は平均 50% 短縮さ れます。 13–18 Cyclone II デバイス・ハンドブック Volume 1 Altera Corporation 2005 年 7 月 Cyclone II デバイスのコンフィギュレーション シリアル・コンフィギュレーション・デバイスのプログラミング シリアル・コンフィギュレーション・デバイスは、不揮発性のフラッシュ・ メモリ・ベースのデバイスです。USB-Blaster™ または ByteBlaster™ II ダ ウンロード・ケーブルを使用すると、これらのデバイスをイン・システム でプログラミングできます。あるいは、アルテラ・プログラミング・ユ ニット(APU) 、サポートされているサード・パーティ・プログラミング・ ツール、または SRunner ソフトウェア・ドライバを搭載したマイクロプ ロセッサを使用してもプログラミングできます。 AS プログラミング・インタフェースを使用すると、シリアル・コンフィ ギュレーション・デバイスをイン・システムでプログラミングできます。 イン・システムでのプログラミング中、ダウンロード・ケーブルは、nCE ピンを High にして、AS インタフェースへの FPGA のアクセスを無効 にします。Cyclone II デバイスは、nCONFIG 信号を Low にすることに よっても、リセット・ステージに保持されます。プログラミングが完了 すると、ダウンロード・ケーブルは nCE 信号と nCONFIG 信号を解放す るため、プルダウン抵抗とプルアップ抵抗はそれぞれ GND と VCC をド ライブできるようになります。図 13-7 に、シリアル・コンフィギュレー ション・デバイスへのダウンロード・ケーブル接続を示します。 USB-Blaster ダウンロード・ケーブルの詳細については、 「USB-Blaster USB Port Download Cable Data Sheet」を参照してください。ByteBlaster II ケーブルの詳細については、 「ByteBlaster II Download Cable Data Sheet」 を参照してください。 Altera Corporation 2005 年 7 月 13–19 Cyclone II デバイス・ハンドブック Volume 1 AS コンフィギュレーション(シリアル・コンフィギュレーション・デバイス) 図 13-7. シリアル・コンフィギュレーション・デバイスのイン・システム・プログラミング VCC (1) 10 kΩ VCC (1) 10 kΩ VCC (1) 10 kΩ Cyclone II FPGA CONF_DONE nSTATUS nCEO N.C. (2) nCONFIG シリアル・ コンフィギュレーション・ デバイス nCE 10 kΩ DATA DATA0 DCLK DCLK nCS nCSO MSEL1 ASDI ASDO MSEL0 VCC GND ピン1 VCC (3) ByteBlaster II または USB-Blasterの 10ピン・オス・ヘッダ部 図 13-7 の注: (1) これらのプルアップ抵抗を 3.3 V 電源に接続します。 (2) nCEO ピンは、未接続のままにするか、他のデバイスの nCE ピンに信号を供給していない場合は、ユーザ I/O ピンとして使用できます。 (3) ByteBlaster II または USB-Blaster ケーブルの VCC を 3.3 V 電源でパワー・アップします。 13–20 Cyclone II デバイス・ハンドブック Volume 1 Altera Corporation 2005 年 7 月 Cyclone II デバイスのコンフィギュレーション Quartus II ソフトウェアを APU と該当するコンフィギュレーション・デ バイスのプログラミング・アダプタとともに使用すれば、シリアル・コ ンフィギュレーション・デバイスをプログラミングできます。すべての シリアル・コンフィギュレーション・デバイスは、8 ピンまたは 16 ピン の SOIC(スモール・アウトライン IC)パッケージで提供されており、 PLMSEPC-8 アダプタを使用してプログラミングできます。 アルテラ・プログラミング・ハードウェア(APU)またはサードパー ティのプログラミング・ハードウェアを使用すると、ブランクのシリア ル・コンフィギュレーション・デバイスを、PCB に実装する前にプログ ラミングできます。あるいは、オンボードのマイクロプロセッサを使用 して、アルテラが提供する C 言語ベース・ドライバ(つまり、SRunner ソフトウェア・ドライバ)により、PCB 上のシリアル・コンフィギュ レーション・デバイスをプログラムすることができます。 シリアル・コンフィギュレーション・デバイスは、SRunner を使用した 外部マイクロプロセッサにより、イン・システムでプログラムすること ができます。SRunner は、異なるエンベデッド・システムに適合するよ う簡単にカスタマイズ可能なエンベデッド・シリアル・コンフィギュレー ション・デバイス・プログラミングのために開発されたソフトウェア・ ドライバです。SRunner は、ロウ・プログラミング・データ・ファイル (.rpd)を読み込むことができ、シリアル・コンフィギュレーション・デ バイスに書き込むことができます。SRunner を使用してのシリアル・コ ンフィギュレーション・デバイスのプログラミング時間は、Quartus II プログラマを使用してのプログラミング時間に相当します。 SRunner の詳細については、 「SRunner: An Embedded Solution for Serial Configuration Device Programming White Paper」、およびアルテラ Web サイト(www.altera.com)のソース・コードを参照してください。シリ アル・コンフィギュレーション・デバイスのプログラミングの詳細につ い て は、 「Configuration Handbook」の「Serial Configuration Devices Data Sheet」の章を参照してください。 図 13-8 に、シリアル・コンフィギュレーション・デバイスを使用した AS コンフィギュレーション手法のタイミング波形を示します。 Altera Corporation 2005 年 7 月 13–21 Cyclone II デバイス・ハンドブック Volume 1 PS コンフィギュレーション 図 13-8. AS コンフィギュレーション・タイミング tCF2ST1 nCONFIG nSTATUS CONF_DONE nCSO tCL DCLK tCH tH ASDO Read Address tSU DATA0 bit N bit N − 1 bit 1 bit 0 299 Cycles INIT_DONE User Mode User I/O Tri-stated with internal pull-up resistor. PS コンフィ ギュレーション アルテラのコンフィギュレーション・デバイス、ダウンロード・ケーブ ル、または MAX® II デバイスやマイクロプロセッサなどのインテリジェ ント・ホストを使用すると、Cyclone II デバイスを PS 手法でコンフィ ギュレーションできます。PS 手法では、外部ホスト(コンフィギュレー ション・デバイス、MAX II デバイス、エンベデッド・プロセッサ、ま たはホスト PC)がコンフィギュレーションを制御します。コンフィギュ レーション・データは、DCLK の各立ち上がりエッジで DATA0 ピンを通 してターゲット Cyclone II デバイスに入力されます。 Cyclone II デバイスの復元機能は、PS モードで Cyclone II デバイ スをコンフィギュレーションするときにフルに使用できます。 表 13–6 に、PS コンフィギュレーション手法を使用時の MSEL ピン設定 を示します。 表 13–6. Cyclone II の PS コンフィギュレーション手法用の MSEL ピン設定 コンフィギュレーション手法 PS 13–22 Cyclone II デバイス・ハンドブック Volume 1 MSEL1 MSEL0 0 1 Altera Corporation 2005 年 7 月 Cyclone II デバイスのコンフィギュレーション 外部ホストとしてMAX II デバイスを使用した単一デバイスの PS コンフィギュレーション PS コンフィギュレーション手法では、フラッシュ・メモリなどのスト レージ・デバイスからターゲット Cyclone II デバイスへのコンフィギュ レーション・データの転送を制御するインテリジェント・ホストとして、 MAX II デバイスを使用できます。コンフィギュレーション・データは、 RBF、HEX、または TTF フォーマットで格納できます。図 13-9 に、単 一デバイス・コンフィギュレーション用の Cyclone II デバイスと MAX II デバイス間のコンフィギュレーション・インタフェース接続を示します。 図 13-9. 外部ホストを使用した単一デバイスの PS コンフィギュレーション メモリ VCC. (1) ADDR VCC. (1) VCC DATA0 10 k Ω Cyclone II デバイス 10 k Ω CONF_DONE MSEL0 MSEL1 nSTATUS 外部ホスト (MAX II デバイスまたは マイクロプロセッサ) nCE GND GND nCEO N.C. (2) DATA0 nCONFIG DCLK 図 13-9 の注: (1) プルアップ抵抗を、デバイスに受け入れ可能な入力信号を提供する電源に接続します。VCC は、デバイスお よび外部ホスト上の I/O の VIH 仕様に適合するだけ十分に高くなければなりません。 (2) nCEO ピンは、未接続のままにするか、他のデバイスの nCE ピンに信号を供給していない場合は、ユーザ I/O ピ ンとして使用できます。 パワーアップ時に、Cyclone II デバイスは、約 100 ms 継続する POR の 処理を実行します。POR の処理中に、デバイスはリセットされ、nSTATUS を Low に保持し、すべてのユーザ I/O ピンをトライ・ステートにしま す。FPGA が POR を正常に終了すると、すべてのユーザ I/O ピンはト ライ・ステート状態を継続します。 コンフィギュレーションの実行前および実行中にオンになる I/O ピン上 のウィーク・プルアップ抵抗の値は、 「Cyclone II デバイス・ハンドブッ ク」に記載されています。 コンフィギュレーション・サイクルは、リセット、コンフィギュレーショ ン、初期化の 3 つのステージから構成されています。 Altera Corporation 2005 年 7 月 13–23 Cyclone II デバイス・ハンドブック Volume 1 PS コンフィギュレーション リセット・ステージ Cyclone II デバイスの nCONFIG または nSTATUS ピンが Low の間、デ バイスはリセット状態になっています。コンフィギュレーションを開始 するには、MAX II デバイスは、Cyclone II デバイスの nCONFIG ピンを Low から High に遷移させる必要があります。 コンフィギュレーション・プロセスを開始するには、コンフィ ギュレーションと JTAG ピンが存在するバンクの VCCINT と VCCIO に十分な電力を供給して、適切な電圧レベルにする必要があります。 Cyclone II デバイスの nCONFIG ピンが High に遷移すると、Cyclone II デバイスはリセット状態を終了し、オープン・ドレインの nSTATUS ピ ンを解放します。その後、このピンは 10 kΩ の外部プルアップ抵抗に よって High にプルアップされます。nSTATUS が解放されると、FPGA はコンフィギュレーション・データを受信可能な状態になり、MAX II デ バイスはいつでもコンフィギュレーションを開始できます。 コンフィギュレーション・ステージ Cyclone II デバイスの nSTATUS ピンが High に遷移したら、MAX II デ バイスは、DATA0 ピン上でコンフィギュレーション・データを一度に 1ビットずつ送信する必要があります。RBF、HEX、または TTF フォー マットのコンフィギュレーション・データを使用している場合、最初に 各データ・バイトの最下位ビット (LSB) を送信します。例えば、RBF に バイト・シーケンス 02 1B EE 01 FA が含まれている場合、最初にシリア ル・ビットストリーム 0100-0000 1101-1000 0111-0111 10000000 0101-1111 をデバイスに送信する必要があります。 Cyclone II デバイスは、DATA0 ピン上でコンフィギュレーション・データ を受信し、DCLK ピン上でクロックを受信します。データは、DCLK の立ち 上がりエッジで FPGA にラッチされます。データは、CONF_DONE ピンが High に遷移するまでターゲット・デバイスに継続的にクロックで送られま す。Cyclone II デバイスはすべてのコンフィギュレーション・データを正 常に受信後、オープン・ドレイン CONF_DONE ピンを解放します。その後、 このピンは 10 kΩ の外部プルアップ抵抗によって High にプルアップされ ます。 CONF_DONE 上の Low から High への遷移は、 コンフィギュレーショ ンが完了し、デバイスの初期化を開始できることを示します。デバイスを 初期化するには、CONF_DONE ピンは 10 kΩ の外部プルアップ抵抗が必要 です。 適切にコンフィギュレーションが実行されるには、コンフィギュレー ション・クロック(DCLK)の速度が、指定されたシステム周波数(表 13–7 を参照)以下でなければなりません。最大 DCLK 期間は存在しませ ん。つまり、DCLK を無期限に停止すれば、コンフィギュレーションを 休止させることができます。 13–24 Cyclone II デバイス・ハンドブック Volume 1 Altera Corporation 2005 年 7 月 Cyclone II デバイスのコンフィギュレーション 初期化ステージ Cyclone II デバイスの初期化クロック・ソースは、Cyclone II デバイス の内部発振器(通常 10 MHz)またはオプションの CLKUSR ピンのいず れかです。内部発振器が初期化用のデフォルトのクロック・ソースです。 内部発振器を使用する場合、Cyclone II デバイスでは、適切に初期化す るのに十分なクロック・サイクルが確実に供給されます。したがって、 内部発振器が初期化クロック・ソースの場合、コンフィギュレーション・ ファイル全体をデバイスに送信するだけで、デバイスをコンフィギュ レーションして初期化できます。初期化ステージ中には、外部から追加 クロック・サイクルを供給する必要はありません。コンフィギュレーショ ンの完了後に DCLK を元のデバイスにドライブしても、デバイスの動作 には影響しません。さらに、内部発振器をクロック・ソースとして使用 する場合は、CLKUSR ピンをユーザ I/O ピンとして使用できます。 デバイスの初期化を遅延させる場合、この CLKUSR ピンを使用できます。 CLKUSR ピンを使用すると、デバイスがユーザ・モードに移行するタイ ミングを制御できます。デバイスがユーザ・モードに移行するのを無期 限に遅延できます。 Quartus II ソフトウェアでは、Device & Pin Options ダイアログ・ボック スの General タブから Enable user-supplied start-up clock (CLKUSR) オプ ションをオンにできます。CLKUSR にクロックを供給しても、 コンフィギュ レーション・プロセスに影響はありません。コンフィギュレーション・デー タがすべて受け入れられ、CONF_DONE が High になった後、Cyclone II デ バイスは、適切に初期化を実行し、100 MHz の CLKUSR fMAX をサポート するために、299 個のクロック・サイクルを必要とします。 オプションの CLKUSR ピンを使用し、nCONFIG を Low にしてデ バイスの初期化中にコンフィギュレーションを再開する場合は、 nSTATUS が Low の間(最大 40 µs)、CLKUSR が継続的にトグル することを確認する必要があります。 オプションの INIT_DONE ピンは、初期化の終了とユーザ・モードの開始 を Low から High への遷移で知らせます。デフォルトでは、INIT_DONE 出力はディセーブルされています。Quartus II ソフトウェアの Enable INIT_DONE output オプションをオンにすると、INIT_DONE 出力をイ ネーブルできます。INIT_DONE ピンを使用する場合、nCONFIG が Low でかつコンフィギュレーションの開始時には、10 kΩ の外部プルアップ抵 抗がピンを High にプルアップします。INIT_DONE をイネーブルするオ プションのビットをデバイスにプログラムすると(コンフィギュレーショ ン・データの最初のフレームで) 、INIT_DONE ピンが Low に遷移します。 初期化が完了すると、INIT_DONE ピンが解放され、High にプルアップさ れます。MAX II デバイスは、FPGA がユーザ・モードに入ったことを知ら せる、この Low から High への遷移を検出できる必要があります。 Altera Corporation 2005 年 7 月 13–25 Cyclone II デバイス・ハンドブック Volume 1 PS コンフィギュレーション INIT_DONE ピンをユーザ I/O ピンとして使用する場合、CONF_DONE 信 号が High に遷移した後、tCD2UM の最大値(表 13–7 を参照)の間待機し て、Cyclone II デバイスが正しく初期化されてユーザ・モードになるこ とを確認する必要があります。 コンフィギュレーション中、初期化中、およびデバイスがユーザ・モー ドに移行する前に、MAX II デバイスが CONF_DONE 信号を Low にしな いようにします。 ユーザ・モード 初期化が完了すると、Cyclone II デバイスはユーザ・モードに移行しま す。ユーザ・モードでは、ユーザ I/O ピンにはプルアップ抵抗がなく、 デザインで割り当てられたとおり機能します。 コンフィギュレーションの最後に DCLK と DATA0 が浮動状態のままにな らないようにするため、MAX II デバイスでは、これらのピンを High ま たはLowのいずれか(PCBで適切な方)にする必要があります。Cyclone II デバイスの DATA0 ピンは、コンフィギュレーション後はユーザ I/O ピ ンとして使用できません。 FPGA がユーザ・モードになっている場合、nCONFIG ピンを Low か ら High に遷移させるとリコンフィギュレーションを開始できます。 nCONFIG ピンは、最低 40 µs の間は Low でなければなりません。 nCONFIG が Low に遷移すると、Cyclone II デバイスは nSTATUS と CONF_DONE も Low にプルダウンし、すべての I/O ピンをトライ・ス テ ー ト に し ま す。nCONFIG ピ ン が ロ ジ ッ ク High レ ベ ル に 戻 り、 Cyclone II デバイスが nSTATUS ピンを解放すると、MAX II デバイス はリコンフィギュレーションを開始できます。 コンフィギュレーション中のエラー コンフィギュレーション中にエラーが発生すると、Cyclone II デバイス は nSTATUS ピンを Low に遷移させ、内部で自身をリセットします。 nSTATUS ピンの Low 信号は、MAX II デバイスにエラーがあることを知 らせます。Quartus II ソフトウェアの Auto-restart configuration after error オプションをオンにすると、Cyclone II デバイスは、リセット・タ イムアウト期間(最大 40 µs)後に nSTATUS を解放します。nSTATUS が解放され、プルアップ抵抗によって High にプルアップされると、 MAX II デバイスは、nCONFIG で Low のパルスを発生させずに、ター ゲット・デバイスのリコンフィギュレーションを試みることができます。 このオプションをオフにした場合、MAX II デバイスは、nCONFIG 上で Low から High への遷移(Low パルスは少なくとも 40 µs)を発生して、 コンフィギュレーション・プロセスを再開する必要があります。 13–26 Cyclone II デバイス・ハンドブック Volume 1 Altera Corporation 2005 年 7 月 Cyclone II デバイスのコンフィギュレーション MAX II デバイスでは、CONF_DONE ピンと INIT_DONE ピンを監視して、 コンフィギュレーションの正常な終了を確認することもできます。 MAX II デバイスは、Cyclone II デバイスの CONF_DONE ピンを監視して、 エラーの検出、およびプログラミングの完了を判断する必要があります。 すべてのコンフィギュレーション・データが送信されても、CONF_DONE または INIT_DONE が High に遷移しない場合、MAX II デバイスはター ゲット・デバイスをリコンフィギュレーションしなければなりません。 コンフィギュレーション問題の詳細については、「Configuration Handbook」の「Debugging Configuration Problems」の章、およびア ルテラ Web サイト(www.altera.co.jp)の FPGA Configuration Troubleshooter を参照してください。 外部ホストとしてMAX IIデバイスを使用した複数デバイス の PS コンフィギュレーション 図 13-10 に、MAX II デバイスを使用した複数デバイスのコンフィギュレー ション方法を示します。この回路は、単一デバイス用の PS コンフィギュ レーション回路に似ています。ただし、複数デバイスのコンフィギュレー ションでは、Cyclone II デバイスはカスケード接続されます。 図 13-10. 外部ホストを使用した複数デバイスの PS コンフィギュレーション メモリ VCC (1) ADDR VCC (2) VCC (1) VCC DATA0 10 kΩ 10 kΩ Cyclone II デバイス1 VCC 10 kΩ Cyclone II デバイス2 MSEL1 CONF_DONE nST ATUS 外部ホスト (MAX II デバイスまたは マイクロプロセッサ) nCE MSEL1 MSEL0 CONF_DONE GND nCEO MSEL0 nST ATUS GND nCE GND nCEO DATA0 DATA0 nCONFIG nCONFIG DCLK DCLK N.C. (3) 図 13-10 の注: (1) プルアップ抵抗は、チェイン内のすべてのデバイスに受け入れ可能な入力信号を提供する電源に接続する必 要があります。VCC は、デバイスおよび外部ホスト上の I/O の VIH 仕様に適合するだけ十分に高くなけれ ばなりません。 (2) プルアップ抵抗を nCEO ピンが存在する I/O バンクの VCCIO 電源電圧に接続します。 (3) nCEO ピンは、未接続のままにするか、別のデバイスの nCE ピンに信号を供給していない場合は、ユーザ I/O ピン として使用できます。 Altera Corporation 2005 年 7 月 13–27 Cyclone II デバイス・ハンドブック Volume 1 PS コンフィギュレーション 複数デバイスの PS コンフィギュレーションでは、最初の Cyclone II デバ イスの nCE ピンを GND に接続し、 nCEO ピンをチェインの次の Cyclone II デバイスの nCE ピンに接続します。10 kΩ の外部プルアップ抵抗を使用 して、Cyclone II デバイスの nCEO ピンを VCCIO レベルに対して High に プルアップし、nCEO ピンが次の Cyclone II デバイスの nCE ピンに信号 を供給するときに、内部ウィーク・プルアップ抵抗を支援します。チェ イン内の最後のCyclone IIデバイスのnCEピンへの入力は、 前のCyclone II デバイスから送られます。複数デバイスのコンフィギュレーション・チェ インで最初のデバイスのコンフィギュレーションが完了したら、その nCEO ピンが Low に遷移し、2 番目のデバイスの nCE ピンをアクティブ にします。これにより、2 番目のデバイスがコンフィギュレーションを開 始します。チェイン内の 2 番目のデバイスは、1 クロック・サイクル以内 にコンフィギュレーションを開始します。このため、MAX II デバイスは、 中断なしで次の Cyclone II デバイスへのデータ転送を開始します。nCEO ピンは、Cyclone II デバイスの兼用ピンです。最後のデバイスの nCEO ピ ンは、未接続のままにするか、あるいはチェイン内の最後のデバイスが Cyclone II デバイスの場合は、 コンフィギュレーション後にユーザ I/O ピ ンとして使用できます。 Quartus II ソフトウェアは、Cyclone II デバイスの nCEO ピンを デフォルトで専用出力として設定します。nCEO ピンが次のデバ イスの nCE ピンに信号を供給する場合、コンフィギュレーション 後にその nCEO ピンをユーザ I/O ピンとして使用しないようにす る必要があります。このソフトウェア設定は、Quartus II ソフト ウェアの Device & Pin Options ダイアログ・ボックスの DualPurpose Pins タブにあります。 他のすべてのコンフィギュレーション・ピン(nCONFIG、nSTATUS、 DCLK、DATA0、および CONF_DONE)は、チェイン内のすべての Cyclone II デバイスに接続する必要があります。シグナル・インテグリティを確保 し、クロック・スキューの問題を回避するために、コンフィギュレーショ ン信号のバッファリングが必要になる場合があります。4 つのデバイスご とに、DCLK ラインと DATA ラインをバッファリングする必要がありま す。すべてのデバイスの CONF_DONE ピンは互いに接続されるため、す べてのデバイスは、同時に初期化されユーザ・モードに移行します。 すべての nSTATUS ピンと CONF_DONE ピンは接続されているため、い ずれかの Cyclone II デバイスがエラーを検出すると、チェイン全体のコ ンフィギュレーションが停止します。このため、チェイン全体をリコン フィギュレーションする必要があります。例えば、最初の Cyclone II デ バイスがエラーを検出すると、その nSTATUS ピンを Low にして、チェ インをリセットします。この動作は、単一の Cyclone II デバイスがエ ラーを検出するときの動作と似ています。 13–28 Cyclone II デバイス・ハンドブック Volume 1 Altera Corporation 2005 年 7 月 Cyclone II デバイスのコンフィギュレーション Auto-restart configuration after error オプションをオンにすると、 Cyclone II デバイスは、リセット・タイムアウト期間(最大 40 µs)後に nSTATUS を 解放します。すべての nSTATUS ピンが解放されて High にプルアップさ れると、MAX II デバイスは、nCONFIG に Low パルスを発生させないで、 チェインをリコンフィギュレーションします。Auto-restart configuration after error オプションをオフにした場合、MAX II デバイスは、nCONFIG 上で Low から High への遷移(Low パルスは少なくとも 40 µs)を発生し て、コンフィギュレーション・プロセスを再開する必要があります。 チェイン内のデバイスの初期化を遅延させる場合、この CLKUSR ピン・ オプションを使用できます。CLKUSR ピンを使用すると、デバイスがユー ザ・モードに移行するタイミングを制御できます。この機能により、各 デバイスの CLKUSR ピンに個別のクロックを供給することによって、各 デバイスがユーザ・モードに移行するタイミングの順序を制御すること もできます。CLKUSR ピンを使用すると、複数デバイス・チェインで最 初にユーザ・モードに移行するデバイスを選択し、他のデバイスを後で ユーザ・モードに移行させるようにすることができます。 デバイス・ファミリによって、必要な初期化クロック・サイクル数が異 なる場合があります。したがって、複数デバイス・チェインが異なるファ ミリのデバイスで構成される場合、必要な初期化クロック・サイクル数 が異なるため、デバイスがユーザ・モードに移行する時間は多少異なる 可能性があります。ただし、異なるデバイス・ファミリ間で初期化クロッ ク・サイクルの数がほぼ同じか、またはデバイスが同じファミリのメン バの場合、これらのデバイスは同時にユーザ・モードに移行します。必 要な初期化クロック・サイクル数の詳細については、それぞれのデバイ ス・ファミリ・ハンドブックを参照してください。 システムに同じコンフィギュレーション・データを持つ複数の Cyclone II デバイス(集積度とパッケージが同じ)がある場合、すべてのデバイス の nCE ピンを GND に接続し、すべての Cyclone II デバイスのコンフィ ギュレーション・ピン(nCONFIG、nSTATUS、DCLK、DATA0、および CONF_DONE)を互いに接続すれば、これらのデバイスを 1 コンフィギュ レーション・サイクルでコンフィギュレーションできます。コンフィギュ レーション後に、nCEO ピンをユーザ I/O ピンとして使用することもで きます。シグナル・インテグリティを確保し、クロック・スキューの問 題を回避するために、コンフィギュレーション信号のバッファリングが 必要になる場合があります。4 つのデバイスごとに、DCLK ラインと DATA ラインがバッファリングされるようにします。すべてのデバイスは、同 時にコンフィギュレーションを開始し、同時に完了します。図 13-11 に、 2 つの Cyclone II デバイスが同じコンフィギュレーション・データを受信 するときの複数デバイスの PS コンフィギュレーションを示します。 Altera Corporation 2005 年 7 月 13–29 Cyclone II デバイス・ハンドブック Volume 1 PS コンフィギュレーション 図 13-11. 2 つの FPGA が同じデータを受信する場合の複数デバイスの PS コンフィギュレーション メモリ VCC (1) ADDR VCC (1) VCC DA TA0 10 kΩ 10 kΩ VCC Cyclone II デバイス Cyclone II デバイス MSEL1 CONF_DONE nST ATUS 外部ホスト (MAX II デバイスまたは マイクロプロセッサ) nCE MSEL1 MSEL0 CONF_DONE nST ATUS GND nCEO MSEL0 GND nCE N.C. (3) GND nCEO GND DATA0 DATA0 nCONFIG nCONFIG DCLK DCLK N.C. (2) 図 13-11 の注: (1) プルアップ抵抗は、チェイン内のすべてのデバイスに受け入れ可能な入力信号を提供する電源に接続する必要 デバイスおよび外部ホスト上のI/OのVIH 仕様に適合するだけ十分に高くなければなりません。 があります。 VCCは、 (2) 2 つのデバイスの nCEO ピンは、未接続のままにするか、同じコンフィギュレーション・データで複数のデバイ スをコンフィギュレーションする場合は、ユーザ I/O ピンとして使用できます。 1 つのコンフィギュレーション・チェインを使用して、Cyclone II デバ イスを他のアルテラ製デバイスとともにコンフィギュレーションするこ とができます。すべての Cyclone II デバイスと他のすべてのアルテラ製 デバイスの CONF_DONE ピンと nSTATUS ピンを互いに接続すれば、 チェ イン内のすべてのデバイスが同時にコンフィギュレーションを完了する か、または 1 つのデバイスからエラーがレポートされるとすべてのデバ イスでリコンフィギュレーションが開始されます。 同じコンフィギュレーション・チェイン内で複数のアルテラ製デバイス をコンフィギュレーションする方法の詳細については、「Configuration Handbook」の「Configuring Mixed Altera FPGA Chains」を参照して ください。 PS コンフィギュレーション・タイミング PS コンフィギュレーションでは、セットアップとホールド・タイミング・ パラメータの要件、および最大クロック周波数の要件に適合する必要が あります。マイクロプロセッサまたは別のインテリジェント・ホストを 使用して PS インタフェースを制御する場合、これらのタイミング要件に 確実に適合するようにします。 図 13-12 に、Cyclone II デバイスの PS コンフィギュレーション用のタイ ミング波形を示します。 13–30 Cyclone II デバイス・ハンドブック Volume 1 Altera Corporation 2005 年 7 月 Cyclone II デバイスのコンフィギュレーション 図 13-12. PS コンフィギュレーションのタイミング波形 注 (1) tCF2ST1 tCFG tCF2CK nCONFIG nSTATUS (2) tSTATUS tCF2ST0 t CLK CONF_DONE (3) tCF2CD tST2CK tCH tCL DCLK (4) tDH DATA Bit 0 Bit 1 Bit 2 Bit 3 Bit n (5) tDSU User I/O Tri-stated with internal pull-up resistor User Mode INIT_DONE tCD2UM 図 13-12 の注: (1) この波形の先頭は、デバイスがユーザ・モードであることを示します。ユーザ・モードでは、nCONFIG、 および CONF_DONE はロジック High レベルになります。nCONFIG が Low にプルダウンされると、リ nSTATUS 、 コンフィギュレーション・サイクルが開始します。 (2) パワーアップ時には、Cyclone II デバイスは、POR 遅延の間 nSTATUS を Low に保持します。 (3) パワーアップ時およびコンフィギュレーションの実行前と実行中、CONF_DONE は Low になります。 (4) ユーザ・モードでは、PS コンフィギュレーション手法の使用時には、DCLK を High または Low のいずれか 適切な方にします。AS コンフィギュレーション手法の使用時には、DCLK は Cyclone II デバイスの出力ピン となるため、外部からドライブしてはなりません。 (5) コンフィギュレーション後に、DATA ピンを浮動状態のままにしないでください。High または Low のいずれか適 切な方にします。 表 13–7 に、PS コンフィギュレーション用の Cyclone II デバイスのタイ ミング・パラメータを定義します。 Altera Corporation 2005 年 7 月 13–31 Cyclone II デバイス・ハンドブック Volume 1 PS コンフィギュレーション 表 13–7. Cyclone II の PS タイミング・パラメータ シンボル 最大 単位 POR 遅延 100 ms tCF2CD nCONFIG の Low から CONF_DONE の Low まで 800 ns tCF2ST0 nCONFIG の Low から nSTATUS の Low まで 800 ns tCFG nCONFIG の Low パルス幅 40 tSTATUS nSTATUS の Low パルス幅 10 tPOR パラメータ 注 (1) tCF2ST1 nCONFIG の High から nSTATUS の High まで tCF2CK nCONFIG のHighから DCLK の最初の立ち上がり 最小 µs 40 (2) µs 40 (2) µs 40 µs 1 µs 7 ns 0 ns エッジまで tST2CK nSTATUS のHighから DCLK の最初の立ち上がり tDSU DCLK の立ち上がりエッジ前のデータ・セット エッジまで アップ時間 tDH DCLK の立ち上がりエッジ後のデータ・ホールド・ タイム tCH DCLK の High 時間 4 ns tCL DCLK の Low 時間 4 ns tCLK DCLK の期間 10 ns fMAX DCLK の周波数 tCD2UM CONF_DONE の High からユーザ・モードまで (3) tCD2CU nCONFIGのHighからCLKUSRのイネーブルまで 4 × 最大 DCLK 期間 tCD2UMC CONF_DONE の High から CLKUSR オプションが tCD2CU + (299× CLKUSR 期間) オンのユーザ・モードまで 18 100 MHz 40 µs 表 13–7 の注: (1) この情報は暫定仕様です。 (2) この値は、ユーザが nCONFIG または nSTATUS の Low パルス幅を拡張してコンフィギュレーションを遅延 させない場合にのみ適用可能です。 (3) 最小数と最大数は、内部発振器をデバイス起動用のクロック・ソースとして選択した場合にのみ適用されます。 デバイスのコンフィギュレーション・オプションおよびコンフィギュレー ション・ファイルの作成方法の詳細については、 「Configuration Handbook Volume 2」の「Software Settings」を参照してください。 13–32 Cyclone II デバイス・ハンドブック Volume 1 Altera Corporation 2005 年 7 月 Cyclone II デバイスのコンフィギュレーション マイクロプロセッサを使用したPS コンフィギュレーション PS コンフィギュレーション手法では、マイクロプロセッサが、フラッ シュ・メモリなどのストレージ・デバイスからターゲット Cyclone II デ バイスへのコンフィギュレーション・データの転送を制御できます。 13–23 ページの「外部ホストとして MAX II デバイスを使用した単一デ バイスの PS コンフィギュレーション」セクションのすべての情報も、マ イクロプロセッサを外部ホストとして使用するときに適用可能です。す べてのコンフィギュレーション情報については、このセクションを参照 してください。 MicroBlaster™ ソ フトウ ェア・ド ライ バを 使用 する と、PS モー ドの ByteBlaster II または ByteBlasterMV™ ケーブルを通して、Cyclone II デバイス を含むアルテラのFPGAをコンフィギュレーションできます。MicroBlaster ソフトウェア・ドライバは、RBF プログラミング入力ファイルをサポート し、エンベデッド PS コンフィギュレーション向けに設計されています。 ソース・コードは WindowsNT オペレーティング・システム向けに開発さ れていますが、他の OS で動作するようカスタマイズすることが可能です。 Cyclone II デバイスは圧縮されたコンフィギュレーション・デー タを PS コンフィギュレーション中にすぐに復元できるため、 MicroBlaster ソフトウェアでは、圧縮された RBF ファイルをその 入力ファイルとして受け入れることができます。 MicroBlaster ソフトウェア・ドライバの詳細については、 「Configuring the MicroBlaster Passive Serial Software Driver White Paper」、およびアルテラ Web サイト(www.altera.co.jp)のソース・ファイルを参照してください。 Quartus II ソフトウェアの Enable user-supplied start-up clock(CLKUSR) オプションをオンにすると、Cyclone II デバイスは MicroBlaster が RBF ファ イル内のコンフィギュレーション・データをすべて送信した後も、ユーザ・モード に移行しません。ユーザ・モードに移行するには、CLKUSR ピンに十分な初期化 クロック・サイクルを供給する必要があります。 コンフィギュレーション・デバイスを使用した 単一デバイスの PS コンフィギュレーション アルテラのコンフィギュレーション・デバイス(例えば、EPC2、EPC1、 またはエンハンスド・コンフィギュレーション・デバイス)を使用する と、シリアル・コンフィギュレーション・ビットストリームを使用する Cyclone II デバイスをコンフィギュレーションできます。コンフィギュ レーション・データは、コンフィギュレーション・デバイスに格納され ています。図 13-13 に、Cyclone II デバイスとコンフィギュレーション・ デバイス間のコンフィギュレーション・インタフェース接続を示します。 Altera Corporation 2005 年 7 月 13–33 Cyclone II デバイス・ハンドブック Volume 1 PS コンフィギュレーション この章の図には、コンフィギュレーション関連のピン、およびコ ンフィギュレーション・デバイスと FPGA 間のコンフィギュレー ション・ピン接続のみを示します。 エンハンスド・コンフィギュレーション・デバイスとフラッシュ・イン タフェース・ピン(PGM[2..0]、EXCLK、PORSEL、A[20..0]、DQ[15..0] など)の詳細については、 「Enhanced Configuration Devices (EPC4, EPC8 & EPC16) Data Sheet」を参照してください。 図 13-13. エンハンスド・コンフィギュレーション・デバイスを使用した 単一デバイスの PS コンフィギュレーション VCC (1) 10 kΩ Cyclone II FPGA nCS (3) nINIT_CONF (2) nCONFIG MSEL1 GND エンハンスド・ コンフィギュレーション・ デバイス OE (3) CONF_DONE MSEL0 10 kΩ DA TA nSTATUS nCEO 10 kΩ VCC (1) DCLK DCLK DA TA0 VCC VCC (1) N.C. (4) nCE GND 図 13-13 の注: (1) プルアップ抵抗は、コンフィギュレーション・デバイスと同じ電源電圧に接 続する必要があります。このプルアップ抵抗は 10 kΩ です。 (2) nINIT_CONF ピンは、エンハンスド・コンフィギュレーション・デバイス上 で使用できるピンで、常にアクティブな内部プルアップ抵抗があります。つ まり、nINIT_CONF から nCONFIG へのラインでは、外部プルアップ抵抗を使 用してはなりません。nINIT_CONF ピンは、その機能を使用しない場合、接 続する必要はありません。nINIT_CONF を使用しない場合、nCONFIG を直接 または抵抗を通して VCC にプルする必要があります。 (3) エンハンスド・コンフィギュレーション・デバイスの OE ピンと nCS ピンには、 内部プログラマブル・プルアップ抵抗があります。内部プルアップ抵抗を使 用する場合、これらのピンでは外部プルアップ抵抗を使用しないでください。 Quartus II ソフトウェアでは、デフォルトで内部プルアップ抵抗が使用され ます。内部プルアップ抵抗をオフにするには、プログラミング・ファイルの 生成時に Disable nCS and OE pull-ups on configuration device オプション をオンにします。 (4) nCEO ピンは、未接続のままにするか、他のデバイスの nCE ピンに信号を供給し ていない場合は、ユーザ I/O ピンとして使用できます。 エンハンスド・コンフィギュレーション・デバイスと EPC2 デバイス上 の内部プルアップ抵抗の値については、 「Enhanced Configuration Devices (EPC4, EPC8, & EPC16) Data Sheet」または「Configuration Devices for SRAM-Based LUT Devices Data Sheet」を参照してください。 13–34 Cyclone II デバイス・ハンドブック Volume 1 Altera Corporation 2005 年 7 月 Cyclone II デバイスのコンフィギュレーション エンハンスド・コンフィギュレーション・デバイスまたは EPC2 デバイ スの使用時には、Cyclone II デバイスの nCONFIG ピンをコンフィギュ レーション・デバイスの nINIT_CONF ピンに接続できます。このピンで は、FPGA コンフィギュレーションを開始する INIT_CONF JTAG 命令 を実行できます。nINIT_CONF ピンを使用しない場合、このピンを接続 する必要はありません。nINIT_CONF を使用しない場合、または使用で きない場合(EPC1 デバイス上などで)は、nCONFIG 信号を直接または 抵抗を通して VCC にプルします。エンハンスド・コンフィギュレーショ ン・デバイスと EPC2 デバイスでは、nINIT_CONF ピン上の内部プル アップ抵抗は常にアクティブになっています。このため、nCONFIG を nINIT_CONF に接続する場合、外部プルアップ抵抗は不要です。 パワーアップ時には、Cyclone II デバイスでは POR の処理が行われます。 POR の処理中、デバイスはリセットされ、nSTATUS と CONF_DONE を Low に保持し、すべてのユーザ I/O ピンをトライ・ステートにします。 POR の処理(通常 100 ms)後、Cyclone II FPGA は nSTATUS を解放し、 この信号が 10 kΩ の外部抵抗によって High にプルアップされると、コン フィギュレーション・モードに移行します。FPGA が POR を正常に終了 すると、すべてのユーザ I/O ピンはトライ・ステート状態を継続します。 Cyclone II デバイスのユーザ I/O ピン上には、コンフィギュレーション の実行前と実行時にオンになるウィーク・プルアップ抵抗があります。 コンフィギュレーション・デバイスでは、電源を安定させるために POR 遅延の処理が行われます。EPC2 デバイスまたは EPC1 デバイスの最大 POR 時間は 200 ms です。エンハンスド・コンフィギュレーション・デ バイスの POR 時間は、エンハンスド・コンフィギュレーション・デバ イスの PORSEL ピン設定に応じて、100 ms または 2 ms に設定できます。 PORSEL ピンが GND に接続されている場合、POR 遅延は 100 ms とな り、PORSEL ピンが VCC に接続されている場合は、POR 遅延は 2 ms と なります。エンハンスド・コンフィギュレーション・デバイスの POR 時 間前または POR 時間中は、Cyclone II デバイスに電源を投入する必要が あります。POR の処理中、コンフィギュレーション・デバイスは、OE ピンを Low に遷移させます。この Low 信号は、OE ピンがターゲット・ デバイスの nSTATUS ピンに接続されているため、コンフィギュレーショ ンを遅延させます。ターゲット・デバイスとコンフィギュレーション・ デバイスがPORの処理を完了すると、両デバイスはOEラインにnSTATUS を解放するため、プルアップ抵抗によって High にプルアップされます。 電源が適切な動作電圧に達すると、ターゲット FPGA は、nCONFIG 上 で Low から High への遷移を検知し、コンフィギュレーション・サイク ルを開始します。コンフィギュレーション・サイクルは、リセット、コ ンフィギュレーション、初期化の 3 つのステージから構成されています。 Cyclone II デバイスには、PORSEL ピンはありません。 Altera Corporation 2005 年 7 月 13–35 Cyclone II デバイス・ハンドブック Volume 1 PS コンフィギュレーション リセット・ステージ nCONFIG または nSTATUS が Low の間、デバイスはリセット状態です。 nCONFIG ピンまたは nSTATUS ピンを Low に保持すると、コンフィギュ レーションを遅延させることができます。 コンフィギュレーション・プロセスを開始するには、コンフィ ギュレーションと JTAG ピンが存在するバンクの VCCINT と VCCIO に十分な電力を供給して、適切な電圧レベルにする必要があります。 nCONFIG信号がHighになると、 デバイスはリセット状態を抜け、 nSTATUS ピンを解放します。その後、このピンはプルアップ抵抗によって High に プルアップされます。エンハンスド・コンフィギュレーション・デバイス と EPC2 デバイスには、OE ピン上にオプションの内部プルアップ抵抗があ ります。Quartus II ソフトウェアでは、Device & Pin Options ダイアログ・ ボックスの General タブからこのオプションをオンにできます。この内部 プルアップ抵抗を使用しない場合は、 10 kΩ の外部プルアップ抵抗を OE と nSTATUS ラインに接続する必要があります。nSTATUS が解放されると、 FPGA はコンフィギュレーション・データを受信可能な状態になり、コン フィギュレーション・ステージを開始できます。 コンフィギュレーション・ステージ nSTATUS ピンが High に遷移すると、コンフィギュレーション・デバイ スの OE ピンも High に遷移し、コンフィギュレーション・デバイスは、 内部発振器を使用してクロックで FPGA にデータをシリアルに送りま す。Cyclone II デバイスは、DATA0 ピン上でコンフィギュレーション・ データを受信し、DCLK ピン上でクロックを受信します。データは、DCLK の立ち上がりエッジで FPGA にラッチされます。 FPGA はすべてのコンフィギュレーション・データを正常に受信後、オー プン・ドレイン CONF_DONE ピンを解放します。その後、このピンはプ ルアップ抵抗によって High にプルアップされます。Cyclone II デバイ スの CONF_DONE ピンはコンフィギュレーション・デバイスの nCS ピン に接続されるため、CONF_DONE が High になると、コンフィギュレー ション・デバイスはディセーブルされます。エンハンスド・コンフィギュ レーション・デバイスと EPC2 デバイスには、nCS ピン上にオプション の内部プルアップ抵抗があります。Quartus II ソフトウェアでは、Device & Pin Options ダイアログ・ボックスの General タブからこのオプショ ンをオンにできます。この内部プルアップ抵抗を使用しない場合は、10 kΩ の外部プルアップ抵抗を nCS と CONF_DONE ラインに接続する必要 があります。CONF_DONE 上での Low から High への遷移は、コンフィ ギュレーションが完了し、デバイスの初期化を開始できることを示しま す。 13–36 Cyclone II デバイス・ハンドブック Volume 1 Altera Corporation 2005 年 7 月 Cyclone II デバイスのコンフィギュレーション 初期化ステージ Cyclone II デ バ イ ス の デ フ ォ ル ト の 初 期 化 ク ロ ッ ク・ソ ー ス は、 Cyclone II デバイスの内部発振器(通常 10 MHz)です。Cyclone II デバ イスでは、オプションの CLKUSR ピンも使用できます。デザインで内部 発振器を使用する場合、Cyclone II デバイスでは、適切に初期化するの に十分なクロック・サイクルが供給されます。内部発振器を使用する利 点は、初期化ステージで、別のデバイスまたはソースを使用して追加ク ロック・サイクルを CLKUSR ピンに送信する必要がないことです。さら に CLKUSR ピンをユーザ I/O ピンとして使用できるため、追加のユーザ I/O ピンがあることになります。 デバイスの初期化を遅延させる場合、この CLKUSR ピンを使用できます。 CLKUSR ピンを使用すると、Cyclone II デバイスがユーザ・モードに移 行するタイミングを制御できます。Cyclone II デバイスがユーザ・モー ドに移行するのを無期限に遅延できます。Quartus II ソフトウェアでは、 Device & Pin Options ダイアログ・ボックスの General タブから Enable user-supplied start-up clock (CLKUSR) オプションをオンにできます。 CLKUSR にクロックを供給しても、コンフィギュレーション・プロセス に影響はありません。コンフィギュレーション・データのすべて受け入 れられ、CONF_DONE が High になった後、Cyclone II は、適切に初期化 を実行し、100 MHz の CLKUSR fMAX をサポートするために、299 個のク ロック・サイクルを必要とします。 オプションの INIT_DONE ピンが用意されており、初期化の終了とユー ザ・モードの開始を Low から High への遷移で知らせます。Quartus II ソフトウェアでは、Device & Pin Options ダイアログ・ボックスの General タブから Enable INIT_DONE output オプションを使用できま す。INIT_DONE ピンを使用する場合、nCONFIG が Low でかつコンフィ ギュレーションの開始時には、10 kΩ の外部プルアップ抵抗がピンを High にプルアップします。(コンフィギュレーション・データの最初の フレームで)INIT_DONE をイネーブルするオプションのビットをデバ イスにプログラムすると、INIT_DONE ピンが Low になります。初期化 が完了すると、INIT_DONE ピンが解放され、High にプルアップされま す。この Low から High への遷移で、FPGA がユーザ・モードに入った ことがわかります。INIT_DONE ピンを使用しない場合、CONF_DONE 信 号が High になり 299 個のクロック・サイクルが CLKUSR ピンに送信さ れた後、または Cyclone II デバイスが内部発振器を使用しているときは tCF2UM 時間(表 13–7 を参照)経過後に、初期化期間が完了します。 Altera Corporation 2005 年 7 月 13–37 Cyclone II デバイス・ハンドブック Volume 1 PS コンフィギュレーション コンフィギュレーションが正常に終了した後、同じコンフィギュレー ション・チェインにない複数のデバイスの初期化を同期させる場合は、 システムが CONF_DONE 信号を Low にして初期化を遅延しないようにす る必要があります。代わりに、オプションの CLKUSR ピンを使用して、 同じコンフィギュレーション・チェインにない複数デバイスの初期化を 同期させます。同じコンフィギュレーション・チェインにあるデバイス の CONF_DONE ピンを互いに接続すると、それらのデバイスは一緒に初 期化されます。 オプションの CLKUSR ピンを使用し、nCONFIG を Low にしてデ バイスの初期化中にコンフィギュレーションを再開する場合は、 nSTATUS が Low の間(最大 40 µs)、CLKUSR が継続的にトグル することを確認する必要があります。 ユーザ・モード 初期化が完了すると、FPGA はユーザ・モードに移行します。ユーザ・ モードでは、ユーザ I/O ピンにはウィーク・プルアップ抵抗がなく、デ ザインで割り当てられたとおり機能します。エンハンスド・コンフィギュ レーション・デバイスと EPC2 デバイスは、コンフィギュレーションの 最後に DCLK を Low にドライブし、DATA0 を High にドライブします (EPC1 デバイスは DCLK ピンを Low にドライブし、DATA ピンをトライ・ ステートにします) 。 FPGA がユーザ・モードになっている場合、nCONFIG ピンを Low にす るとリコンフィギュレーションを開始します。nCONFIG ピンは、40 µs 以上の間 Low でなければなりません。nCONFIG が Low に遷移すると、 Cyclone II デバイスは nSTATUS ピンと CONF_DONE ピンも Low にプル ダウンし、すべての I/O ピンをトライ・ステートにします。CONF_DONE が Low に遷移するため、コンフィギュレーション・デバイスがアクティ ブになります。これは、デバイスの nCS ピンが Low に遷移するからで す。nCONFIG がロジック High レベルに戻り、nSTATUS が FPGA によっ て解放されると、リコンフィギュレーションが開始されます。 13–38 Cyclone II デバイス・ハンドブック Volume 1 Altera Corporation 2005 年 7 月 Cyclone II デバイスのコンフィギュレーション コンフィギュレーション中のエラー コンフィギュレーション中にエラーが発生すると、Cyclone II デバイスは nSTATUS ピンを Low にドライブし、内部で自身をリセットします。 nSTATUS ピンは OE に接続されているため、コンフィギュレーション・ デバイスもリセットされます。Quartus II ソフトウェアで、Device & Pin Options ダイアログ・ボックスの General タブから Auto-restart configuration after error オプションをオンにすると、エラーが発生した 場合に、FPGA は自動的にリコンフィギュレーションを開始します。 Cyclone II デバイスは、リセット・タイムアウト期間(最大 40 µs)後に nSTATUS ピンを解放します。nSTATUS ピンが解放され、プルアップ抵 抗によって High にプルアップされると、コンフィギュレーション・デバ イスはチェインをリコンフィギュレーションします。このオプションを オフにした場合は、外部システムで nSTATUS のエラーを監視し、最低 40 µs の間 nCONFIG で Low のパルスを発生させて、コンフィギュレー ションを再開する必要があります。nCONFIG ピンが VCC に接続されてお らず、システムの制御下にある場合は、外部システムでこのピンのパル スを発生させることができます。 さらに、コンフィギュレーション・デバイスがデータをすべて送信した が、CONF_DONE ピンが High にならないことを検出した場合、デバイス は FPGA のコンフィギュレーションが正常に行われなかったものと判断 します。エンハンスド・コンフィギュレーション・デバイスは、最後の コンフィギュレーション・ビットを送信後、64 DCLK サイクル待機して から、CONF_DONE ピンを High に遷移させます。EPC2 デバイスは、16 DCLK サイクル待機します。その後、コンフィギュレーション・デバイ スは OE ピンを Low にプルダウンするため、ターゲット・デバイスの nSTATUS ピンが Low になります。Quartus II ソフトウェアの Autorestart configuration after error オプションをオンにすると、ターゲッ ト・デバイスはリセットされ、リセット・タイムアウト期間(最大 40 µs)後に nSTATUS ピンを解放します。nSTATUS が再び High に遷移し たら、コンフィギュレーション・デバイスは FPGA をリコンフィギュ レーションします。 コンフィギュレーション問題の詳細については、 「Configuration Handbook」 の「Debugging Configuration Problems」の章、およびアルテラ Web サ イト(www.altera.co.jp)の FPGA Configuration Troubleshooter を参照し てください。 Altera Corporation 2005 年 7 月 13–39 Cyclone II デバイス・ハンドブック Volume 1 PS コンフィギュレーション コンフィギュレーション・デバイスを使用した 複数デバイスの PS コンフィギュレーション アルテラのエンハンスド・コンフィギュレーション・デバイス(EPC16、 EPC8、および EPC4 デバイス)、または EPC2 と EPC1 コンフィギュレー ション・デバイスを使用すると、PS コンフィギュレーション・チェイン 内の複数の Cyclone II デバイスをコンフィギュレーションできます。 図 13-14 に、エンハンスド・コンフィギュレーション・デバイスを使用 した複数デバイスのコンフィギュレーション方法を示します。この回路 は、単一デバイス用のコンフィギュレーション・デバイス回路に似てい ます。ただし、複数デバイスのコンフィギュレーションでは、Cyclone II デバイスはカスケード接続されます。 図 13-14. エンハンスド・コンフィギュレーション・デバイスを使用した複数デバイスの PS コンフィギュレーション VCC (4) VCC (1) 10 kΩ VCC 10 kΩ Cyclone II デバイス1 DCLK DCLK MSEL0 DA TA0 MSEL1 nST ATUS MSEL0 DA TA0 MSEL1 nST ATUS nCS (3) nINIT_CONF (2) GND GND (5) N.C. DA TA OE (3) nCONFIG nCONFIG (3) DCLK CONF_DONE CONF_DONE 10 kΩ エンハンスド・ コンフィギュレーション・ デバイス VCC Cyclone II デバイス2 (3) VCC (1) nCEO nCE nCEO nCE GND 図 13-14 の注: (1) プルアップ抵抗は、コンフィギュレーション・デバイスと同じ電源電圧に接続する必要があります。 (2) nINIT_CONF ピンは、エンハンスド・コンフィギュレーション・デバイス上で使用できるピンで、常にアク ティブな内部プルアップ抵抗があります。つまり、nINIT_CONF から nCONFIG へのラインでは、外部プル アップ抵抗を使用してはなりません。nINIT_CONF ピンは、その機能を使用しない場合、接続する必要はあ りません。 nINIT_CONFを使用しない場合、 nCONFIGを直接または抵抗を通してVCCにプルする必要があります。 (3) エンハンスド・コンフィギュレーション・デバイスの OE ピンと nCS ピンには、内部プログラマブル・プル アップ抵抗があります。内部プルアップ抵抗を使用する場合、これらのピンでは外部プルアップ抵抗を使用 しないでください。Quartus II ソフトウェアでは、デフォルトで内部プルアップ抵抗が使用されます。内部 プルアップ抵抗をオフにするには、プログラミング・ファイルの生成時に Disable nCS and OE pull-ups on configuration device オプションをオンにします。 (4) プルアップ抵抗を nCEO ピンが存在する I/O バンクの VCCIO 電源電圧に接続します。 (5) nCEO ピンは、未接続のままにするか、他のデバイスの nCE ピンに信号を供給していない場合は、ユーザ I/O ピン として使用できます。 13–40 Cyclone II デバイス・ハンドブック Volume 1 Altera Corporation 2005 年 7 月 Cyclone II デバイスのコンフィギュレーション エンハンスド・コンフィギュレーション・デバイス(EPC16、EPC8、 および EPC4 デバイス)はカスケード接続できません。 複数のデバイスをコンフィギュレーションする場合、各プロジェクトの SOF からコンフィギュレーション・デバイスの POF を生成する必要が あります。Quartus II ソフトウェアの Convert Programming Files ウィ ンドウを使用すると、複数の SOF を組み合わせることができます。 複数デバイスのコンフィギュレーション・チェイン用のコンフィギュレー ション・ファイルの作成方法の詳細については、 「Configuration Handbook Volume 2」の「Software Settings」のセクションを参照してください。 PS 手法を使用した複数デバイスのコンフィギュレーションでは、最初の Cyclone II デバイスの nCE ピンを GND に接続し、nCEO ピンをチェイ ン内の Cyclone II デバイスの nCE ピンに接続します。nCEO ピンが次の Cyclone II デバイスの nCE ピンに信号を供給するときには、10 kΩ の外 部プルアップ抵抗を使用して、デバイスの nCEO ピンを VCCIO レベルに プルします。チェイン内の最初のデバイスのコンフィギュレーションが 完了したら、その nCEO ピンが Low に遷移し、2 番目のデバイスの nCE ピンをアクティブにします。これにより、2 番目のデバイスはコンフィ ギュレーションを開始します。最後のデバイスの nCEO ピンは、未接続 のままにするか、コンフィギュレーション後にユーザ I/O ピンとして使 用できます。nCEO ピンは、Cyclone II デバイスの兼用ピンです。 Quartus II ソフトウェアは、Cyclone II デバイスの nCEO ピンを 出力ピンとして設定し、デフォルトで GND にドライブします。 デバイスがチェイン内にあり、nCEO ピンが次のデバイスの nCE ピンに接続されている場合は、コンフィギュレーション後にその nCEO ピンをユーザ I/O ピンとして使用しないようにする必要が あります。このソフトウェア設定は、Quartus II ソフトウェアの Device & Pin Options ダイアログ・ボックスの Dual-Purpose Pins タブにあります。 他のすべてのコンフィギュレーション・ピン(nCONFIG、nSTATUS、DCLK、 DATA0、および CONF_DONE)は、チェイン内のすべての Cyclone II デバ イスに接続します。シグナル・インテグリティを確保し、クロック・ス キューの問題を回避するために、コンフィギュレーション信号のバッファ リングが必要になる場合があります。4 つのデバイスごとに、DCLK ライン と DATA ラインをバッファリングします。 Altera Corporation 2005 年 7 月 13–41 Cyclone II デバイス・ハンドブック Volume 1 PS コンフィギュレーション 複数デバイスのコンフィギュレーションでは、すべてのデバイスが OE ピンまたは nSTATUS ピンを解放するまで、コンフィギュレーションは 開始しません。同様に、すべてのデバイスの CONF_DONE ピンは互いに 接続されるため、すべてのデバイスは、同時に初期化されユーザ・モー ドに移行します。 CONF_DONE を Low にして初期化を遅延させないようにする必要があり ます。代わりに、Quartus II ソフトウェアの User-Supplied Start-Up Clock オプションを使用して、同じコンフィギュレーション・チェイン にない複数デバイスの初期化を同期させます。同じコンフィギュレー ション・チェインにあるデバイスの CONF_DONE ピンは互いに接続され ているため、それらのデバイスは一緒に初期化されます。 すべての nSTATUS ピンと CONF_DONE ピンは接続されているため、い ずれかのデバイスがエラーを検出すると、チェイン全体のコンフィギュ レーションが停止するため、チェイン全体をリコンフィギュレーション する必要があります。例えば、最初の Cyclone II デバイスのコンフィ ギュレーション時にエラーが検出されると、デバイスはその nSTATUS ピンを Low にして、チェインをリセットします。この Low 信号で、エ ンハンスド・コンフィギュレーション・デバイスの OE ピンとすべての FPGAのnSTATUSがLowになり、 デバイスはリセット状態に移行します。 Auto-restart configuration after error オプションをオンにすると、エ ラーが発生した場合、デバイスは自動的にリコンフィギュレーションを 開始します。FPGA は、リセット・タイムアウト期間(最大 40 µs)後に nSTATUS ピンを解放します。すべての nSTATUS ピンが解放され High にプルアップされると、コンフィギュレーション・デバイスは、チェイ ンをリコンフィギュレーションします。Auto-restart configuration after error オプションがオフの場合は、マイクロプロセッサまたはコントロー ラで nSTATUS ピンのエラーを監視し、40 µs 以上の間 nCONFIG で Low のパルスを発生させて、コンフィギュレーションを再開する必要があり ます。nCONFIG ピンがシステムの制御下にあり、VCC に接続されていな い場合は、マイクロプロセッサまたはコントローラは、このピンを Low に遷移させることしかできません。 13–42 Cyclone II デバイス・ハンドブック Volume 1 Altera Corporation 2005 年 7 月 Cyclone II デバイスのコンフィギュレーション エンハンスド・コンフィギュレーション・デバイスは、最大 8 つのデバ イスのパラレル・コンフィギュレーションをサポートします。n ビット (n = 1、2、4、または 8)の PS コンフィギュレーション・モードでは、 エンハンスド・コンフィギュレーション・デバイスは、FPGA のチェイ ンを同時にコンフィギュレーションできます。これらのデバイスは同じ デバイス・ファミリや集積度である必要はありません。異なるデザイン のアルテラ FPGA デバイスを任意に組み合わせることができます。各 ターゲット FPGA に対しては、個々のエンハンスド・コンフィギュレー ション・デバイスの DATA ピンを使用できます。また、各 DATA ライン は、FPGA のチェインに信号を供給することもできます。図 13-15 に、 エンハンスド・コンフィギュレーション・デバイスを使用した複数デバ イスの同時コンフィギュレーション方法を示します。 図 13-15. エンハンスド・コンフィギュレーション・デバイスを使用した複数デバイスの 同時 PS コンフィギュレーション (1) VCC 10 kΩ Cyclone II デバイス1 VCC (3) (3) (1) 10 kΩ エンハンスド・ コンフィギュレーション・ デバイス DCLK DCLK DATA0 DATA0 nSTATUS N.C. VCC nCEO (4) DATA1 CONF_DONE nCONFIG DATA[2..6] nCE MSEL1 OE (3) nCS (3) MSEL0 GND GND Cyclone II デバイス2 nINIT_CONF (2) DATA 7 DCLK DATA0 nSTATUS CONF_DONE N.C. VCC nCEO (4) nCONFIG nCE MSEL1 MSEL0 GND GND Cyclone II デバイス8 DCLK DATA0 nSTATUS CONF_DONE N.C. VCC nCEO (4) nCONFIG nCE MSEL1 MSEL0 GND GND 図 13-15 の注: (1) プルアップ抵抗は、コンフィギュレーション・デバイスと同じ電源電圧に接続する必要があります。 Altera Corporation 2005 年 7 月 13–43 Cyclone II デバイス・ハンドブック Volume 1 PS コンフィギュレーション (2) nINIT_CONF ピンは、エンハンスド・コンフィギュレーション・デバイス上で使用できるピンで、常にアク ティブな内部プルアップ抵抗があります。つまり、nINIT_CONF から nCONFIG へのラインでは、外部プル アップ抵抗を使用してはなりません。nINIT_CONF ピンは、その機能を使用しない場合、接続する必要はあ りません。 nINIT_CONFを使用しない場合、 nCONFIGを直接または抵抗を通してVCCにプルする必要があります。 (3) エンハンスド・コンフィギュレーション・デバイスの OE ピンと nCS ピンには、内部プログラマブル・プル アップ抵抗があります。内部プルアップ抵抗を使用する場合、これらのピンでは外部プルアップ抵抗を使用 しないでください。Quartus II ソフトウェアでは、デフォルトで内部プルアップ抵抗が使用されます。内部 プルアップ抵抗をオフにするには、プログラミング・ファイルの生成時に Disable nCS and OE pull-ups on configuration device オプションをオンにします。 (4) nCEO ピンは、未接続のままにするか、他のデバイスの nCE ピンに信号を供給していない場合は、ユーザ I/O ピ ンとして使用できます。 Quartus II ソフトウェアでは、n を 1、2、4、または 8 にのみ設定できま す。ただし、これらのモードを使用すると、1 ∼ 8 の任意の数のデバイ スをコンフィギュレーションできます。例えば、3 つの FPGA をコンフィ ギュレーションする場合、4 ビットの PS モードを使用します。DATA0、 DATA1、および DATA2 ラインの場合、対応する SOF データをコンフィ ギュレーション・デバイスから FPGA に送信します。DATA3 ラインは、 Quartus II ソフトウェアで対応するビット 3 のラインをブランクのまま にしておくことができます。プリント基板(PCB)上では、エンハンス ド・コンフィギュレーション・デバイスからの DATA3 ラインを未接続の ままにします。この手法では、Quartus II の(Tools メニューから) Convert Programming Files ウィンドウの設定を使用します。 また、2 つの FPGA をコンフィギュレーション・デバイスの 1 つの DATA ピンに接続し、他の DATA ピンでデバイスを 1 つずつドライブできます。 例えば、2 ビットの PS モードを使用すると、DATA ビット 0 で 2 つの FPGA(2 つの EP2C5 デバイス)を、DATA ビット 1 で 3 つ目のデバイ ス(1 つの EP2C8 デバイス)をドライブできます。この例では、DATA ビット 0 に必要なメモリ領域は、2 つの EP2C5 デバイスの SOF ファイ ル・サイズの合計になります。 1,223,980 ビット + 1,223,980 ビット = 2,447,960 ビット DATA ビット 1 に必要なメモリ領域は、1 つの EP2C8 デバイスの SOF ファイル・サイズ(1,983,792 ビット)になります。DATA ビット 0 に必 要なメモリ領域は DATA ビット 1 に必要なメモリ領域より大きいため、 POF ファイルのサイズは 2 × 2,447,960 = 4,895,920 となります。 エンハンスド・コンフィギュレーション・デバイスで n ビットの PS モー ドを使用する方法の詳細については、 「Configuration Handbook」の 「Using Altera Enhanced Configuration Devices」を参照してください。 13–44 Cyclone II デバイス・ハンドブック Volume 1 Altera Corporation 2005 年 7 月 Cyclone II デバイスのコンフィギュレーション nビットのPSモードを使用してSRAMベースのデバイスをコンフィギュ レーションする場合は、表 13–8 で、コンフィギュレーション時間が最速 になるように適切なコンフィギュレーション・モードを選択します。 表 13–8. n ビットの PS モードを使用した 推奨コンフィギュレーション デバイス数 (1) 推奨コンフィギュレーション・ モード 1 1 ビット PS 2 2 ビット PS 3 4 ビット PS 4 4 ビット PS 5 8 ビット PS 6 8 ビット PS 7 8 ビット PS 8 8 ビット PS 表 13–8 の注: (1) 各 DATA ラインで、デバイスのデイジー・チェインでなく、1 つのデバイス のみコンフィギュレーションするものとします。 デザインに同じコンフィギュレーション・データを持つ複数の(集積度 とパッケージが同じ)Cyclone II デバイスがある場合、nCE 入力を GND に接続し、nCEO ピンは浮動状態のままにします。nCEO ピンをユーザ I/O ピンとして使用することもできます。コンフィギュレーション・デ バイスの nCONFIG、nSTATUS、DCLK、DATA0、および CONF_DONE ピ ンは、チェイン内の各 Cyclone II デバイスに接続します。シグナル・イ ンテグリティを確保し、クロック・スキューの問題を回避するために、 コンフィギュレーション信号のバッファリングが必要になる場合があり ます。4 つのデバイスごとに、DCLK ラインと DATA ラインがバッファリ ングされるようにします。すべてのデバイスは、同時にコンフィギュレー ションを開始し、同時に完了します。図 13-16 に、Cyclone II デバイス が同じコンフィギュレーション・データを受信するときの複数デバイス の PS コンフィギュレーションを示します。 Altera Corporation 2005 年 7 月 13–45 Cyclone II デバイス・ハンドブック Volume 1 PS コンフィギュレーション 図 13-16. FPGA が同じデータを受信する場合のエンハンスド・コンフィギュレーション・ デバイスを使用した複数デバイスの PS コンフィギュレーション (1) VCC Cyclone II デバイス1 10 kΩ VCC nCEO MSEL1 (3) (3) 10 kΩ エンハンスド・ コンフィギュレーション・ デバイス DCLK DCLK DATA0 DATA0 OE (3) nSTATUS (4) N.C. VCC (1) nCS (3) CONF_DONE nCONFIG nINIT_CONF (2) nCE MSEL0 GND Cyclone II デバイス2 GND DCLK DATA0 nSTATUS (4) N.C. VCC nCEO CONF_DONE nCONFIG nCE MSEL1 MSEL0 GND GND Cyclone II デバイス8 DCLK DATA0 nSTATUS CONF_DONE (4) N.C. nCEO nCONFIG nCE VCC MSEL1 MSEL0 GND GND 図 13-16 の注: (1) プルアップ抵抗は、コンフィギュレーション・デバイスと同じ電源電圧に接続する必要があります。 (2) nINIT_CONF ピンは、エンハンスド・コンフィギュレーション・デバイス上で使用できるピンで、常にアク ティブな内部プルアップ抵抗があります。つまり、nINIT_CONF から nCONFIG へのラインでは、外部プル アップ抵抗を使用してはなりません。nINIT_CONF ピンは、その機能を使用しない場合、接続する必要はあ nINIT_CONFを使用しない場合、 nCONFIGを直接または抵抗を通してVCCにプルする必要があります。 りません。 (3) エンハンスド・コンフィギュレーション・デバイスの OE ピンと nCS ピンには、内部プログラマブル・プル アップ抵抗があります。内部プルアップ抵抗を使用する場合、これらのピンでは外部プルアップ抵抗を使用 しないでください。Quartus II ソフトウェアでは、デフォルトで内部プルアップ抵抗が使用されます。内部 プルアップ抵抗をオフにするには、プログラミング・ファイルの生成時に Disable nCS and OE pull-ups on configuration device オプションをオンにします。 (4) nCEO ピンは、未接続のままにするか、他のデバイスの nCE ピンに信号を供給していない場合は、ユーザ I/O ピ ンとして使用できます。 13–46 Cyclone II デバイス・ハンドブック Volume 1 Altera Corporation 2005 年 7 月 Cyclone II デバイスのコンフィギュレーション 複数のEPC2または EPC1 デバイスをカスケード接続すると、複数の Cyclone II デバイスをコンフィギュレーションできます。チェイン内の 最初のコンフィギュレーション・デバイスは、マスタ・コンフィギュレー ション・デバイスであり、後続のデバイスはスレーブ・デバイスとなり ます。マスタ・コンフィギュレーション・デバイスは、DCLK を Cyclone II デバイスとスレーブ・コンフィギュレーション・デバイスに送信します。 最初のコンフィギュレーション・デバイスの nCS ピンをすべての Cyclone II デバイスの CONF_DONE ピンに接続し、nCASC ピンをチェイ ン内の次のコンフィギュレーション・デバイスの nCS ピンに接続しま す。最後のコンフィギュレーション・デバイスの nCASC ピンは、浮動状 態のままにします。マスタ・コンフィギュレーション・デバイスがすべ てのデータを Cyclone II デバイスに送信するとき、コンフィギュレー ション・デバイスは nCASC ピンを Low に遷移させます。この遷移によ り、次のコンフィギュレーション・デバイスの nCS がドライブされま す。コンフィギュレーション・デバイスは、後続のコンフィギュレーショ ン・デバイスをアクティブにするのに 1 クロック・サイクル未満しか必 要としないので、データ・ストリームは中断されません。 エンハンスド・コンフィギュレーション・デバイス(EPC16、 EPC8、および EPC4 デバイス)はカスケード接続できません。 すべての nSTATUS ピンと CONF_DONE ピンは接続されているため、い ずれかのデバイスがエラーを検出すると、マスタ・コンフィギュレーショ ン・デバイスは、チェイン全体のコンフィギュレーションを停止します。 したがって、チェイン全体をリコンフィギュレーションしなければなり ません。例えば、コンフィギュレーションの最後に、マスタ・コンフィ ギュレーション・デバイスが Cyclone II デバイスの CONF_DONE ピンが High に遷移するのを検出できない場合、OE ピンを Low に遷移させて チェイン全体をリセットします。この Low 信号で、スレーブ・コンフィ ギュレーション・デバイスの OE ピンとすべての Cyclone II デバイスの nSTATUS が Low になり、デバイスはリセット状態に移行します。この 動作は、FPGA がコンフィギュレーション・データでエラーを検出する ときの動作に似ています。 図 13-17 に、カスケード接続された EPC2 または EPC1 デバイスを使用 した複数デバイスのコンフィギュレーション方法を示します。 Altera Corporation 2005 年 7 月 13–47 Cyclone II デバイス・ハンドブック Volume 1 PS コンフィギュレーション 図 13-17. カスケード接続された EPC2 または EPC1 デバイスを使用した複数デバイスの PS コンフィギュレーション VCC (4) VCC (1) VCC (1) VCC (1) 10 kΩ (3) 10 kΩ VCC (2) 10 kΩ (3) VCC Cyclone II デバイス2 MSEL0 DA TA0 MSEL1 nST ATUS DCLK DCLK MSEL0 DA TA0 DA TA MSEL1 nST ATUS OE (3) CONF_DONE CONF_DONE nCONFIG nCONFIG GND EPC2または EPC1のデバイス1 Cyclone II デバイス1 DCLK (5) N.C. 10 kΩ nCS (3) nINIT_CONF GND nCEO nCE nCEO EPC2または EPC1のデバイス2 DCLK DA TA nCASC (2) nCS OE nINIT_CONF nCE GND 図 13-17 の注: (1) プルアップ抵抗は、コンフィギュレーション・デバイスと同じ電源電圧に接続する必要があります。 (2) nINIT_CONF ピン(エンハンスド・コンフィギュレーション・デバイスと EPC2 デバイス上でのみ使用可能) には、常にアクティブな内部プルアップ抵抗があります。つまり、nINIT_CONF から nCONFIG へのライン では、外部プルアップ抵抗を使用してはなりません。nINIT_CONF ピンは、その機能を使用しない場合、接 続する必要はありません。nINIT_CONF を使用しない場合、または使用できない場合(EPC1 デバイス上な どで)は、nCONFIG を直接または抵抗を通して VCC にプルする必要があります。 (3) エンハンスド・コンフィギュレーション・デバイスと EPC2 デバイスの OE ピンと nCS ピンには、内部プロ グラマブル・プルアップ抵抗があります。内部プルアップ抵抗を使用する場合、これらのピンでは外部プル アップ抵抗を使用しないでください。Quartus II ソフトウェアでは、デフォルトで内部プルアップ抵抗が使 用されます。内部プルアップ抵抗をオフにするには、プログラミング・ファイルの生成時に Disable nCS and OE pull-ups on configuration device オプションをオンにします。 (4) 10 kΩ の外部プルアップ抵抗を使用して、nCEO ピンを I/O バンクの VCCIO レベルに対して High にプルアッ プし、このピンが次のデバイスの nCE ピンに信号を供給するときに、内部ウィーク・プルアップ抵抗を支援 するようにします。 (5) nCEO ピンは、未接続のままにするか、他のデバイスの nCE ピンに信号を供給していない場合は、ユーザ I/O ピ ンとして使用できます。 13–48 Cyclone II デバイス・ハンドブック Volume 1 Altera Corporation 2005 年 7 月 Cyclone II デバイスのコンフィギュレーション エンハンスド・コンフィギュレーション・デバイスまたは EPC2 デバイ スの使用時には、Cyclone II デバイスの nCONFIG ピンをコンフィギュ レーション・デバイスの nINIT_CONF ピンに接続できます。このピンで は、FPGA コンフィギュレーションを開始する INIT_CONF JTAG 命令 を実行できます。nINIT_CONF ピンを使用しない場合、このピンを接続 する必要はありません。nINIT_CONF ピンを使用しない場合、または使 用できない場合(EPC1 デバイス上などで)は、nCONFIG ピンを直接ま たは抵抗を通して VCC レベルにプルします。エンハンスド・コンフィ ギュレーション・デバイスと EPC2 デバイスでは、nINIT_CONF ピン上 の内部プルアップ抵抗は常にアクティブになっています。このため、 nCONFIG ピンを nINIT_CONF に接続する場合、外部プルアップ抵抗を 使用しないでください。複数の EPC2 デバイスを使用して Cyclone II デ バイスをコンフィギュレーションする場合は、最初の EPC2 デバイスの nINIT_CONF ピンのみをデバイスの nCONFIG ピンに接続します。 1 つのコンフィギュレーション・チェインを使用して、Cyclone II デバ イスを他のアルテラ製デバイスとともにコンフィギュレーションするこ とができます。チェイン内のすべてのデバイスが同時にコンフィギュ レーションを完了するか、または 1 つのデバイスからレポートされたエ ラーによってすべてのデバイスのリコンフィギュレーションが開始され るようにするには、すべての Cyclone II デバイスの CONF_DONE ピンと すべての Cyclone II デバイスの nSTATUS ピンを互いに接続します。 同じコンフィギュレーション・チェイン内で複数のアルテラ製デバイス をコンフィギュレーションする方法の詳細については、「Configuration Handbook」の「Configuring Mixed Altera FPGA Chains」の章を参照 してください。 PS コンフィギュレーション中、デザインでは、セットアップとホールド・ タイミング・パラメータの要件、および最大 DCLK 周波数の要件に適合 する必要があります。エンハンスド・コンフィギュレーション・デバイ スと EPC2 デバイスは、これらのインタフェース・タイミング仕様に適 合するように設計されています。 図 13-18 に、コンフィギュレーション・デバイスを使用した PS コンフィ ギュレーション手法のタイミング波形を示します。 Altera Corporation 2005 年 7 月 13–49 Cyclone II デバイス・ハンドブック Volume 1 PS コンフィギュレーション 図 13-18. コンフィギュレーション・デバイスのタイミング波形を使用した Cyclone II デバイスの PS コンフィギュレーション nINIT_CONF or VCC/nCONFIG tPOR OE/nSTATUS nCS/CONF_DONE DCLK DATA tDSU tCL D0 D1 tCH tDH tOEZX D2 D3 Dn tCO User I/O User Mode Tri-Stated with internal pull-up resistor INIT_DONE t CD2UM (1) 図 13-18 の注: (1) Cyclone II デバイスは、CONF_DONE が High になった後、299 個のクロック・サイクルでユーザ・モードに移行 します。初期化クロックは、Cyclone II デバイスの内部発振器または CLKUSR ピンから供給できます。 タイミングについては、 「Configuration Handbook」 の 「Enhanced Configuration Devices (EPC4, EPC8, and EPC16) Data Sheet」 、または「Configuration Devices for SRAM-Based LUT Devices Data Sheet」を参照してください。 デバイスのコンフィギュレーション・オプションおよびコンフィギュレー ション・ファイルの作成方法の詳細については、 「Configuration Handbook Volume 2」の「Software Settings」を参照してください。 ダウンロード・ケーブルを使用したPSコンフィギュレーション PS コンフィギュレーションでは、インテリジェント・ホスト(PC など) は、ダウンロード・ケーブルを使用して、データをストレージ・デバイ スから Cyclone II デバイスに転送できます。ダウンロード・ケーブルと しては、アルテラの USB-Blaster ユニバーサル・シリアル・バス(USB) ポート・ダウンロード・ケーブル、MasterBlaster™ シリアル /USB 通信 ケーブル、ByteBlaster II パラレル・ポート・ダウンロード・ケーブル、 または ByteBlasterMV パラレル・ポート・ダウンロード・ケーブルを使 用できます。 13–50 Cyclone II デバイス・ハンドブック Volume 1 Altera Corporation 2005 年 7 月 Cyclone II デバイスのコンフィギュレーション パワーアップ時には、Cyclone II デバイスでは、約 100 ms 続く POR の 処理が行われます。POR の処理中、デバイスはリセットされ、nSTATUS を Low に保持し、すべてのユーザ I/O ピンをトライ・ステートにしま す。FPGA が POR を正常に終了すると、nSTATUS ピンが解放され、す べてのユーザ I/O ピンはトライ・ステート状態を継続します。 コンフィギュレーションの実行前および実行中にオンになる I/O ピン上 のウィーク・プルアップ抵抗の値は、 「Cyclone II デバイス・ハンドブッ ク」を参照してください。 コンフィギュレーション・サイクルは、リセット、コンフィギュレーショ ン、初期化の 3 つのステージから構成されています。nCONFIG ピンまた は nSTATUS ピンが Low の場合、デバイスはリセット状態です。この手 法でコンフィギュレーションを開始するために、ダウンロード・ケーブ ルは、nCONFIG ピン上で Low から High への遷移を発生します。 コンフィギュレーション・プロセスを開始するには、コンフィ ギュレーションと JTAG ピンが存在するバンクの VCCINT と VCCIO に給電され、適切な電圧レベルになっていることを確認します。 nCONFIG が High に遷移すると、Cyclone II デバイスはリセット状態を 抜け、コンフィギュレーションを開始します。Cyclone II デバイスは、 オープン・ドレイン nSTATUS ピンを解放します。その後、このピンは 10 kΩ の外部抵抗によって High にプルアップされます。nSTATUS が High に遷移すると、Cyclone II デバイスはコンフィギュレーション・ データを受信可能な状態になります。その後、プログラミング・ハード ウェアまたはダウンロード・ケーブルが、コンフィギュレーション・デー タを一度に 1 ビットずつデバイスの DATA0 ピンに送信します。コンフィ ギュレーション・データは、CONF_DONE が High になるまでクロックで タ ー ゲ ット・デ バ イ ス に 送 ら れ ま す。デ バ イ ス を 初 期 化 す る に は、 CONF_DONE ピンは 10 kΩ の外部プルアップ抵抗が必要です。 ダウンロード・ケーブルの使用時には、Auto-restart configuration after error オプションは使用できません。エラーが発生した場合は、Quartus II ソフトウェアで手動によりコンフィギュレーションを再開する必要があ ります。また、Quartus II プログラマおよびダウンロード・ケーブルを 使用して FPGA をプログラムする場合、Enable user-supplied start-up clock (CLKUSR) オプションは使用できません。このオプションは SOF ではディセーブルされます。このため、CLKUSR オプションをオンにす ると、Quartus II プログラマおよびダウンロード・ケーブルを使用して FPGA をコンフィギュレーションする場合、CLKUSR にクロックを供給 す る 必 要 はありません。図 13-19 に、USB Blaster、MasterBlaster、 ByteBlaster II または ByteBlasterMV ケーブルを使用した Cyclone II デバ イスの PS コンフィギュレーションを示します。 Altera Corporation 2005 年 7 月 13–51 Cyclone II デバイス・ハンドブック Volume 1 PS コンフィギュレーション 図 13-19. USB-Blaster、MasterBlaster、ByteBlaster II または ByteBlasterMV ケーブルを使用した PS コンフィギュレーション VCC (1) (2) VCC (1) 10 kΩ VCC (1) 10 kΩ (2) VCC (1) 10 kΩ Cyclone II デバイス VCC CONF_DONE 10 kΩ VCC (1) 10 kΩ nSTATUS MSEL0 MSEL1 nCE GND nCEO N.C. (4) USB-Blaster、 ByteBlaster II、 MasterBlasterまたは ByteBlasterMVの 10ピン・オス・ヘッダ部 DCLK DATA0 ピン1 VCC nCONFIG GND VIO (3) シールド GND 図 13-19 の注: (1) プルアップ抵抗は、USB-Blaster、MasterBlaster(VIO ピン)、ByteBlaster II または ByteBlasterMV ケーブル と同じ電源電圧に接続する必要があります。 (2) DATA0 と DCLK 上のプルアップ抵抗は、ダウンロード・ケーブルがボード上の唯一のコンフィギュレーション 手法の場合にのみ必要です。これは、コンフィギュレーション後に DATA0 と DCLK を浮動状態のままにしない ためです。例えば、コンフィギュレーション・デバイスも使用している場合、DATA0 と DCLK 上のプルアップ 抵抗は不要になります。 (3) ヘッダ部のピン 6 は、MasterBlaster 出力ドライバ用の VIO リファレンス電圧です。VIO は、デバイスの VCCIO と一致する必要があります。この値については、「MasterBlaster Serial/USB Communications Cable Data Sheet」を参照してください。ByteBlasterMV では、このピンは接続不要です。USB-Blaster と ByteBlaster II では、AS プログラミングに使用する場合は、nCE に接続し、それ以外の場合は接続不要です。 (4) nCEO ピンは、未接続のままにするか、他のデバイスの nCE ピンに信号を供給していない場合は、ユーザ I/O ピン として使用できます。 13–52 Cyclone II デバイス・ハンドブック Volume 1 Altera Corporation 2005 年 7 月 Cyclone II デバイスのコンフィギュレーション ダウンロード・ケーブルを使用すると、各デバイスの nCEO ピンを後続 のデバイスの nCE ピンに接続することで、複数の Cyclone II デバイスを コンフィギュレーションできます。最初の Cyclone II デバイスの nCE ピ ンを GND に接続し、nCEO ピンをチェインの次のデバイスの nCE ピン に接続します。nCEO ピンが次の Cyclone II デバイスの nCE ピンに信号 を供給するときには、10 kΩ の外部プルアップ抵抗を使用して、nCEO ピ ンを VCCIO に対して High にプルアップします。チェイン内のすべての デバイスの、他のすべてのコンフィギュレーション・ピン(nCONFIG、 nSTATUS、DCLK、DATA0、および CONF_DONE)を互いに接続します。 すべてのデバイスの CONF_DONE ピンは互いに接続されるため、チェイ ン内のすべてのデバイスは、同時に初期化されユーザ・モードに移行し ます。 さらに、nSTATUS ピンも互いに接続されるため、いずれかのデバイスが エラーを検出すると、チェイン内のすべての Cyclone II デバイスは、コ ンフィギュレーションを停止します。この場合、Quartus II ソフトウェ アでコンフィギュレーションを手動で再開する必要があります。 図 13-20 に、ダウンロード・ケーブルを使用した複数の Cyclone II デバ イスのコンフィギュレーション方法を示します。 Altera Corporation 2005 年 7 月 13–53 Cyclone II デバイス・ハンドブック Volume 1 PS コンフィギュレーション 図 13-20. USB-Blaster、MasterBlaster、ByteBlaster II または ByteBlasterMV ケーブルを使用した 複数デバイスの PS コンフィギュレーション VCC (1) VCC (1) VCC (1) 10 kΩ 10 kΩ (2) VCC 10 kΩ (2) VCC (1) USB-Blaster、 ByteBlaster II、 MasterBlasterまたは ByteBlasterMVの 10ピン・オス・ヘッダ部 (パッシブ・シリアル・モード) 10 kΩ Cyclone II FPGA 1 ピン1 CONF_DONE VCC (4) VCC (2) nSTATUS MSEL0 DCLK 10 kΩ MSEL1 GND VCC (1) VIO (3) nCE 10 kΩ GND DATA0 nCEO nCONFIG VCC GND Cyclone II FPGA 2 CONF_DONE GND MSEL0 nSTATUS MSEL1 DCLK nCEO N.C. (5) nCE DATA0 nCONFIG 図 13-20 の注: (1) プルアップ抵抗は、USB-Blaster、MasterBlaster(VIO ピン)、ByteBlaster II または ByteBlasterMV ケーブル と同じ電源電圧に接続する必要があります。 (2) DATA0 と DCLK 上のプルアップ抵抗は、ダウンロード・ケーブルがボード上の唯一のコンフィギュレーション 手法の場合にのみ必要です。これは、コンフィギュレーション後に DATA0 と DCLK を浮動状態のままにしな いためです。例えば、コンフィギュレーション・デバイスも使用する場合、DATA0 と DCLK 上のプルアップ 抵抗は不要になります。 (3) ヘッダ部のピン 6 は、MasterBlaster 出力ドライバ用の VIO リファレンス電圧です。VIO は、デバイスの VCCIO と一致する必要があります。この値については、「MasterBlaster Serial/USB Communications Cable Data Sheet」を参照してください。ByteBlasterMV では、このピンは接続不要です。USB-Blaster と ByteBlaster II では、AS プログラミングに使用する場合は、nCE に接続し、それ以外の場合は接続不要です。 (4) プルアップ抵抗を nCEO ピンが存在する I/O バンクの VCCIO 電源電圧に接続します。 (5) チェイン内の最後のデバイスの nCEO ピンは、未接続のままにするか、ユーザ I/O ピンとして使用できます。 13–54 Cyclone II デバイス・ハンドブック Volume 1 Altera Corporation 2005 年 7 月 Cyclone II デバイスのコンフィギュレーション ダウンロード・ケーブルを使用して、コンフィギュレーション・デバイ スも搭載している PCB 上の Cyclone II デバイスをコンフィギュレーショ ンする場合、そのコンフィギュレーション・デバイスをターゲットの Cyclone II デバイスおよびケーブルから電気的に絶縁する必要がありま す。コンフィギュレーション・デバイスを絶縁する 1 つの方法は、コン フィギュレーション・デバイスとケーブル間で選択可能なマルチプレク サなどのロジックを追加することです。マルチプレクサは、nSTATUS 信 号と CONF_DONE 信号上の双方向転送を許容する必要があります。さら に、ケーブルとコンフィギュレーション・デバイス間の 5 つの共通信号 (nCONFIG、nSTATUS、DCLK、DATA0、および CONF_DONE)にスイッ チを追加することもできます。ケーブルを使用して FPGA をコンフィ ギュレーションする場合、コンフィギュレーション・デバイスをボード から取り外すこともできます。図 13-21 に、FPGA をコンフィギュレー ションするためのコンフィギュレーション・デバイスとダウンロード・ ケーブルの組み合わせを示します。 図 13-21. ダウンロード・ケーブルとコンフィギュレーション・デバイス回路による PS コンフィギュレーション VCC (1) VCC VCC (1) 10 kΩ (5) 10 kΩ (5) Cyclone II FPGA VCC (1) USB-Blaster、 ByteBlaster II、 MasterBlasterまたは ByteBlasterMVの 10ピン・オス・ヘッダ部 (パッシブ・シリアル・モード) ピン1 CONF_DONE 10 kΩ (4) MSEL0 nSTATUS MSEL1 DCLK VCC GND VIO (2) nCE nCEO N.C. (6) GND DATA0 (3) (3) (3) nCONFIG GND コンフィギュレーション・ デバイス (3) DCLK DATA (3) OE (5) nCS (5) nINIT_CONF (4) 図 13-21 の注: (1) プルアップ抵抗は、コンフィギュレーション・デバイスと同じ電源電圧に接続する必要があります。 (2) ヘッダ部のピン 6 は、MasterBlaster 出力ドライバ用の VIO リファレンス電圧です。VIO は、デバイスの VCCIO と一致する必要があります。この値については、「MasterBlaster Serial/USB Communications Cable Data Sheet」を参照してください。ByteBlasterMV では、このピンは接続不要です。USB-Blaster と ByteBlaster II では、AS プログラミングに使用する場合は、nCE に接続し、それ以外の場合は接続不要です。 Altera Corporation 2005 年 7 月 13–55 Cyclone II デバイス・ハンドブック Volume 1 JTAG コンフィギュレーション (3) コンフィギュレーション・デバイスが Cyclone II デバイスに接続されているときに、ダウンロード・ケーブ ルによるコンフィギュレーションを行ってはなりません。代わりに、ダウンロード・ケーブルの使用時にコ ンフィギュレーション・デバイスをソケットから取り外すか、ダウンロード・ケーブルとコンフィギュレー ション・デバイス間の 5 つの共通信号上にスイッチを配置する必要があります。 (4) nINIT_CONF ピン(エンハンスド・コンフィギュレーション・デバイスと EPC2 デバイス上でのみ使用可能) には、常にアクティブな内部プルアップ抵抗があります。つまり、nINIT_CONF から nCONFIG へのライン 上では、プルアップ抵抗を使用してはなりません。nINIT_CONF ピンは、その機能を使用しない場合、接続 する必要はありません。nINIT_CONF を使用しない場合、または使用できない場合(EPC1 デバイス上など で)は、nCONFIG を直接または抵抗を通して VCC にプルする必要があります。 (5) エンハンスド・コンフィギュレーション・デバイスのOE ピンと nCS ピンには、内部プログラマブル・プルアッ プ抵抗があります。内部プルアップ抵抗を使用する場合、これらのピンでは外部プルアップ抵抗を使用しない でください。Quartus II ソフトウェアでは、デフォルトで内部プルアップ抵抗が使用されます。内部プルアップ 抵抗をオフにするには、プログラミング・ファイルの生成時に Disable nCS and OE pull-ups on configuration device オプションをオンにします。 (6) nCEO ピンは、未接続のままにするか、他のデバイスの nCE ピンに信号を供給していない場合は、ユーザ I/O ピ ンとして使用できます。 USB-Blaster、MasterBlaster、ByteBlaster II、または ByteBlasterMV ケー ブルの使用方法の詳細については、下記の資料を参照してください。 ■ ■ ■ ■ JTAG コンフィ ギュレーション USB-Blaster USB Port Download Cable Data Sheet MasterBlaster Serial/USB Communications Cable Data Sheet ByteBlaster II Parallel Port Download Cable Data Sheet ByteBlasterMV Parallel Port Download Cable Data Sheet JTAG(Joint Test Action Group)は、バウンダリ・スキャン・テスト用 の仕様を開発しました。このバウンダリ・スキャン・テスト(BST)アー キテクチャを使用すると、リード線間隔が緊密な PCB 上のコンポーネン トをテストできます。BST アーキテクチャでは、物理的なテスト・プロー ブを使用しないでピンの接続をテストでき、またデバイスの通常動作中 に機能データをキャプチャすることができます。JTAG 回路は、コンフィ ギュレーション・データをデバイスにシフトするときにも使用できます。 Quartus II ソフトウェアは、SOF ファイルを自動的に生成します。この ファイルは、Quartus II プログラマでダウンロード・ケーブルを使用し た JTAG コンフィギュレーションに使用できます。 JTAG バウンダリ・スキャン・テストの詳細については、下記の資料を 参照してください。 ■ 「Cyclone II デバイス・ハンドブック」の「Cyclone II デバイスの IEEE 1149.1 ■ (JTAG) バウンダリ・スキャン・テスト」の章 Jam Programming & Testing Language Specification 13–56 Cyclone II デバイス・ハンドブック Volume 1 Altera Corporation 2005 年 7 月 Cyclone II デバイスのコンフィギュレーション Cyclone II デバイスは、 JTAG 命令が任意のデバイスのコンフィギュレー ション・モードに優先するように設計されています。つまり、JTAG コ ンフィギュレーションは、他のコンフィギュレーション・モードの完了 を待たずに実行できます。例えば、PS コンフィギュレーション中に Cyclone II デバイスの JTAG コンフィギュレーションを試みると、PS コ ンフィギュレーションは終了し、JTAG コンフィギュレーションが開始 します。Cyclone II デバイスの MSEL ピンを AS または高速 AS モードに 設定した場合、JTAG コンフィギュレーションが発生すると、Cyclone II デバイスは DCLK 信号を出力しなくなります。 JTAG ベースのコンフィギュレーションを使用時に Cyclone II デ バイスをコンフィギュレーションする場合、Cyclone II デバイス の復元機能は使用できません。 JTAG モードで動作するデバイスは、TDI、TDO、TMS、および TCK の各 ピンを使用します。TCK ピンは内部ウィーク・プルダウン抵抗を備えて いますが、他の JTAG 入力ピンの TDI ピンと TMS ピンは内部ウィーク・ プルアップ抵抗を備えています。すべてのユーザ I/O ピンは、JTAG コ ンフィギュレーションの実行中にトライ・ステートとなります。表 13–9 に各 JTAG ピンの機能説明を示します。 表 13–9. 専用 JTAG ピン ( 1 / 2 ) ピン名 Altera Corporation 2005 年 7 月 ピン・タイプ 説明 TDI テスト・データ入力 命令、テストおよびプログラミング・データ 用のシリアル入力ピン。データは、TCK の立 ち上がりエッジでシフト・インされます。 ボード上で JTAG インタフェースが必要でな い場合、このピンを VCC に接続すると、JTAG 回路をディセーブルできます。 TDO テスト・データ出力 命令、テストおよびプログラミング・データ 用のシリアル・データ出力ピン。データは、 TCKの立ち下がりエッジでシフト・アウトされ ます。データがデバイスからシフト・アウト されない場合、このピンはトライ・ステート になります。 ボード上で JTAG インタフェースが必要でな い場合、このピンを未接続のままにすると、 JTAG 回路をディセーブルできます。 13–57 Cyclone II デバイス・ハンドブック Volume 1 JTAG コンフィギュレーション 表 13–9. 専用 JTAG ピン ピン名 ピン・タイプ (2/2) 説明 TAP コントローラ・ステート・マシンの遷移 を判断するコントロール信号を提供する入力 ピン。ステート・マシン内の遷移は、 TCK の 立ち上がりエッジで発生します。このため、 TCK の立ち上がりエッジの前に TMS を設定す る必要があります。 TMS は、TCK の立ち上が りエッジで評価されます。 ボード上で JTAG インタフェースが必要でな い場合、このピンを VC C に接続すると、JTAG 回路をディセーブルできます。 TMS テスト・モード選択 TCK テスト・クロック入力 BST 回路へのクロック入力。立ち上がりエッ ジで発生する動作と、立ち下がりエッジで発 生する動作があります。 ボード上で JTAG インタフェースが必要ない 場合、このピンを GND に接続すると、JTAG 回路をディセーブルできます。 TDO 出力は、VCCIO 電源によって給電されます。VCCIO を 3.3 V に 接続すると、I/O ピンと JTAG TDO ポートのどちらも 3.3 V レベ ルにドライブされます。 単一デバイスの JTAG コンフィギュレーション JTAG コンフィギュレーション中、USB-Blaster、MasterBlaster、ByteBlaster II、 または ByteBlasterMV ダウンロード・ケーブルを使用して、データをデバイス にダウンロードできます。ケーブルを通した Cyclone II デバイスのコンフィ ギュレーションは、システム内でのデバイスのプログラミングに似ています。 図 13-22 に、ダウンロード・ケーブルを使用した単一の Cyclone II デバイスの JTAG コンフィギュレーションを示します。 13–58 Cyclone II デバイス・ハンドブック Volume 1 Altera Corporation 2005 年 7 月 Cyclone II デバイスのコンフィギュレーション 図 13-22. ダウンロード・ケーブルを使用した単一デバイスの JTAG コンフィギュレーション VCC (1) VCC (1) VCC (1) VCC (1) 1 kΩ 10 kΩ Cyclone II デバイス 10 kΩ nCE (4) 1 kΩ TCK TDO GND N.C. (5) nCE USB-Blaster、 ByteBlaster II、 MasterBlasterまたは ByteBlasterMVの 10ピン・オス・ヘッダ部 (平面図) TMS nSTATUS TDI CONF_DONE (2) nCONFIG (2) MSEL0 (2) MSEL1 (2) DATA0 (2) DCLK ピン1 VCC (1) GND VIO (3) 1 kΩ GND GND 図 13-22 の注: (1) プルアップ抵抗は、USB-Blaster、MasterBlaster(VIO ピン)、ByteBlaster II または ByteBlasterMV ケーブル と同じ電源電圧に接続する必要があります。 (2) JTAG 以外のコンフィギュレーション手法をサポートするには、nCONFIG ピンと MSEL[1..0] ピンを接続 します。JTAG コンフィギュレーションのみ使用する場合は、nCONFIG ピンを VCC に、MSEL[1..0] ピンを GNDに接続します。さらに、 DCLK と DATA0 をHighまたはLowのいずれか (ボードで適切な方) にプルします。 (3) ヘッダ部のピン 6 は、MasterBlaster 出力ドライバ用の VIO リファレンス電圧です。VIO は、デバイスの VCCIO と一致する必要があります。この値については、「MasterBlaster Serial/USB Communications Cable Data Sheet」を参照してください。ByteBlasterMV では、このピンは接続不要です。USB-Blaster と ByteBlaster II では、AS プログラミングに使用する場合は、nCE に接続し、それ以外の場合は接続不要です。 (4) JTAG コンフィギュレーションを正常に終了するには、nCE を GND に接続するか、Low にドライブする必要 があります。 (5) nCEO ピンは、未接続のままにするか、他のデバイスの nCE ピンに信号を供給していない場合は、ユーザ I/O ピン として使用できます。 JTAGチェイン内の単一デバイスをコンフィギュレーションするために、 プログラミング・ソフトウェアでは他のすべてのデバイスを BYPASS モードにします。BYPASS モードでは、Cyclone II デバイスは、1 つのバ イパス・レジスタを通して内部で影響を受けずに、TDI ピンから TDO ピンにプログラミング・データを渡します。この手法によって、プログ ラミング・ソフトウェアは、ターゲット・デバイスのプログラミングま たは検証を行うことができます。ターゲット・デバイスにドライブされ たコンフィギュレーション・データは、1 クロック・サイクル後に TDO ピン上に現れます。 Altera Corporation 2005 年 7 月 13–59 Cyclone II デバイス・ハンドブック Volume 1 JTAG コンフィギュレーション Quartus II ソフトウェアが、JTAG コンフィギュレーションの正常な完 了を確認します。コンフィギュレーションの最後に、このソフトウェア は JTAG ポートを通して CONF_DONE ピンをチェックします。Quartus II ソフトウェアが複数デバイス・チェイン用の JAM ファイルを生成する と、そのファイル内には命令が含まれており、チェイン内のデバイスは す べ て 同 時 に初期化されます。CONF_DONE が High でない場合、 Quartus II ソフトウェアはコンフィギュレーションが失敗したことを示 します。CONF_DONE が High に遷移すると、このソフトウェアはコン フィギュレーションの成功を示します。コンフィギュレーション・ビッ トストリームが JTAG TDI ポートを通してシリアルに送信された後、TCK ポートにクロックが 299 サイクル追加して供給され、Cyclone II デバイ スの初期化が実行されます。 Enable user-supplied start-up clock (CLKUSR) オプションは、デバイ スの初期化に影響を与えません。Quartus II プログラマとダウンロード・ ケーブルを使用して JTAG 内で FPGA をコンフィギュレーションすると き、SOF でこのオプションがディセーブルされるためです。このため、 CLKUSR オプションをオンにすると、Quartus II プログラマおよびダウ ンロード・ケーブルを使用して FPGA をコンフィギュレーションする場 合、CLKUSR にクロックを供給する必要はありません。 Cyclone II デバイスには、常に JTAG ピンとして機能する専用の JTAG ピ ンがあります。コンフィギュレーションの実行前後および実行中に、 Cyclone II デバイス上で JTAG テストを実行できます。Cyclone II デバイ スは、コンフィギュレーション中に BYPASS、IDCODE、および SAMPLE 命令を中断なしでサポートします。他の JTAG 命令はすべて、最初にコ ンフィギュレーションを中断してから、CONFIG_IO 命令を使用して I/O ピンを再プログラミングすることによってのみ発行できます。 CONFIG_IO 命令を使用すると、JTAG ポートを通して I/O バッファを コンフィギュレーションできます。CONFIG_IO 命令はコンフィギュレー ションを中断します。この命令では、Cyclone II デバイスをコンフィギュ レーションする前、またはコンフィギュレーション・デバイスによるコ ンフィギュレーションの完了を待たずに、ボード・レベルのテストを実 行できます。コンフィギュレーションを中断した場合、JTAG を通して (PULSE_CONFIG 命令)、または JTAG テストの完了後に nCONFIG で Low のパルスを発生させて、Cyclone II デバイスをリコンフィギュレー ションする必要があります。 詳細については、 「MorphIO: An I/O Reconfiguration Solution for Altera Devices White Paper」を参照してください。 13–60 Cyclone II デバイス・ハンドブック Volume 1 Altera Corporation 2005 年 7 月 Cyclone II デバイスのコンフィギュレーション Cyclone II デバイス上のチップ・ワイドのリセット(DEV_CLRn)ピン とチップ・ワイドの出力イネーブル(DEV_OE)ピンは、JTAG のバウン ダリ・スキャン動作やプログラミング動作に影響を与えません。これら のピンをトグルしても、JTAG 動作(通常のバウンダリ・スキャン動作 以外)に影響しません。 JTAG コンフィギュレーション用に Cyclone II ボードを設計する場合、 専用コンフィギュレーション・ピンの配置については、表 13–10 のガイ ドラインに従ってください。 表 13–10. JTAG コンフィギュレーション中の 専用コンフィギュレーション・ピンの接続 信号 Altera Corporation 2005 年 7 月 (1/2) 説明 nCE チェイン内のすべての Cyclone II デバイス上では、nCE を GND に接続するか、抵抗を通して Low にするか、何らかの コントロール回路でドライブして、Low にする必要がありま す。複数デバイスの AS または PS コンフィギュレーション・ チェインにも属するデバイスの場合、 nCE ピンを、JTAG コ ンフィギュレーション中に GND に接続するか、コンフィギュ レーション・チェインと同じ順序で JTAG コンフィギュレー ションする必要があります。 nCEO チェイン内のすべての Cyclone II デバイス上では、 nCEO を ユーザ I/O として使用するか、次のデバイスの nCE に接続す ることができます。nCEO を次のデバイスの nCE に接続する 場合、10 kΩ の外部プルアップ抵抗によって nCEO ピンを VCCIO に対して High にプルアップして、内部ウィーク・プル アップ抵抗を支援します。 nCEO ピンを次のデバイスの nCE ピンに接続しない場合、このピンはコンフィギュレーション 後にユーザ I/O ピンとして使用できます。 MSEL これらのピンは浮動状態のままにしてはなりません。これら のピンは、 生産時に使用されるJTAG以外のコンフィギュレー ションをサポートします。JTAG コンフィギュレーションの み使用している場合、これらのピンは GND に接続しなけれ ばなりません。 nCONFIG VCC に接続するか、抵抗を通してプルアップするか、何らか のコントロール回路でドライブすることによってHighにドラ イブされます。 nSTATUS 10 kΩ の抵抗を通して VCC にプルします。同じ JTAG チェイン 内の複数デバイスをコンフィギュレーションする場合、各 nSTATUS ピンは、個別に VCC にプルアップする必要がありま す。JTAG コンフィギュレーションの途中に nSTATUS が Low にプルダウンされた場合は、 エラーが発生したことを示します。 13–61 Cyclone II デバイス・ハンドブック Volume 1 JTAG コンフィギュレーション 表 13–10. JTAG コンフィギュレーション中の 専用コンフィギュレーション・ピンの接続 信号 (2/2) 説明 CONF_DONE 10 kΩ の抵抗を通して VCC にプルします。同じ JTAG チェイ ン内の複数デバイスをコンフィギュレーションする場合、各 CONF_DONE ピンは、個別にVCC にプルアップする必要があり ます。JTAG コンフィギュレーションの最後に CONF_DONE が High になった場合は、コンフィギュレーションが正常に終 了したことを示します。 DCLK 浮動状態のままにしてはなりません。High または Low のいず れか(ボードで適切な方)にします。 図 13-23 に、マイクロプロセッサを搭載した Cyclone II デバイスの JTAG コンフィギュレーションを示します。 図 13-23.マイクロプロセッサを使用した単一デバイスの JTAG コンフィギュレーション Cyclone II FPGA メモリ nCE (3) ADDR DATA (4) nCEO MSEL1 (2) nCONFIG MSEL0 (2) DATA0 (2) DCLK (2) VCC (1) VCC (1) TDI マイクロプロセッサ (2) 10 kΩ 10 kΩ TCK TDO TMS nSTATUS CONF_DONE 図 13-23 の注: (1) プルアップ抵抗は、チェイン内のすべてのデバイスに受け入れ可能な入力信 号を提供する電源に接続する必要があります。 (2) JTAG 以外のコンフィギュレーション手法をサポートするには、nCONFIG ピ ンと MSEL[1..0] ピンを接続します。JTAG コンフィギュレーションのみ使 用する場合は、nCONFIG ピンを VCC に、MSEL[1..0] ピンを GND に接続し ます。さらに、DCLK と DATA0 を High または Low のいずれか(ボードで適 切な方)にプルします。 (3) JTAG コンフィギュレーションを正常に終了するには、nCE を GND に接続 するか、Low にドライブする必要があります。 (4) EPCS4 デバイスまたは EPCS1 デバイスを使用している場合、MSEL[1..0] を 00 に設定します。詳細については、表 13–4 を参照してください。 13–62 Cyclone II デバイス・ハンドブック Volume 1 Altera Corporation 2005 年 7 月 Cyclone II デバイスのコンフィギュレーション 複数デバイスの JTAG コンフィギュレーション JTAG デバイス・チェインをプログラミングすると、1 つの JTAG 互換 ヘッダがいくつかのデバイスに接続されます。JTAG チェイン内のデバ イスの数は、ダウンロード・ケーブルのドライブ能力によってのみ制限 されます。JTAG チェイン内で 4 つ以上のデバイスを接続する場合、ア ルテラでは、オンボード・バッファを使用して TCK、TDI、および TMS ピンをバッファリングすることをお勧めします。 システムに複数のデバイスがある場合、または JTAG BST 回路を使用し てシステムをテストする場合は、JTAG チェイン・デバイスのプログラ ミングが最適です。図 13-24 に、複数デバイスの JTAG コンフィギュレー ションを示します。 図 13-24. ダウンロード・ケーブルを使用した複数デバイスの JTAG コンフィギュレーション VCC USB-Blaster、 ByteBlaster II 、 MasterBlasterまたは ByteBlasterMVの 10ピン・オス・ヘッダ部 VCC 10 kΩ VCC 10 kΩ (2) (2) DATA0 DCLK VCC (2) nCONFIG MSEL1 MSEL0 nCEO nCE (4) 1 kΩ VIO (3) (2) (2) TDI TMS (1) VCC 10 kΩ (1) VCC 10 kΩ CONF_DONE TDO TCK DATA0 DCLK (2) nCONFIG MSEL1 MSEL0 nCEO nCE (4) (2) (2) TDI TMS VCC (1) 10 kΩ Cyclone II FPGA nSTATUS (2) (2) (1) 10 kΩ Cyclone II FPGA nSTATUS 1 kΩ VCC (1) Cyclone II FPGA VCC ピン1 (1) nSTATUS CONF_DONE TDO TCK (2) (2) DATA0 DCLK (2) (2) (2) nCONFIG MSEL1 MSEL0 nCEO nCE (4) TDI TMS CONF_DONE TDO TCK 1 kΩ 図 13-24 の注: (1) プルアップ抵抗は、USB-Blaster、MasterBlaster(VIO ピン)、ByteBlaster II または ByteBlasterMV ケーブ ルと同じ電源電圧に接続する必要があります。 (2) JTAG 以外のコンフィギュレーション手法をサポートするには、nCONFIG ピンと MSEL[1..0] ピンを接続 します。JTAG コンフィギュレーションのみ使用する場合は、nCONFIG ピンを VCC に、MSEL[1..0] ピンを GNDに接続します。さらに、 DCLK と DATA0 をHighまたはLowのいずれか (ボードで適切な方) にプルします。 (3) ヘッダ部のピン 6 は、MasterBlaster 出力ドライバ用の VIO リファレンス電圧です。VIO は、デバイスの VCCIO と 一致する必要があります。この値については、 「MasterBlaster Serial/USB Communications Cable Data Sheet」を 参照してください。ByteBlasterMV ケーブルでは、このピンは接続不要です。USB-Blaster と ByteBlaster II ケー ブルでは、AS プログラミングに使用する場合は、nCE に接続し、それ以外の場合は接続不要です。 (4) JTAG コンフィギュレーションを正常に終了するには、nCE を GND に接続するか、Low にドライブする必 要があります。 Altera Corporation 2005 年 7 月 13–63 Cyclone II デバイス・ハンドブック Volume 1 JTAG コンフィギュレーション JTAG コンフィギュレーション中は、nCE ピンを GND に接続するか、 Low にドライブします。複数デバイスの AS および PS コンフィギュレー ション・チェインでは、最初のデバイスの nCE ピンを GND に接続し、 nCEO ピンをチェインの次のデバイスのnCE ピンに接続するか、コンフィ ギュレーション後にユーザ I/O ピンとして使用できます。 複数デバイスのコンフィギュレーション・チェインで最初のデバイスの コンフィギュレーションが完了したら、その nCEO ピンが Low になり、 2 番目のデバイスの nCE ピンをアクティブにします。これにより、2 番 目のデバイスはコンフィギュレーションを開始します。したがって、こ れらのデバイスが JTAG チェイン内にもある場合、JTAG コンフィギュ レーション中に nCE ピンが GND に接続されていること、またはデバイ スがコンフィギュレーション・チェインと同じ順序でJTAGコンフィギュ レーションされていることを確認する必要があります。デバイスが複数 デバイスのコンフィギュレーション・チェインと同じ順序で JTAG コン フィギュレーションされている限り、前のデバイスの nCEO ピンは、正 常に JTAG コンフィギュレーションされると、次のデバイスの nCE ピン を Low にドライブします。 Quartus II ソフトウェアは、Cyclone II デバイスの nCEO ピンを 出力ピンとして設定し、デフォルトで GND にドライブします。 nCEOピンが次のデバイスのnCEピンに入力信号を供給する場合、 コンフィギュレーション後に nCEO ピンをユーザ I/O ピンとして 使用しないようにする必要があります。 JTAG をサポートしている他のアルテラ製デバイスを同じ JTAG チェイ ンに配置して、デバイスのプログラミングとコンフィギュレーションを 行うことができます。 同じコンフィギュレーション・チェイン内で複数のアルテラ製デバイス をコンフィギュレーションする方法の詳細については、「Configuration Handbook」の「Configuring Mixed Altera FPGA Chains」の章を参照 してください。 Jam STAPL Jam STAPL、つまり、JEDEC 規格 JESD-71 は、イン・システム・プログ ラマビリティ(ISP)対応の標準ファイル・フォーマットです。Jam STAPL は、プログラマブル・デバイスのプログラミングまたはコンフィギュレー ション、および IEEE 1149.1 JTAG インタフェースを使用した電子システ ムのテストをサポートします。Jam STAPL はライセンス料が不要のオー プン規格です。Jam プレーヤには、IEEE 規格の 1149.1 JTAG TAP ステー ト・マシンを操作するためのインタフェースが備わっています。 13–64 Cyclone II デバイス・ハンドブック Volume 1 Altera Corporation 2005 年 7 月 Cyclone II デバイスのコンフィギュレーション エンベデッド環境での JTAG と Jam STAPL の詳細については、 「AN 122: Using Jam STAPL for ISP & ICR via an Embedded Processor」を参照し てください。Jam プレーヤをダウンロードするには、アルテラの Web サ イト(www.altera.co.jp)を参照してください。 JRunnerによるCyclone II FPGAのコンフィギュレーション JRunner は、JTAG モードの ByteBlaster II または ByteBlasterMV ケーブ ルを通して、Cyclone II デバイスをコンフィギュレーションできるソフ トウェア・ドライバです。サポートされているプログラミング入力ファ イルは .rbf フォーマットです。また、JRunner は Quartus II ソフトウェ アで生成された Chain Description File(.cdf)も必要とします。JRunner は、エンベデッド JTAG コンフィギュレーションをターゲットにしてい ます。ソース・コードは、Windows NT オペレーティング・システム (OS)用に開発されています。コードをカスタマイズして、使用するエ ンベデッド・プラットフォーム上で動作するようにできます。 JRunner ソフトウェア・ドライバが使用する RBF ファイルは、 JRunner が JTAG ベースのコンフィギュレーションを使用するた め、圧縮された RBF ファイルにすることはできません。JTAG ベースのコンフィギュレーション中は、リアルタイムの復元機能 を利用できません。 JRunner ソフトウェア・ドライバの詳細については、 「JRunner Software Driver: An Embedded Solution for PLD JTAG Configuration」およびア ルテラ Web サイトのソース・ファイルを参照してください。 JTAGインタフェースを使用したシリアル・コンフィギュ レーション・デバイスのイン・システム・プログラミング 単一デバイス・チェインまたは複数デバイス・チェイン内の Cyclone II デバイスは、シリアル・フラッシュ・ローダ・デザイン経由で、JTAG インタフェースを使用したシリアル・コンフィギュレーション・デバイ スのイン・システム・プログラミングをサポートします。ボードのイン テリジェント・ホストまたはダウンロード・ケーブルは、コンフィギュ レーション・デバイスのコンフィギュレーション・ピン(DCLK、DATA、 ASDI、および nCS)にアクセスできない場合でも、Cyclone II デバイス の 4 つの JTAG ピンを使用して、シリアル・コンフィギュレーション・ デバイスをイン・システムでプログラミングできます。 Altera Corporation 2005 年 7 月 13–65 Cyclone II デバイス・ハンドブック Volume 1 JTAG コンフィギュレーション シリアル・フラッシュ・ローダ・デザインは、アルテラのシリアル・コ ンフィギュレーション・デバイス向けの JTAG ベースのイン・システム・ プログラミング・ソリューションです。シリアル・フラッシュ・ローダ は、FPGA 向けのブリッジ・デザインで、その JTAG インタフェースを 使用して EPCS JIC(JTAG インダイレクト・コンフィギュレーション・ デバイス・プログラミング)ファイルにアクセスしてから、AS インタ フェースを使用して EPCS デバイスをプログラミングします。JTAG イ ンタフェースと AS インタフェースはともに、シリアル・フラッシュ・ ローダ・デザイン内でブリッジされます。 複数デバイス・チェインでは、シリアル・コンフィギュレーション・デ バイスを制御しているマスタ Cyclone II デバイスをコンフィギュレー ションだけで済みます。シリアル・コンフィギュレーション・デバイス でコンフィギュレーションされる、複数デバイス・チェインのスレーブ・ デバイスは、この機能の使用時にはコンフィギュレーションする必要は ありません。この機能を正常に使用するには、マスタ Cyclone II デバイ スの MSEL[1..0] ピンを設定して、AS コンフィギュレーション手法ま たは高速 AS コンフィギュレーション手法(表 13–1 を参照)を選択する ようにします。 Quartus II ソフトウェアのバージョン 4.1 以降では、JIC ファイル を使用した FPGA JTAG インタフェース経由でのシリアル・コン フィギュレーション・デバイスの ISP をサポートしています。 Cyclone II デバイスの JTAG インタフェースを通したシリアル・コンフィ ギュレーション・デバイスの ISP には、以下のセクションで説明する 3 つのステージがあります。 シリアル・フラッシュ・ローダ・デザインのロード シリアル・フラッシュ・ローダ・デザインは、Cyclone II デバイス内の デザインで、グルー・ロジックを使用して、Cyclone II デバイス内の JTAG インタフェースと AS インタフェースをブリッジします。 インテリジェント・ホストは、JTAG インタフェースを使用して、シリ アル・フラッシュ・ローダ・デザイン付きのマスタ Cyclone II デバイス をコンフィギュレーションします。シリアル・フラッシュ・ローダ・デ ザインを使用すると、マスタ Cyclone II デバイスは、JTAG インタフェー スを通してシリアル・コンフィギュレーション・デバイスの 4 本のピン のアクセスを制御できます。これらのピンは、ASMI(アクティブ・シ リアル・メモリ・インタフェース)ピンとも呼ばれます。ASMI ピンは、 シリアル・クロック入力(DCLK)、シリアル・データ出力(DATA)、AS データ入力(ASDI)、アクティブ Low チップ・セレクト(nCS)の 4 つ のピンから構成されています。 13–66 Cyclone II デバイス・ハンドブック Volume 1 Altera Corporation 2005 年 7 月 Cyclone II デバイスのコンフィギュレーション シリアル・フラッシュ・ローダ・デザインを使用してマスタ Cyclone II デバイスをコンフィギュレーションすると、複数デバイス・チェインの スレーブ・デバイスがコンフィギュレーションされていない場合でも、 マスタ Cyclone II デバイスはユーザ・モードに移行することができます。 CONF_DONE 信号がチェイン内の他のスレーブ・デバイスにより外部的 に Low に保持されていても、マスタ Cyclone II デバイスは、シリアル・ フラッシュ・ローダ・デザインを使用してユーザ・モードに移行できま す。図 13-25 に、シリアル・フラッシュ・ローダ・デザインを使用した 単一の Cyclone II デバイスの JTAG コンフィギュレーションを示します。 図 13-25. ダウンロード・ケーブルを使用した単一デバイスの JTAG コンフィギュレーション VCC (1) VCC (1) 1 kΩ VCC (1) VCC (1) 10 kΩ VCC (1) 10 kΩ Cyclone II デバイス 10 kΩ nCE (4) GND N.C. 1 kΩ TCK TDO nCE0 USB-Blaster、 ByteBlaster II、 MasterBlasterまたは ByteBlasterMVの 10ピン・オス・ヘッダ部 (平面図) TMS nSTATUS TDI CONF_DONE シリアル・ コンフィギュレーション・ デバイス (2) nCONFIG MSEL0 (2) MSEL1 ASDI ASDO nCS DCLK nCSO DCLK DATA DATA0 ピン1 VCC GND Serial Flash Loader VIO (3) 1 kΩ GND GND 図 13-25 の注: (1) プルアップ抵抗は、USB-Blaster、MasterBlaster(VIO ピン)、ByteBlaster II または ByteBlasterMV ケーブル と同じ電源電圧に接続する必要があります。 (2) nCONFIG ピンと MSEL[1..0] ピンを接続して、JTAG 以外のコンフィギュレーション手法をサポートする必 要があります。JTAG コンフィギュレーションのみ使用する場合は、nCONFIG を VCC に、MSEL[3..0] を GND に接続します。DCLK を High または Low のいずれか(ボードで適切な方)にプルします。 (3) ヘッダ部のピン 6 は、MasterBlaster 出力ドライバ用の VIO リファレンス電圧です。VIO は、デバイスの VCCIO と一致する必要があります。この値については、「MasterBlaster Serial/USB Communications Cable Data Sheet」を参照してください。ByteBlasterMV ケーブルでは、このピンは接続不要です。USB-Blaster と ByteBlaster II ケーブルでは、アクティブ・シリアル・プログラミングに使用する場合は、nCE に接続し、そ れ以外の場合は接続不要です。 (4) JTAG コンフィギュレーションを正常に終了するには、nCE を GND に接続するか、Low にドライブする必要があ ります。 Altera Corporation 2005 年 7 月 13–67 Cyclone II デバイス・ハンドブック Volume 1 デバイスのコンフィギュレーション・ピン シリアル・コンフィギュレーション・デバイスの ISP 2 番目のステージでは、マスタ Cyclone II デバイスのシリアル・フラッ シュ・ローダ・デザインでは、Cyclone II デバイスの JTAG インタフェー スを使用して、デバイス・チェインのコンフィギュレーション・データ をシリアル・コンフィギュレーション・デバイスに書き込むことができ ます。JTAG インタフェースは、シリアル・コンフィギュレーション・ デバイスのプログラミング・データを Cyclone II デバイスに最初に送信 します。Cyclone II デバイスは、ASMI ピンを使用してデータをシリア ル・コンフィギュレーション・デバイスに送信します。 リコンフィギュレーション すべてのコンフィギュレーション・データが正常にシリアル・コンフィ ギュレーション・デバイスに書き込まれた後、Cyclone II デバイスは自 身でリコンフィギュレーションを行いません。インテリジェント・ホス トが、PULSE_NCONFIG JTAG 命令を発行して、リコンフィギュレーショ ン・プロセスを初期化します。リコンフィギュレーション中に、マスタ Cyclone II デバイスはリセットされ、シリアル・フラッシュ・ローダ・ デザインは Cyclone II デバイスからなくなります。また、シリアル・コ ンフィギュレーション・デバイスは、ユーザ・デザインを使用してチェ イン内のすべてのデバイスをコンフィギュレーションします。 デバイスの コンフィギュ レーション・ ピン このセクションでは、Cyclone II デバイス上のすべてのコンフィギュ レーション関連ピンの接続と機能について説明します。表 13–11 に、コ ンフィギュレーションを正常に実行するために、ボード上で正しく接続 する必要がある専用のコンフィギュレーション・ピンを説明します。コ ンフィギュレーション手法によっては、これらのピンの一部は不要です。 13–68 Cyclone II デバイス・ハンドブック Volume 1 Altera Corporation 2005 年 7 月 Cyclone II デバイスのコンフィギュレーション 表 13–11. Cyclone II の専用コンフィギュレーション・ピン ピン名 ユーザ・モード MSEL[1..0] N/A コンフィギュ レーション 手法 すべて ピン・ タイプ 入力 (1/6) 説明 このピンは、Cyclone II デバイスのコンフィ ギュレーション手法を設定する2ビットのコ ンフィギュレーション入力です。適切な設定 については、表 13–1 を参照してください。 これらのピンは、VC C I O または GND に接続 する必要があります。 nCONFIG N/A すべて 入力 このピンはコンフィギュレーション・コント ロール入力です。このピンをユーザ・モード で Low にすると、FPGA はコンフィギュレー ション・データを失い、リセット状態に移行 して、すべての I/O ピンをトライ・ステート にします。このピンを High にするとリコン フィギュレーションを開始します。 コンフィギュレーション手法でエンハンス ド・コンフィギュレーション・デバイスまた は EPC2 デバイスを使用している場合、 nCONFIG ピンを直接 VC C またはコンフィ ギュレーション・デバイスの nINIT_CONF ピンに接続できます。 Altera Corporation 2005 年 7 月 13–69 Cyclone II デバイス・ハンドブック Volume 1 デバイスのコンフィギュレーション・ピン 表 13–11. Cyclone II の専用コンフィギュレーション・ピン ピン名 nSTATUS ユーザ・モード コンフィギュ レーション 手法 N/A すべて ピン・ タイプ (2/6) 説明 双方向 Cyclone II デバイスは、パワーアップ直後に オープン・ nSTATUS を Low にドライブし、POR 時間後 ドレイン に解放します。 このピンは Cyclone II デバイスのステータス 出力と入力を提供します。Cyclone II デバイ スは、コンフィギュレーション中にエラーを 検出すると、nSTATUS ピンを Low にし、コ ンフィギュレーションを停止します。コン フィギュレーション中または初期化中に、外 部ソース(例えば、別の Cyclone II デバイス) が nSTATUS ピンを Low にドライブすると、 ターゲット・デバイスはエラー状態に移行し ます。 コンフィギュレーションまたは初期化後に、 nSTATUS を Low にドライブしても、コンフィ ギュレーション対象デバイスには影響しませ ん。デザインでコンフィギュレーション・デ バイスを使用している場合、 nSTATUS を Low にドライブすると、コンフィギュレーション・ デバイスは FPGA のコンフィギュレーション を試みます。しかし、FPGA はユーザ・モー ドでは nSTATUS 上の遷移を無視するため、 リコンフィギュレーションは行われません。 リコンフィギュレーションを開始するには、 nCONFIG ピンを Low にします。 エンハンスド・コンフィギュレーション・デ バイスと EPC2 デバイスの OE ピンと nCS ピ ン は、そ れ ぞ れ Cyclone II デ バ イ ス の nSTATUS ピンと CONF_DONE ピンに接続さ れ、オプションの内部プログラマブル・プル アップ抵抗が備わります。エンハンスド・コ ンフィギュレーション・デバイスでこれらの 内部プルアップ抵抗を使用する場合、これら のピンでは10 kΩの外部プルアップ抵抗を使 用しないでください。EPC2 デバイスを使用 する場合は、10 kΩ の外部プルアップ抵抗の み使用する必要があります。 13–70 Cyclone II デバイス・ハンドブック Volume 1 Altera Corporation 2005 年 7 月 Cyclone II デバイスのコンフィギュレーション 表 13–11. Cyclone II の専用コンフィギュレーション・ピン ピン名 CONF_DONE ユーザ・モード コンフィギュ レーション 手法 N/A すべて ピン・ タイプ (3/6) 説明 このピンはステータス出力および入力です。 双方向 オープン・ ドレイン ターゲットCyclone IIデバイスは、コンフィ ギュレーションの実行前と実行中に、 CONF_DONE ピンを Low にドライブします。 Cyclone II デバイスは、すべてのコンフィ ギュレーション・データをエラーなしで受信 し、初 期 化 サ イ ク ル が 開 始 さ れ る と、 CONF_DONE を解放します。ユーザ・モード で CONF_DONE を Low にドライブしても、 コンフィギュレーション・デバイスに影響し ません。デバイスがユーザ・モードに移行す るまで、 CONF_DONE を Low にドライブし ないでください。 Cyclone II デバイスがすべてのデータを受 信すると、CONF_DONE ピンが High になり、 デバイスは初期化を実行しユーザ・モード に移行します。デバイスを初期化するには、 CONF_DONE ピンは 10 kΩ の外部プルアップ 抵抗が必要です。 コンフィギュレーションまたは初期化後に、 CONF_DONE を Low にドライブしても、コン フィギュレーション・デバイスには影響を与 えません。 エンハンスド・コンフィギュレーション・ デバイスとEPC2デバイスの OE ピンと nCS ピンは、それぞれ Cyclone II デバイスの nSTATUS ピンと CONF_DONE ピンに接続さ れ、オプションの内部プログラマブル・プル アップ抵抗が備わります。エンハンスド・コ ンフィギュレーション・デバイス上で内部プ ルアップ抵抗を使用する場合、これらのピン では10 kΩの外部プルアップ抵抗を使用しな いでください。EPC2 デバイスを使用する場 合は、10 kΩ の外部プルアップ抵抗のみ使用 する必要があります。 Altera Corporation 2005 年 7 月 13–71 Cyclone II デバイス・ハンドブック Volume 1 デバイスのコンフィギュレーション・ピン 表 13–11. Cyclone II の専用コンフィギュレーション・ピン ピン名 nCE ユーザ・モード コンフィギュ レーション 手法 N/A すべて ピン・ タイプ 入力 (4/6) 説明 このピンはアクティブ Low のチップ・イネー ブルです。 nCE ピンは、Low 信号でデバイ スをアクティブにし、コンフィギュレーショ ンを可能にします。コンフィギュレーショ ン、初期化、およびユーザ・モード中は、nCE ピンを Low に保持する必要があります。単 一デバイス・コンフィギュレーションでは、 Low に接続する必要があります。複数デバイ ス・コンフィギュレーションでは、最初のデ バイスの nCE を Low に接続し、 nCEO ピン をチェイン内の次のデバイスの nCE に接続 します。 また、FPGA の JTAG プログラミングを正常 に終了するため、nCE ピンも Low に保持す る必要があります。 nCEO オプションが すべて オンの場合、N/A オプションがオフ の場合、I/O 出力 このピンは、デバイスのコンフィギュレー ションが完了すると Low にドライブする出 力です。単一デバイス・コンフィギュレー ションでは、このピンを浮動状態のままにす るか、コンフィギュレーション後にユーザ I/O ピンとして使用できます。複数デバイス・ コンフィギュレーションでは、このピンは、 次のデバイスの nCE ピンに入力信号を供給 し ま す。チ ェ イ ン 内 の 最 後 の デ バ イ ス の nCEO ピンは、浮動状態のままにするか、コ ンフィギュレーション後にユーザ I/O ピンと して使用できます。 nCEO ピンを使用して次のデバイスの nCE ピ ンに信号を供給する場合、10 kΩ の外部プル アップ抵抗を使用して、 nCEO ピンを I/O バ ンクの VCCIO 電圧に対して High にプルアッ プし、内部ウィーク・プルアップ抵抗を支援 するようにします。 このピンをユーザ I/O ピンとして使用するに は、Quartus II ソフトウェアを使用します。 13–72 Cyclone II デバイス・ハンドブック Volume 1 Altera Corporation 2005 年 7 月 Cyclone II デバイスのコンフィギュレーション 表 13–11. Cyclone II の専用コンフィギュレーション・ピン ピン名 ASDO ユーザ・モード コンフィギュ レーション 手法 AS モ ー ド で は、 AS N/A PSモードとJTAG モードでは、I/O ピン・ タイプ 出力 (5/6) 説明 このピンは、コントロール信号を Cyclone II デバイスから AS モードのシリアル・コン フィギュレーション・デバイスに送信しま す。この信号はコンフィギュレーション・ データの読み出しに使用されます。 AS モードでは、 ASDO には常にアクティブ な内部プルアップ抵抗があります。 nCSO AS モ ー ド で は、 AS N/A PSモードとJTAG モードでは、I/O 出力 このピンは、コンフィギュレーション・デバ イスを有効にする出力コントロール信号を、 Cyclone II デバイスから AS モードのシリア ル・コンフィギュレーション・デバイスに送 信します。 AS モードでは、 nCSO には常にアクティブ な内部プルアップ抵抗があります。 Altera Corporation 2005 年 7 月 13–73 Cyclone II デバイス・ハンドブック Volume 1 デバイスのコンフィギュレーション・ピン 表 13–11. Cyclone II の専用コンフィギュレーション・ピン ピン名 DCLK ユーザ・モード N/A コンフィギュ レーション 手法 PS、 AS ピン・ タイプ (6/6) 説明 入力(PS) PS コンフィギュレーションでは、DCLK は、 出力(AS) データを外部ソースからターゲット・デバイ スに送るクロック入力です。データは、DCLK の立ち上がりエッジで Cyclone II デバイスに ラッチされます。 AS モードでは、 DCLK は Cyclone II デバイ スからの出力で、コンフィギュレーション・ インタフェースのタイミングを提供します。 AS モードでは、 DCLK には常にアクティブ な内部プルアップ抵抗があります。 コンフィギュレーションが終了すると、この ピンはトライ・ステートになります。コン フィギュレーション・デバイスを使用してい る場合、DCLK はコンフィギュレーションの 完了後に Low になります。デザインでコン トロール・ホストを使用している場合は、 DCLK を High または Low のいずれかにしま す。コンフィギュレーション後にこのピンを トグルしても、コンフィギュレーション・デ バイスには影響しません。 DATA0 N/A すべて 入力 データ入力ピンです。シリアル・コンフィ ギュレーション・モードでは、ビット幅のコ ンフィギュレーション・データがターゲッ ト・デバイスの DATA0 ピンに提供されます。 AS モードでは、DATA0 には常にアクティブ な内部プルアップ抵抗があります。 コンフィギュレーション後に、EPC1 デバイ スと EPC1441 デバイスではこのピンをトラ イ・ステート状態にしますが、エンハンス ド・コンフィギュレーション・デバイスと EPC2 デバイスではこのピンを High にドラ イブします。 13–74 Cyclone II デバイス・ハンドブック Volume 1 Altera Corporation 2005 年 7 月 Cyclone II デバイスのコンフィギュレーション 表 13–12 に、オプションのコンフィギュレーション・ピンの説明を示し ます。次のオプションのコンフィギュレーション・ピンが Quartus II ソ フトウェアでイネーブルされていない場合は、汎用のユーザ I/O ピンと して使用できます。したがって、コンフィギュレーションの実行中、こ れらのピンはユーザ I/O ピンとして機能し、ウィーク・プルアップ抵抗 でトライ・ステート状態となります。 表 13–12. オプションのコンフィギュレーション・ピン ピン名 ユーザ・モード ピン・タイプ 説明 1 つ以上のデバイスの初期化を同期させるオプション のユーザ提供クロック入力です。このピンをイネーブル するには、Quartus II ソフトウェアで Enable usersupplied start-up clock (CLKUSR) オプションをオン にします。 CLKUSR オプションがオン 入力 の場合、N/A オプションがオフ の場合、I/O INIT_DONE オプションがオン 出力オープン・ これはデバイスが初期化されユーザ・モードになったこ の場合、N/A ドレイン とを示すステータス・ピンです。nCONFIG が Low でか オプションがオフ つコンフィギュレーションの開始時には、INIT_DONE の場合、I/O ピンはトライ・ステートになり、10 kΩ の外部プルアッ プ抵抗で High にプルアップされます。INIT_DONE を イネーブルするオプションのビットをデバイスにプロ グラムすると(コンフィギュレーション・データの最初 のフレームで) 、INIT_DONE ピンが Low になります。 初期化が完了すると、INIT_DONE ピンが解放されて High にプルアップされ、FPGA がユーザ・モードに移行 します。このため、監視回路で Low から High への遷移 を検出できなければなりません。このピンをイネーブル するには、 Quartus II ソフトウェアで Enable INIT_DONE output オプションをオンにします。 DEV_OE オプションがオン 入力 の場合、N/A オプションがオフ の場合、I/O デバイス上のすべてのトライ・ステートを無効にでき るオプションのピンです。このピンを Low にドライブ すると、I/O ピンはすべてトライ・ステートになりま す。このピンを High にドライブすると、I/O ピンはす べてプログラムどおりに動作します。このピンをイ ネーブルするには、Quartus II ソフトウェアで Enable device-wide output enable (DEV_OE) オプションを オンにします。 DEV_CLRn オプションがオン 入力 の場合、N/A オプションがオフ の場合、I/O すべてのデバイス・レジスタ上のクリア信号をすべて 無効にできるオプションのピンです。このピンを Low にドライブすると、レジスタはすべてクリアされます。 このピンを High にドライブすると、レジスタはすべて プログラムどおりに動作します。このピンをイネーブ ルするには、Quartus II ソフトウェアで Enable devicewide reset (DEV_CLRn) オプションをオンにします。 Altera Corporation 2005 年 7 月 13–75 Cyclone II デバイス・ハンドブック Volume 1 まとめ 表 13–13 に、専用 JTAG ピンの説明を示します。JTAG 命令を誤ってロー ドしないように、コンフィギュレーションの実行前と実行中、JTAG ピ ンを安定した状態に維持する必要があります。TCK ピンは内部ウィーク・ プルダウン抵抗を備えていますが、TDI と TMS の JTAG 入力ピンは内部 ウィーク・プルアップ抵抗を備えています。 表 13–13. 専用 JTAG ピン ピン名 TDI ユーザ・ モード N/A ピン・タイプ 入力 説明 命令、テストおよびプログラミング・データ用のシリアル入力ピ ン。データは、TCK の立ち上がりエッジでシフト・インされます。 ボード上で JTAG インタフェースが必要でない場合、このピンを VCC に接続すると、JTAG 回路をディセーブルできます。 TDO N/A 出力 命令、テストおよびプログラミング・データ用のシリアル・デー タ出力ピン。データは、TCK の立ち下がりエッジでシフト・ア ウトされます。データがデバイスからシフト・アウトされない場 合、このピンはトライ・ステートになります。 ボード上で JTAG インタフェースが必要でない場合、このピンを 未接続のままにすると、JTAG 回路をディセーブルできます。 TMS N/A 入力 TAP コントローラ・ステート・マシンの遷移を判断するコント ロール信号を提供する入力ピン。ステート・マシン内の遷移は、 TCK の立ち上がりエッジで発生します。このため、TCK の立ち 上がりエッジの前に TMS を設定する必要があります。TMS は、 TCK の立ち上がりエッジで評価されます。 ボード上で JTAG インタフェースが必要でない場合、このピン を VCC に接続すると、JTAG 回路をディセーブルできます。 TCK N/A 入力 BST 回路へのクロック入力。立ち上がりエッジで発生する動作 と、立ち下がりエッジで発生する動作があります。 ボード上で JTAG インタフェースが必要ない場合、このピンを GND に接続すると、JTAG 回路をディセーブルできます。 まとめ Cyclone II デバイスは、システムの要件に合わせて、AS、PS、または JTAG コンフィギュレーション手法でコンフィギュレーションできます。 Cyclone II デバイスでサポートされている AS コンフィギュレーション手 法は、より高い DCLK 周波数(最大 40 MHz)で動作できるようになった ため、コンフィギュレーション時間を短縮できます。さらに、Cyclone II デバイスは圧縮されたコンフィギュレーション・ビットストリームを受 信し、このデータを AS または PS コンフィギュレーション手法ですぐに 復元できるため、必要なメモリおよびコンフィギュレーション時間をさ らに低減できます。 13–76 Cyclone II デバイス・ハンドブック Volume 1 Altera Corporation 2005 年 7 月