Main Content

このページは機械翻訳を使用して翻訳されました。元の英語を参照するには、ここをクリックします。

データキャプチャワークフロー

FPGA での設計の実行中に、FPGA データ取得を使って設計からの信号を観察します。この機能は、FPGA から信号データのウィンドウをキャプチャし、JTAG または Ethernet インターフェイスを介してデータを MATLAB® または Simulink® に返します。

メモ

  • JTAG 接続を介した FPGA データ キャプチャは、Intel® および Xilinx® デバイスで利用できます。イーサネット接続を介した FPGA データ キャプチャは、Xilinx デバイスでのみ使用できます。

  • JTAG 接続を介した Xilinx FPGA ボードでは、複数の FPGA データ キャプチャ IP を使用して、異なるクロック ドメインからデータをキャプチャし、FPGA 設計をデバッグできます。複数の FPGA データ キャプチャの詳細については、非同期データのキャプチャ を参照してください。

FPGA ボードからデータをキャプチャし、MATLAB または Simulink に送信するには、次の 2 つのワークフローのいずれかを使用できます。

  • HDL Coder™ ワークフロー — HDL Coder を使用して HDL IP を生成する場合は、HDL Workflow Advisor ツールを使用してデータ キャプチャ IP を生成し、それをデザインに統合します。

  • 既存の HDL 設計 — 既存の HDL 設計がある場合は、HDL Verifier™ ツールを使用してデータ キャプチャ IP を生成します。次に、生成された IP を FPGA デザインに手動で統合します。

どちらのワークフローでも、デザインから信号をキャプチャするために、HDL Verifier は MATLAB と通信する IP コアを生成します。HDL Coder ワークフローを使用して、データ キャプチャ IP コアを設計に自動的に統合します。それ以外の場合は、この IP コアを HDL プロジェクトに手動で統合し、デザインの残りの部分とともに FPGA に展開します。次に、次のいずれかの方法を使用してデータをキャプチャします。

  • データをキャプチャして MATLAB に送信します。HDL Verifier は、キャプチャされた信号データを返すカスタマイズされたツールを生成します。あるいは、生成された System object™ を使用してプログラムでデータをキャプチャすることもできます。

  • データをキャプチャして Simulink に送信します。HDL Verifier は、キャプチャした信号に対応する出力ポートを持つブロックを生成します。

どちらの場合も、キャプチャするデータのデータ型、キャプチャするウィンドウの数、データをキャプチャするタイミングを制御するトリガー条件、およびキャプチャするデータを制御するキャプチャ条件を指定できます。

デザインが FPGA 上で実行されている場合、最初に生成された IP コアは指定したトリガー条件を待機します。1 つ以上の信号に一致する特定の値によってトリガー条件を定義します。トリガーが検出されると、ロジックは指定された信号をバッファにキャプチャし、JTAG またはイーサネット インターフェイスを介してデータをホスト マシンに返します。その後、これらの信号を MATLAB ワークスペースまたは Simulink モデルで分析して表示できます。

バッファ サイズを最大限に活用し、有効なデータのみをキャプチャするために、キャプチャ条件を定義することもできます。トリガー条件を定義するのと同じ方法でキャプチャ条件を定義します。トリガーが検出され、キャプチャ条件が満たされると、ロジックは指定された信号の有効な値のみをキャプチャします。

HDL ワークフロー アドバイザーを使用してデータ キャプチャ IP を生成および統合する

