インテル® FPGA SDK for OpenCL™プロ・エディション: プログラミング・ガイド

ID 683846
日付 4/01/2019
Public
ドキュメント目次

12.1.1.6. RTLリセットおよびクロック信号

RTLモジュールのリセットおよびクロックは、OpenCL™パイプラインの他の部分と同じクロックおよびリセットドライバーに接続されています。

共通のクロックドライバーとリセットドライバーであるため、RTLモジュールはOpenCLカーネルと同じクロックドメインで動作します。モジュールは、 インテル® FPGA SDK for OpenCL™ programユーティリティーまたはclCreateProgramwithBinaryホスト関数で、OpenCLカーネルが最初にFPGAにロードされた際にのみリセットされます。つまり、ホストがカーネルを連続するclEnqueueNDRangeKernelまたはclEnqueueTask呼び出しで再起動した場合、関連するRTLモジュールはこの再起動時にリセットされません。

カーネルのクロック周波数を設定する過程を次に説明します。

  1. インテル® Quartus® Primeソフトウェアのフィッターは、カーネルクロックに積極的な制約を適用します。
  2. インテル® Quartus® PrimeソフトウェアのTiming Analyzerは、静的なタイミング解析を実行し、フィッターが実際に達成する周波数を決定します。
  3. カーネルのクロックを駆動するフェーズ・ロック・ループ (PLL) は、上記2で決定された周波数をカーネルのクロック周波数に設定します。

オプションによりRTLモジュールは、OpenCL™カーネルクロックの2倍の周波数で動作するシステム全体のクロックにアクセスできます。このシステム全体のクロックをRTLモジュールの入力信号に接続するには、AVALON要素のタイプclock2xを含めます。この2つのクロックは、定義された位相関係を持ちません。