热度 2| ||
简述:在越来越先进的工艺制程中,一方面,底层金属宽度缩小,signal的EM问题愈加凸显;另一方面,wire的delay占据path delay的比重越来越大。因此专家们提出了一种via pillar/via ladder的通孔模型,通过改变via的结构,呈“井”字状,或梯子状,通过增加或改变金属的shape来实现分散电流的作用,达到减小EM的目的。于此同时,viapillar特有的via stack形状,也给减小高层net到stdcell pin的距离提供了可能性,这样间接达到减少绕线delay的目的,来促进时序收敛。当然,缺点也很明显,viapillar占用的空间相对较大,给绕线资源也带来了一定的压力,因此无法大规模替换普通via,这也就给利用其实现时序收敛增加了一些不确定性。
1. ViaPillar rule file的生成
一般由foundary根据release的对应版本的cell 库和tech lef来提供配套的 viapillar lef以及mapping file,在设计实现过程中,load viapillar lef,再指定对应的mapping file来让EDA工具识别出具体stdcell对应的viapillar rule,从而可以针对性的应用上去。
到了更先进的制程,EDA供应商也完善了这一步骤,可以根据具体的tech lef和lib 库自动生成配套的viapillar/vialadder rule 文件以及对应的mapping文件。
ICC2:<CMD>setup_performance_via_ladder
Innovus: <CMD>gen_vp
viapillar的rule file就是具体描述viapillar形状的lef文件,格式大概如下:
PROPERTYDEFINITIONS
#VPPERF_M1_M4_1_3_2_1
LIBRARY LEF58_STACKVIALAYERRULE STRING "
STACKVIALAYERRULE SVIA1 LAYER VIA1 CUTCLASS VSINGLECUT ROWCOL 3 1 XPITCH 2 YPITCH 3 MAXCELLEXTENSION 1;"
LIBRARY LEF58_STACKVIALAYERRULE STRING "
STACKVIALAYERRULE SVIA2 LAYER VIA2 CUTCLASS VSINGLECUT ROWCOL 3 2 XPITCH 4 YPITCH 3 MAXCELLEXTENSION 1;"
LIBRARY LEF58_STACKVIALAYERRULE STRING "
STACKVIALAYERRULE SVIA2 LAYER VIA3 CUTCLASS VSINGLECUT ROWCOL 1 2 XPITCH 4 YPITCH 2 MAXCELLEXTENSION 1;"
LIBRARY LEF58_STACKVIALAYERRULE STRING "
STACKVIARULE VPPERF_M1_M4_1_3_2_1 SVIA1 SVIA2 SVIA3 ;" ;
END PROPERTYDEFINITIONS
2. Viapillar的使用
viapillar的使用包括 1,指定map 关系,2.指定使用阶段,3. 指定使用力度
指定map关系,set_via_pillars <pillar_list> -term <cell term> -required <bool>,这些描述都可以在生成的mapping file中找到,只需摘出需要应用的cell 类型来加到自己的flow中。
指定使用阶段,就是说在place阶段打开还是cts或者route阶段打开,针对不同阶段的使用,在EDA工具中都有不同的开关控制。
指定使用力度,在不同design,不同阶段,根据需要控制使用viapillar的力度,并非越大越好,要考虑绕线资源的紧张程度即drc情况。
在应用之后,可以根据log中的信息判断使用的比率情况。也可以用reportRouteTypeConstraints的方式报告出使用情况
3. Viapillar的效果
理论上,对EM和timing都会又所帮助。实际效果,还需要在不同的deisgn中具体分析。