主要内容

hdldaemon

控制马铃薯支持与HDL模拟器交互的万博1manbetx服务器

描述

hdldaemon启动HDL链接MATLAB®服务器使用共享内存进行进程间通信。只有一个hdldaemon每个MATLAB会话可以在任何给定时间运行。

例子

hdldaemon(名称,价值使用一个或多个指定的其他选项名称,价值对论点。

  • 如果不指定内存类型,服务器将使用共享内存启动。

  • 如果您指定了插座名称,值参数,服务器从套接字存储器开始。

请注意

如果服务器已经在运行,则发出hdldaemon使用这些参数关闭当前服务器,然后使用共享内存启动一个新的服务器会话(除非指定了套接字)。

例子

hdldaemon(选项接受单个可选输入。只能在一次呼叫中指定一个选项。您必须在调用之前建立服务器连接hdldaemon与其中一个选择。

例子

年代= hdldaemon (___以结构形式返回服务器状态连接年代,使用先前语法中的任何输入参数。

例子

全部收缩

使用共享内存通信启动Matlab Server并使用整数表示时间。

hdldaemon(“时间”'int64'
HDLDaemon共享内存服务器运行0个连接

启动MATLAB服务器并在端口4449上指定套接字通信。

hdldaemon(“套接字”,4449)
HDLDaemon套接字服务器在端口4449上运行,连接数为0

有一个或多个连接:

hdldaemon(“状态”
HDLDAEMON套接字服务器在端口4449上运行,具有1个连接

没有连接:

hdldaemon(“状态”
HDLDaemon共享内存服务器运行0个连接

服务器未启动:

hdldaemon(“状态”
hdldaemon没有运行

检查连接信息中的通信模式、现有连接数和进程间通信标识符(IPC_ID.)的MATLAB服务器正在使用的一个链接。

套接字连接的返回消息:

x = hdldaemon(“状态”
x = comm:'套接字'连接:0 ipc_id:'4449'

共享内存连接返回的消息:

x = hdldaemon(“状态”
x = comm:'共享内存'连接:0 ipc_id:'\\。\ pipe \ e505f434-f023-42a6-b06d-defd08434c67'

你可以检查IPC_ID.通过在MATLAB命令提示符下输入:

x.ipc_id
'\\。\ pipe \ e505f434-f023-42a6-b06d-defd08434c67'

在不关闭MATLAB的情况下关闭服务器。

hdldaemon(“杀”
日志含义HDLDaemon服务器关闭

发出简单或复杂的TCL命令。

简单的例子:

hdldaemon('tclcmd'“这是一个测试”

复杂的例子:

tclcmd = {[“cd”,UnixProjdir],...'vlib工作'...%创建库(如果适用)'vcom -performdefaultbinding'Unixsrcfile1],...'vcom -performdefaultbinding'Unixsrcfile2],...'vcom -performdefaultbinding'Unixsrcfile3],...“vsimmatlab工作。osc_top”...'matlabcp u_osc_filter -mfunc oscfilter'...“添加波sim: / osc_top / clk”...“添加波sim: / osc_top / clk_enable '...“添加波sim: / osc_top /重置”...'add wave -height 100 -基数十进制-format analog-step -scale 0.001 -offset 50000 '...'sim:/ osc_top / osc_out'],...'add wave -height 100 -基数十进制-format analog-step -scale 0.00003125 -offset 50000 '...“sim: / osc_top / filter1x_out”],...'add wave -height 100 -基数十进制-format analog-step -scale 0.00003125 -offset 50000 '...“sim: / osc_top / filter4x_out”],...'add wave -height 100 -基数十进制-format analog-step -scale 0.00003125 -offset 50000 '...“sim: / osc_top / filter8x_out”],...'强制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命令的完整示例。

输入参数

全部收缩

服务器选项关闭MATLAB服务器或显示服务器状态,指定为以下字符向量之一:

“杀” 在不关闭MATLAB的情况下关闭MATLAB服务器。
'停止' 在不关闭MATLAB的情况下关闭MATLAB服务器。使用之间没有区别“杀”'停止'
“状态” 显示MATLAB服务器的状态。你也可以使用s = hdldaemon(的状态),它显示MATLAB服务器状态并返回结构中的状态年代

名称值对参数

指定可选的逗号分隔的对名称,价值论点。的名字参数名和价值是相应的价值。的名字必须出现在引号内。您可以以任何顺序指定多个名称和值对参数name1,value1,...,namen,valuen

例子:'time','int64','安静','真'指定时间值返回为64位整数并抑制输出消息。

给MATLAB服务器的指令,说明它应该如何发送和返回时间值,指定为逗号分隔对,由“时间”其中一个价值观是:

'int64'

指定MATLAB服务器在MATLAB函数回调中发送和返回时间值作为表示模拟步骤数的64位整数。
看看matlabcp./matlabtb.参数引用(MATLAB函数语法和函数参数定义)。

“秒”

指定MATLAB服务器在MATLAB函数回调中发送和返回时间值为双倍的值,HDL验证器™根据当前的HDL模拟分辨率缩放到秒。

如果服务器已经在运行,则发出hdldaemon与之时间参数单独将关闭当前服务器,并使用共享内存再次启动服务器。

例子:“时间”、“int64”

指示符禁止打印诊断消息,指定为逗号分隔对,由'安静的'以及下列值之一:

'真的'

禁止打印诊断消息。

“假”

不要抑制打印诊断消息。

仍然出现错误。使用此选项可在使用时抑制MATLAB服务器关闭消息hdldaemon获得未使用的套接字号。如果服务器已经在运行,则发出hdldaemon与之安静的参数单独将关闭当前服务器,并使用共享内存再次启动服务器。

例子:'安静','真'

用于通信的TCP/IP端口,指定为逗号分隔的对“套接字”和一个值。该值可以是0,表示主机自动选择一个有效的TCP/IP端口、显式的端口号(1024 < port < 49151)或服务(别名)/ etc / services文件。

如果指定操作系统选项(0), 采用hdldaemon(的状态)获取分配的套接字端口号。

例子:“套接字”,4449年

Tcl命令传输到所有连接的客户端,指定为任何有效的Tcl命令字符向量或字符串标量。

您指定的TCL命令不能包含加载HDL Simulator项目或修改模拟器状态的命令。例如,字符向量不能包含命令,例如开始停止,或重新开始(ModelSim®) 要么运行停止,或重置(敏锐的®)。

请注意

只有当软件与服务器建立连接后,才能执行此命令。

警告

不要打电话hdldaemon(“tclcmd”、“Tcl命令”)从内matlabtb.要么matlabcp.函数。这样做会导致一个竞争条件,并且模拟器会挂起。

例子:“tclcmd”、“将”“完成”的

输出参数

全部收缩

包含有关连接信息的结构。该结构包含以下变量:

“通讯” 任何一个共享内存的要么“套接字”
'连接' 打开连接数
'ipc_id' 如果是共享内存,则为共享内存通信通道的文件系统名称。socket表示TCP/IP端口号。
介绍了R2008a