chip 中比较特殊的timing path 问题分享。

最近忙于项目,分享一个比较特殊的案例。

image

如上简图是一个第三方公司提供的IP liberty 。其中O 点是liberty 的 internal pin 作为sdc 时钟的创建点。
绿色的线为 combinational arc 创建的时钟会从C 打出。
蓝色的线为 sequential arc 数据会从A 打出。
经过综合后会产生类似这样的网表

这个IP 会直接驱动一串FF
由于launch capture path的 branch point 在liberty 的internal pin 上 CPPR 为0
使得PR 后 PT eco fix timing 过程中setup hold 互卡

这种path 根本没法修下去。

===============
解决方案
rtl 修改重新综合,重新pr 一下。


设计需要在IP 到后面的FF 之间垫一个橙色的FF 进去

这样PR 时候可以把橙色FF 和IP 摆的近一点。 对IP-> 橙色FF timing 友好。
从橙色FF → 后面一串FF 之间 clock tree common point 在IP 外侧。 这样可以方便调整clock tree 。 防止common path 过短导致setup hold 互卡发生。