Main Content

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

matlabtb

インスタンス化された HDL モジュールのMATLABテストベンチ セッションをスケジュールします

    説明

    メモ

    このコマンドは、 MATLAB®ではなく、HDL シミュレーターに入力します。

    matlabtb instance は次のアクションを実行します。

    • HDL Verifier™ソフトウェアの HDL シミュレーター クライアント コンポーネントを開始します。

    • HDL シミュレーターで作成された HDL デザインの指定されたインスタンスをMATLAB関数に関連付けます。

    • 指定されたMATLAB関数の呼び出しをスケジュールするプロセスを作成します。

    • 同じインスタンスを指定した前のmatlabtbコマンドによってスケジュールされた保留中のイベントをすべてキャンセルします。たとえば、コマンドmatlabtb (たとえばfoo )を発行すると、 matlabtb は、 matlabtbによって開始された以前にスケジュールされたイベントをすべてキャンセルします。 fooの$$ 。

      このコマンドは HDL シミュレーターで発行されます。

      MATLABテストベンチ関数は、HDL モデル内のエンティティに渡される刺激を模倣します。MATLABまたはmatlabtbでスケジュールされた HDL からの強制刺激。

      メモ

      matlabtbに指定する通信モードは、サーバー接続を確立したときにhdldaemonに指定した通信モードと一致する必要があります。

      ソケット通信の場合、HDL シミュレータでhdldaemonコマンドでリンク要求を発行するときに、 matlabtb に選択したポート番号を指定します。

    matlabtb instance time-specs は、指定されたMATLAB関数をスケジュールするための時間指定を追加します。

    matlabtb instance ___ pair1 ... pairN は、有効な仕様名とその値で構成されるペアとして 1 つ以上の追加仕様を指定します。たとえば、 -mfunc vlogmatlabc は、 MATLAB関数vlogmatlabc が指定された HDL モジュールに関連付けられることを指定します。これらのペアは、 time-specsの有無にかかわらず指定できます。

    すべて折りたたむ

    HDL Verifierの HDL シミュレーター クライアント コンポーネントを開始し、エンティティmyfirfilterのインスタンスをMATLAB関数myfirfilterに関連付けます。 $、TCP/IP ポート 4449 を使用してローカル TCP/IP ソケットベースのテストベンチ セッションを開始します。指定されたテストベンチ刺激に基づいて、 myfirfilter.m は現在時刻から 5 ナノ秒後に実行され、その後 10 ナノ秒ごとに繰り返し実行されます。

    hdlsim> matlabtb myfirfilter 5 ns -repeat 10 ns -socket 4449
    

    HDL Verifierの HDL シミュレーター クライアント コンポーネントを開始します。MATLABという名前のリモートcomputer123 ホスト コンピューターと TCP/IP ポート 4449 を使用して、リモート TCP/IP ソケット ベースのセッションを開始します。指定されたテストベンチ刺激に基づいて、 myfirfilter.m は、信号/top/fclk が立ち上がりエッジを経験するたび、および信号が上昇するたびに、現在時刻から 10 ナノ秒後に実行されます。 $/top/din は状態を変更します。

    hdlsim> matlabtb /top/myfirfilter 10 ns -rising /top/fclk -sensitivity /top/din 
          -socket 4449@computer123

    HDL Verifierソフトウェアの HDL シミュレータ クライアント コンポーネントを起動します。-mfuncオプションは接続先のMATLAB関数を指定し、 -socketペアはソケット接続モードのポート番号を指定します。-sensitivityペアは、テストベンチ セッションが信号sine_outに敏感であることを示します。

    hdlsim> matlabtb osc_top -sensitivity /osc_top/sine_out
          -socket 4448 -mfunc hosctb

    入力引数

    すべて折りたたむ

    MATLAB関数に関連付けられた HDL モジュールのインスタンス。HDL モジュール インスタンスを示す文字ベクトルまたは文字列スカラーとして指定します。デフォルトでは、 matlabtbコマンドは、インスタンスを、インスタンスと同じ名前を持つMATLAB関数に関連付けます。たとえば、インスタンスがmyfirfilterの場合、 matlabtb はインスタンスをMATLAB関数myfirfilterに関連付けます。このコマンドは階層名を無視します。たとえば、インスタンスがtop.myfirfilterの場合、 matlabtbコマンドはmyfirfilterのみをMATLABに関連付けます。関数。指定したインスタンスをインスタンス名とは異なるMATLAB関数に関連付けるには、 -mfunc引数と同様にpair1 ... pairN指定を使用します。

    メモ

    すでにMATLAB関数に関連付けられている HDL モジュールのインスタンスを指定した場合 ( matlabcpまたはmatlabtb経由)、新しい関連付け既存のものを上書きします。

    データ型: char | string

    1 つ以上の時間指定のスペース区切りのリスト。この表にリストされている 1 つ以上の時間指定のスペース区切りのリストとして指定します。

    時間指定説明
    time_1 time_2 ... time_n

    HDL シミュレーターが指定されたMATLAB関数を呼び出す 1 つ以上の離散時間を指定します。指定された時間は、現在のシミュレーション時間を基準としています。時間を指定しない場合、HDL シミュレーターはシミュレーションの開始時にMATLAB関数を 1 回呼び出します。各time_iは、時間値を示す数値と、次のオプションの時間単位で構成されます。

    • fs (フェムト秒)

    • ps (ピコ秒)

    • ns (ナノ秒)

    • 私たち (マイクロ秒)

    • ms (ミリ秒)

    • 秒 (秒)

    時間単位を指定しない場合、コマンドは時間値を HDL シミュレーション ティックの値として扱います。各 time_i をスペースで区切ります。

    たとえば、次のコードは、 MATLAB関数 vlogmodel_top を時刻 0 (最初の実行) で実行し、その後 10 ナノ秒、10 ミリ秒、および 10 秒で実行するように指定します。

    matlabtb vlogmodel_top 10 ns, 10 ms, 10 sec
    
    -repeat <time>HDL シミュレーターが指定された回数に基づいてMATLAB関数を繰り返し呼び出すように指定します。時間値は、HDL シミュレーターが最初にtnowMATLABの値を基準としています。
    -cancel <time>

    指定したMATLAB関数の実行を停止する時刻を 1 回指定します。時間値は、HDL シミュレーターが最初にtnowMATLABの値を基準にしています。キャンセル時間を指定しない場合、アプリケーションはシミュレーションを終了するか、セッションを終了するか、 MATLABnomatlabtb関数を呼び出します。

    メモ

    -cancelオプションは、<time-specs> 引数でのみ機能します。matlabtbの他のスケジュール引数には影響しません。

    メモ

    時間の指定は、 matlabtbインスタンスの後、追加のコマンド引数の前に配置します。それ以外の場合、時間指定は無視されます。

    追加の仕様。1 つ以上の仕様ペアのスペース区切りのリストとして指定します。仕様のペアは、名前と値で構成されます。この表は、これらのペアの有効なオプションを示しています。

    仕様のペア

    名前説明
    -sockethdldaemonコマンドで発行された通信モードと一致する通信モード

    HDL シミュレーターとHDL Verifier間の通信に TCP/IP ソケットを使用するには、 MATLABを指定します。共有メモリはデフォルトの通信モードであり、 -socket <tcp_spec>を指定しない場合に有効になります。matlabtbコマンドで指定する通信モードは、hdldaemonコマンドで指定した通信モードと一致する必要があります。

    TCP/IP ソケット ポートの選択の詳細については、 「 TCP/IPソケットポート 」を参照してください。

    メモ

    matlabtbコマンドで指定する通信モードは、TG MATLABでhdldaemonコマンドを発行するときに指定する通信モードと一致する必要があります。 $。通信モードの詳細については、 「HDL コシミュレーションのための通信」を参照してください。通信リンクのMATLAB側の確立の詳細については、 MATLABから HDL シミュレーターを開始するを参照してください。

    -rising1 つ以上の信号名のカンマ区切りのリスト

    ロジック タイプとして定義された 1 つ以上の信号のパス名を使用して-risingを指定します (STD_LOGICBITX01など)。このペアは、アプリケーションが立ち上がりエッジ ( MATLABからへの遷移) で指定された'0'関数を呼び出すことを示します。 $'1') の指定された信号のいずれか。

    • VHDL®では、0 または L から 1 または H への遷移が立ち上がりエッジを決定します。

    • Verilog®では、0 から x、z、または 1 への遷移、または x または z から 1 への遷移が立ち上がりエッジを決定します。

    メモ

    -risingペアでシグナルを指定する場合は、フルパス名形式でシグナルを指定します。フル パス名を指定しない場合、コマンドは HDL シミュレーター ルールを適用して信号仕様を解決します。

    -falling1 つ以上の信号名のカンマ区切りのリスト

    ロジック タイプとして定義された 1 つ以上の信号のパス名を指定します (STD_LOGICBITX01など)。指定された信号のいずれかが立ち下がりエッジ( MATLABから '1''0'。)。

    以下の信号遷移を決定する場合:

    • VHDLでは、1 または H から 0 または L への遷移が立ち下がりエッジを決定します。

    • Verilogでは、1 から x、z、または 0 への遷移、または x または z から 0 への遷移が立ち下がりエッジを決定します。

    メモ

    -fallingペアでシグナルを指定する場合は、フルパス名形式でシグナルを指定します。フル パス名を指定しない場合、コマンドは HDL シミュレーター ルールを適用して信号仕様を解決します。

    -sensitivity1 つ以上の信号名のカンマ区切りのリスト

    1 つ以上の信号のパス名を指定します。このペアは、指定された信号のいずれかが状態を変更するたびに、アプリケーションが指定されたMATLAB関数を呼び出すことを示します。任意のタイプの信号を感度リストに表示でき、HDL モデル階層の任意のレベルに配置できます。

    メモ

    -sensitivityペアでシグナルを指定する場合は、フルパス名形式でシグナルを指定します。フル パス名を指定しない場合、コマンドは HDL シミュレーター ルールを適用して信号仕様を解決します。

    -mfuncMATLAB 関数名

    MATLABに指定する HDL モジュール インスタンスに関連付けられたinstance関数の名前を指定します。デフォルトでは、 HDL Verifierソフトウェアは、指定された HDL インスタンスと同じ名前を持つMATLAB関数を呼び出します。名前が同じ場合は、 -mfuncペアを省略できます。名前が同じでない場合は、 matlabtbを呼び出すときにこの引数を使用します。この引数を省略し、 matlabtbで同じ名前のMATLAB関数が見つからない場合、コマンドはエラー メッセージを生成します。

    -use_instance_obj-use_instance_obj フィールドの表に記載されているフィールドを含む構造体

    このペアは、引数-mfuncで指定された関数に対し、HDL Verifierによって関数に渡された HDL インスタンス オブジェクトを使用するように指示します。この値には、該当する表に示されているフィールドがあります。例については、HDL インスタンス オブジェクトを使用した関数の作成を参照してください。

    -argumentHDL インスタンス引数

    HDL 側のmatlabtbコマンドからMATLAB関数コールバックにユーザー定義の引数を渡します。このペアは-use_instance_objでのみサポートされます。詳細については、テーブル-use_instance_obj フィールドのフィールドを参照してください。

    -use_instance_obj フィールド

    フィールド読み取りまたは書き込みアクセス説明
    tnext書き込み専用

    設定した時間内にコールバックをスケジュールします。このフィールドは、古いtnextと同等です。たとえば、このコードはtnowから 5 ナノ秒後にコールバックをスケジュールします。

    hdl_instance_obj.tnext = hdl_instance_obj.tnow + 5e-9
    userdata読み取りまたは書き込み現在のmatlabtbインスタンスの状態変数を保存します。次回このインスタンスのコールバックがスケジュールされるときに変数を取得できます。
    simstatus読み取り専用

    HDL シミュレータのステータスを保存します。HDL Verifierソフトウェアは、この特定のインスタンスの最初のコールバック中にこのフィールドをInitに設定し、それ以降はRunningに設定します。 simstatus は読み取り専用フィールドです。

    >> hdl_instance_obj.simstatus
    
    ans=
          Init
    instance読み取り専用

    コールバックに関連付けられたVerilogまたはVHDLインスタンスのフル パスを格納します。 instance は読み取り専用フィールドです。このフィールドの値は、関数呼び出しで指定されたモジュール インスタンスの値と等しくなります。以下に例を示します。

    HDL シミュレータでは次のようになります。

    hdlsim> matlabtb osc_top -mfunc oscfilter use_instance_obj
    

    MATLAB で、以下を実行します。

    >> hdl_instance_obj.instance
    
    ans=
    		osc_top
    argument読み取り専用

    -argumentペアによって設定される引数を格納します。以下に例を示します。

    matlabtb osc_top -mfunc oscfilter -use_instance_obj -argument foo
    リンク ソフトウェアは、-argumentペアで使用される場合にのみ、 -use_instance_objオプションをサポートします。それ以外の場合、コマンドは引数を無視します。 argument は読み取り専用のプロパティです。

    >> hdl_instance_obj.argument
    
    ans= 
        	foo
    
    portinfo読み取り専用

    このインスタンスに関連付けられているVHDLおよびVerilogポートに関する情報を保管します。 portinfoは読み取り専用プロパティであり、関連する HDL モジュールに対して定義されたポートを記述するフィールド構造を持っています。portinfo構造体は、ポートごとに、ポートのタイプ、方向、サイズなどの情報を渡します。ポート データの詳細については、 「ポート情報へのアクセスと適用」を参照してください。

    hdl_instance_obj.portinfo.field1.field2.field3
    

    メモ

    use_instance_objを使用する場合、HDL インスタンス オブジェクトを通じてtscaleにアクセスします。use_instance_objを使用しない場合でも、 tscaleを通じてportinfo にアクセスできます。

    tscale読み取り専用

    HDL シミュレーターの解像度制限 (ティック) を秒単位で保存します。 tscale は読み取り専用のプロパティです。

    >> hdl_instance_obj.tscale
    
    ans=
    	1.0000e-009
    

    メモ

    use_instance_objを使用する場合、HDL インスタンス オブジェクトを通じてtscaleにアクセスします。use_instance_objを使用しない場合でも、 tscaleを通じてportinfo にアクセスできます。

    tnow読み取り専用

    現在時刻を保存します。 tnow は読み取り専用のプロパティです。

    hdl_instance_obj.tnext = hld_instance_obj.tnow + fastestrate;
    
    portvalues読み取りまたは書き込み

    matlabtbインスタンスの出力ポートと入力ポートの現在の値を保存し、新しい値を設定します。以下に例を示します。

    >> hdl_instance_obj.portvalues
    
    ans =
    Read Only Input ports:
    	clk_enable: []
    	clk: []
    	reset: []
    Read/Write Output ports:
    	sine_out: [22x1 char]
    linkmode読み取り専用

    コールバックのステータスを保存します。 HDL Verifier は、コールバックが'testbench' matlabtbコマンドに関連付けられている場合は'component' に設定します。コールバックはmatlabcpコマンドに関連付けられています。 linkmode は読み取り専用のプロパティです。

    >> hdl_instance_obj.linkmode
    
    ans=
    	component

    バージョン履歴

    R2008a で導入