インテル® FPGA SDK for OpenCL™: スタート・ガイド

ID 683188
日付 12/08/2017
Public
ドキュメント目次

3.8.2. FPGAのフラッシュメモリーのプログラミング

インテル® FPGA SDK for OpenCL™ デザイン例のハードウェア・イメージをデバイスのフラッシュメモリーにロードすることにより、FPGAをコンフィグレーションします。 FPGAは、通電していない間もフラッシュメモリー内のハードウェア・コンフィグレーション・ファイルを保持します。システムに電源を投入した際に、FPGA回路は、このフラッシュメモリーのハードウェア・イメージに基づいてコンフィグレーションされます。したがって、OpenCLと互換するハードウェア・コンフィグレーション・ファイルを、必ずFPGAのフラッシュメモリーにロードしておく必要があります。

また、多くのカスタム・プラットフォームでは、適切に機能するためにOpenCLイメージをフラッシュメモリーへプリロードしておく必要があります。たとえば、ほとんどのPCIe®ベースのボードが、フラッシュメモリー内に有効なOpenCLイメージを必要とします。これにより、ホスト・システムが最初に電源投入された際に、ボード上のハードウェアがイメージを使用してFPGAデバイスをコンフィグレーションします。FPGAが有効なOpenCLイメージでコンフィグレーションされなければ、システムがPCIeエンドポイントの列挙に失敗するか、あるいはドライバが機能しなくなります。

いずれのデザインを動作させる前にも、ボードのフラッシュメモリーが最新バージョンのOpenCLソフトウェアと互換する有効なOpenCLイメージを有していることを確認します。ボード固有の要件については、使用するボードのベンダーの資料を参照してください。

注意:
ハードウェア・コンフィグレーション・ファイルをFPGAのフラッシュメモリーにロードする際には、ロード処理が完了するまでシステムの通電を保ってください。ロードには数分を要することがあります。また、OpenCLカーネルを呼び出す、あるいは、それ以外でもFPGAボードと通信するホスト・コードを起動しないでください。

ハードウェア・コンフィグレーション・ファイルをFPGAボードのフラッシュメモリーにロードするには、以下のステップを行います。

  1. カスタム・プラットフォームに必要なすべてのドライバとユーティリティをインストールします。
  2. 使用するカスタム・プラットフォーム向けのデザイン例をダウンロードします。
    要確認: OpenCL Design Examplesページからデザイン例をダウンロードし、書き込みアクセスが可能な位置にデザイン例を解凍します。
  3. フラッシュメモリーにハードウェア・コンフィグレーション・ファイルをロードするために、 aocl flash <device_name> <example_design_filename>.aocxコマンドを呼び出します。このコマンドの<device_name>には使用するFPGAデバイスに対応するacl番号(例:acl0~acl31)が入ります。また、 <example_design_filename>.aocxは、デザイン例パッケージの <example_design_filename>.clファイルから作成するハードウェア・コンフィグレーション・ファイルです。
  4. デバイスあるいはコンピュータの電源を落としてから再投入します。
    電源の再投入により、FPGAコンフィグレーション・デバイスがフラッシュメモリーからハードウェア・コンフィグレーション・ファイルを取得し、これでFPGAをコンフィグレーションすることを確実にします。
    警告: 一部のカスタム・プラットフォームでは、フラッシュメモリーのプログラミング後にホスト・システム全体に電源の再投入を行う必要があります。たとえば、PCIeベースのカスタム・プラットフォームでは、PCIeエンドポイントを再列挙するためにホスト・システムの再起動が必要な場合があります。 インテル® は、フラッシュメモリーのプログラミング後にホスト・システム全体の電源を再投入することを推奨します。