前言
零基础初学数字IC,学会什么写什么,与大家一起进步。
本周梳理以下IC设计面试中经常问道的一部分内容:静态时序分析。
一、什么是静态时序分析?
静态时序分析就是对数字电路的时序进行预估、计算的工作流程。
在综合、布局、布线的过程中普遍都要进行静态时序分析,主要分析建立时间和保持时间。
建立时间 Tsetup:时钟上升沿到来之前数据需要保持稳定的时间;
保持时间 Thold:时钟上升沿到来之后数据需要保持稳定的时间;
传输时间 Tpd:时钟上升沿到来之后,数据从输入端到输出端的最小时间间隔。
二、为什么要进行静态时序分析?
如果电路没有办法满足建立时间与保持时间,那么电路的状态就无法确定,进入亚稳态。我们无法确定电路的输出,也无法确定电路何时能稳定到正确的电平,因此可见进行静态时序分析是非常必要的。
这里再挖一个坑,大家也可以思考一下,为什么必须满足建立时间和保持时间才能让触发器正常工作呢?或者说为什么会有建立时间和保持时间这样的要求呢?
其实这是由触发器的内部电路结构所决定的,以后有机会会发文详解。
三、如何进行静态时序分析?
这里我们以DC为例:Design Complier 会自动根据工艺库给出的电路延时和我们人为设置的时序约束来计算电路是否存在建立时间和保持时间的违例并给出裕量。
DC会计算 data arrival time 和 data required time, slack(裕量)为正表示电路可以满足要求。
setup time slack = data arrival time -