Как передают Аргументы с 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, я чувствую, что это невозможно сделать. так. Кроме того, я не могу найти никаких документов для этого. Я хотел бы знать, есть ли какой-либо способ достичь этого.

597   1  

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

    Ничего не найдено.