このページは機械翻訳を使用して翻訳されました。最新版の英語を参照するには、ここをクリックします。
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
の有無にかかわらず指定できます。
例
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
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 関数に関連付けるには、pair1 ... pairN
引数のように -mfunc
指定を使用します。
メモ
MATLAB 関数にすでに関連付けられている HDL モジュールのインスタンスを指定すると (matlabcp
または matlabtb
経由)、新しい関連付けによって既存の関連付けが上書きされます。
データ型: char
| string
スペースで区切られた 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
インスタンスの後、追加のコマンド引数の前に配置します。そうしないと、時間指定は無視されます。
追加の仕様。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 Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- 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)