このページは機械翻訳を使用して翻訳されました。最新版の英語を参照するには、ここをクリックします。
hdlverifier.FPGADataReader
ライブ FPGA から MATLAB ワークスペースにデータをキャプチャする
説明
hdlverifier.FPGADataReader
System object™ は、FPGA ボード上で実行されている生成された HDL IP コアと通信し、FPGA からの信号を MATLAB® にキャプチャします。
hdlverifier.FPGADataReader
System object を直接作成することはできません。これを使用するには、FPGA Data Capture Component Generator を実行し、独自にカスタマイズされた FPGADataReader
System object を生成します。生成されたオブジェクトを直接使用することも、ラッパー ツール FPGA Data Capture を使用してトリガー条件、キャプチャ条件、データ型を設定し、データをキャプチャすることもできます。
System object を作成する前に、カスタマイズされたデータ キャプチャ コンポーネントを事前に生成しておく必要があります。また、生成された IP コードをプロジェクトに統合し、FPGA にデプロイする必要があります。オブジェクトは JTAG または Ethernet ケーブルを介して FPGA と通信します。ボードとホスト コンピューターの間に必要なケーブルが接続されていることを確認します。
ワークフローの概要については、データキャプチャワークフロー を参照してください。
メモ
あるいは、step
メソッドを使用して System object で定義された操作を実行する代わりに、関数であるかのように引数を指定してオブジェクトを呼び出すこともできます。たとえば、y = step(obj,x)
と y = obj(x)
は同等の演算を実行します。
作成
は、FPGA 上で実行されているデザインからデータをキャプチャするカスタマイズされたオブジェクト DC
= mydcDC
を作成します。mydc
は、FPGA Data Capture Component Generator ツールで指定したコンポーネント名です。
プロパティ
TimeOut
— データキャプチャを中止するまでの秒数
10
(既定値) | 正の整数
トリガー条件が有効になっているが、HDL IP コアがその条件を検出しない場合、指定された秒数後にデータ キャプチャ要求はタイムアウトします。データ キャプチャが中止された場合、MATLAB にはデータが返されません。
データ キャプチャにツールを使用する場合、このプロパティは無視されます。ツールを使用してキャプチャを中止するには、ポップアップ ウィンドウの Stop ボタンを使用します。
NumCaptureWindows
— データ収集の繰り返し回数
1
(既定値) | 2の整数乗
キャプチャする繰り返し回数を指定します。この値は 2 の累乗である必要があり、Sample depth を超えることはできません。サンプル深度を指定するときは、データの読み取り時に構成する予定のウィンドウの数を考慮してください。これらは、各キャプチャ ウィンドウのウィンドウ深度に影響するためです。ウィンドウの深さは、Sample depth を Number of capture windows で割った値です。FPGA Data Capture Component Generator ツールで Sample depth を指定します。
次に例を示します。Sample depth が 4096
で、Number of capture windows が 4
の場合、各キャプチャ ウィンドウのウィンドウ深度は 1024
になります。
NumTriggerStages
— トリガー条件を提供するトリガーステージの数
M (既定値) | 1からMまでの整数
トリガーステージの数を指定します。この値は 1 から M までの整数である必要があります。M は、FPGA Data Capture Component Generator ツールの 最大トリガー ステージ パラメータによって設定されます。Max trigger stages パラメータを指定するときは、データをキャプチャするためのトリガー条件を構成する予定のトリガー ステージの最大数を考慮してください。
たとえば、Max trigger stages が 4
の場合、NumTriggerStages
は 1
、2
、3
、または 4
になります。
TriggerPosition
— キャプチャバッファ内のトリガー検出サイクルの位置
0
(既定値) | window depth –1 までの整数
デフォルトでは、トリガーが検出されたクロック サイクルは、キャプチャ バッファーの最初のサンプルになります。キャプチャ バッファ内のトリガー検出サイクルの相対位置を変更できます。デフォルト以外のトリガー位置は、トリガーが発生する前にいくつかのサンプルがキャプチャされることを意味します。このパラメータは、0 から window depth –1 までの整数に設定できます。トリガー位置が window depth –1 に等しい場合、最後のサンプルはトリガーが発生したサイクルに対応します。詳細については、トリガーを参照してください。
EnableCaptureCtrl
— キャプチャ条件ロジックを有効にする引数
false
(既定値) | true
HDL IP コアでキャプチャ条件ロジックを有効にするには、このプロパティを true
に設定します。キャプチャ条件ロジックを有効にして、キャプチャ条件を使用して FPGA からキャプチャするデータを制御します。HDL IP コアは、各クロック サイクルでキャプチャ条件を評価し、キャプチャ条件を満たすデータのみをキャプチャします。取得条件の詳細については、捕獲条件を参照してください。
依存関係
このパラメータを有効にするには、FPGA Data Capture Component Generator ツールで Include capture condition logic を選択します。
CaptureMode
— キャプチャモード
'blocking'
(既定値) | 'nonblocking'
キャプチャ モードを次のいずれかのオプションとして指定します。
'blocking'
— データ キャプチャ オブジェクトは、キャプチャされたデータを取得している間、MATLAB をブロックします。このキャプチャ モードでは、JTAG リソースは一度に FPGA データ キャプチャまたは AXI マネージャーのいずれかに割り当てられます。'nonblocking'
— データ キャプチャ オブジェクトは、キャプチャされたデータを取得するときに MATLAB をブロックしません。このキャプチャ モードでは、FPGA データ キャプチャと AXI マネージャーを同時に使用できます。
DataCaptureID
— データキャプチャ System object 識別子 (Xilinx® のみ)
1
(既定値) | 1から8までの整数
データ キャプチャ System object 識別子を 1 ~ 8 の整数として指定します。各データ キャプチャ System object について、このプロパティの値は一意である必要があり、対応するデータ キャプチャ HDL IP コアのデータ キャプチャ ID と一致する必要があります。
依存関係
このパラメータを有効にするには、FPGA Data Capture Component Generator ツールで、Number of data capture IPs パラメータを 1 より大きい値に設定します。
開発ボードに複数の FPGA または複数の JTAG 接続がある場合、データ キャプチャ ソフトウェアは JTAG チェーン内の FPGA の位置を検出できません。データ キャプチャ IP コアを含む FPGA を見つけるには、これらの詳細パラメータを指定します。
高度なボード設定JTAGCableType
— FPGA ボードとの通信に使用する JTAG ケーブルの種類 (Xilinx のみ)
'auto'
(既定値) | 'FTDI'
複数の JTAG ケーブルがホスト コンピューターに接続されている場合は、このプロパティを指定します。指定されていない場合、オブジェクトは次の順序で JTAG ケーブル タイプを自動検出します。
FPGADataReader
オブジェクトは最初に Digilent® ケーブルを検索します。Digilent JTAG ケーブルが見つからない場合は、FTDI ケーブルを検索します。
同じタイプのケーブルが 2 本見つかった場合、オブジェクトはエラーを返します。解決するには
JTAGCableName
を指定します。異なるタイプのケーブルが 2 本見つかった場合は、Digilent ケーブルが優先されます。FTDI ケーブルを使用するには、このプロパティを
'FTDI'
に設定します。
依存関係
このプロパティを有効にするには、FPGA Data Capture Component Generator ツールで、Connection type パラメータを JTAG
に設定します。
JTAGCableName
— データキャプチャに使用するJTAGケーブルの名前
'auto'
(既定値) | 文字ベクトル
データキャプチャに使用される JTAG ケーブルの名前。文字ベクトルとして指定されます。ボードが同じタイプの2つのJTAGケーブルに接続されている場合にこの引数を使用します。
JTAGChainPosition
— JTAG スキャン チェーン内の FPGA の位置 (Xilinx のみ)
0
(既定値) | 正の整数
JTAG スキャン チェーン内の FPGA の位置。正の整数として指定されます。
依存関係
このプロパティを有効にするには、FPGA Data Capture Component Generator ツールで、Connection type パラメータを JTAG
に設定します。
IRLengthBefore
— FPGA 前の命令レジスタの長さ (Xilinx のみ)
0
(既定値) | 非負の整数
FPGA 前の命令レジスタの長さの数。負でない整数として指定します。
依存関係
このプロパティを有効にするには、FPGA Data Capture Component Generator ツールで、Connection type パラメータを JTAG
に設定します。
IRLengthAfter
— FPGA 後の命令レジスタの長さ (Xilinx のみ)
0
(既定値) | 非負の整数
FPGA 後の命令レジスタの長さの数。負でない整数として指定されます。
依存関係
このプロパティを有効にするには、FPGA Data Capture Component Generator ツールで、Connection type パラメータを JTAG
に設定します。
TckFrequency
— JTAG クロック周波数 (Xilinx のみ)
15
(既定値) | 整数
JTAG クロック周波数を MHz 単位で指定します。Xilinx FPGA の場合、JTAG クロック周波数は 33 MHz または 66 MHz です。JTAG 周波数は、ケーブルの種類と FPGA ボードでサポートされる最大クロック周波数によって異なります。
依存関係
このプロパティを有効にするには、FPGA Data Capture Component Generator ツールで、Connection type パラメータを JTAG
に設定します。
DeviceAddress
— FPGA または SoC ボード上のイーサネット ポートの IP アドレス (Xilinx のみ)
'192.168.0.2'
(既定値) | 文字ベクトル | string スカラー
FPGA または SoC ボード上のイーサネット ポートのインターネット プロトコル (IP) アドレスを文字ベクトルまたは文字列スカラーとして指定します。デバイスの IP アドレスは、3 つのドットで区切られた 0 ~ 255 の範囲の整数で構成される 4 つの数字のセットである必要があります。
依存関係
このプロパティを有効にするには、FPGA Data Capture Component Generator ツールで、Connection type パラメータを PL Ethernet
または PS Ethernet
に設定します。
Port
— FPGAボードのUDPポート番号(Xilinxのみ)
'50101'
(既定値) | 255 から 65,535 までの整数
FPGA ボードのユーザー データグラム プロトコル (UDP) ポート番号を 255 ~ 65,535 の整数として指定します。
依存関係
このプロパティを有効にするには、FPGA Data Capture Component Generator ツールで、Connection type パラメータを PL Ethernet
に設定します。
CaptureBaseAddress
— データキャプチャ HDL IP コアのベースアドレス (Xilinx のみ)
'40000000'
(既定値) | 文字ベクトル | string スカラー
データ キャプチャ HDL IP コアのベース アドレスを文字ベクターまたは文字列スカラーとして指定します。
依存関係
このプロパティを有効にするには、FPGA Data Capture Component Generator ツールで、Connection type パラメータを PS Ethernet
に設定します。
オブジェクト関数
checkStatus | 非ブロッキングモードでのFPGAデータキャプチャの現在のステータスを確認する |
clone | 同じプロパティ値を持つhdlverifier.FPGADataReader System objectを作成する |
collectData | キャプチャしたデータをFPGAから非ブロッキングモードでホストに収集する |
displayCaptureCondition | 全体的なキャプチャ状況を表示 |
displayDataTypes | キャプチャしたすべての信号のデータタイプを表示する |
displayTriggerCondition | 全体的なトリガー条件を表示する |
isLocked | ロック状態 |
launchApp | FPGAデータキャプチャアプリを開く |
release | JTAGインターフェースのリリース制御 |
setCaptureCondition | 各信号値の比較を設定する |
setCaptureConditionCombinationOperator | 個々の信号値の比較を全体的なキャプチャ条件に組み合わせる演算子を構成する |
setCaptureConditionComparisonOperator | キャプチャ条件内の個々の信号値を比較する演算子を構成する |
setDataType | 信号からキャプチャしたデータのデータ型を構成する |
setNumberofTriggerStages | データをキャプチャするためのトリガーステージの数を構成する |
setRunImmediateFlag | トリガー条件なしでデータキャプチャを即時実行するように設定する |
setTriggerCombinationOperator | 個々の信号値の比較を全体的なトリガー条件に組み合わせる演算子を構成する |
setTriggerComparisonOperator | トリガー条件内の個々の信号値を比較する演算子を構成する |
setTriggerCondition | 各信号値の比較を設定する |
setTriggerTimeOut | トリガーステージでトリガー条件が発生する必要があるFDC IPコアクロックサイクルの最大数を設定します。 |
step | FPGA上で実行されているHDL IPコアから1つのバッファのデータをキャプチャする |
stop | 非ブロッキングモードで現在のステータスに基づいてFPGAデータキャプチャの実行を停止します。 |
例
JTAG接続を介してIntel FPGAボードからデータをキャプチャする
この例では、hdlverifier.FPGADataReader
System object™ を使用して、JTAG 接続を介して FPGA 上で実行されている設計からデータをキャプチャする方法を示します。hdlverifier.FPGADataReader
System object は、プログラムによってデータを構成およびキャプチャする方法を提供します。FPGA データ キャプチャ コンポーネント ジェネレーター ツールを使用して、FPGA データ リーダー System object を生成します。次に、生成された System object を直接使用して、データ型とトリガー条件を設定し、データをキャプチャします。
hdlverifier.FPGADataReader
システム オブジェクトを生成する
カスタマイズされた hdlverifier.FPGADataReader
System object を生成するには、MATLAB® コマンド プロンプトで次のコマンドを入力して、FPGA データ キャプチャ コンポーネント ジェネレーター ツールを開きます。このツールを使用するには、既存の HDL 設計と FPGA プロジェクトが必要です。
generateFPGADataCaptureIP;
この例では、データ キャプチャ用の 2 つの信号を定義する生成されたオブジェクト mydc
を使用します。信号 A
は 1 ビットで、信号 B
は 8 ビットです。両方の信号はトリガー条件でも使用できます。サンプル深度は 4096 サンプルです。これら 2 つの信号で動作するように hdlverifier.FPGADataReader
System object を構成するには、次の手順に従います。
追加 ボタンを 1 回クリックして、ポート テーブルに 1 行追加します。
最初の信号に
A
、2 番目の信号にB
という名前を付けます。2 つの信号の ビット幅 をそれぞれ
1
と8
に設定します。生成された IP 名 を
mydc
として指定します。FPGA ベンダー を
Altera
に設定します。サンプル深度を
4096
に設定します。最大トリガー ステージ を
2
に設定します。
この図はこれらのツール設定を示しています。
hdlverifier.FPGADataReader
System object を生成するには、生成 をクリックします。生成の結果はレポートに表示されます。生成された IP コードを既存の FPGA プロジェクトに統合し、FPGA にデプロイします。System object は JTAG ケーブルを介して FPGA と通信します。JTAG ケーブルがボードとホスト コンピューターに接続されていることを確認します。
hdlverifier.FPGADataReader
System object が生成されたディレクトリに移動します。
cd hdlsrc;
生成された System object を使用してデータ キャプチャ オブジェクトを作成します。
captureData = mydc
captureData =
mydc with properties:
Connection: 'JTAG' IsConditionalCapture: 0 TriggerPosition: 0 NumCaptureWindows: 1 NumTriggerStages: 2 TimeOut: 10 EnableCaptureCtrl: 0 CaptureMode: 'blocking' JTAGCableName: 'auto' MaxNumTriggerStages: 2
データをすぐにキャプチャ
データ キャプチャ オブジェクトを作成します。デフォルトのトリガー条件は、即時にトリガーすることです。生成されたオブジェクトのデフォルト構成では、全体的なトリガー条件の一部として信号が有効になりません。
captureData = mydc;
キャプチャされた信号のデータ型を表示します。8 ビット信号のデフォルトのデータ型は uint8
です。
displayDataTypes(captureData);
Signal Name : Data Type Capture_Window : uint32 Trigger_Position : boolean A : boolean B : uint8
オブジェクトを呼び出します。データは FPGA からすぐにキャプチャされます。
[Capture_Window,Trigger_Position,dataOut] = captureData();
キャプチャされたデータは、Capture_Window
信号のフィールド、Trigger_Position
信号のフィールド、およびデータ キャプチャ オブジェクトによってキャプチャされた各信号のフィールドを含む構造体として返されます。dataOut
構造には、4096 個の logical
値のベクトルであるフィールド A
と、4096 個の uint8
値のベクトルであるフィールド B
が含まれています。
トリガーイベントでデータをキャプチャする
特定のイベントに近い信号値をデバッグするには、トリガー条件を設定します。トリガー条件は、1 つ以上の信号の値の比較で構成できます。これらの値の比較は、AND
または OR
演算子のいずれか 1 種類の論理演算子のみと組み合わせることができます。
FPGA が信号 B
が 7 より大きいと同時に A
で高い値を検出したときにデータをキャプチャするためのトリガー条件を定義します。
captureData = mydc; setTriggerCondition(captureData,'A',true,'High'); setTriggerCondition(captureData,'B',true,7); setTriggerComparisonOperator(captureData,'B','>');
全体的なトリガー条件を表示します。
displayTriggerCondition(captureData);
The trigger condition is: A==High and B>7
指定されたトリガー イベントでデータをキャプチャするオブジェクトを呼び出します。
[~,~,dataOut] = captureData();
FPGA が信号 B
の値が 0xAX
であると同時に A
で高い値を検出したときにデータをキャプチャするためのトリガー条件を定義します。信号 B
では、トリガー条件は A
として提供される左端の 4 ビットをチェックし、X
として提供される右端の 4 ビットを無視します (X
は関数が無視するビットを示します)。
captureData = mydc; setTriggerCondition(captureData,'A',true,'High'); setTriggerCondition(captureData,'B',true,'0xAX');
全体的なトリガー条件を表示します。
displayTriggerCondition(captureData);
The trigger condition is: A==High and B==0xAX
指定されたトリガー イベントでデータをキャプチャするオブジェクトを呼び出します。
[~,~,dataOut] = captureData();
dataOut
は、HDL IP コアが FPGA 上の信号からトリガー条件を検出した後に返されます。dataOut
には、トリガー条件が検出されたサイクルから始まるサンプルが含まれます。
複数のトリガーイベントでデータをキャプチャする
FPGA が 2 つのトリガー条件を連続して検出したときにデータをキャプチャするためのトリガー条件を定義します。
トリガー条件1 - 信号
B
が7に等しいと同時にA
の値が高値になるトリガー条件2 -
A
の高値が信号B
の値が15より大きい場合
captureData = mydc; setNumberofTriggerStages(captureData,2); setTriggerCondition(captureData,'A',true,'High'); setTriggerCondition(captureData,'B',true,7); setTriggerCondition(captureData,'A',true,'High',2); setTriggerCondition(captureData,'B',true,15,2); setTriggerComparisonOperator(captureData,'B','>',2);
トリガー条件を表示します。デフォルトでは、関数はトリガー ステージ 1 のトリガー条件を表示します。
displayTriggerCondition(captureData);
The trigger condition is: A==High and B==7
トリガーステージ 2 のトリガー条件を表示します。
displayTriggerCondition(captureData,2);
The trigger condition is: A==High and B>15
指定されたトリガー イベントのデータをキャプチャするためにオブジェクトを呼び出します。
[~,~,dataOut] = captureData();
HDL IP コアがトリガー ステージ 1 で設定されたトリガー条件を検出した後、トリガー ステージ 2 で設定されたトリガー条件を検出し、設定されたシーケンスを満たすと、dataOut
が返されます。
固定小数点データのキャプチャ
8 ビット信号のデフォルトのデータ型は uint8
ですが、HDL 設計では固定小数点数を使用して信号を表すことができます。キャプチャしたデータのデータ型を設定して、固定小数点表現にキャストします。
captureData = mydc;
setDataType(captureData,'B',numerictype(1,8,6));
キャプチャされた信号のデータ型を表示します。
displayDataTypes(captureData);
Signal Name : Data Type Capture_Window : uint32 Trigger_Position : boolean A : boolean B : numerictype(1,8,6)
指定されたトリガー イベントでデータをキャプチャするオブジェクトを呼び出します。
[~,~,dataOut] = captureData();
dataOut
構造体では、フィールド A
は 4096 個の logical
値のベクトルであり、フィールド B
は 6 つの小数ビットを含む 4096 個の符号付き 8 ビット固定小数点値のベクトルです。
JTAG接続を介してXilinx FPGAボードからデータをキャプチャする
この例では、hdlverifier.FPGADataReader
System object™ を使用して、JTAG 接続を介して FPGA 上で実行されている設計からデータをキャプチャする方法を示します。hdlverifier.FPGADataReader
System object は、プログラムによってデータを構成およびキャプチャする方法を提供します。FPGA データ キャプチャ コンポーネント ジェネレーター ツールを使用して、FPGA データ リーダー System object を生成します。次に、生成された System object を直接使用して、データ型とトリガー条件を設定し、データをキャプチャします。
hdlverifier.FPGADataReader
システム オブジェクトを生成する
カスタマイズされた hdlverifier.FPGADataReader
System object を生成するには、MATLAB® コマンド プロンプトで次のコマンドを入力して、FPGA データ キャプチャ コンポーネント ジェネレーター ツールを開きます。このツールを使用するには、既存の HDL 設計と FPGA プロジェクトが必要です。
generateFPGADataCaptureIP;
この例では、データ キャプチャ用の 2 つの信号を定義する生成されたオブジェクト mydc
を使用します。信号 A
は 1 ビットで、信号 B
は 8 ビットです。両方の信号はトリガー条件でも使用できます。サンプル深度は 4096 サンプルです。これら 2 つの信号で動作するように hdlverifier.FPGADataReader
System object を構成するには、次の手順に従います。
追加 ボタンを 1 回クリックして、ポート テーブルに 1 行追加します。
最初の信号に
A
、2 番目の信号にB
という名前を付けます。2 つの信号の ビット幅 をそれぞれ
1
と8
に設定します。生成された IP 名 を
mydc
として指定します。FPGA ベンダー を
Xilinx
に設定します。サンプル深度を
4096
に設定します。最大トリガー ステージ を
2
に設定します。
この図はこれらのツール設定を示しています。
hdlverifier.FPGADataReader
System object を生成するには、生成 をクリックします。生成の結果はレポートに表示されます。生成された IP コードを既存の FPGA プロジェクトに統合し、FPGA にデプロイします。System object は JTAG ケーブルを介して FPGA と通信します。JTAG ケーブルがボードとホスト コンピューターに接続されていることを確認します。
hdlverifier.FPGADataReader
System object が生成されたディレクトリに移動します。
cd hdlsrc;
生成された System object を使用してデータ キャプチャ オブジェクトを作成します。
captureData = mydc
captureData =
mydc with properties:
Connection: 'JTAG' IsConditionalCapture: 0 TriggerPosition: 0 NumCaptureWindows: 1 NumTriggerStages: 2 TimeOut: 10 EnableCaptureCtrl: 0 CaptureMode: 'blocking' JTAGCableName: 'auto' JTAGCableType: 'auto' JTAGChainPosition: 0 IRLengthBefore: 0 IRLengthAfter: 0 TckFrequency: 15 MaxNumTriggerStages: 2
データをすぐにキャプチャ
データ キャプチャ オブジェクトを作成します。デフォルトのトリガー条件は、即時にトリガーすることです。生成されたオブジェクトのデフォルト構成では、全体的なトリガー条件の一部として信号が有効になりません。
captureData = mydc;
キャプチャされた信号のデータ型を表示します。8 ビット信号のデフォルトのデータ型は uint8
です。
displayDataTypes(captureData);
Signal Name : Data Type Capture_Window : uint32 Trigger_Position : boolean A : boolean B : uint8
オブジェクトを呼び出します。データは FPGA からすぐにキャプチャされます。
[Capture_Window,Trigger_Position,dataOut] = captureData();
キャプチャされたデータは、Capture_Window
信号のフィールド、Trigger_Position
信号のフィールド、およびデータ キャプチャ オブジェクトによってキャプチャされた各信号のフィールドを含む構造体として返されます。dataOut
構造には、4096 個の logical
値のベクトルであるフィールド A
と、4096 個の uint8
値のベクトルであるフィールド B
が含まれています。
トリガーイベントでデータをキャプチャする
特定のイベントに近い信号値をデバッグするには、トリガー条件を設定します。トリガー条件は、1 つ以上の信号の値の比較で構成できます。これらの値の比較は、AND
または OR
演算子のいずれか 1 種類の論理演算子のみと組み合わせることができます。
FPGA が信号 B
が 7 より大きいと同時に A
で高い値を検出したときにデータをキャプチャするためのトリガー条件を定義します。
captureData = mydc; setTriggerCondition(captureData,'A',true,'High'); setTriggerCondition(captureData,'B',true,7); setTriggerComparisonOperator(captureData,'B','>');
全体的なトリガー条件を表示します。
displayTriggerCondition(captureData);
The trigger condition is: A==High and B>7
指定されたトリガー イベントでデータをキャプチャするオブジェクトを呼び出します。
[~,~,dataOut] = captureData();
FPGA が信号 B
の値が 0xAX
であると同時に A
で高い値を検出したときにデータをキャプチャするためのトリガー条件を定義します。信号 B
では、トリガー条件は A
として提供される左端の 4 ビットをチェックし、X
として提供される右端の 4 ビットを無視します (X
は関数が無視するビットを示します)。
captureData = mydc; setTriggerCondition(captureData,'A',true,'High'); setTriggerCondition(captureData,'B',true,'0xAX');
全体的なトリガー条件を表示します。
displayTriggerCondition(captureData);
The trigger condition is: A==High and B==0xAX
指定されたトリガー イベントでデータをキャプチャするオブジェクトを呼び出します。
[~,~,dataOut] = captureData();
dataOut
は、HDL IP コアが FPGA 上の信号からトリガー条件を検出した後に返されます。dataOut
には、トリガー条件が検出されたサイクルから始まるサンプルが含まれます。
複数のトリガーイベントでデータをキャプチャする
FPGA が 2 つのトリガー条件を連続して検出したときにデータをキャプチャするためのトリガー条件を定義します。
トリガー条件1 - 信号
B
が7に等しいと同時にA
の値が高値になるトリガー条件2 -
A
の高値が信号B
の値が15より大きい場合
captureData = mydc; setNumberofTriggerStages(captureData,2); setTriggerCondition(captureData,'A',true,'High'); setTriggerCondition(captureData,'B',true,7); setTriggerCondition(captureData,'A',true,'High',2); setTriggerCondition(captureData,'B',true,15,2); setTriggerComparisonOperator(captureData,'B','>',2);
トリガー条件を表示します。デフォルトでは、関数はトリガー ステージ 1 のトリガー条件を表示します。
displayTriggerCondition(captureData);
The trigger condition is: A==High and B==7
トリガーステージ 2 のトリガー条件を表示します。
displayTriggerCondition(captureData,2);
The trigger condition is: A==High and B>15
指定されたトリガー イベントのデータをキャプチャするためにオブジェクトを呼び出します。
[~,~,dataOut] = captureData();
HDL IP コアがトリガー ステージ 1 で設定されたトリガー条件を検出した後、トリガー ステージ 2 で設定されたトリガー条件を検出し、設定されたシーケンスを満たすと、dataOut
が返されます。
固定小数点データのキャプチャ
8 ビット信号のデフォルトのデータ型は uint8
ですが、HDL 設計では固定小数点数を使用して信号を表すことができます。キャプチャしたデータのデータ型を設定して、固定小数点表現にキャストします。
captureData = mydc;
setDataType(captureData,'B',numerictype(1,8,6));
キャプチャされた信号のデータ型を表示します。
displayDataTypes(captureData);
Signal Name : Data Type Capture_Window : uint32 Trigger_Position : boolean A : boolean B : numerictype(1,8,6)
指定されたトリガー イベントでデータをキャプチャするオブジェクトを呼び出します。
[~,~,dataOut] = captureData();
dataOut
構造体では、フィールド A
は 4096 個の logical
値のベクトルであり、フィールド B
は 6 つの小数ビットを含む 4096 個の符号付き 8 ビット固定小数点値のベクトルです。
バージョン履歴
R2017a で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)