User`s manual
Tcl commands
ModelSim Xilinx User’s Manual Tcl and ModelSim 10-243
characters and included in the word. Command substitution, variable substitution, and
backslash substitution are performed on the characters between the quotes as described
below. The double-quotes are not retained as part of the word.
5 If the first character of a word is an open brace ("{") then the word is terminated by the
matching close brace ("}"). Braces nest within the word: for each additional open brace
there must be an additional close brace (however, if an open brace or close brace within
the word is quoted with a backslash then it is not counted in locating the matching close
brace). No substitutions are performed on the characters between the braces except for
backslash-newline substitutions described below, nor do semi-colons, newlines, close
brackets, or white space receive any special interpretation. The word will consist of
exactly the characters between the outer braces, not including the braces themselves.
6 If a word contains an open bracket ("[") then Tcl performs command substitution. To
do this it invokes the Tcl interpreter recursively to process the characters following the
open bracket as a Tcl script. The script may contain any number of commands and
must be terminated by a close bracket ("]"). The result of the script (i.e. the result of its
last command) is substituted into the word in place of the brackets and all of the
characters between them. There may be any number of command substitutions in a
single word. Command substitution is not performed on words enclosed in braces.
7 If a word contains a dollar-sign ("$") then Tcl performs variable substitution: the
dollar-sign and the following characters are replaced in the word by the value of a
variable. Variable substitution may take any of the following forms:
$name
Name is the name of a scalar variable; the name is terminated by any character that
isn’t a letter, digit, or underscore.
$name(index)
Name gives the name of an array variable and index gives the name of an element
within that array. Name must contain only letters, digits, and underscores.
Command substitutions, variable substitutions, and backslash substitutions are
performed on the characters of index.
${name}
Name is the name of a scalar variable. It may contain any characters whatsoever
except for close braces.
There may be any number of variable substitutions in a single word. Variable
substitution is not performed on words enclosed in braces.