如何减小data path上的delay?
这个很难有一个统一答案,因为这本身就是一个决策问题。
遇到这种path,一般都是一个design的critical path了。
首先,原本的design上,为什么存在routing detour,可能的原因是fix antenna,routing resource,pin access之类的。工具自然有它的考量。
第二,想一劳永逸的解决,还不如把这条path的instance都放近一些,这跟之前的placement有关。
第三,可以采用NDR在data net上。
第四,最大尺寸的buffer一般用的不多,你这里的net length估计不短。何不控制一下?
总而言之,这类问题是后端设计的核心问题。
感谢小编的总结
routing detour很严重,要多走1倍到几倍的距离,分析原因,可能和routing resource有关,但还是绕的通,不清楚为什么会出现routing detour
net length是有设置的,但是工具好像没有严格考虑这个约束
小编能否详细说一下第2和第3点的方法?
能说下什么工艺什么库么, 顺便问下:你说的大是net delay多少ns?
通常detour是经常的,说明这2个buffer之间不是worst path,工具根本没放重点在这里,
只是route完而已,你的设计还有更worst的path等着icc修呢,
再说了,:max buffer 不一定对修timing有利的,因为太大的buffer input cap很大,会造成前面一级的
负载能力下降,从而增大前一级别的负担, 因此合适的buffer size才是能做出最小delay的,
中间加一个repeater肯定是有利于slew,delay修复的,但是也会有副作用,就像你碰到的这种,
buffer本身有delay的
.11的工艺,之前统计过,大部分buffer,invter的delay值在0.0几的量级,差一点的有0.1几,这些出现detour的基本都在0.3到0.6之间,虽然也没有差太多,但是一条path上出现两个以上就要命了,已经出现violation了,我是把出现detour绕线的cells之间的距离按等分去差buffer的,结果让人不满意,所以请教大家都是怎么做的,还是有什么其他方法去约束工具让工具修这个问题?设置set_max_net_length好像没有起作用,detour依然存在
先让pt fix_eco_timing看下有无其他方法,比如upsize driver,
然后 insert_buffer -on_route -repeater_distance 500 BUFX8M ( 中等buffer就行,不需要特别大的) ,
每隔500um插入一个buffer
0.11um的buffer delay在0.3ns以内都算正常, set_max_net_length的作用很小,基本上65nm以下才有作用的,