如何从specman中的模拟器中检索值

时间:2014-10-22 18:24:46

标签: specman e

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

simulator_command(" sn $ env(BRUN_RUN_MODE)")

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

2 个答案:

答案 0 :(得分:1)

请尝试

  

var run_mode:= get_symbol(" BRUN_RUN_MODE");

答案 1 :(得分:0)

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

假设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_symbol作为Thorsten回答,除非确实确实需要模拟器命令而不是环境变量。在这种情况下,调用simulator_command然后从模拟器中提取输出可能是合适的。但是,这需要查看与Specman文档分开的特定模拟器文档。