エンハンスド・コンフィギュレーション(EPC)デバイス・データシート

ID 683253
日付 5/04/2016
Public
ドキュメント目次

1.3.2. 外部フラッシュ・インタフェース

EPCデバイスでは、外部FPGAまたはプロセッサからフラッシュ・メモリへのアクセスをサポートします。フラッシュ・メモリの未使用領域は、外部デバイスのコードまたはデータを格納する目的で使用できます。このインタフェースは、リモート・コンフィギュレーション機能を実装するシステム内でも使用できます。各コンフィギュレーション・ページ内のコンフィギュレーション・データは、外部フラッシュ・インタフェースを介して更新でき、システムは新しいFPGAイメージでリコンフィギュレーションできます。このインタフェースもNiosブート・コード、アプリケーション・コード、または両方のコードを格納する場合に役立ちます。

フラッシュ・メモリーのアドレス、データおよびコントロール・ポートは、EPCデバイスのコントローラおよび外部デバイスのピンに内部で接続されます。フラッシュ・インタフェースが利用可能の場合、外部ソースがこれらの外部デバイスのピンを駆動し、フラッシュ・メモリーにアクセスできます。

この外部フラッシュ・インタフェースは、コンフィギュレーション・コントローラ・チップとの共用バス・インタフェースです。コンフィギュレーション・コントローラはプライマリー・バス・マスターです。バス・アービトレーションのサポートがないため、外部デバイスは、コントローラがフラッシュへの内部インタフェースをトライ・ステートにする際のみ、フラッシュ・インタフェースにアクセスできます。コントローラと外部デバイスによる同時アクセスは、競合を起こし、コンフィギュレーションおよびプログラミングの失敗に繋がります。

内部フラッシュ・インタフェースは、外部フラッシュ・インタフェースのピンと直接接続されているため、コントローラのフラッシュ・アクセス・サイクルは外部フラッシュ・インタフェースのピンをトグルします。これらの動作中に、外部デバイスは自身のフラッシュ・インタフェースをトライ・ステートにし、フラッシュ・インタフェース・ピン上の遷移を無視する必要があります。

注: 外部フラッシュ・インタフェースの信号は、ISPおよびコンフィギュレーション時に競合を起こしてしまうため、複数のEPCデバイス間で共用できません。これらの動作中、EPCデバイス内のコントローラ・チップが活発にフラッシュ・メモリーにアクセスしています。そのため、EPCデバイスはフラッシュ・バス・インタフェースの共用をサポートしません。

下記の動作中に、EPCデバイスのコントローラ・チップがフラッシュ・メモリにアクセスします。

  • FPGAコンフィギュレーション: フラッシュからコンフィギュレーション・データを読み出す
  • JTAGベースのフラッシュ・プログラミング: フラッシュにコンフィギュレーション・データを格納する
  • POR時: フラッシュからオプション・ビットを読み出す

これらの動作中、外部FPGAまたはプロセッサは、フラッシュ・メモリへのインタフェースをトライ・ステートにする必要があります。コンフィギュレーションとプログラミング後に、EPCデバイスのコントローラが内部インタフェースをトライ・ステートにし、アイドル状態に入ります。コンフィギュレーション・サイクルを中断し、外部フラッシュ・インタフェースを介してフラッシュにアクセスするためには、外部デバイスがFPGAのnCONFIG入力ピンをlowに保持することができます。nSTATUS-OEラインがlowに保持されることによって、コンフィギュレーション・デバイスがリセット状態に維持し、外部フラッシュ・アクセスを可能にします。

図 4. 外部フラッシュ・インタフェースによるFPPコンフィギュレーションEPC8デバイスでの外部フラッシュ・インタフェースのサポートについては、アルテラにお問い合わせください。