自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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 命名规则

内容概要:本文档全面介绍了一套由Innovus命令采用的各种实体(实例、网络)以及天线二极管、冗余单元、物理单元(TIE HI/LO单元除外),它们的名称约定或前缀命名规范,详细解释了每个对象的具体用处与相应的命令。从分配语句缓冲区到关键路径优化后的网络实例,以及插入空单元和时序优化中新增的对象都被涵盖。 适合人群:从事IC布局规划阶段工作的工程师、研究员和技术爱好者们;对于需要熟悉Cadence旗下产品——特别是用于集成电路物理设计流程里执行诸如综合、布局布线等一系列任务的Innovus工具的人而言尤其有价值。 使用场景及目标:这份资料非常适合想要深入了解Innovus内部机制并希望掌握其命名规则以便更好地定制项目脚本或理解自动生成网表文件的专业人士。这有助于用户提高生产效率、降低错误发生率,并为后续维护带来便利。同时它还可以帮助用户更加灵活地修改现有电路结构而不违反系统默认配置。 其他说明:尽管文中提及了许多特定命令和概念,但为了确保初学者也能跟上进度,文档同样提到了如何使用相关选项来自定义这些惯例的方法,增加了实用性的同时又给予了一定程度的自由度以满足不同项目的特殊需求。

2025-03-05

Redhawk GUI操作指南及配置命令集

内容概要:本文档提供了详细的Redhawk GUI使用指南,帮助用户熟悉和掌握Redhawk静态和动态电力gui界面的操作,涵盖启动GUI、导入数据库文件、图形化展示数据、查询、网络导出等多项操作指导。具体来说,介绍了如何正确操作Redhawk GUI的各种控件来完成设计分析任务,如电压下降(IR-Drop)、电流映射、功率密度映射等各种视图的调阅与调整。同时详细罗列了一系列用于执行不同任务的TCL命令总结,这些命令支持高级的数据审查、分析、调试选项,以及特定设计规则条件设定等复杂操作。最后还包括了从GUI导出带有颜色编码的地图图片的具体步骤和配置。 适用人群:电子工程领域的设计师、分析师和技术支持专家,尤其是那些专注于芯片设计与验证的专业人士。此外对于初学者来说也是一个良好的入门教程和参考资料。 使用场景及目标:本手册适用于进行物理验证流程的工程师们,在设计过程中通过直观交互的方式检查电路布局、电源完整性等问题。其主要目标是在实际项目实施期间利用强大的数据分析能力提高产品质量,确保所有性能指标均符合预期标准,从而缩短产品上市时间并降低成本风险。 其他说明:除了详尽的文字叙述之外,还有

2025-03-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除