0

我正在尝试访问模拟器配置参数run_mode,此值存储为 BRUN 变量。我正在使用以下代码来访问 specman 中的参数。

模拟器命令(“sn $env(BRUN_RUN_MODE)”)

然而,返回的内容(例如:interactive_debug)被解释为显然不存在的 specman 命令。有没有办法将此参数发送回specman?

4

2 回答 2

1

请试试

var run_mode := get_symbol("BRUN_RUN_MODE");

于 2014-10-23T08:31:37.163 回答
0

simulator_command尝试与模拟器的 CLI 交互。即verilog/vhdl 模拟器TCL CLI。您在那里所做的是进入模拟器的 CLI,然后sn [...]在使用 TCL$env获取环境变量时使用命令回调到 specman。像这样的调用图:

假设BRUN_MODE设置为FOO

Specman Runtime              Verilog/VHDL CLI 
   |                               *
   | --> simulator_command( ------>|
   *                               |
   *                          sn $env(BRUN_RUN_MODE)
   *                               |  (TCL interpreter string transform)
   *                               v
   *                            sn "FOO"
   *                               |
   |<-------- "FOO" <--------------|
   |                               *
   |------->(end of `sn` call) --->|
   *                               |
   |<--(end of simulator_command)--|
   |                               *

您想使用get_symbolThorsten 的回答,除非您确实需要模拟器命令而不是环境变量。在这种情况下,调用simulator_command然后从模拟器中提取输出可能是合适的。但是,这需要查看与 Specman 文档分开的特定模拟器文档。

于 2014-10-24T19:37:07.510 回答