When writing a Tcl script, the emphasis should be, whenever possible, on providing code that can
enhance the user experience. This means writing scripts that provide the same type of
user experience as the embedded Vivado commands such as providing
embedded Help and interactive command line argument. It is also critical to consider all
the corner cases that could happen, whether Vivado objects are empty
or not after using the get_*
commands and so forth. It is also common
when writing Tcl code, to create some lower-level procedures that are used in the code.
To avoid name collision of procedures and global variables, it is recommended that you
develop the code within its own namespace so that name collisions are minimized.