HDL Workflow Advisor ツールを使用して HDL 設計を生成する場合は、まず Simulink で興味のある信号をテスト ポイントとしてマークします。HDL Workflow Advisor ツールを使用してデザインを構成します。

  • Set Target Reference Design タスクの FPGA Data Capture (HDL Verifier required) パラメータを設定して、接続チャネルのタイプを選択します。詳細については、ターゲットのリファレンス設計を設定 (HDL Coder)を参照してください。

  • Set Target Interface タスクで Enable HDL DUT port generation for test points パラメータを選択して、テスト ポイントの生成を有効にします。詳細については、ターゲット インターフェイスを設定 (HDL Coder)を参照してください。

  • テスト ポイント信号を Set Target Interface タスクの FPGA Data Capture インターフェイスに接続します。

  • Generate RTL Code and IP Core タスクでデータ収集するためのバッファ サイズと最大シーケンス深度を設定します。IP コアにキャプチャ条件ロジックを含めるには、Include capture condition logic in FPGA Data Capture を選択します。詳細については、RTL コードと IP コアの生成 (HDL Coder)を参照してください。

次に、残りの手順を実行して、設計用の HDL を生成し、FPGA をプログラムします。データ キャプチャ IP コアは生成されたデザインに統合されます。これでデータのキャプチャの準備が整いました。

既存の HDL 設計用の IP コアの構成と生成

FPGA データをキャプチャする前に、まずキャプチャする信号と返すサンプルの数を指定します。FPGA Data Capture Component Generator を使用して、これらの設定やその他の設定を構成し、HDL IP コアを生成します。IP コアには以下が含まれます。

  • キャプチャしたり、トリガー条件の一部として使用したりしたい各信号用のポート

  • 各信号に対して要求されたサンプル数をキャプチャするためのメモリ

  • MATLABと通信するためのJTAGまたはイーサネットインターフェースロジック

  • 実行時に設定できるトリガーおよびキャプチャ条件ロジック

  • FPGAからのデータフローを制御するためのキャプチャ準備完了信号

このツールは、FPGA と通信するカスタマイズされた FPGA Data Capture ツール、System object、およびモデルも生成します。

IPをFPGAに統合する

MATLAB が FPGA と通信するには、生成された HDL IP コアを FPGA デザインに統合する必要があります。HDL Workflow Advisor ツールを使用してデータ キャプチャ IP を生成した場合、この手順は自動化されます。この場合、データ キャプチャ IP は、テスト対象デバイス (DUT) のプライマリ クロックである単一クロック レートで動作します。HDL Workflow Advisor ツールを使用しなかった場合は、デバイス ファミリに基づいて生成レポートの指示に従ってください。

Intel デバイス

datacapture HDL IP コアを Intel デバイスをターゲットとする FPGA デザインに統合するには、次の手順に従ってください。

  1. Quartus® プロジェクトを作成します。

  2. hdlsrc フォルダに移動します。

  3. hdlsrc フォルダーに生成された HDL ファイルを Quartus プロジェクトに追加します。次に、HDL コードで HDL IP コア datacapture をインスタンス化します。キャプチャとトリガーのために要求した信号に datacapture を接続します。

  4. プロジェクトをコンパイルし、JTAG 接続を介して新しいイメージで FPGA をプログラムします。

XilinxVersal デバイス

datacapture HDL IP コアを、Xilinx 非 Versal® デバイスをターゲットとする FPGA デザインに統合するには、次の手順に従ってください。

  1. Vivado® プロジェクトを作成します。

  2. hdlsrc フォルダに移動します。

  3. 接続タイプに応じて、次のいずれかの手順に従ってください。

    • JTAGまたはPSイーサネット

      1. MATLAB でこのコマンドを実行して、hdlsrc フォルダーに生成されたデータ キャプチャ IP を Vivado プロジェクトのユーザー リポジトリに追加します。

        addFPGADataCaptureToVivado("vivadoProjectPath",DataCaptureIPFolder="destinationFolder");

        ここで、vivadoProjectPath は Vivado プロジェクトの場所の名前であり、destinationFolder は生成されたデータ キャプチャ IP が含まれるフォルダーの名前です。

        たとえば、次のコマンドは、hdlsrc フォルダー内のデータ キャプチャ IP を C:\test_design_zc706\hdl_prj\vivado_ip_prj\vivado_prj.xpr Vivado プロジェクトに追加します。

      2. Vivado プロジェクトを開きます。データ キャプチャ IP をブロック デザインに統合します。

      3. データ キャプチャ IP の従属 AXI インターフェイスをプロセッサのマネージャー AXI4 インターフェイスに接続します。

      4. データ キャプチャ IP の clkclk_enable、および入力データ ポートを接続して、ブロック設計を完了します。

    • PL Ethernet — Vivado Tcl コンソールでこのコマンドを実行して、insertEthernet スクリプトを実行します。

      source ./insertEthernet.tcl

  4. プロジェクトをコンパイルし、JTAG またはイーサネット接続を介して新しいイメージで FPGA をプログラムします。

    PS Ethernet のみ — loadBitstream 関数を使用して、FPGA 設計に基づいて BIT および DTB ファイルをロードします。デバイス ツリー BLOB (DTB) ファイルを生成する手順については、生成レポートの指示に従ってください。DTB ファイルの生成手順の詳細については、DTB ファイルの生成 を参照してください。

