Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

プロセッサと FPGA の同期

HDL ワークフロー アドバイザーでは、次の場合にプロセッサと FPGA に対して [プロセッサ/FPGA 同期] モードを選択できます。

  • 組み込みシステム統合プロジェクトで使用するカスタム IP コアを生成する。

  • [Simulink Real-Time FPGA I/O] ワークフローを使用する。

以下の同期モードを使用できます。

  • Free running (既定の設定)

  • Coprocessing – blocking

  • [Coprocessing – nonblocking] ([Simulink Real-Time FPGA I/O] ワークフローでのみ使用可能)

Free running モード

Free running モードでは、プロセッサと FPGA はそれぞれが非同期で、継続的に、並行して実行されます。

プロセッサと FPGA が自動的に同期しないようにするには、[プロセッサ/FPGA 同期] モードとして [Free running] を選択します。

次の図は、プロセッサと FPGA が Free running モードで通信する方法を説明しています。影付きの部分は、プロセッサと FPGA が継続的に実行されていることを表します。

[Coprocessing – Blocking] モード

ブロック コプロセッサ モードでは、プロセッサと FPGA が連携して実行されるための FPGA の同期ロジックを自動的に生成します。

プロセッサのサンプル時間よりも FPGA の実行時間が短く、プロセッサの続行前に FPGA を完了する必要がある場合は、[プロセッサ/FPGA 同期] モードとして [Coprocessing – blocking] を選択します。

次の図は、プロセッサと FPGA がブロック コプロセッシング モードで動作する方法を説明しています。

影付きの部分は、プロセッサと FPGA が実行されていることを表します。プロセッサはサンプル時間ごとに FPGA に書き込みを行い、その後停止して、FPGA が処理を完了するまで待機してから引き続き処理を続行します。FPGA が実行されるたびに、生成されたロジックを DUT サブシステムの 1 サンプル時間の間実行します。

[Coprocessing – Nonblocking With Delay] モード

遅延ありブロックなしコプロセッサ モードでは、プロセッサと FPGA が連携して実行されるための FPGA の同期ロジックを自動的に生成します。このモードは、[Simulink Real-Time FPGA I/O] ワークフローで Xilinx® ISE を使用する Speedgoat IO モジュールでのみ使用できます。

プロセッサのサンプル時間よりも FPGA の処理時間が長く、プロセッサが続行する前に FPGA の完了を待機しない場合は、[プロセッサ/FPGA 同期] モードとして [Coprocessing – nonblocking with delay] を選択します。

次の図は、プロセッサと FPGA が遅延ありブロックなしコプロセッサ モードで動作する方法を説明しています。

影付きの部分は、プロセッサと FPGA が実行されていることを表します。サンプル時間ごとに、プロセッサは前のサンプル時間から FPGA データを読み取り、FPGA への書き込みを実行して、FPGA の完了を待機せずに処理を続行します。FPGA が実行されるたびに、生成されたロジックを DUT サブシステムの 1 サンプル時間の間実行します。