我正在尝试访问模拟器配置参数run_mode
,此值存储为 BRUN 变量。我正在使用以下代码来访问 specman 中的参数。
模拟器命令(“sn $env(BRUN_RUN_MODE)”)
然而,返回的内容(例如:interactive_debug)被解释为显然不存在的 specman 命令。有没有办法将此参数发送回specman?
请试试
var run_mode := get_symbol("BRUN_RUN_MODE");
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_symbol
Thorsten 的回答,除非您确实需要模拟器命令而不是环境变量。在这种情况下,调用simulator_command
然后从模拟器中提取输出可能是合适的。但是,这需要查看与 Specman 文档分开的特定模拟器文档。