冰点火龙的个人空间 https://blog.eetop.cn/1104918 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

检查Floating Metal的两种方法

热度 11已有 6391 次阅读| 2021-2-2 19:05 |系统分类:芯片设计| Floating metal, Antenna, Antenna, Antenna, Antenna

1.jpg

在Layout中,Floating的金属有时候肉眼发现不了,然而它既会影响电路性能,也会造成不必要的面积浪费。

比如,高速电路中常用电感,电感附近有Floating的金属,会影响电感的感值,导致电路不能正常工作。

PS:在高速的Layout中,为了电路性能,高速部分不填充金属Dummy的。

不过也有特例,为了芯片平坦度,Foundry厂会要求我们填充金属Dummy,它们也是Floating的,但是与有用的器件和层次距离比较远,对电路性能影响比较小。

为了检查出Floating的金属,我们可以用以下两种方法。


 01     RUN LVS的方法检查Floating Metal


在LVS cmd file中,添加下面的语句,然后Run LVS,看ERC结果。

ERC PATHCHK !LABELED by layer


该语句是检查layer没有net name。若是用于检查线,那么没有net name的线相当于是floating的线。


2.jpg

3.jpg

 02    RUN  ANTENNA的方法检查Floating Metal


其实检查Antenna的Rule也可以检查Floating Metal。检查Metal1的天线效应,语句可能像下面这样写:


gate = poly AND diff
CONNECT poly metal1 BY contact
{ NET AREA RATIO metal1 gate >20 }


从这个语句可以看出,检查metal1的天线效应,是把metal1和gate的面积进行比较,超过20就报错。

如果是用来检查Floating Metal,那么就相当于Metal没有接到Diffussion、Poly,或者可以这样理解,Metal1连接的Diffussion、Poly的面积为0,语句可以这样写:

CONNECT  metal1 diff BY contact
CONNECT  metal1 poly BY contact
floating_metal { @ Check metal1 floating
( NET AREA RATIO metal1 poly == 0 ) AND ( NET AREA RATIO metal1 diff == 0 )
}


前两句是定义metal1和diff通过contact连接,metal1和poly通过contact连接。也许你已经看出疑问了,最下面那行等于0,那么metal1与diff、poly运算时,分母是0,语句是不是有问题啊?

我们来看看Calibre的SVRF文档,文档中有提到NET AREA RATIO语句运算时,是允许分母为0的,并且提到,该语句可以用来检查nets没有被diodes保护的情况。那么我们可以把没有接到Diffusion的Metal,看成没有受到diodes(在Antenna检查中,Diffussion相当于diode)保护的Metal。从而可以用这种方式检查Floating的Metal。


4.jpg

5.jpg

6.jpg

本文由小文陈原创,欢迎分享!

微信号:JK_LayoutArt


2.png

7

点赞

刚表态过的朋友 (7 人)

发表评论 评论 (7 个评论)

回复 JY_1011 2022-8-12 13:33
为啥我试了一下报错啊
回复 chunnuan0 2022-12-19 14:19
点赞,两种方法都尝试了一下,结果如下:
1. ERC写法,伪错较多,会把所有没有连接到PIN的金属和孔全部报错出来,需要一个一个确认是不是真的floating,大量都是连接到中间电位的线,个人认为不是特别好用
2. 天线 DRC RULE写法,成功获得想要的效果,写法简单,可用性高
需要注意,定义连接关系之前线DISCONNECT一下,然后自己定义连接关系
回复 wei.mo 2023-7-26 16:29
chunnuan0: 点赞,两种方法都尝试了一下,结果如下:
1. ERC写法,伪错较多,会把所有没有连接到PIN的金属和孔全部报错出来,需要一个一个确认是不是真的floating,大量都是 ...
只会把没有连接到管子上的floating的报出来,中间电位的线不会报错的。有一个问题就是floating的层次很多,比如7nm 的POLY ,MD等很多也报出来了,但这些我们不想检查
回复 amor_ming 2023-8-24 23:51
chunnuan0: 点赞,两种方法都尝试了一下,结果如下:
1. ERC写法,伪错较多,会把所有没有连接到PIN的金属和孔全部报错出来,需要一个一个确认是不是真的floating,大量都是 ...
请问为什么定义连接关系之前线DISCONNECT一下?
回复 靓女 2023-11-24 14:19
那OD、PO 浮空的规则该怎么写 ,还有后续的M2、M3该怎么写
回复 chunnuan0 2023-12-14 10:32
amor_ming: 请问为什么定义连接关系之前线DISCONNECT一下?
因为这个算是子定制DRC rule,我要加在DRC后面使用的。DRC内有自己定义好的连接关系,我需要把之前的都连接关系DISCONNECT,然后自己定义我需要的连接关系。
回复 chunnuan0 2023-12-14 10:34
wei.mo: 只会把没有连接到管子上的floating的报出来,中间电位的线不会报错的。有一个问题就是floating的层次很多,比如7nm 的POLY ,MD等很多也报出来了,但这些我们不想 ...
我写的中间电位很多报出来了,我猜测是foundry厂商不同,因为我用的S40工艺,之前它自带的ERC也经常有类似的伪错。

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 7

    月排名
  • 0

    总排名
  • 0

    关注
  • 23

    粉丝
  • 4

    好友
  • 21

    获赞
  • 20

    评论
  • 570

    访问数
关闭

站长推荐 上一条 /1 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-28 00:36 , Processed in 0.026223 second(s), 15 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部