このページは機械翻訳を使用して翻訳されました。元の英語を参照するには、ここをクリックします。
matlabtb
インスタンス化された HDL モジュールの MATLAB テストベンチ セッションをスケジュールする
説明
メモ
このコマンドは、MATLAB® ではなく HDL シミュレーターに入力します。
matlabtb
は次のアクションを実行します: instance
HDL Verifier™ ソフトウェアの HDL シミュレータ クライアント コンポーネントを起動します。
HDL シミュレータで作成された HDL デザインの指定されたインスタンスを MATLAB 関数に関連付けます。
指定された MATLAB 関数の呼び出しをスケジュールするプロセスを作成します。
同じインスタンスを指定した以前の
matlabtb
コマンドによってスケジュールされた保留中のイベントをすべてキャンセルします。たとえば、インスタンスfoo
に対してコマンドmatlabtb
を発行すると、matlabtb
はfoo
でmatlabtb
によって開始された以前にスケジュールされたすべてのイベントをキャンセルします。このコマンドは HDL シミュレータで発行されます。
MATLAB テストベンチ関数は、HDL モデル内のエンティティに渡される刺激を模倣します。MATLAB または
matlabtb
でスケジュールされた HDL からの強制刺激。メモ
matlabtb
に指定する通信モードは、サーバー接続を確立したときにhdldaemon
に指定した通信モードと一致する必要があります。ソケット通信の場合、HDL シミュレータで
matlabtb
コマンドを使用してリンク要求を発行するときに、hdldaemon
に選択したポート番号を指定します。
matlabtb
は、指定された MATLAB 関数をスケジュールするための時間指定を追加します。instance
time-specs
matlabtb
は、有効な仕様名とその値で構成されるペアとして 1 つ以上の追加仕様を指定します。たとえば、instance
___ pair1 ... pairN
-mfunc vlogmatlabc
は、MATLAB 関数 vlogmatlabc
が指定された HDL モジュールに関連付けられることを指定します。これらのペアは、time-specs
の有無にかかわらず指定できます。
例
matlabtb
を -socket
引数および時間パラメータとともに使用する
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 シミュレータ クライアント コンポーネントを起動します。computer123
という名前のリモート MATLAB ホスト コンピュータと TCP/IP ポート 4449 を使用して、リモート TCP/IP ソケット ベースのセッションを開始します。指定されたテストベンチ刺激に基づいて、myfirfilter.m
は、信号 /top/fclk
が立ち上がりエッジを経験するたび、および信号 /top/din
の状態が変化するたびに、現在の時刻から 10 ナノ秒実行されます。
hdlsim> matlabtb /top/myfirfilter 10 ns -rising /top/fclk -sensitivity /top/din -socket 4449@computer123
MATLAB関数名と感度信号を指定する
HDL Verifier ソフトウェアの HDL シミュレータ クライアント コンポーネントを起動します。-mfunc
オプションは接続先の MATLAB 関数を指定し、-socket
ペアはソケット接続モードのポート番号を指定します。-sensitivity
ペアは、テストベンチ セッションが信号 sine_out
に敏感であることを示します。
hdlsim> matlabtb osc_top -sensitivity /osc_top/sine_out -socket 4448 -mfunc hosctb
入力引数
instance
— MATLAB テストベンチ関数に関連付けられた HDL モジュールのインスタンス
文字ベクトル | string スカラー
MATLAB 関数に関連付けられた HDL モジュールのインスタンス。HDL モジュール インスタンスを示す文字ベクトルまたは文字列スカラーとして指定されます。デフォルトでは、matlabtb
コマンドはインスタンスを、インスタンスと同じ名前を持つ MATLAB 関数に関連付けます。たとえば、インスタンスが myfirfilter
の場合、matlabtb
はインスタンスを MATLAB 関数 myfirfilter
に関連付けます。コマンドは階層名を無視します。たとえば、インスタンスが top.myfirfilter
の場合、matlabtb
コマンドは myfirfilter
のみを MATLAB 関数に関連付けます。指定されたインスタンスをインスタンス名とは異なる MATLAB 関数に関連付けるには、pair1 ... pairN
引数のように -mfunc
指定を使用します。
メモ
MATLAB 関数にすでに関連付けられている HDL モジュールのインスタンスを指定すると (matlabcp
または matlabtb
経由)、新しい関連付けによって既存の関連付けが上書きされます。
データ型: char
| string
time-specs
— MATLAB 関数の実行をスケジュールする
1 つ以上の時間指定をスペースで区切ったリスト
スペースで区切られた 1 つ以上の時間指定のリスト。この表にリストされている 1 つ以上の時間指定のスペースで区切られたリストとして指定されます。
時間指定 | 説明 |
---|---|
time_1 time_2 ... time_n | HDL シミュレータが指定された MATLAB 関数を呼び出す 1 つ以上の離散時間を指定します。指定された時間は、現在のシミュレーション時間を基準とします。時間を指定しない場合、HDL シミュレータはシミュレーションの開始時に MATLAB 関数を 1 回呼び出します。各 time_i は、時間の値を示す数値と、オプションで次の時間単位で構成されます。
時間単位を指定しない場合、コマンドは時間値を HDL シミュレーション ティックの値として扱います。各time_iをスペースで区切ります。 たとえば、このコードでは、MATLAB 関数 matlabtb vlogmodel_top 10 ns, 10 ms, 10 sec |
-repeat <time> | HDL シミュレータが指定された回数に基づいて MATLAB 関数を繰り返し呼び出すように指定します。時間値は、HDL シミュレータが最初に MATLAB 関数を呼び出したときの tnow の値を基準とします。 |
-cancel <time> | 指定された MATLAB 関数の実行を停止する単一の時刻を指定します。時間値は、HDL シミュレータが最初に MATLAB 関数を呼び出したときの メモ
|
メモ
時間指定は、matlabtb
インスタンスの後、追加のコマンド引数の前に配置します。そうしないと、時間指定は無視されます。
pair1 ... pairN
— 追加仕様
1 つ以上の指定ペアのスペース区切りリスト
追加の仕様。1 つ以上の仕様ペアのスペース区切りリストとして指定されます。仕様ペアは名前と値で構成されます。この表には、これらのペアの有効なオプションが表示されます。
仕様ペア
名前 | 値 | 説明 |
---|---|---|
-socket | hdldaemon コマンドで発行された通信モードと一致する通信モード | HDL Verifier が TCP/IP ソケットを使用して HDL シミュレータと MATLAB 間で通信するように指定します。共有メモリは通信のデフォルト モードであり、 TCP/IP ソケット ポートの選択の詳細については、TCP/IP ソケット ポート を参照してください。 メモ
|
-rising | 1 つ以上のシグナル名のコンマ区切りリスト |
メモ
|
-falling | 1 つ以上のシグナル名のコンマ区切りリスト | ロジック タイプとして定義された 1 つ以上の信号のパス名を指定します ( 以下の信号遷移を決定する場合:
メモ
|
-sensitivity | 1 つ以上のシグナル名のコンマ区切りリスト | 1 つ以上の信号のパス名を指定します。このペアは、指定された信号のいずれかの状態が変化するたびに、アプリケーションが指定された MATLAB 関数を呼び出すことを示します。あらゆるタイプの信号が感度リストに表示され、HDL モデル階層の任意のレベルに配置できます。 メモ
|
-mfunc | MATLAB 関数名 |
|
-use_instance_obj | -use_instance_obj フィールドの表に記載されているフィールドを持つ構造 | このペアは、引数 |
-argument | HDLインスタンス引数 | HDL 側の |
-use_instance_obj
フィールド
フィールド | 読み取りまたは書き込みアクセス | 説明 |
---|---|---|
tnext | 書き込み専用 | 設定された時間内にコールバックをスケジュールします。このフィールドは古い hdl_instance_obj.tnext = hdl_instance_obj.tnow + 5e-9 |
userdata | 読むか書くか | 現在の matlabtb インスタンスの状態変数を保存します。このインスタンスのコールバックが次にスケジュールされたときに、変数を取得できます。 |
simstatus | 読み取り専用 | HDL シミュレータのステータスを保存します。HDL Verifier ソフトウェアは、この特定のインスタンスの最初のコールバック中にこのフィールドを >> hdl_instance_obj.simstatus ans= Init |
instance | 読み取り専用 | コールバックに関連付けられた Verilog または VHDL インスタンスの完全なパスを保存します。 HDL シミュレータの場合: hdlsim> matlabtb osc_top -mfunc oscfilter use_instance_obj MATLAB で、以下を実行します。 >> hdl_instance_obj.instance ans= osc_top |
argument | 読み取り専用 |
matlabtb osc_top -mfunc oscfilter -use_instance_obj -argument foo -use_instance_obj ペアで使用される場合にのみ、-argument オプションをサポートします。それ以外の場合、コマンドは引数を無視します。argument は読み取り専用プロパティです。 >> hdl_instance_obj.argument ans= foo |
portinfo | 読み取り専用 | このインスタンスに関連付けられている VHDL ポートと Verilog ポートに関する情報を格納します。 hdl_instance_obj.portinfo.field1.field2.field3
メモ
|
tscale | 読み取り専用 | HDL シミュレータの解像度制限 (ティック) を秒単位で保存します。 >> hdl_instance_obj.tscale ans= 1.0000e-009 メモ
|
tnow | 読み取り専用 | 現在の時刻を保存します。 hdl_instance_obj.tnext = hld_instance_obj.tnow + fastestrate; |
portvalues | 読むか書くか |
>> hdl_instance_obj.portvalues ans = Read Only Input ports: clk_enable: [] clk: [] reset: [] Read/Write Output ports: sine_out: [22x1 char] |
linkmode | 読み取り専用 | コールバックのステータスを保存します。HDL Verifier は、コールバックが >> hdl_instance_obj.linkmode ans= component |
バージョン履歴
R2008a で導入
参考
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)