Вы можете выполнять системные вызовы или команды оболочки с функциями system
или output_from
.Это может быть использовано для выполнения произвольных команд, включая вызовы Perl.Функция system
возвращает возвращаемое значение вызова оболочки, тогда как output_from
возвращает стандартный вывод (и, возможно, стандартную ошибку ... проверьте ваши документы ..).
Примеры:
var ret := system("echo hello world");
печатает на экран / файл журнала Specman
hello world
, тогда как output_from
используется как:
var std_out := output_from("echo hello world");
print std_out;
и печатает:
std_out = "hello world"
функции принимают строку, поэтому вы можете создавать аргументы, используя функции append()
и appendf()
.
Небольшое отступление: вы можете напрямую общаться с интерфейсом командной строки симулятора, используя simulator_command(cmd_str)
.Я использовал это раньше для общения с VCS Synopsys
simulator_command("quit");