FPGA数字IC笔试面试001——STA静态时序分析?
(1) 静态时序分析是一种验证数字集成电路时序是否合格的验证方法;
(2) 静态时序分析的前提是同步逻辑设计(重要!),不能分析异步电路;
(3) 静态时序分析工具计算路径延迟的总和,并比较相对于预定义时钟的延迟;
(4) 静态时序分析仅关注时序间的相对关系,而不是评估逻辑功能;
(5) 静态时序分析对所有的时序路径进行错误分析,不需要使用测试向量激活某个路径(与时序仿真的不同点),分析速度比时序仿真工具快几个数量级,克服了动态时序验证的缺陷,适合大规模的电路设计验证,在同步逻辑情况下,能够达到100%的时序路径覆盖;
(6) 静态时序分析的目的是找到隐藏的时序问题,根据时序分析结果优化逻辑或者约束条件,使设计达到时序闭合(Timing Closure);
(7) 静态时序分析能够识别的时序故障:建立时间(Setup)/保持时间(Hold)/恢复时间(Recovery)/移除时间(Removal)检查;最小跳变和最大跳变;时钟脉冲宽度、时钟畸变(Skew、Jitter);总线竞争;不受约束的逻辑通道;关键路径;约束冲突等;
STA :时序路径覆盖率 100%,穷尽所有时序路径,验证时序;
(1)setup time
建立时间:时钟有效沿到来之前,数据必须保持稳定的最短时间,对应的是数据路径的最大延时;
与寄存器的时钟有关。
(2)hold time
保持时间:时钟有效沿到来之后,数据必须保持稳定的最短时间,对应的是数据路径的最小延时;
与寄存器的时钟无关。
------------------- 分割线 ----------------------------------
建立时间或者保持时间不满足导致数据采样出错,亚稳态 现象。
--------------------------------------------------------------
(3)recovery time
复位的恢复时间:时钟有效沿来临之前,异步复位已经撤销的最小时间(复位已经无效的最小时间,对应于数据的恢复);
即在时钟有效沿来临之前,复位就要撤销,数据就要开始恢复的正常状态的时间。
与寄存器的复位有关。
(4)removal time
复位的移除时间:时钟有效沿来临之后,异步复位需要保持有效的最小时间,类似时钟的 hold。
(5)STA 的时序路径
STA 四种时序路径:
路径1:输入端口到寄存器的数据输入 D,
路径2:内部寄存器的时钟输入端到下一个寄存器的数据输入 D,
路径3:内部寄存器的时钟输入端到输出端口;
路径4:输入端口到输出端口。
每条时序路径包含 1 个起点和 1 个终点,
起点只能是设计的基本输入端口或内部寄存器的时钟输入端,
终点只能是内部寄存器的数据输入端或设计的基本输出端口。
对于路径 3,分析根据寄存器的 Tco 延迟和组合路径延迟等分析 setup 和 hold 是否满足。
对于路径 1 和 3,可以加入 input delay 和 output delay 来分析,来满足寄存器的建立/保持时间要求。
系统函数进行时序检查:
参考:
Verilog中用于时序验证的系统任务[setup][hold][skew][width][recovery][removal]
(1)setup 建立时间检查
$setup(data, posedge clk, tSU);
(2)hold 保持时间检查
$hold(posedge clk, data, tHLD);
(3)setuphold 建立/保持时间检查
$setuphold(posedge clk, data, tSU, tHLD);
(4)recovery 复位信号的恢复时间检查
$recovery(posedge rst, posedge clk, 3);
(5)removal 复位信号的移除时间检查
$removal(posedge rst, posedge clk, 3);
(6)recrem 复位信号的恢复/移除时间检查
$recrem(posedge rst, posedge clk, recovery_limit, removal_limit);
【往期精彩】笔试刷题及解析,FPGA和数字IC类的笔试题汇总、解析,助力实习、提前批、秋招