其他分享
首页 > 其他分享> > TCL与STA静态时序分析----邸志雄课程

TCL与STA静态时序分析----邸志雄课程

作者:互联网

一、TCL语言

1. TCL概述

在这里插入图片描述

1.1 启动TCL

在这里插入图片描述

1.2 置换

在这里插入图片描述

1.2.1 变量置换

在这里插入图片描述

1.2.2 命令置换

在这里插入图片描述

1.2.3 反斜杠置换

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.3 变量、数组和列表

1.3.1 变量

在这里插入图片描述
脚本语言的变量可以存储字符串,这是脚本语言的便利
在这里插入图片描述

1.3.1 数组

在这里插入图片描述
在这里插入图片描述

1.3.3 列表

在这里插入图片描述
在这里插入图片描述

1)列表指令-concat(合并)

在这里插入图片描述
在这里插入图片描述

2)列表指令-llength(返回元素个数)

在这里插入图片描述
在这里插入图片描述

3)列表指令-lindex(返回第n个元素)

在这里插入图片描述
在这里插入图片描述

4)列表指令-lappend(列表末尾加新元素)

在这里插入图片描述
在这里插入图片描述
此处是将b当作了一个元素,值为{4 5}

5)列表指令-lsort(列表排序)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.4 运算

在这里插入图片描述

1.4.1 数学运算指令 -expr

在这里插入图片描述
在这里插入图片描述

2. 控制流

2.1 控制流 -if

在这里插入图片描述

2.2 循环指令 -foreach

在这里插入图片描述

3.3 循环控制指令 -break

在这里插入图片描述

3.4 循环控制指令 -continue

在这里插入图片描述

3.5 循环控制指令 -while

在这里插入图片描述
注意#是注释

3.6 循环控制指令 -for

在这里插入图片描述

3. 过程函数

3.1 -proc

在这里插入图片描述

3.2 全局与局部变量

在这里插入图片描述

4. 正则匹配

在这里插入图片描述

4.1 量词

在这里插入图片描述
在这里插入图片描述
\d+则序列前面必须有数字才能匹配到。
在这里插入图片描述

4.2 锚位

在这里插入图片描述
在这里插入图片描述

4.3 正则匹配指令 -regexp

在这里插入图片描述
在这里插入图片描述

4.4 捕获变量“用()声明正则表达式中的子表达式”

在这里插入图片描述

5. 文本处理

在这里插入图片描述

5.1 读入

在这里插入图片描述

5.2 写入

在这里插入图片描述
在这里插入图片描述
上面正则匹配中,$line为要匹配的字符串,total为匹配到的整体字符串,slack为匹配到的子字符串

6. TCL应用–Synopsys TCL

参考资料
在这里插入图片描述

6.1 TCL在EDA工具中的扩展与应用

在这里插入图片描述

get_ports

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

get_cells

在这里插入图片描述
在这里插入图片描述

get_nets

在这里插入图片描述在这里插入图片描述

get_pins

在这里插入图片描述

6.2 “数据类型:object(对象)”与其“属性”

在这里插入图片描述

object

在这里插入图片描述
在这里插入图片描述

get_*-f

在这里插入图片描述

get_*[object]-of

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.3 使用TCL语言设计DC的自动化Flow

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

代码读入与约束生成

在这里插入图片描述
在这里插入图片描述

filelist.tcl–代码filelist读入生成模块

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

find_clk.tcl–时钟约束生成子模块

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、STA静态时序分析

1. PrimeTime

在这里插入图片描述

1.1 PT命令行模式

在这里插入图片描述

1.2 图形模式

在这里插入图片描述

2. 静态时序分析时序弧

在这里插入图片描述
又分为连线延迟和单元延迟

2.1 单元延迟–Cell delay

反转延迟–Transition delay

在这里插入图片描述

逻辑延迟–Logic gate delay

在这里插入图片描述

3. 建立时间与保持时间

3.1 setup time

建立时间约束电路最大延迟,所以建立时间决定电路的最大时钟频率
在这里插入图片描述

3.2 hold time

保持时间约束电路最小延迟,若不满足保持时间,则发生数据在当前时钟沿发送且在当前时钟沿被采集
在这里插入图片描述

3.3 避免两种时序违例(Tsu与Thold计算)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

⭐ 3.3.2 消除hold timing违例

理论上可以通过增大数据路径延迟,或者减小时钟路径延迟来改善
在这里插入图片描述
在这里插入图片描述

4. 时序路径

在这里插入图片描述

4.1 两种起点:clock pin和input port

在这里插入图片描述

4.2 两种终点:data input pin和output port

在这里插入图片描述

4.3 四种时序路径

在这里插入图片描述

5. 时钟域

SOC全局异步,局部同步。

DC/PT处理的都是同步电路。

在这里插入图片描述

6. 操作条件

在这里插入图片描述

PVT: 工艺制成,电压和温度

在这里插入图片描述
PVT一般分三种:比较慢的,典型的,比较快的。用最慢和最快的极限条件测试,最慢查setup,最快查hold
在这里插入图片描述
芯片工艺制成越大,延迟越大;
电压越高,延迟越小;
温度越高,延迟越大;
通常讲,高温+低电压看setup time;
低温+高电压看hold time。
在这里插入图片描述

三、相关计算

四、时钟偏斜

由于时钟布线网络存在传输延迟,

五、时钟抖动

概述

时钟抖动指在芯片的某一给定点上时钟周期发生暂时的变化,即相邻两个时钟周期之间存在的时间差值。

影响

在高速数字系统中,时钟或振荡器波形的抖动会限制一个数字I/O接口的最大速率,不仅如此,还会增大通信链路的误码率,甚至限制模数转换器的动态范围。

产生原因

相邻两个时钟周期的误差是在时钟发生器内部产生的,和晶振或者PLL内部电路有关,时钟信号传播过程中的噪声对其也有影响。
时钟抖动分确定性抖动和随机性抖动。

标签:STA,get,列表,----,TCL,时序,时钟,延迟
来源: https://blog.csdn.net/qq_40800500/article/details/117702749