インテル® Quartus® Primeプロ・エディション・ユーザーガイド: デバッグツール

ID 683819
日付 9/30/2019
Public
ドキュメント目次

2.11.2. Signal Tap MATLAB* MEX関数を使用したデータのキャプチャ

MATLAB*をDSPデザインに対して使用する場合、データの取得は、 Signal Tapロジック・アナライザーからMATLAB*環境のマトリックスに直接することができます。これには、MATLAB* MEX関数 alt_signaltap_run を呼び出します。この関数は インテル® Quartus® Prime開発ソフトウェアに組み込まれています。 MATLAB* MEX関数をループで使用する場合、実行できる取得数は、同じ時間内で インテル® Quartus® Prime開発ソフトウェア環境でSignal Tapを使用した場合と同じです。
注: Signal Tap MATLAB* MEX関数は、 インテル® Quartus® Prime開発ソフトウェアのWindows*バージョンおよびLinuxバージョンで使用可能です。この関数と互換性があるのは、MATLAB* Release 14オリジナル・リリース・バージョン7およびそれ以降のバージョンです。

インテル® Quartus® Prime開発ソフトウェアおよびMATLAB*環境を設定してSignal Tapの取得を実行するには、次を実行します。

  1. インテル® Quartus® Prime開発ソフトウェアで .stp ファイルを作成します。
  2. Signal Tapロジック・アナライザーのEditorのDataタブにあるノードリストで、信号および信号グループを編成して、MATLAB*マトリックスで表示する順にします。

    インポートしたマトリクスの各カラムで表されるのは、単一のSignal Tap取得サンプルです。一方、各ロウで表されるのは信号または信号のグループで、その順序はDataタブで定義したとおりになっています。

    注: 信号グループは、Signal Tapロジック・アナライザーで取得して、MATLAB* MEX関数に転送する場合、幅の制限は信号32個です。MATLAB* MEX関数を使用する際、バスまたは信号グループに32を超える信号が含まれる場合、グループを小さなグループに分割して、この制限を超えないようにします。
  3. .stp ファイルを保存し、デザインをコンパイルします。デバイスをプログラミングし、Signal Tapロジック・アナライザーを実行して、トリガー条件と信号の取得が正しく機能することを確認します。
  4. MATLAB*環境では、 インテル® Quartus® Primeバイナリー・ディレクトリーをパスに追加するのに次のコマンドを使用します。
    addpath <Quartus install directory>\win

    MEX関数のヘルプファイルの表示には、次のコマンドをMATLAB*に入力します。演算子は付けません。

    alt_signaltap_run

  5. MATLAB* MEX関数を使用して、デバイスへのJTAG接続を開き、Signal Tapロジック・アナライザーを実行してデータを取得します。データの取得が終了したら、JTAG接続を閉じます。

    JTAG接続を開いて、キャプチャしたデータの取得を stp* と呼ばれるMATLABマトリックスに直接行うには、次のコマンドを使用します。

    stp = alt_signaltap_run \
    ('<stp filename>'[,('signed'|'unsigned')[,'<instance names>'[, \
    '<signalset name>'[,'<trigger name>']]]]);

    データをキャプチャする際にはファイル名の割り当てが必要です。例えば、<stp filename> がMATLAB* MEX関数の要件です。他のMATLAB* MEX関数のオプションを次の表に示します。

    表 15.   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を参照してください。