问题
In some EDA tool's Tcl script (i.e Cadence Enounter), what does the double :: do?
report::TimeStamp PrePlace "START PrePlace"
回答1:
It separates the namespace (on the left) from the name (on the right) contained in that namespace.
Since in a Tcl script any top-level construct is always a command, and the command's name is always the first word of the command, your report::TimeStamp
refers to a command named "TimeStamp" in a namespace named "report" while "PrePlace" and "START PrePlace" are two arguments passed to that command when it's invoked.
Namespaces in Tcl are dynamic entities and they may contain both commands and variables (and other namespaces).
来源:https://stackoverflow.com/questions/33441093/double-colon-in-tcl