このページは機械翻訳を使用して翻訳されました。元の英語を参照するには、ここをクリックします。
matlabcp
MATLAB コンポーネント関数をインスタンス化された HDL デザインに関連付ける
説明
メモ
このコマンドは、MATLAB® ではなく HDL シミュレーターに入力します。
matlabcp
は次のアクションを実行します: instance
HDL Verifier™ ソフトウェアの HDL シミュレータ クライアント コンポーネントを起動します。
HDL シミュレータで作成された HDL デザインの指定されたインスタンスを MATLAB 関数に関連付けます。
指定された MATLAB 関数の呼び出しをスケジュールするプロセスを作成します。
同じインスタンスを指定した以前の
matlabcp
コマンドによってスケジュールされた保留中のイベントをすべてキャンセルします。たとえば、インスタンスfoo
に対してコマンドmatlabcp
を発行すると、matlabcp
はfoo
でmatlabcp
によって開始された以前にスケジュールされたすべてのイベントをキャンセルします。HDL シミュレーターでこのコマンドを発行します。
MATLAB コンポーネント関数は、HDL モデル内のモジュールの動作をシミュレートします。HDL モデル内のスタブ モジュール (ポート定義のみを提供) は、入力信号を MATLAB コンポーネント関数に渡します。MATLAB コンポーネントはこのデータを処理し、結果をスタブ モジュールの出力に返します。MATLAB コンポーネントは通常、HDL コードにまだ実装されていない機能 (フィルターなど) を提供します。MATLAB コンポーネント関数の詳細については、MATLABコンポーネント関数を作成する を参照してください。
メモ
matlabcp
に指定する通信モードは、サーバー接続を確立したときにhdldaemon
に指定した通信モードと一致する必要があります。ソケット通信の場合、HDL シミュレータで
matlabcp
コマンドを使用してリンク要求を発行するときに、hdldaemon
に選択したポート番号を指定します。
matlabcp
は、指定された MATLAB 関数をスケジュールするための時間指定を追加します。instance
time-specs
matlabcp
は、有効な仕様名とその値で構成されるペアとして 1 つ以上の追加仕様を指定します。たとえば、instance
___ pair1 ... pairN
-mfunc vlogmatlabc
は、MATLAB 関数 vlogmatlabc
が指定された HDL モジュールに関連付けられることを指定します。これらのペアは、time-specs
の有無にかかわらず指定できます。
例
matlabcp
と -mfunc
オプションを使用して、HDL コンポーネントを異なる名前の MATLAB 関数に関連付けます。
-mfunc
オプションを使用して、Verilog® モジュール vlogtestbench_top.u_matlab_component
を MATLAB 関数 vlogmatlabc
に関連付けます。-socket
オプションは、ポート 4449 でソケット通信を使用することを指定します。
hdlsim>matlabcp vlogtestbench_top.u_matlab_component -mfunc vlogmatlabc -socket 4449
明示的な時刻と -cancel
オプションで matlabcp
を使用する
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 関数に関連付けるには、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 関数 matlabcp vlogmodel_top 10 ns, 10 ms, 10 sec |
-repeat <time> | HDL シミュレータが指定された回数に基づいて MATLAB 関数を繰り返し呼び出すように指定します。時間値は、HDL シミュレータが最初に MATLAB 関数を呼び出したときの tnow の値を基準とします。 |
-cancel <time> | 指定された MATLAB 関数の実行を停止する単一の時刻を指定します。時間値は、HDL シミュレータが最初に MATLAB 関数を呼び出したときの メモ
|
メモ
時間指定は、matlabcp
インスタンスの後、追加のコマンド引数の前に配置します。そうしないと、時間指定は無視されます。
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 | 読むか書くか | 現在の 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 -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)