Parallel Flash Loader Intel® FPGA IPユーザーガイド

ID 683698
日付 7/23/2021
Public
ドキュメント目次

1.3.2. フラッシュメモリーからのインテルFPGAコンフィグレーションの制御

インテルCPLDのPFLロジックを、FPGAコンフィグレーションのコンフィグレーション・コントローラーとして使用できます。CPLDのPFLロジックは、コンフィグレーション・プロセスを開始し、フラッシュ・メモリー・デバイスからデータを読み出し、PSまたはFPPコンフィグレーション・スキームでインテルFPGAをコンフィグレーションするタイミングを決定します。
図 6. フラッシュメモリーのデータを使用したFPGAコンフィグレーション図で示しているのは、FPGAのコンフィグレーション・コントローラーとしてのインテルCPLDです。フラッシュメモリーには、CFI、クアッドSPIおよびNANDフラッシュが含まれます。

PFL IPコアを使用して、フラッシュ・メモリー・デバイスをプログラミングするか、FPGAをコンフィグレーションするか、またはその両方を行うことができます。ただし、次の条件のいずれかがデザインに当てはまる場合は、両方の機能を実行するために、個別のPFL機能を作成してください。

  • LEの使用を抑える場合
  • フラッシュデータ変更の頻度が低い場合
  • インテルCPLDにアクセスするJTAGまたは In-System Programming (ISP) を持っている場合
  • インテルFPGA以外のデータを使用してフラッシュ・メモリー・デバイスをプログラミングする場合。例えば、フラッシュ・メモリー・デバイスにはASSPの初期化ストレージが含まれています。PFL IPコアを使用すると、初期化データを使用したフラッシュ・メモリー・デバイスのプログラミング、独自のデザイン・ソース・コードの作成、CPLDロジックを使用した読み出しおよび初期化制御の実装ができます。

個別のPFL関数の作成

個別のPFLの機能を作成するには、次の手順に従います。

  1. PFLインスタンス化を作成するにはFlash Programming Onlyを選択します。
  2. ピンを適切に割り当てます。
  3. フラッシュ・メモリー・デバイスの .pof をコンパイルして生成します。未使用のI/Oピンはすべてトライステートにするようにしてください。
  4. 別のPFLインスタンス化を作成するにはConfiguration Control Only modeを選択します。
  5. このコンフィグレーション・コントローラーを量産デザインにインスタンス化します。
  6. フラッシュ・メモリー・デバイスをプログラミングする必要がある場合は常に、フラッシュ・メモリー・デバイス .pof を使用してCPLDをプログラミングし、フラッシュ・メモリー・デバイスの内容を更新します。
  7. コンフィグレーション・コントローラーを含む量産デザイン .pof によって、CPLDを再プログラミングします。
注: デフォルトでは、未使用のピンはすべてグランドに設定されています。CPLD JTAGピンを介してコンフィグレーション・フラッシュ・メモリー・デバイスをプログラミングする場合、CPLDとコンフィグレーション・フラッシュ・メモリー・デバイスに共通のFPGAコンフィグレーション・ピンをトライステートにする必要があります。PFLブロックのpfl_flash_access_request 信号および pfl_flash_access_granted信号を使用して、正しいFPGAコンフィグレーション・ピンをトライステートにすることができます。