Xilinx Versal デバイス

datacapture HDL IP コアを Xilinx Versal デバイスをターゲットとした FPGA デザインに統合するには、次の手順に従ってください。

メモ

Versal デバイスの FPGA データ キャプチャ サポートは、JTAG 接続でのみ利用できます。

  1. Vivado でブロック デザインを開きます。

  2. hdlsrc フォルダに移動します。

  3. datacapture IP をブロック デザインに挿入し、Vivado Tcl コンソールでこのコマンドを実行して、IP を Xilinx Versal プラットフォーム CIPS IP の BSCAN_USER2 インターフェイスに接続します。

    source ./insertVersalFPGADataCaptureIP.tcl
    BSCAN_USER2 インターフェイスを有効にするには、CIPS IP で PL BSCAN1 インターフェイスを有効にします。

  4. データ キャプチャ IP の clkclk_enable、および入力データ ポートを接続して、ブロック設計を完了します。

    Vivado block design showing the data capture IP connected to the BSCAN_USER2 interface of the CIPS IP

  5. プロジェクトをコンパイルし、JTAG ケーブルを介して新しいイメージで FPGA をプログラムします。

データのキャプチャ

FPGA データ キャプチャ IP コアは、FPGA ボードとホスト コンピューター間の JTAG またはイーサネット ケーブルを介して通信します。必要なケーブルが接続されていることを確認してください。データをキャプチャする前に、キャプチャするデータのデータ型を設定したり、データをキャプチャするタイミングを指定するトリガー条件を設定したり、キャプチャするデータを指定するキャプチャ条件を設定したりできます。これらのオプションを構成してデータをキャプチャするには、次の操作を実行します。

  • FPGA Data Capture ツールを開きます。トリガー、キャプチャ条件、およびデータ型パラメータを設定し、MATLAB ワークスペースにデータをキャプチャします。

  • hdlverifier.FPGADataReader から派生した生成された System object を使用します。System object のメソッドとプロパティを使用してデータ型、トリガー条件、キャプチャ条件を設定し、オブジェクトを呼び出してデータをキャプチャします。

  • Simulink で、生成されたモデルを開き、FPGA Data Reader ブロックのパラメータを設定します。次に、モデルを実行してデータを取得します。

PS Ethernet の場合、データ キャプチャ IP のベース アドレスとターゲット デバイスの IP アドレスを設定します。これを行うには、MATLAB にデータをキャプチャする前に、hdlverifier.FPGADataReader System object の CaptureBaseAddress プロパティと DeviceAddress プロパティを使用します。Simulink にデータをキャプチャする前に、FPGA Data Reader ブロックの デバイス IP アドレス および データ キャプチャ IP コア ベース アドレス パラメータを設定します。

データをキャプチャして MATLAB ワークスペースまたは Simulink モデルにインポートすると、データを分析、検証、表示できます。

参考

| | |

関連する例

詳細