インテルのみ表示可能 — GUID: mwh1410384818503
Ixiasoft
インテルのみ表示可能 — GUID: mwh1410384818503
Ixiasoft
2.10.5. MATLAB* MEX関数を使用したSignal Tapデータのキャプチャ
Quartus® Prime開発ソフトウェアおよびMATLAB*環境を設定してSignal Tapの取得を実行するには、次を実行します。
- Quartus® Prime開発ソフトウェアで .stp ファイルを作成します。
- Signal Tapロジック・アナライザーのEditorのDataタブにあるノードリストで、信号および信号グループを編成して、MATLAB*マトリックスで表示する順にします。
インポートしたマトリクスの各カラムで表されるのは、単一のSignal Tap取得サンプルです。一方、各ロウで表されるのは信号または信号のグループで、その順序はDataタブで定義したとおりになっています。
注: 信号グループは、Signal Tapロジック・アナライザーで取得して、MATLAB* MEX関数に転送する場合、幅の制限は信号32個です。MATLAB* MEX関数を使用する際、バスまたは信号グループに32を超える信号が含まれる場合、グループを小さなグループに分割して、この制限を超えないようにします。 - .stp ファイルを保存し、デザインをコンパイルします。デバイスをプログラミングし、Signal Tapロジック・アナライザーを実行して、トリガー条件と信号の取得が正しく機能することを確認します。
- MATLAB*環境では、 Quartus® Primeバイナリー・ディレクトリーをパスに追加するために、次のコマンドを使用します。
addpath <Quartus install directory>\win
MEX関数のヘルプファイルの表示には、次のコマンドをMATLAB*に入力します。演算子は付けません。
alt_signaltap_run
- MATLAB* MEX関数を使用して、デバイスへのJTAG接続を開き、Signal Tapロジック・アナライザーを実行してデータを取得します。データの取得が終了したら、JTAG接続を閉じます。
JTAG接続を開いて、キャプチャしたデータの取得を stp* と呼ばれるMATLABマトリックスに直接取得するには、次のコマンドを使用します。
stp = alt_signaltap_run \ ('<stp filename>'[,('signed'|'unsigned')[,'<instance names>'[, \ '<signalset name>'[,'<trigger name>']]]]);
データをキャプチャする場合はMATLAB* MEX関数の要件として、例えば、<stp filename>のようなファイル名を割り当てる必要があります。次の表では、MATLAB* MEX関数のその他のオプションについて説明しています。
表 25. Signal Tap MATLAB* MEX関数のオプション オプション 使用方法 説明 signed unsigned
'signed' 'unsigned'
signedオプションでは、信号のグループデータを32ビットの2の補数符号付き整数に変換します。そのグループのMSBは、Signal Tap Dataタブで定義されているとおり、符号ビットです。unsignedオプションは、データを符号なし整数として保持します。デフォルトはsignedです。 <instance name> 'auto_signaltap_0' Signal Tapインスタンスを指定するのは、複数のインスタンスが定義されている場合です。デフォルトは、.stp の最初のインスタンス auto_signaltap_0です。 <signal set name> <trigger name>
'my_signalset' 'my_trigger'
Signal Tapデータログから信号のセットとトリガーを指定するのは、複数のコンフィグレーションが .stp に存在する場合です。デフォルトは、ファイル内のアクティブな信号セットとトリガーです。 データ取得中、Verboseモードをイネーブル/ディスエーブルすると、ロジック・アナライザーのステータスが確認できます。Verboseモードをイネーブルまたはディスエーブルするには、次のコマンドを使用します。
alt_signaltap_run('VERBOSE_ON');-alt_signaltap_run('VERBOSE_OFF');
データ取得完了後、JTAG接続を閉じるには、次のコマンドを使用します。
alt_signaltap_run('END_CONNECTION');
MATLAB*でのMATLAB* MEX関数の使用の詳細については、MATLAB* Helpを参照してください。