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


    欢迎关注个人公众号摸鱼范式

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

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

    控制流

    控制流 if

    • 语法格式:
    if {判断语句}{
    脚本语句
    }elseif{判断语句}{
    脚本语句
    }else{
    脚本语句
    }
    
    • 注意,上例中脚本语句得'{'一定要写在上一行,因为如果不这样,TCL解释器会认为if命令在换行出已经结束,下一行会被当成新的命令,从而导致错误

    • 例题:判断一个列表{0 1 2 3 4}的长度是大于3,还是等于3,还是小于3?

    循环指令-foreach

    • 语法格式:foreach 变量 列表 循环主体

    • 功能:从第0个元素开始,每次按顺序取得列表的一个元素,将其赋值给变量,然后执行循环主体一次,直到列表最后一个元素

    循环控制指令-break

    • 语法格式:break
    • 功能: 结束整个循环过程,并从循环中跳出

    循环控制指令-continue

    • 语法格式:continue
    • 功能:仅结束本次循环

    循环控制指令-while

    • 语法格式:while 判断语句 循环主体
    • 功能:如果判断语句成立(返回值非0),就运行脚本,直到不满足判断条件停止循环,此时while命令终端并返回一个空字符串

    循环控制指令-for

    • 语法格式:for 参数初始化 判断语句 重新初始化参数 循环主体
    • 功能:如果判断语句返回值非0进入循环,执行循环主体后,再重新初始化参数。然后再次判断,直到判断语句返回值为0,循环结束

    过程函数

    过程函数-proc

    • 语法格式:proc 函数名 参数列表 函数主体
    • 功能:类似C语言中的函数。即用户自定义的功能,方便多次调用

    全局变量和局部变量

    • 全局变量:在所有过程之外定义的变量
    • 局部变量:在过程中定义的变量,只能在过程中访问,退出过程会被自动删除
    • 指令global,在过程内部引用全局变量

    正则匹配

    • 定义:正则表达式是一种特殊的字符串模式,用来匹配符合规则的字符串
    • 正则表达式的w,用来匹配一个字母、数字、下划线
    • 正则表达式的d,用来匹配一个数字

    正则匹配-量词

    • wwwddd这种写法过于繁琐,可以使用量词表示,常用量词有三种

    • *和+的区别:包不包含0和1

    • ?,0或1

    正则匹配-锚位

    • 锚位,用来知识字符串中的开头和结尾的位置,使我们能够匹配到正确的字符

    正则匹配-其他字符

    • 常用的其他字符还有s和.
    • s表示空格

    • .表示任意字符,不确定具体使什么字符就可以用.表示。例如一直字符串为"XXX空格XXX空格XXX"(X为未知字符)。用.+s.+s.+就可以匹配

    正则匹配指令-regexp

    • 语法格式:regexp?switches?exp string?matchVar? ?subMatchVar subMatchVar...?
    • 功能:在字符串中使用正则表达式匹配
    • switches:-nocase将字符串的大写都看成小写
    • exp 正则表达式
    • string 用来表示进行匹配的字符串
    • matchstring表示用正则表达式匹配的所有字符串
    • sub1表示正则表达式中的第一个子表达式匹配的字符串
    • sub2表示正则表达式中的第一个子表达式匹配的字符串

    实例讲解

    • 如何匹配字符串"abc456"

    • 如何匹配一个以数字开头并且以数字结尾的字符串

    捕获变量

    • 通过()可以捕获字符串,例如捕获字符串"Snow is 30 years old"中的30?

    • 一次捕获多个字符串,例如将"Snow is 30 years old"中的Snow和30一次捕获

    文本处理

    主要掌握三个指令open、gets、close

    • open
      • 语法格式 open 文件 打开方式(r读,w写)
      • 功能 打开文件
    • gets
      • 语法格式 gets fileid 变量名
      • 功能 gets读fileid标识的文件的像遗憾,并把该行赋给变量,并返回该行的字符数(文件尾返回-1)
    • close
      • 语法格式 close fileid
      • 功能 关闭文件

    实例讲解

    • 读入整个文件过程

    • 一个完整的写入文件过程

    • 现有文本file.txt其内容如下。请编写TCL脚本求出所有slack值之和

    set num 0
    set INFILE [open file.txt r]
    while {[get $INFILE line]>=0}{
    if{[regexp {^Slacks+=s+(-?d+.?d+)} $line total slack]}{
    set num [expr $sum +$slack]
    }
    }
    close $INFILE
    puts $sum
    
  • 相关阅读:
    人心散了、项目必然要败(转自CSDN)
    sql server加锁机制
    数据库事物隔离级别
    aop学习
    数据库加锁(转)
    托管代码和非托管代码效率的对比。
    day05 Linux文本处理命令
    day04 CentOS 异常,问题解决方法
    day02 Linux系统介绍与安装
    linux常用命令的英文单词缩写
  • 原文地址:https://www.cnblogs.com/icparadigm/p/12958317.html
Copyright © 2020-2023  润新知