Main Content

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

FPGA Data Capture

ライブ FPGA からデータを MATLAB ワークスペースにインタラクティブにキャプチャします

説明

FPGA Data Capture ツールは、FPGA 上で実行されている設計からデータをキャプチャし、それを MATLAB® ワークスペースに返します。返される値のデータ型を構成し、キャプチャ ウィンドウの数とトリガー ステージの数を指定し、データをキャプチャするタイミングを制御するトリガー条件を設定し、キャプチャするデータを制御するキャプチャ条件を設定できます。

FPGA Data Capture tool with two trigger stages

このツールを使用する前に、FPGA Data Capture Component Generator ツールを使用してカスタマイズされたデータ キャプチャ コンポーネントを生成する必要があります。生成された IP コアをプロジェクトに統合し、FPGA にデプロイする必要もあります。このツールは、JTAG または Ethernet ケーブルを介して FPGA と通信します。ボードとホスト コンピューターの間に必要なケーブルが接続されていることを確認します。

このツールは、生成された hdlverifier.FPGADataReader System object™ のラッパーです。FPGA Data Capture ツールは、ワークスペース内の変数 fpgadc_obj を定義します。この変数がすでに存在する場合、ツールは既存のオブジェクトを使用して開き、そのオブジェクトへの変更を保存します。

ワークフローの概要については、データキャプチャワークフロー を参照してください。

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

FPGA Data Capture を開く

  • MATLAB コマンド プロンプト: 「launchDataCaptureApp」と入力します。この関数は、単一のデータ キャプチャ IP 用の FPGA Data Capture ツールを開きます。

    launchDataCaptureApp 関数は、destinationFolder または destinationFolder\generatedIPName フォルダーに生成されたスクリプトです。ここで、destinationFolderDestination folder パラメータで指定するフォルダの名前であり、generatedIPNameGenerated IP name パラメータで指定する生成された IP の名前です。

  • MATLAB コマンド プロンプト: 「launchMultipleDataCaptureApp」と入力します。この関数は、複数のデータ キャプチャ IP 用の FPGA Data Capture ツールを開きます。

    launchMultipleDataCaptureApp 関数は、destinationFolder フォルダーに生成されたスクリプトです。ここで、destinationFolder は、宛先フォルダー パラメーターで指定するフォルダーの名前です。

パラメーター

すべて展開する

デフォルト設定の「Immediately をキャプチャ」では、トリガー条件は無視され、「Capture Data」をクリックしたときにデータのバッファーがキャプチャされます。FPGA ロジック内の特定のイベントを含むデータをキャプチャするには、トリガー条件を設定し、On trigger を選択します。この場合、データ キャプチャ ロジックはトリガー条件が真になるまで待機し、データのバッファーをキャプチャします。

Capture Data をクリックすると、Stop ボタンのあるウィンドウが開きます。キャプチャの試行をキャンセルする場合 (たとえば、トリガー条件が発生しない場合) は、Stop をクリックしてツールに制御を戻します。キャプチャの試行を中止すると、MATLAB にデータは返されません。

出力

キャプチャされたデータは、ベース MATLAB ワークスペース内の構造体変数に返されます。各信号から返されるデータは、Sample depth 値のベクトルです。各信号は構造内のフィールドになります。構造体内のフィールド名は Signal Name と同じです。

このパラメータを選択すると、ツールは指定されたデータ キャプチャ IP を有効にしてデータをキャプチャします。

依存関係

このパラメータを有効にするには、FPGA Data Capture Component Generator ツールで Number of data capture IPs を 1 より大きい値に設定します。

このパラメータを選択すると、データ キャプチャが完了した後、ツールはロジック アナライザー ウィンドウを開き、キャプチャされたデータを表示します。時間軸はサンプル単位で測定されます。カーソルの位置はトリガーが検出された時刻を示します。

依存関係

このパラメータを有効にするには、DSP System Toolbox™ をインストールしてください。

トリガー

このパラメーターは読み取り専用です。生成時に指定した値が反映されます。

キャプチャする繰り返し回数を指定します。この値は 2 の累乗である必要があり、Sample depth より大きくすることはできません。サンプル深度を指定するときは、データの読み取り時に構成する予定のウィンドウの数を考慮してください。これらは、各キャプチャ ウィンドウのウィンドウ深度に影響するためです。ウィンドウの深さは、Sample depthNumber of capture windows で割った値です。FPGA Data Capture Component Generator ツールで Sample depth を指定します。

次に例を示します。Sample depth4096 で、Number of capture windows4 の場合、各キャプチャ ウィンドウのウィンドウ深度は 1024 になります。

トリガーステージの数を指定します。この値は 1 から M までの整数である必要があります。M は、FPGA Data Capture Component Generator ツールの 最大トリガー ステージ パラメータによって設定されます。Max trigger stages パラメータを指定するときは、データをキャプチャするためのトリガー条件を構成する予定のトリガー ステージの最大数を考慮してください。

たとえば、Max trigger stages4 の場合、Number of trigger stages123、または 4 になります。

デフォルトでは、トリガーが検出されたクロック サイクルは、キャプチャ バッファーの最初のサンプルになります。キャプチャ バッファ内のトリガー検出サイクルの相対位置を変更できます。デフォルト以外のトリガー位置は、トリガーが発生する前にいくつかのサンプルがキャプチャされることを意味します。このパラメータは、0 から window depth—1 までの任意の数値に設定できます。トリガー位置が window depth—1 に等しい場合、最後のサンプルはトリガーが発生したサイクルに対応します。Number of capture windows が 1 より大きい場合、同じトリガー位置がすべてのウィンドウに適用されます。詳細については、トリガーを参照してください。

