《数字集成电路静态时序分析基础》笔记①

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

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

如何启动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进行排序

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

  • 按照数字大小排序

  • 唯一化

  • 如何得到list1中的最小值

运算

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

数学运算指令 expr

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

  • 类型问题

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

猜你喜欢

转载自www.cnblogs.com/icparadigm/p/12956528.html