2014-10-22 5 views
0

Я пытаюсь получить доступ к параметру конфигурации симулятора run_mode, это значение сохраняется как переменная BRUN. Я использую следующий код для доступа к параметру в specman.Как получить значение из симулятора в specman

simulator_command ("зп $ ENV (BRUN_RUN_MODE)")

Однако то, что возвращается (например: interactive_debug) интерпретируется как команда Specman, которая, очевидно, не существует. Есть ли способ отправить этот параметр обратно в specman?

ответ

1

Пожалуйста, попробуйте

уаг run_mode: = get_symbol ("BRUN_RUN_MODE");

0

simulator_command пытается взаимодействовать с CLI симулятора. т. е. симулятор Verilog/vhdl TCL CLI. То, что вы делаете, входит в CLI симулятора, а затем возвращается обратно в specman с командой sn [...], используя 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, как ответил Торстен, если вы действительно не хотите команды имитатора и не переменную среды. В этом случае вызов simulator_command, а затем извлечение вывода из вашего симулятора может быть уместным. Тем не менее, это потребует рассмотрения вашей конкретной документации симуляторов, которая отделена от вашей документации Specman.