我正在尝试访问一个模拟器配置参数run_mode,这个值作为一个BRUN变量存储。我使用下面的代码来访问specman中的参数。
simulator_command("sn $env(BRUN_RUN_MODE)")
然而,返回的内容(例如: interactive_debug)被解释为明显不存在的specman命令。有没有办法把这个参数发回specman?
发布于 2014-10-23 08:31:37
请尝试
run_mode := get_symbol("BRUN_RUN_MODE");
发布于 2014-10-24 19:37:07
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)--|
| *您希望像Thorsten回答的那样使用get_symbol,除非您确实想要一个模拟器命令,而不是一个环境变量。在这种情况下,调用simulator_command并从模拟器中提取输出可能是合适的。然而,这将需要查看您的特定模拟器文档,这是独立于您的Specman文档。
https://stackoverflow.com/questions/26514473
复制相似问题