07-26-2018 04:57 AM
I am perhaps a little green to TCL, so please bare with me.
I have a tcl shell and commands such as:
> set a(1) 10
> set a(2) 7
work correctly as per the TCL tutorials: https://www.tcl.tk/man/tcl8.5/tutorial/Tcl6.html
However, if I use this in the Xilinx TCL Console is simply produces an error
> wrong # args: should be "set varName ?newValue?"
1) Why does seemingly basic tcl syntax and correct usage somehow not work in the Xilinx tcl window? From UG835 p9, when the Xilinx tcl shell cannot find a tcl command, it asks the OS. As my install of Active TCL Shell will have added all tcl libraries to the common path, I would have thought it would execute the same as this stand alone tcl shell?
I have also had an issue with:
> puts -nonewline "str1"
> puts "str2"
where the Xilinx TCL Console prints them on two lines rather than one, suggesting it did put the new-line character in despite being asked not to.
2) As UG835 suggests that tcl commands are generally supported, where can I find a reasonable list as to what is and isn't supported.
I have also tried the code for the Associative TL arrays in the tutorial:In the stand alone TCL shell is works perfectly, but in Xilinx TCL Console it returns:
>set name(first) "Mary"
>can't set "name(first)": variable isn't array
Many thanks for this likely very basic TCL question.
07-26-2018 12:27 PM
I didn't see any issue with the commands (you mentioned) in Xilinx tcl console. Which Vivado version you are using?
Most of the Vivado tcl commands are interfaced with Vivado integrated environment.
You need to visit Xilinx Tcl Store which is an open source repository of Tcl code designed primarily for use with the Xilinx Vivado Design Suite.