介绍:
max via stack就是design rule对可以上下堆叠的via(多层via的cut有overlap)的数量有限制,不能超过要求,否则就会报MaxViaStack的DRC。
简单举个例子:比如Tech LEF/tf文件要求是4,那么v1-v2-v3-v4-v5在同一位置overlap就会报DRC。
下面以tech LEF为例详细讲解一下。
LEF里面的约束:
PROPERTYDEFINITIONS
LIBRARY LEF58_MAXVIASTACK STRING
"MAXVIASTACK maxStack [NOSINGLE] [RANGE bottomLayer topLayer] ;" ;
END PROPERTYDEFINITIONS
详细解释:
MAXSTACK指定的是single cut via允许连续堆叠的最大数目,如果超过它就是DRC违反(不考虑multi cut via);
RANGE指定的是检查的最低和最高层,如果不做约束的话默认检查的所有绕线层;
NOSINGLE(可选项),前面的MAXSTACK指定的是single cut via允许连续堆叠的最大数目,是不考虑multi cut的,因此遇到multi cut via的话会认为中间是断开的,而如果指定NOSINGLE的话则认为multi cut via没有打断堆叠,还会算在内。
举例:
如上图所示,a和b都是只有single via堆叠,a从m1-m5堆叠了4层via,超过了第一行MAXSTACK 3 RANGE m1 m6的约束,b的话只有m1-m3,堆叠了3层via,没有超过要求,所以没有DRC违反。
c, d, e都是有multi cut via的情况,c的话如果只看signle via的话没有超过下面tech LEF第一行的要求,如果同时考虑multi cut via的话,那么M1-M6的via都是有堆叠的,堆叠了5层via,所以违反了第二行MAXSTACK NOSINGLE 3 RANGE m1 m6的要求,会报DRC违反。
后边的d e也是类似。
问题的修复:
知道上面的规则之后,要想解这类问题就非常简单了,只要随便把中间或者某层via错开一段距离,让它们之间没有overlap就可以了。注意检查错开之后堆叠的via的数量是否满足要求。不要出现这种情况:比如DRC要求只允许堆叠3层,现在堆叠了v1-v5,你想修这个问题结果你挪动了v5,那么还是解不了这个DRC的。
审核编辑:刘清
-
DRC
+关注
关注
2文章
149浏览量
36202
原文标题:MaxViaStack DRC规则详解
文章出处:【微信号:集成电路设计及EDA教程,微信公众号:集成电路设计及EDA教程】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论