- 博客(14)
- 收藏
- 关注
原创 tcl常用命令笔记--文件操作
前面我们说到过文件的不同打开方式,这里介绍一些常用进阶操作,文件操作包括文件路径、属性查询等文件相关操作,通过file命令来完成。返回文件最后修改的时间,后增加时间可直接更改。检查文件或目录是否存在,若存在则返回1。上述clock命令作用为改变时间戳格式。检查文件是否可执行,若是则返回1。检查文件是否可读,若是则返回1。检查文件是否可写,若是则返回1。检查是否为文件,若是则返回1。检查是否为目录,若是则返回1。重命名或移动文件或目录。将多个路径合并成一个。
2025-03-19 15:32:45
650
原创 tcl常用命令笔记--正则匹配与替换
正则表达式十分灵活,对字符串有强大的匹配能力,用于处理文本中把我们需要的信息提取出来,再进行处理。即正则替换命令,regexp的option这里同样使用,将匹配到的部分进行替换然后存入新的变量中,匹配成功返回1,否则返回0。即正则匹配命令,匹配成功返回1,常用的option有。匹配所有,\s是匹配所有空白符,\S非空白符。返回匹配的位置索引至index1中。匹配除了换行符之外的任意单个字符。表示一个区间,匹配所有大写字母。匹配除了[...]中的字符。匹配[...]中的字符。n<=m,出现n~m次。
2025-03-18 13:38:52
551
原创 tcl常用命令笔记--proc
args可接收可变数量参数,如果把add_demo后面的数字用{}包括,则只算一个参数,此时proc里arg可随意起。proc相当于c语言中的函数,避免相同代码在多个位置重复。上面add_demo将a和b相加,proc同样需要先定义后调用。如上所示,如果不提供参数b,则适用默认值10。可以理解为在proc里允许调用自己。用于在未提供参数时的可使用默认值。
2025-03-11 14:49:38
517
原创 tcl常用命令笔记--列表操作
获取列表list1中位置index1处的元素,第一个元素位置为0,最后一个元素位置索引为end。列表映射,variable为存储list1每一个元素的变量名,body为对每个元素执行的操作。替换元素,将列表list1中位置index1至index2的元素换成new1。列表搜索,在list1中搜索元素string1,若存在则返回0,否则返回-1。插入元素,将string1插入列表list1的位置index1处。反转列表顺序,最后一个元素变第一个元素,第一个元素变最后一个元素。获取列表list1的长度。
2025-03-10 11:05:19
705
原创 tcl常用命令笔记--字符串操作
字符串比较,如果string1与string2相等返回0,string1小于string2返回-1,否则返回1。字符串查找,在string2中查找string1,并返回第一次出现的位置索引,若找不到则返回-1。字符串匹配,若string2和string1匹配则返回1,否则返回0,区分大小写,支持简单通配。字符串截取,获取字符串string1中位置在index1和index2之间的字符。字符串索引,获取字符串string1中指定位置index1处的字符。字符串拼接,将string2拼接到string1后面。
2025-03-07 14:37:22
574
原创 tcl常用命令笔记--循环
body部分能不能执行全由condition决定,有可能一直执行也有可能一次都不执行。比如condition为定值1,那body部分就会被一直执行也就是死循环(terminal里ctrl+c能打断),若condition为定值0,那body部分就会被忽略,可应用为多行注释。用于终止循环,当循环体内执行到break时,循环会立刻跳出,并开始执行循环以后的语句。执行循环体后则流程跳到incr部分,用于更新循环控制变量,也可以是空白,用分号;执行incr部分后再次判断条件,若为true则继续执行循环体。
2025-03-06 17:00:23
510
原创 tcl常用命令笔记--运算符&条件语句
switch命令默认使用 glob匹配模式,类似于 shell 中的通配符匹配,也可以使用 “-regexp”选项启用正则表达式匹配,”-exact”选项用于精确匹配。运算符是告诉编译器执行特定的数学或逻辑操作的符号,类型有:算术运算符,关系运算符,逻辑运算符,位运算符,三元运算符。上面的结构中else部分不是必须的,即代码中可以只出现if,后不出现else也是可以的,而且还有elseif结构。检查前操作数的值是否大于或等于后操作数的值,若是则为1。检查前操作数的值是否小于或等于后操作数的值,若是则为1。
2025-03-05 17:15:11
583
原创 tcl常用命令笔记--basic cmd(2)
句柄通常用于表示文件和图形对象,也可以包括网络请求的句柄以及其他通道,常用在文件操作,通过open,read,puts,gets和close来支持文件处理。Tcl的原始数据类型是字符串,还有列表和数组这些符合数据类型,数据类型不仅可以表示简单的tcl对象还可以表示复杂对象,如句柄,图形对象等。其中“0”和“1”即为数组的索引,索引可以为数字也可以是字符串,下面为一个非数字索引的例子。列表就是一组元素,元素与元素之间用空格或逗号断开,最后用双引号或花括号包括;3为列表长度,打印其第三个元素为is。
2025-03-04 15:04:37
604
原创 tcl常用命令笔记--basic cmd
我们见到过很多*.tcl命名的文件,这些都是用tcl写的脚本,比如在后端工具icc_shell,dc_shell,pt_shell,innovus等工具里我们可以直接source这些脚本,这些工具都支持tcl,而在terminal里我们只能调用tcl解释器来使用tcl脚本。Tcl中,解释器会把换行符或者分号作为终止前一行的代码的标志,写代码时为了可读性,一般会使用换行。tcl中不用提前对变量声明,一旦遇到新的变量名,tcl就会定义新的变量,set用于给变量赋值,比如。上面两种注释方式都是合法的。
2025-02-27 17:24:50
599
原创 数字后端流程--Route
Cts做完后,此时clock net已经布好,PR阶段的任务也只剩最后一个步骤——Route,这一步从字面就容易理解,就是把其他有逻辑连接的pin也通过metal连起来。Global route是对芯片的net做全局走线规划,它会把core区域划分成若干个矩形,然后计算每个区域内纵横能走多少线,由于不做真正的连接,所以速度很快便于迭代。Detail route是在上面规划的基础上,把同属一条net上的所有pin全连上,要符合设计规则,不能多连也不能少连。Drc可通过gui获取drc信息。
2025-02-26 14:55:41
418
原创 数字后端流程--cts
Place完成后此时所有的器件均已放进core内,可是所有的std cell放好就代表可以绕线了吗,当然不是,中间还有关键的一步——时钟树综合。这部分在整个后端实现都是非常重要的,因为时钟树质量和后续时序收敛难度有直接关系,好的时钟树可以很大程度上减少后续时序收敛的工作量。由上图可以看到,时钟树其实就是由buf/inv一级一级组成的,每一个分结点就划分成一级,这里的buf/inv就是库里专门用来长时钟树的clkbuf/clkinv。
2025-02-22 15:54:06
630
原创 数字后端流程--place
Floorplan完成后芯片的大致框架已经出现,万里长征已经迈出特别重要的第一步了,前面的步骤我们已经完成了io port,macro的摆放,现在core外只剩下std cell(标准单元)了,Place这一步就是要把std cell放进core里。看到密密麻麻的std cell也不用紧张,因为放std cell不用像macro手动一个一个摆,工具就可以帮我们完成大部分工作。虽然这一步的工作只有一个,但也不是只要Place完就能进行下一步的,衡量Place质量是否满足标准会通过以下几点判断。
2025-02-21 17:58:41
328
原创 数字后端流程--Floorplan
Size的前期估算,需要根据设计的规模,也就是综合后数字标准单元的总面积,结合所使用的工艺是几层metal,然后计算出结果。一般来说,前期利用率低一点影响不大,而且core的形状也会对利用率造成影响,因此可以用40~50%,初步确定size尺寸。Well tap cell是为了避免出现latch up,在core中每隔一定距离就需要放置一个,因此这类cell需要在floorplan阶段就放置,一般有下列两种放置方式。以innovus为例,不规则的形状是通过矩形剪切得到的,先创建矩形。然后才会出现剪裁工具。
2025-02-20 18:36:28
580
原创 数字后端流程--Initial
先进工艺的timing signoff corner普遍会有十几个以上,所以为了加快后期sta时序收敛速度,需要让工具带着不同corner下的差异去PR,以提前优化时序,这就是我们所说的multi corner multi mode。其中netlist和sdc为中端综合提供,mcmm(multi corner multi mode)为创建timing analysis view,其余均为工艺库文件。如图是mcmm文件需要定义的内容,以及各cmd的关系。导入方式以Innovus gui为例。
2025-02-20 18:23:09
277
Innovus inst 命名规则
2025-03-05
Redhawk GUI操作指南及配置命令集
2025-03-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人