Как передают Аргументы с TCL скрипт в консоли Vivado Гуй на TCL
Я пытаюсь выполнить сценарий tcl в консоли Vivado GUI Tcl, и мой сценарий принимает аргумент, чтобы решить, какой тип запуска (synth, impl, bitgen и т. д.) должен быть настроен.
Я знаю, что с помощью -tclargs можно передавать аргументы, если скрипт выполняется в режиме командной строки Vivado. Что-то вроде:
vivado -mode batch -source <filename> -tclargs <arguments>
Я попробовал то же самое в режиме Vivado gui и получил ошибку.
ERROR: [Common 17-170] Unknown option '-tclargs', please type 'source -help' for usage info.
Запуск 'source -help':
Syntax:
source [-encoding <arg>] [-notrace] [-quiet] [-verbose] <file>
Usage:
Name Description
------------------------
[-encoding] specify the encoding of the data stored in filename
[-notrace] disable tracing of sourced commands
[-quiet] Ignore command errors
[-verbose] Suspend message limits during command execution
<file> script to source
Глядя на -help, я чувствую, что это невозможно сделать. так. Кроме того, я не могу найти никаких документов для этого. Я хотел бы знать, есть ли какой-либо способ достичь этого.
1 ответ:
Команда
sourceне устанавливает аргументы; она больше похожа на C#include, чем на что-либо другое. Из - за этого, если сценарий, который выsourceing ожидаетargvиargcбыть установлен - как если бы сценарий был запущен как программа-то вы должны простоsetих передsource. Они являются обычными переменными, насколько это касается Tcl; они просто настроены по умолчанию.Вам также может потребоваться установить
argv0в скрипт. Некоторые программы ожидают этого при запуске в не-интерактивном режиме.set argv [list "a b c" foo bar 123] set argc [llength $argv] set argv0 theScript.tcl source $argv0
Comments