网络课程《数字集成电路静态时序分析基础》的笔记

 

地址:https://www.iccollege.cn/portal/courseDetail/193.mooc

 

变量置换

命令置换

反斜杠置换

其他符号

变量

数组

列表

运算

  • 列表指令 -concat

    llength

    lindex

    lappend

    lsort

    数学运算指令 expr

 

如何启动 tcl

linux:在文本第一行"#!/user/bin/tclsh"

 

window:安装 active tcl 并双击 wish.exe

 

置换

TCL 置换分为三种,变量置换,

 

变量置换

  • 用表示变量置换,后为变量名,将变量置换为它的值

 

 

命令置换

  • 用[]表示命令置换,[]表示一个独立的 TCL 语句

 

 

反斜杠置换

  • 用 \ 表示反斜杠置换,和其他语言一样,把特殊字符当作普通字符对待

 

 

  • \t 为 tab\n 换行

 

 

其他符号

  • ""对双引号中$和[]会进行变量置换和命令置换

 

 

  • {}花括号,所有特殊字符都将成为普通字符,TCL 解释器不会对其做特殊处理

 

 

  • # 表示注释

 

 

变量、数组和列表

变量

  • 定义:set 变量名 变量值引用:$变量名

 

 

例题:假设我们想打印变量 varible,后面跟一个“_1",会发生什么?

 

 

数组

  • 定义:set 数组名 (元素名) 值

 

 

  • 取值:$数组名 (元素名)

 

 

  • 用 array 指令获取数组信息

 

 

列表

  • 列表是标量的有序集合定义:set 列表名 {元素 1 元素 2 元素 3.....}取值:$列表名

 

 

  • 列表操作命令

 

 

列表指令 -concat

  • 语法格式:concat 列表 1 列表 2 功能:将列表 1 和列表 2 合并

 

 

llength

  • 语法格式:llength 列表功能:返回列表中的元素个数

 

 

  • 例题:list1 为{bufx1 bufx2 bufx4},那么 llength [concat list1 list1]会得到什么?

 

 

lindex

语法格式 lindex 列表 n

 

返回列表的第 n 个元素(从 0 开始计数)

 

 

  • 如何得到 list1 {a b c d f}的最后一个元素?

 

 

lappend

  • 语法格式:lappend 列表 新元素功能:在列表末尾添加新元素

 

 

  • lappend 一个列表会发什么?

 

 

  • 如果想得到 4,要怎么做?

 

 

lsort

语法格式:lsort 开关 列表

 

功能:将列表按照一定规则排序

 

开关:缺省时默认按照 ASCII 进行排序

 

按照 ASCII 排序

  •  
    • -real 按照浮点数值大小排序 -unique 唯一化,删除重复元素

 

 

  • 按照数字大小排序

 

 

  • 唯一化

 

 

  • 如何得到 list1 中的最小值
  •  

 

运算

  • 数学运算
    • a+ba-ba*ba/b
    逻辑运算
    • a<=ba>=ba==ba!=b

 

数学运算指令 expr

  • 语法格式:expr 运算表达式功能:将运算表达式求值

 

 

  • 类型问题

 

 

  • 表达式 5/2 中 5 和 2 都是整数型参数,默认运行结果也是整数型,如果想要进行浮点运算,只要将其中任意一个数值,写成浮点形式(有小数点)