数字 IC 笔试面试必考点(12)静态时序分析 STA

静态时序分析:

也称静态时序验证,STA(Static Timing Analysis),是一种以与输入激励无关的方式进行的,其目的是通过遍历所有的传输路径,寻找所有的输入组合逻辑下电路的最坏延迟情况(以及毛刺、时钟偏差等等),主要是通过检查建立时间和保持时间是否满足要求,而它们又是通过最大路径延迟和最小路径延迟的分析得到的;

1、两大静态时序分析原因:

  • 器件内延时:逻辑门、寄存器等等;
  • 互连线延时:导线、时钟等等;

2、四大静态时序分析路径:

  • 寄存器到寄存器:Reg2Reg
  • 输入引脚到寄存器:Pin2Reg
  • 寄存器到输出引脚类:Reg2Pin
  • 输入引脚到输出引脚:Pin2Pin

其中,最关心的依旧是数据信号和时钟上升沿之间的建立时间和保持时间的关系(不同的 FPGA 厂家的器件时序参数各有不同);

3、建立时间、保持时间在静态时序分析中的要求(这里不考虑时钟偏差与时钟抖动):

时钟周期应该大于寄存器最大传播延时(触发器的输入数据被时钟打入到触发器到数据到达触发器输出端的延迟时间)、组合逻辑最大延时目标寄存器(D 触发器)建立时间之和:

Tcycle > Tcq + Tlogic + Tsu

目标寄存器保持时间应该小于寄存器污染延时组合逻辑污染延时之和:

Th < Tcq,cd + Tlogic,cd

  1. 寄存器最大传播延时 Tcq,是指时钟翻转之后(0→1),数据从寄存器的输入端 D 到输出端 Q 的最大延时;
  2. 电路的线延时和组合逻辑最大延时 Tlogic,是指本级寄存器的输出到下级寄存器的输入之间的最大延时;
  3. 最大延时和污染延时相对应,污染延时表示最小延时的意思,一般添加后缀名 “cd” 加以表示;

4、

建立时间裕量:Tsu_slack = Tcycle - Tcq - Tlogic - Tsu

保持时间裕量:Th_slack = Tcq,cd + Tlogic,cd - Th

二者都应该大于零;

5、

数据要求时间:Trequired = Tcycle - Tcq

数据到达时间:Tarrived = Tlogic + Tsu

裕量 = 数据要求时间 - 数据到达时间:Slack = Data Required Time - Data Arrival Time

数字 IC 笔试面试必考点(12)静态时序分析 STA_第1张图片  

6、FPGA 开发软件也是通过这种方法来计算系统最高运行速度 Fmax;因为 Tcq 和 Tsu 是由具体的器件工艺决定的,故设计电路时只能改变组合逻辑的延迟时间 Tlogic,所以说缩短触发器间组合逻辑的延时时间是提高同步电路速度的关键所在;

由于一般同步电路都大于一级锁存,而要使电路稳定工作,时钟周期必须满足最大延时要求,故只有缩短最长延时路径,才能提高电路的工作频率;

可以将较大的组合逻辑分解为较小的 N 块,通过适当的方法平均分配组合逻辑,然后在中间插入触发器,并和原触发器使用相同的时钟,就可以避免在两个触发器之间出现过大的延时,消除速度瓶颈,这样可以提高电路的工作频率,这就是所谓的 "流水线" 技术的基本设计思想,即 “插入流水线”,从而提高 Fmax,加快系统工作速度,增大吞吐量;值得注意的是,流水线设计会在原数据通路上加入延时,另外硬件面积也会稍有增加,这也是面积换速度的基本设计思想。

你可能感兴趣的:(数字,IC,笔试面试必考点)