热度 15
2016-4-20 21:29
1174 次阅读|
0 个评论
时序分析: IC 时序验证用两种方法实现:一是动态时序分析,即根据电路中提取的延时参数,通过仿真软件动态的仿真电路以验证时序是否满足要求。二是静态时序分析,即通过分析设计中所有可能的信号路径以确定时序约束是否满足时序规范。 动态时序分析的时序确认通过仿真实现,分析的结果完全依赖于验证工程师所提供的激励。不同激励分析的路径不同,也许有些路径(比如关键路径)不能覆盖到,当设计规模很大时,动态分析所需要的时间、占用的资源也越来越大。 静态时序分析根据一定的模型从网表中创建无向图,计算路径延迟的总和,如果所有的路径都满足时序约束和规范,那么认为电路设计满足时序约束规范。静态时序分析的方法不依赖于激励,且可以穷尽所有路径,运行速度很快,占用内存很少。它完全克服了动态时序验证的缺陷,适合大规模的电路设计验证。对于同步设计电路,可以借助于静态时序分析工具完成时序验证的任务。 上面讲完了 DC ,下面来讲解下时序分析,主要侧重静态时序分析( sta ) , 其实这块应该放在上面讲解的, DC 一般会内置一个 sta 的工具用来做时序分析,只是这块的东西相比而言比较多,也比较难,所以放在了后面。时序分析的目的就是看当前的电路是不是能跑到你预期的频率,如果不行,则可能需要修改代码,如果可以,可以尝试在频率达到的要求下将面积和功耗降下来。综合及时序分析的结果可以为后续的布局布线等操作提供一定的参考和基准,可以说时序分析比起代码设计还要重要,而且这块的难度也相当的大。 1、 时序路径 上图是我们最常见的几种时序路径: Path1: 从 input port 端到 DFF/D 端,一般需要对 clk 和 rst 外的所有 input port 设置 input_delay, 通常情况下设置比较紧的时序时为 2T/3 (不知道 input_delay 是多少的时候给出的预估) , 也就是给 input port 端到 DFF/D 端留 T/3 的时间; Path2: 从 DFF 的 clk pin 到另一个 DFF/D 端; Path3 :从 DFF 的 clk pin 到 output port, 一般而言,需要对所有 output port 设置 output_delay, 通常情况下设置比较紧的时序时为 2T/3 (不知道 output_delay 是多少的时候给出的预估) , 也就是给 DFF 的 clk pin 到 output port 端留 T/3 的时间; Path4: 纯组合逻辑,从 input port 到 output port ,一般而言其延时设置为 5T/3,( 减去 2T/3 的 input delay 和 2T/3 的 output delay ,也就是给组合逻辑留了 T/3 的时间 ) 。 这种路径一般称为 feedthrough path, 设置约束如下: 上图是几种不常被提到的时序路径: 上图是 rst 的一些时序要求,这些通常不被那么重视,原因是 rst 的复位和释放复位的时间基本上都很长,一定能满足时序要求。 无论有多少时序路径,静态时序分析都离不开建立时间的 setup time 和保持时间 hold time 的检查。