网络课程《数字集成电路静态时序分析基础》的笔记
地址:https://www.iccollege.cn/portal/courseDetail/193.mooc
STA 环境
PT
本节主要讲解如何编写 SDC 文件
什么是 STA 环境
STA 环境就是指导设计的环境,主要包括时钟、IO、特殊路径、多周期路径
STA 针对的是同步电路,无法分析异步电路。
时钟约束
时钟约束包括:时钟源、周期、占空比、边沿翻转时间
create_clock -name SYSCLK -period 20 -waveform {0 5} [get_ports SCLK]
上面这条命令就是对时钟的约束,下面是其他例子。
时钟的其他属性
通过 set_clock_uncertainty 设定悲观条件,收紧约束,例如下图中设定建立时间和保持时间
指定不同时钟之间的不确定度
时钟之间的不确定度的意义
时钟延迟,networks 延迟和 source 延迟
延迟指定方法,默认是 networks 延迟。
一些注意的点:
如果时钟树已经建立好了,就不需要关心 network 延迟,使用图中的指令可以获得精确的时钟。在时钟树建立以前,才需要对时钟进行估算。
生成时钟
master clock 通过分频等手段产生的时钟,需要定义为 generated clock
新时钟也可以定义为 master clock,但是会存在一些问题。如果直接定义为 master clock,会使两者失去联系,系统会认为两者是异步的,相关性丢失,导致出现问题。
此外,master clock 和 generated clock 之间是有联系的,参数是有继承性的。
下图为一个例子,延迟会累加
并不是所有情况下都需要定义生成时钟,下面的时钟通过逻辑门以后新时钟和原来的关系并不大,最好直接定义行时钟。
下面是例子
ASIC 中的时钟
input path 和 output path
约束 input path
由于输入路径只有终点有时钟,所以需要指定输入延迟
针对建立时间和保持时间分别设立最大最小延迟
output path
和 input path 类似
针对建立时间和保持时间设定最大值最小值
路径组
路径通过终点进行分类。
对 IO pins 来说,时钟和输入输出的延迟约束是不够的,还需要约束其他参数
属性设定方法
驱动值越小,驱动能力越大,0 代表无限大。
设定驱动能力以后,就能够计算第一个门的延迟。
也可以从库里参考驱动能力,取库里 cell 的属性拿来用。
输入路径的第一个 cell 一定要通过约束设定 delay,而默认是理想值,即 0
输出路径也是类似的
理想情况下也是 0,实际需要自行设定相关值。
design rule checks
缩写就是 DRC
主要的两个参数就是 max_transition 和 max_capactiance
其他的属性,但是并不是主要的,和库有关系
虚拟时钟
虚拟时钟和所有 pin 和 port 都没关系,它用来作为 STA 的参考,指定输入和输出延迟和一个时钟的关系
定义方法,这里不需要指定那个 pin 或者 port 是时钟
让 STA 更加精确
有四点
case_analysis
芯片在不同情况下的约束,例如在 DFT 下,可以关闭 DFT 部分的检查
disable_timing
告诉工具这不是一条 timing path
false_path
伪路径,告诉工具不需要检查
multicycle_path
多周期路径