Script Set to Plugin - Unit 4: Buffering
Buffer和Inverter是我们的信号还原单元,信号的传输会衰减,而Buffer和Inverter的功能就是在信号还能被识别的时候进行重新整形,放大,继而继续传播。相应地付出的成本就是时间。如果真有适合IC用的超导体的话,那么Buffer和Inverter也就退出历史舞台了。...
↑ 点击 “IC物理设计” 关注,欢迎转发到朋友圈。
我们的努力需要你的肯定。
Buffer和Inverter是我们的信号还原单元,信号的传输会衰减,而Buffer和Inverter的功能就是在信号还能被识别的时候进行重新整形,放大,继而继续传播。相应地付出的成本就是时间。如果真有适合IC用的超导体的话,那么Buffer和Inverter也就退出历史舞台了。和我们的课题联系起来,Buffering和写Script有什么联系呢?这里要讲一个观点,脚本的作用是让我们的事情做得更准确(前提是脚本是正确的),更快速,质量更高。比如你是一个P&R工程师,你当然希望拿到的数据是高质量的,同样怎么保证你的数据hand over也是高质量的呢?让你的脚本和你的思维挂上钩。
今天的Buffering就是一个好的P&R的其中一项标准,Block Owner的Design输入输出如果没有buffering,而你又不关注Interface的Timing,那么带来的问题就是一旦放到Block的上一级,Interface Timing就比较难看,关键是给人的印象就是这个东西做得马马虎虎,或许你花了九牛二虎之力close了core timing。
IO Buffering
同时做IO Buffering的时候,还可以顺便把Clock Port梳理出来,Port的数目Print出来。Pin超过一定数目是需要和Top沟通,Floorplan的摆放很讲究,或者可以考虑不同边出pin。
Macro Buffering
Special Buffering
Script
方法一:在IO或者Macro的Pin位置直接插入buffer,然后靠place engine来自动优化,此处你必须对IO约束有个合理的设置,clock需要额外做。
方法二:插入IO或者Macro的Pin位置处的buffer,利用局部place命令做好,或者自己写脚本放也行,然后再place的时候设置成fixed属性。
抛砖引玉
无论哪一套flow,只要被广泛应用,就有它的道理和值得学习的地方。如果你用过好几套flow,多观察小细节,想想为什么,有什么好处等等,这样你才能站在巨人的肩膀上写出超越巨人的flow以及methodology。部分配图来自网络,如有不妥请联系,提供版权证明立即更正。
IC物理设计
微信号:ic_pdi
长按识别二维码关注我们
关注 IC物理设计
微信扫一扫关注公众号