このページは機械翻訳を使用して翻訳されました。最新版の英語を参照するには、ここをクリックします。
hdldaemon
HDL シミュレーターとの対話をサポートする制御MATLABサーバー
説明
hdldaemon
は、共有メモリのプロセス間通信を使用して HDL リンクMATLAB®サーバーを開始します。いつでも、hdldaemon
MATLABセッションごとに 1 つの hdldaemon
だけを実行できます。
hdldaemon(
は、1 つ以上の Name,Value
)Name,Value
のペアの引数によって指定された追加オプションを使用します。
メモリの種類を指定しない場合、サーバーは共有メモリの使用を開始します。
socket
Name, Value
引数を指定すると、サーバーはソケット メモリの使用を開始します。
メモ
サーバーがすでに実行されている場合、これらの引数を指定してhdldaemon
を発行すると、現在のサーバーがシャットダウンされ、共有メモリを使用して新しいサーバー セッションが開始されます (ソケットが指定されていない場合)。
例
MATLABサーバーを共有メモリで起動
共有メモリ通信を使用してMATLABサーバーを起動し、時刻の整数表現を使用します。
hdldaemon('time','int64')
HDLDaemon shared memory server is running with 0 connections
MATLABサーバーをソケット通信で起動
MATLABサーバーを起動し、ポート 4449 でのソケット通信を指定します。
hdldaemon('socket',4449)
HDLDaemon socket server is running on port 4449 with 0 connections
サーバーのステータスを確認する
1 つ以上の接続がある場合:
hdldaemon('status')
HDLDaemon socket server is running on port 4449 with 1 connections
接続がない場合:
hdldaemon('status')
HDLDaemon shared memory server is running with 0 connections
サーバーが起動されていません:
hdldaemon('status')
HDLDaemon is NOT running
接続情報の確認
通信モード、既存の接続数、およびipc_id
MATLAB ) の接続情報を確認します。
ソケット接続に対して返されるメッセージ:
x=hdldaemon('status')
x = comm: 'sockets' connections: 0 ipc_id: '4449'
共有メモリ接続に対して返されるメッセージ:
x=hdldaemon('status')
x = comm: 'shared memory' connections: 0 ipc_id: '\\.\pipe\E505F434-F023-42a6-B06D-DEFD08434C67'
ipc_id
を調べるには、 MATLABコマンド プロンプトに入力します。
x.ipc_id
'\\.\pipe\E505F434-F023-42a6-B06D-DEFD08434C67'
サーバーをシャットダウンする
MATLABをシャットダウンせずにサーバーをシャットダウンします。
hdldaemon('kill')
HDLDaemon server was shutdown
Tcl コマンドを発行する
単純または複雑な Tcl コマンドを発行します。
簡単な例:
hdldaemon('tclcmd','puts "This is a test"')
複雑な例:
tclcmd = {['cd ',unixprojdir],... 'vlib work',... % create library (if applicable) ['vcom -performdefaultbinding ' unixsrcfile1],... ['vcom -performdefaultbinding ' unixsrcfile2],... ['vcom -performdefaultbinding ' unixsrcfile3],... 'vsimmatlab work.osc_top ',... 'matlabcp u_osc_filter -mfunc oscfilter',... 'add wave sim:/osc_top/clk',... 'add wave sim:/osc_top/clk_enable',... 'add wave sim:/osc_top/reset',... ['add wave -height 100 -radix decimal -format analog-step -scale 0.001 -offset 50000 ',... 'sim:/osc_top/osc_out'],... ['add wave -height 100 -radix decimal -format analog-step -scale 0.00003125 -offset 50000 ',... 'sim:/osc_top/filter1x_out'],... ['add wave -height 100 -radix decimal -format analog-step -scale 0.00003125 -offset 50000 ',... 'sim:/osc_top/filter4x_out'],... ['add wave -height 100 -radix decimal -format analog-step -scale 0.00003125 -offset 50000 ',... 'sim:/osc_top/filter8x_out'],... 'force sim:/osc_top/clk_enable 1 0',... 'force sim:/osc_top/reset 1 0, 0 120 ns',... 'force sim:/osc_top/clk 1 0 ns, 0 40 ns -r 80ns',... };
この例はMATLABで発振器のフィルター コンポーネントを実装するから引用しています。この複雑な Tcl コマンドをコンテキスト内で使用する完全な例を参照してください。
入力引数
Option
— MATLABサーバーをシャットダウンするか、サーバーのステータスを表示するサーバー オプション
'kill'
| 'stop'
| 'status'
MATLABサーバーをシャットダウンするか、サーバーの状態を表示するサーバー オプション。次の文字ベクトルのいずれかとして指定します。
'kill' | MATLABをシャットダウンせずに、 MATLABサーバーをシャットダウンします。 |
'stop' | MATLABをシャットダウンせずに、 MATLABサーバーをシャットダウンします。'kill' と'stop' の使用に違いはありません。 |
'status' | MATLABサーバーのステータスを表示します。s=hdldaemon('status') を使用することもできます。これは、 MATLABサーバーのステータスを表示し、構造体s でステータスを返します。 |
名前と値の引数
引数のオプションのペアを Name1=Value1,...,NameN=ValueN
として指定します。ここで Name
は引数名で、Value
は対応する値です。名前と値の引数は他の引数より後に配置する必要がありますが、ペアの順序は重要ではありません。
R2021a より前は、各名前と値をカンマで区切って、 Name
引用符で囲みます。
例: 'time','int64','quiet','true'
は、時間値が 64 ビット整数として返され、出力メッセージが抑制されることを指定します。
time
— MATLABサーバーへの時間値の送信方法と戻り値の指示
'sec'
(既定値) | 'int64'
MATLABサーバーが時間値を送信および返す方法に関する指示。TG 'time'
と次の値のいずれかで構成されるコンマ区切りのペアとして指定します。
'int64' | MATLABサーバーが、 MATLAB関数コールバックの時間値をシミュレーション ステップ数を表す 64 ビット整数として送信および返すように指定します。 |
'sec' | MATLABサーバーが、 MATLAB関数コールバックの時刻値を、 のTG |
サーバーがすでに実行中の場合は、 hdldaemon
パラメーターのみを指定して time
を発行すると、現在のサーバーがシャットダウンされ、共有メモリを使用してサーバーが再起動されます。
例: 'time','int64'
quiet
— 診断メッセージの出力を抑制するインジケーター
'false'
(既定値) | 'true'
診断メッセージの出力を抑制するインジケーター。TG 'quiet'
と次のいずれかの値で構成されるコンマ区切りのペアとして指定します。
'true' | 診断メッセージの出力を抑制します。 |
'false' | 診断メッセージの出力を抑制しないでください。 |
まだエラーが表示されます。このオプションを使用すると、 MATLAB hdldaemon
サーバーのシャットダウン メッセージが表示されなくなります。サーバーがすでに実行中の場合、 quiet
パラメーターのみを指定して hdldaemon
を発行すると、現在のサーバーがシャットダウンされ、共有メモリを使用してサーバーが再起動されます。
例: 'quiet', 'true'
socket
— 通信に使用するTCP/IPポート
0
| ポート番号 | 文字ベクトルのエイリアス
通信に使用される TCP/IP ポート。TG 'socket'
と値で構成されるコンマ区切りのペアとして指定します。値は0
のいずれかで、ホストが有効な TCP/IP ポート、明示的なポート番号 (1024 < ポート < 49151)、またはからのサービス (エイリアス) 名を自動的に選択することを示します。 /etc/services
ファイル。
オペレーティング システム オプション (0
) を指定した場合は、 hdldaemon('status')
を使用して、割り当てられたソケット ポート番号を取得します。
例: 'ソケット'、4449
tclcmd
— 接続されているすべてのクライアントに送信される Tcl コマンド
文字ベクトル | string スカラー
接続されているすべてのクライアントに送信される Tcl コマンド。任意の有効な Tcl コマンド文字ベクトルまたは文字列スカラーとして指定します。
指定する Tcl コマンドには、HDL シミュレータ プロジェクトをロードしたり、シミュレータの状態を変更したりするコマンドを含めることはできません。たとえば、文字ベクトルには start
、 stop
、またはrestart
( ModelSim®の場合) などのコマンドを含めることはできません。 $$) またはrun
、 stop
、またはreset
( Xcelium™の場合)。
メモ
このコマンドは、ソフトウェアがサーバー接続を確立した後にのみ発行できます。
注意
hdldaemon('tclcmd', 'Tcl command')
matlabtb
matlabcp
を呼び出さないでください。そうすると競合状態が発生し、シミュレータがハングします。
例: 'tclcmd','puts' '"done"'
出力引数
s
— 接続に関する情報を含む構造体
'comm'
| 'connections'
| 'ipc_id'
接続に関する情報を含む構造体。構造体には次の変数が含まれます。
'comm' | 'shared memory' または 'sockets' |
'connections' | 開いている接続の数 |
'ipc_id' | 共有メモリの場合は、共有メモリ通信チャネルのファイル システム名。ソケットの場合は、TCP/IP ポート番号。 |
バージョン履歴
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)