以前曾经提到,对于一些标准单元库,调整track是对绕线有好处的,甚至说是非常关键,决定着你的设计是否能够绕通。
本文想说的,就是针对于不同的标准单元库,首先要确认,这套库有没有专门的tech file以及track的设定。
以smic12nm为例,针对于icc2,fountry提供了调整track的脚本。需要在init之后,通过smic提供的脚本对track进行重新创建。
而tsmc的22nm,foundry则提供了一个utility。最好不要直接用台积电提供的tech lef,而是要通过脚本,结合你的单元库的高度,也就是track数目来生成你所需要的tech lef。
使用方法如下:
GenPRTF.tcl -inputPRTF path/to/tlef/t22.tlef -Cellheight 7
如果所用的cell高度为9track,那么你就输入-CEllheight 9。
当然,这里只是举个例子,至于需不需要做,还是要看具体的库。也并不是说工艺越先进,越需要这么做。tsmc7ff,我没看到这个需求。
总之,遇到绕线上一些奇怪的drc以及绕线很难的时候,考虑一下是不是tech file(或者tlef)是不是用错了或者track是不是需要改。