| |
本帖最后由 xjg@hmes 于 2012-12-18 16:24 编辑 1.大的延迟和大的转换时间(High fanout & Large transition) 当发现slack为负时,要检查线网上有没有很大的延迟和很大转换时间,如果有那么可能是以下原因引起的: a:高扇出 b:long nets:长连线--需要插入buffer来解决较长的连线 c:low strength cells:cells which may not have been replaced because these are labeled as dont touch in the design. d:memory path:paths that typically fail due to large setup times on memory inputs and large output delays on memory outputs. 2.多周期路径问题 For a multicycle N setup specification, it is common to see the corresponding multicycle N-1 hold specification missing. Consequently, this can cause a large number of unnecessary delay cells to get inserted when a tool is fixing the hold violations. 3.路径没有优化 STA违例可能出现在没有优化的路径,可通过检查数据路径来检查这种情形。单元是否有很大延迟?可不可以手动优化这些数据路径? 单元是不是被dont use 或dont touch 4.路径仍热不满足时序 如果路径有很强的单元驱动但还是不满足时序,那么就需要检查延迟和线负载大的引脚。把单元放置近一些可能就会使延迟变小。 5.可利用useful skew来优化时序 6.检查clock skew以及ckock级数的值是否合理;违例是否是由skew引起 When a timing path fails, one thing to check is if the latencies of the launch clock and the capture clock are reasonable, that is, ensure that the skew between these clocks is within acceptable limits. Either an incorrect latency specification or incorrect clock balancing during clock construction can cause large skew in the launch and capture clock paths leading to timing violations. 7.注意在buffer上的大的延迟,这一般是由非法的负载引起的--很大的负载 8.检查是否input delay 和output delay设置是否合理;检查SDC制约是否合理 9.当使用virtual clocks时,确定在虚拟时钟上的latency被设置,或者已经包含在set_input_delay和set_output_delay里面。 10.是否有复杂的逻辑门存在,即cell delay + net delay > 1 period 11.是否存在不合法的路径,异步时钟;不可能同时工作的路径,设定false path 12.离散clock gating(latch + and搭建),没有将两者靠近配置,易引发hold问题;还有ICG的配置位置;是否需要check等 欢迎大家积极讨论,补充、指正!! |