基本概念
- Launch Edge:发射沿,产生数据的reg1的clock上升沿
- Latch Edge:接受数据的reg2的clock的上升沿,延时Launch Edge1个时钟
- Slack:slack本意是松弛,时序中是时间裕量的意思。如果setup time/ hold time slack是正值表示目前满足了setup & hold的时序要求,并且有多余的时间。如果slack是负值,表示目前不满足需求,并且不足多少时间。
setup slack:数据到达时间----下一级reg的latch时间往前推T_setup时间,二者的差值。
hold slack:下一级reg的上一拍数据的latch时间往后推T_hold时间----数据到达时间,二者的差值。 - Fan-out:逻辑门的输出端连接着多个别的单元的输入,Fan-out用来描述逻辑门的驱动能力的大小。最大扇出数maximum fan-out定义为一个逻辑门可以驱动的同类逻辑门的最大数量。
- Fan-in:扇入Fan-in描述一个逻辑门能够处理的外部输入的能力,扇入大的逻辑门的速度要比扇入小的满,原因是增加扇入相当于增加逻辑门的输入电容。
PVT
PVT:Process、Voltage、Tempreture
Process:由于fab制造过程的工艺掺杂不均匀,分为ff ss tt等情况。
Voltage:芯片工作电压,由于电源的不稳定以及后端IR-drop等因素导致。可分为0.9*VDD,1.1*VDD。
Tempreture:芯片工作时的温度,一般分为-40,-10,70,125几个温度。
时钟信号特征
- 偏移(skew):因为时钟线长度不同或者负载不同,导致时钟到达cell的时间不同,这个时间上的偏差叫做偏移skew。skew通常是指时钟相位上的不确定。
解决办法:
- DLL(Delay Lock Loop)延迟锁相环,将输入时钟和输出时钟进行比较,插入延时使时钟同步。
- 树形结构、低阻抗时钟分布线等等
2. 抖动(Jitter):理想情况下频率固定的完美脉冲信号每个周期的持续时间固定,但这种信号并不存在。信号周期长度总会有一定变化,从而导致下一个沿的到来时间不确定。这种不确定就是抖动jitter。
解决办法:
- 控制系统温度(温度补偿)、减少机械振动、减少电源地线等对时钟的影响。
3. 占空比失真(Duty Cycle Distortion):时钟不对称,高电平和低电平时间发生变化。DCD会占用时间裕量(Slack)造成数字信号市镇,使得过零区间偏离。
STA 静态时序分析
STA会把电路分解为很多timing path,对每个path分析是否满足setup、hold的限制。
起点:clock pin & input port
终点:data input pin & output port
排列组合一共是4种路径:输入端到触发器,触发器到触发器,触发器到输出端,输入端到输出端。
STA的目的就是保证DUT(Device Under Test)中所有的路径满足内部时序cell对setup和hold 的要求。信号可以从任一path的起点传递到终点,并在电路正常工作所需要的时间内保持恒定。
常用工具:Prime Time(Synopsys)
相关定义:
critical path:关键路径,从输入到输出延时最大的哪条路径,关键路径是系统中延时最大的路径,它决定了系统所能达到的最大时钟频率。
arrival time:到达时间,信号到达某个特定位置所消耗的时间,一般将时钟信号的到达时刻作为参考的0时刻。为了计算到达时间,需要对路径中所有组件的延时都进行计算。
required time:需求时间,所能容忍的路径最大延时。如果延时再大一些,则必须降低时钟频率,否则会产生setup/hold time violation。
min delay constraint:传输时延太小会导致不满足hold time的限制,所以hold time限制了组合逻辑的最小时延,这个限制叫做min delay constraint。
max delay constraint: 传输时延太大会导致不满足setup time的限制,所以setup time限制了组合逻辑的最大时延,这个限制叫做max delay constraint。