このパラメーターは読み取り専用です。生成時に指定した信号名は、下部のドロップダウン メニューに表示されます。トリガー条件に信号を追加するには、+ ボタンをクリックします。

信号を比較するには、==!=<><=、または >= のいずれかの演算子を選択します。X または x (don't care 値) を含む信号を比較するには、== または != 演算子を指定します。

トリガー条件は、1 つ以上の信号の値の比較で構成できます。このパラメータは、各信号に一致する値を指定します。

マルチビット信号の場合、信号に関連付けられたデータ型の範囲内で 10 進数、2 進数、または 16 進数の値を指定します。16 進数または 2 進数の値を指定する場合、X または x (don't care 値) の組み合わせで値を指定して、ビット マスクを有効にすることができます。値を比較する際、トリガー条件は X または x の場所の値を破棄し、出力を提供します。

読みやすくするためにビットのグループを区切るには、ビット間に _ を使用します。たとえば、32 ビットのバイナリ値は 0b1010_XXXX_1011_XXXX_1110_XXXX_1111XXXX として表すことができ、32 ビットの 16 進値は 0xAB_CDEXFX として表すことができます。

boolean 信号の場合は、レベルまたはエッジ条件を選択します。詳細については、トリガーを参照してください。

このパラメータはロジック ゲート アイコンで示されます。Change operator ボタンをクリックすると、ANDOR が切り替わります。

トリガー条件は、1 つ以上の信号の値の比較で構成できます。これらの値の比較を 1 種類の論理演算子のみで組み合わせます。ABC の 3 つの信号がトリガー条件を構成するとします。次のオプションがあります。

A == 10 AND B == 'Falling edge' AND C == 0
または

A == 10 OR B == 'Falling edge' OR C == 0
組み合わせ演算子を混在させることはできません。詳細については、トリガーを参照してください。

この多くのデータ キャプチャ IP コア クロック サイクル内で、このパラメータを有効にするトリガー ステージでトリガー条件が発生する必要があります。要件に応じて、1 から 65,536 までの任意の整数値を指定できます。トリガー ステージでトリガー タイムアウトを有効にするには、このパラメータを選択します。Trigger Stage 1 ではトリガー タイムアウトは許可されません。

捕獲条件

データ キャプチャ IP コアでキャプチャ条件ロジックを有効にするには、このパラメータを選択します。キャプチャ条件ロジックを有効にして、キャプチャ条件を使用して FPGA からキャプチャするデータを制御します。データ キャプチャ IP コアは、各クロック サイクルでキャプチャ条件を評価し、キャプチャ条件を満たすデータのみをキャプチャします。取得条件の詳細については、捕獲条件を参照してください。

依存関係

このパラメータを有効にするには、FPGA Data Capture Component Generator ツールで Include capture condition logic を選択します。

このパラメーターは読み取り専用です。生成時にトリガーとして指定した信号名は、下部のドロップダウン メニューに表示されます。+ ボタンをクリックして、キャプチャ条件に信号を追加します。

依存関係

このパラメータを有効にするには、Enable capture condition logic を選択します。

信号を比較するには、==!=<><=、または >= のいずれかの演算子を選択します。X または x (don't care 値) を含む信号を比較するには、== または != 演算子を指定します。

依存関係

このパラメータを有効にするには、Enable capture condition logic を選択します。

キャプチャ条件は、1 つ以上の信号の値の比較で構成できます。このパラメータは、各信号に一致する値を指定します。

マルチビット信号の場合、信号に関連付けられたデータ型の範囲内で 10 進数、2 進数、または 16 進数の値を指定します。16 進数または 2 進数の値を指定する場合、X または x (don't care 値) の組み合わせで値を指定して、ビット マスクを有効にすることができます。値を比較する際、キャプチャ条件は X または x の場所の値を破棄し、出力を提供します。

読みやすくするためにビットのグループを区切るには、ビット間に _ を使用します。たとえば、32 ビットのバイナリ値は 0b1010_XXXX_1011_XXXX_1110_XXXX_1111XXXX として表すことができ、32 ビットの 16 進値は 0xAB_CDEXFX として表すことができます。

boolean 信号の場合は、レベルまたはエッジ条件を選択します。詳細については、捕獲条件を参照してください。

依存関係

このパラメータを有効にするには、Enable capture condition logic を選択します。

このパラメータはロジック ゲート アイコンで示されます。Change operator ボタンをクリックすると、ANDOR が切り替わります。

キャプチャ条件は、1 つ以上の信号の値の比較で構成できます。これらの値の比較を 1 種類の論理演算子のみで組み合わせます。組み合わせ演算子を混在させることはできません。詳細については、捕獲条件を参照してください。

依存関係

このパラメータを有効にするには、Enable capture condition logic を選択します。

データ型

このパラメーターは読み取り専用です。生成時に指定した値が反映されます。この名前は、構造体変数内のフィールドの名前です。

このパラメーターは読み取り専用です。生成時に指定した値が反映されます。

Data Type メニューには、キャプチャされた信号のビット幅に一致するデータ タイプの提案が表示されます。このサイズは、生成された IP のポートに対して指定した幅です。このフィールドに入力してカスタム データ型を指定できます。信号が 8、16、または 32 ビットの場合、デフォルトは uint です。信号が 1 ビットの場合、デフォルトは boolean です。信号の幅が異なる場合、デフォルトは numerictype(0,bitWidth,0) になります。

このツールは、信号ビット幅に応じて、booleanuint8int8uint16int16halfuint32int32singleuint64int64double、および numerictype のデータ タイプをサポートします。

バージョン履歴

R2017a で導入