时序分析:
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的检查。
文章评论(0条评论)
登录后参与讨论