引言
TCL(Tool Command Language)脚本语言是对EDA兼容性最好的语言,非常适合做EDA流程控制。如下图所示:
IC设计中另一种常用语言是Perl,它的高级用法和扩展功能比较方便,这个后面有机会再谈。这篇文章来整理一下TCL语言的相关知识。
概述
TCL 解释器运用规则把命令分成一个个独立的单词,同时进行必要的置换。TCL置换分为以下三类:
- 变量置换 $:TCL解释器会认为$后面为变量名,将变量置换成它的值。
将会输出set a "pin" puts $a
pin
。 - 命令置换[]:[]内是一个独立的TCL语句。
将会输出set a [expr 2+4] puts $a
6
。expr是数学运算指令。 - 反斜杠置换\:换行符、空格、[、$等被TCL解释器当作特殊符号对待的字符,加上反斜杠后变成普通字符。
将会输出puts “\[ expr \$X + \$Y\]”
[expr $X + $Y]
。另外用\t表示TAB,用\n表示换行符。
其他
- “” TCL解释器对双引号中$和[]符号会进行变量置换和命令置换。
- {} 在花括号中,所有特殊字符都将成为普通字符,TCL解释器不会对其作特殊处理。
- # 表示注释
变量、数组和列表
变量
定义:set 变量名 变量