普莱斯队长

05 时序分析

0
阅读(2244)

         DC约束的过程其实也就是一个建模的过程,目的在于模拟芯片的实际工作情况。在compilereport_timing 不加其他命令默认最差的一个,加上 _max_path 2即每个group中最差的两个。 这里path_group 是有几个clk有几个group

,与check_timing的区别就是后面这个检查约束是否完整。

         Report_timing –loops 检查组合逻辑环,也就要求在逻辑实现阶段任何反馈必须接寄存器。

         在输入数据中Incr: individual contribution to path delay ; Path: the path total delay.

         如果报violated并不一定真的有问题,DC会先对最差的路径进行约束。如果后期修复了最差的违例,剩下的一些小的违例DC也许会自动修复掉。

 

综合的重点放在setup time上,因为建立时间违背实质就是数据到达得太晚了,因为这样的违背是没有办法修复的,因此综合的报告里面必须没有建立时间的违背。Holdtim违背就不同了,它发生的原因是因为有时钟偏移,数据到达时序器件太早,使得数据在锁存之前就发生了改变,因此违背了hold time的要求。

使用命令set_fix_hold告诉DC修复holdtime

使用命令compile –incremental –only_design_rule后,DC只是增加buffer或者是选用合适的单元,只是修补设计规则违背,可能修复holdtime违背。

在版图以后修复,此时时钟树已经插入,此时时钟偏移已经尽可能得小,可以通过插BUFFER的方式,增加路径延时,以达到修复得目的。