このページは機械翻訳を使用して翻訳されました。最新版の英語を参照するには、ここをクリックします。
matlabcp
MATLABコンポーネント関数をインスタンス化された HDL デザインに関連付ける
説明
メモ
このコマンドは、 MATLAB®ではなく、HDL シミュレーターに入力します。
matlabcp
は次のアクションを実行します。 instance
HDL Verifier™ソフトウェアの HDL シミュレータ クライアント コンポーネントを開始します。
HDL シミュレーターで作成された HDL デザインの指定されたインスタンスをMATLAB関数に関連付けます。
指定されたMATLAB関数の呼び出しをスケジュールするプロセスを作成します。
同じインスタンスを指定した前の
matlabcp
コマンドによってスケジュールされた保留中のイベントをすべてキャンセルします。たとえば、コマンドmatlabcp
(たとえばfoo
)を発行すると、matlabcp
は、matlabcp
によって開始された以前にスケジュールされたイベントをすべてキャンセルします。foo
の$$ 。HDL シミュレーターでこのコマンドを発行します。
MATLABコンポーネント関数は、HDL モデル内のモジュールの動作をシミュレートします。HDL モデルのスタブ モジュール (ポート定義のみを提供) は、その入力信号をMATLABコンポーネント関数に渡します。MATLABコンポーネントはこのデータを処理し、結果をスタブ モジュールの出力に返します。MATLABコンポーネントは通常、HDL コードにまだ実装されていないいくつかの機能 (フィルターなど) を提供します。MATLABコンポーネント関数の詳細については、 「 MATLABコンポーネント関数を作成する 」を参照してください。
メモ
matlabcp
に指定する通信モードは、サーバー接続を確立したときにhdldaemon
に指定した通信モードと一致する必要があります。ソケット通信の場合、HDL シミュレーターで
hdldaemon
コマンドでリンク要求を発行するときに、matlabcp
に選択したポート番号を指定します。
matlabcp
は、指定されたMATLAB関数をスケジュールするための時間指定を追加します。instance
time-specs
matlabcp
は、有効な仕様名とその値で構成されるペアとして 1 つ以上の追加仕様を指定します。たとえば、 instance
___ pair1 ... pairN
-mfunc vlogmatlabc
は、MATLAB関数vlogmatlabc
が指定された HDL モジュールに関連付けられることを指定します。これらのペアは、 time-specs
の有無にかかわらず指定できます。
例
matlabcp
を-mfunc
オプションとともに使用して、HDL コンポーネントを別の名前のMATLAB関数に関連付けます
Verilog®モジュールvlogtestbench_top.u_matlab_component
をMATLAB関数 vlogmatlabc
に関連付けます。 -mfunc
オプション。-socket
オプションは、ポート 4449 でソケット通信を使用するように指定します。
hdlsim>matlabcp vlogtestbench_top.u_matlab_component -mfunc vlogmatlabc -socket 4449
matlabcp
を明示的な時間と-cancel
オプションで使用します
Verilogモジュールvlogtestbench_top
をMATLAB関数vlogtestbench_top
に関連付け、 で明示的な時間を指定します。 $-cancel
オプション。
hdlsim>matlabcp vlogtestbench_top 1e6 fs 3 2e3 ps -repeat 3 ns -cancel 7ns
matlabcp
を立ち上がりエッジと立ち下がりエッジで使用する
立ち上がりエッジと立ち下がりエッジを指定して、Verilogモジュールvlogtestbench_top
をMATLAB関数vlogtestbench_top
に関連付けます。
hldsim> matlabcp vlogtestbench_top 1 2 3 4 5 6 7 -rising outclk3 -falling u_matlab_component/inoutclk
入力引数
instance
— HDLモジュールのインスタンス
文字ベクトル | string スカラー
MATLAB関数に関連付けられた HDL モジュールのインスタンス。HDL モジュール インスタンスを示す文字ベクトルまたは文字列スカラーとして指定します。デフォルトでは、 matlabcp
コマンドは、インスタンスを、インスタンスと同じ名前を持つMATLAB関数に関連付けます。たとえば、インスタンスがmyfirfilter
の場合、 matlabcp
はインスタンスをMATLAB関数myfirfilter
に関連付けます。このコマンドは階層名を無視します。たとえば、インスタンスがtop.myfirfilter
の場合、 matlabcp
コマンドはmyfirfilter
のみをMATLABに関連付けます。関数。指定したインスタンスをインスタンス名とは異なるMATLAB関数に関連付けるには、 -mfunc
引数と同様にpair1 ... pairN
指定を使用します。
メモ
すでに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関数 matlabcp vlogmodel_top 10 ns, 10 ms, 10 sec |
-repeat <time> | HDL シミュレーターが指定された回数に基づいてMATLAB関数を繰り返し呼び出すように指定します。時間値は、HDL シミュレーターが最初にMATLAB tnow の値を基準としています。 |
-cancel <time> | 指定したMATLAB関数の実行を停止する時刻を 1 回指定します。時間値は、HDL シミュレーターが最初にMATLAB メモ
|
メモ
時間指定は、matlabcp
インスタンスの後、追加のコマンド引数の前に配置します。それ以外の場合、時間指定は無視されます。
pair1 ... pairN
— 追加仕様
1 つ以上の仕様ペアのスペース区切りのリスト
追加の仕様。1 つ以上の仕様ペアのスペース区切りのリストとして指定します。仕様のペアは、名前と値で構成されます。この表は、これらのペアの有効な名前と値のオプションを示しています。
仕様のペア
名前 | 値 | 説明 |
---|---|---|
-socket | hdldaemon コマンドで発行された通信モードと一致する通信モード | HDL シミュレーターとHDL Verifier間の通信に TCP/IP ソケットを使用するには、 MATLABを指定します。共有メモリはデフォルトの通信モードであり、 TCP/IP ソケット ポートの選択の詳細については、 「 TCP/IPソケットポート 」を参照してください。 |
-rising | 1 つ以上の信号名のカンマ区切りのリスト | ロジック タイプとして定義された 1 つ以上の信号のパス名を使用して
メモ
|
-falling | 1 つ以上の信号名のカンマ区切りのリスト | ロジック タイプとして定義された 1 つ以上の信号のパス名を指定します ( 以下の信号遷移を決定する場合:
メモ
|
-sensitivity | 1 つ以上の信号名のカンマ区切りのリスト | 1 つ以上の信号のパス名を指定します。このペアは、指定された信号のいずれかが状態を変更するたびに、アプリケーションが指定されたMATLAB関数を呼び出すことを示します。任意のタイプの信号を感度リストに表示でき、HDL モデル階層の任意のレベルに配置できます。 メモ
|
-mfunc | MATLAB 関数名 | MATLABに指定する HDL モジュール インスタンスに関連付けられた |
-use_instance_obj | -use_instance_obj フィールドの表に記載されているフィールドを含む構造体 | このペアは、引数 |
-argument | HDL インスタンスの引数 | HDL 側の |
-use_instance_obj
フィールド
フィールド | 読み取りまたは書き込みアクセス | 説明 |
---|---|---|
tnext | 書き込み専用 | 設定した時間内にコールバックをスケジュールします。このフィールドは、古い hdl_instance_obj.tnext = hdl_instance_obj.tnow + 5e-9 |
userdata | 読み取りまたは書き込み | 現在のmatlabcp インスタンスの状態変数を保存します。次回このインスタンスのコールバックがスケジュールされるときに変数を取得できます。 |
simstatus | 読み取り専用 | HDL シミュレータのステータスを保存します。HDL Verifierソフトウェアは、この特定のインスタンスの最初のコールバック中にこのフィールドを >> hdl_instance_obj.simstatus ans= Init |
instance | 読み取り専用 | コールバックに関連付けられたVerilogまたはVHDLインスタンスのフル パスを格納します。 HDL シミュレータでは次のようになります。 hdlsim> matlabcp 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 -argument ペアで使用される場合にのみ、 -use_instance_obj オプションをサポートします。それ以外の場合、コマンドは引数を無視します。 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)