聊一聊芯片设计的NDR是什么?

电子说

1.2w人已加入

描述

今天突然想聊一聊route相关的问题,讲一讲NDR是什么,我也梳理总结一下我对NDR的认识。

NDR是non default rule的缩写,它指的是在绕线的时候给某些net制定的特殊的绕线规则。现在工具在绕线之前需要制定一个default rule,默认所有net都按default rule来绕。

比如我们规定某一层的线宽、线间距等,tool就会按照这个规则,加上自己的绕线算法,最后得出符合要求的绕线。

而对于指定了NDR的net,tool就会额外照顾一下,因为NDR的rule和default rule有所区别,route的最终结果就会有所不同,相应的会影响芯片的各项性能。

举个例子,我们可以指定某一条net,上了一条简单的NDR——让他在M3的绕线更宽一些,tool就会在绕线的时候首先保证我们的线宽,因为pitch(线间距)的约束,原本可能在它旁边track上的线就不能这么绕了,也就是说这条NDR使这根线占用了更多绕线资源,但好处是得到了更宽的线,显然对timing、EM等会有好处。NDR的含义很广,不止width,还有pitch、space、绕线的layer等的改变都属于NDR。

NDR最重要的用途,就是以牺牲绕线资源的代价改善timing性能。对于CTS的时钟线,timing要求比较高,如果用default rule较难满足做出比较好的时钟树,因此我们一般都会给时钟线上NDR,主要有以下几个方面:1.增大线宽,这样能有效减小net上的RC值,线上delay就会变小。2.增大线间距,这样就能减小crosstalk的影响,并且我们还会给一些CTS线加上shielding net(就是一段地线,用以消除串扰影响)。3.绕线层尽量高,理由同上,因为高层layer本身width、pitch就会更大。而且clock net会分为trunk以及leaf,一般leaf就是指连到flip-flop CP pin最后一段net,trunk指除了leaf外的clock net。Trunk和leaf会用不同的NDR,trunk的相对会更严一点,leaf的会更接近default rule。

对于signal线,我们很少会上NDR,最多也就是在ECO的时候修timing或EM来加一点NDR。一般情况下NDR都会用在CTS阶段。

需要注意的是,用户指定的NDR对于tool来说不能保证100%遵守。比如说有时候我们规定trunk在高层绕,但是因为绕线资源的限制,某些trunk net不能完全在高层来走,还是要在低层走一段。一般我们会要求满足NDR的比率要到一定范围才行。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分