数字IC后端小白学习日志---006 day(实战Lab-解决Short问题)

一 文件的准备

同样的,拿到了Lab的压缩文件

然后输入命令 tar -zxvf file_name进行解压

解压后,先进入lab9a去看看里面有什么东西

二 基本的LVS流程

(1)打开calibredrv

输入命令后:

(2)Run LVS

Verification -- Run nmLVS

到这里应该明白为什么有Runset文件了吧,直接可以Load进去进行Run LVS。

不过此处,我们不用Runset,而是按照步骤一步一步来。

(2.1)Rules

(2.2)Inputs

在Herarchical mode下跑,同时选择Export from layout viewer

同时指定好netlist的Spice file,并确认Top Cell是否正确

(2.3)H-Cells

        此处先不加H-Cell文件,先快速跑一遍LVS

(3)LVS Option

        Set up--LVS Option,在Supply选项里,勾选上Abort LVS on power/ground net errors。这样在出现短路问题时会终止LVS

        在Short选项里,勾选上Run short isolation,Output shorts by layer和Output shorts by cell。

(4)RunControl

        加快速度,这里选择多核,也就是多线程。

(5)Run LVS

结果如下,我们可以看到,结果是通过的:

三 添加五种不同的Short

(3.1)添加简单的short

跑完第一遍LVS后结果显示没有出现short,那我们来加入一点short。

然后关闭所有的Layers,只显示Metal1

然后对于下图处:

我们使用Box使VDD和VSS短路,使用Box后如下

(3.1.1)添加short后的LVS及Run后的报告

short添加进入了,下面开始做LVS:直接Run LVS,并且Overwrite掉之前的

我们看到立刻报错了,因为我们在LVS Options里面的Supply中设置了

然后查看报告:

Extraction Results:

Layout Short:(这一项是勾选了LVS Options中Shorts选项中的Run short isolation选项,否则不会出现此栏)

Comparison Result:

以上三个报告中得到的小结论:一定要勾选上LVS Options中Shorts选项中的Run short isolation选项,方便我们去debug电源地短路的问题。

(3.1.2)定位并解决Short

在Layout Shorts里去定位电源地的短路问题,右键点击报告的错误,然后选择Highlight Short

这样就会把工具找到的版图中最短的电源地短路的路径给Show出来,如下图所示,Highlight的部分存在电源地的短路。

(3.1.3)方法一

        如果对该版图比较熟悉,很容易看出,红色的部分是VDD,黄色的部分是VSS,那造成它们短路的部分就是中间连接的那条线。把它删除既可。

(3.1.4)方法二

        但是某些情况下,我们对layout可能不是很熟悉,那如何去定位呢?

在Layout Shorts里面,Short Texts里面的VDD和VSS可以点击一下,看到那是打的Label,然后Net那一列中的VDD和VSS都是工具能分辨的,而N/A则表示工具不能分辨

那么我们要想找到发生电源地发生短路的路径,也就是找到Short具体发生在哪里,我们可以给这些Net分配一些VDD和VSS,这样就让工具去知道电源地短路到底发生在哪里去定位。

如下图,我们双击一下Lab9,先去图里面看它是属于VDD还是VSS

我们看到它是连接到VSS的

那么我们就把它标为VSS

有了一个是VSS,工具就可以得到与它有关系的一些是VDD还是VSS了。

那么我们继续去定位,在仍显示为N/A的里面去找一个,如图:

然后去定位,我们发现连接到了VDD,那么我们把它标为VDD

同样的,其他的一些有关系也被标为了VDD:

同理,继续去定位:

发现是VSS

发现是VDD

最后结果如图,我们就知道是在第15和16条的lab9之间发生的Short

点击第10个N/A的,是不是就定位到了

那我们怎么去检测这个是不是就是造成Short的Net呢?删除掉此Net进行验证,这个地方最好不要直接在版图中进行删除,因为风险风险很大,我们现在工具中删除,验证然后是正确的之后,再去版图中删。

选择REMOVE

然后我们点击Verify Short

点击后开始验证,结果如下,可以看到short已经解掉了

问题已经定位到了,那我们就可以直接去版图中删除,选择delete

删掉后重新进行LVS,发现结果正确。

(3.1.5)方法三

在highlight后,另一种方法更快速的去定位

选择Assign Polygons in Layout(就是给Layout里面我们确切知道的是VDD还是VSS的地方进行标注)

点击后出现如下界面:我们先给电源分配net,就选择VDD

下图所示,标注了哪些是VDD,VSS和N/A的部分。

对其中一段一段的shape,对已知的进行标注

标注完成后选择Done

然后再去按方法二进行定位

是VSS

是VDD

最后结果如下:

定位到之后,其余的步骤同方法二一样,不再赘述。

(3.2)添加两个简单的Short

我们添加了两处Short,这里先不说是哪两处,按照步骤一步一步去定位;

Verification --Run nmLVS。LVS的设置不再赘述,直接到Run LVS的结果:

我们发现还是Short的问题

第一步,我们Highlight 这个Short

结果如图:

其实是有两段短路的,但是工具是Show最短的那个路径,还是使用(3.1.5)中的方法三

结果如图:

我们猜测短路可能在N/A的那条路径上,设置为REMOVE

然后再Verify Short

工具发现问题并没有完全解决掉,仍然还有Short

并且发现了新的Short

什么意思呢?就是说明仍然存在Short,那么我们先Clear Highlight

还是先解决刚刚那个short:

把N/A的Net给REMOVE

然后再Verify Short

发现第一个问题解决了

想一下,第一个Short里面,我们Remove了两个Net:

两条Net就是下图这条Net的左右两边:

我们可以定位到此Shrot就是这条Net引起的,delete此Net

重新Run LVS,我们预期的是还有一条Short,查看结果我们发现:确实存在另一条Short,并且之前的Short已经解决了

同理,去定位第二条Short

结果如图所示

还是同样的办法,REMOVE后进行Verify Short

结果如下图:

来看这个Via(通孔,很显然,应该是VDD的)

所以就是第二条有问题,我们去定位:

很明显的能看到是中间的有问题;

把它REMOVE掉,再去做Verify Short,结果如下:

我们去Layout中删掉此Net

然后重新跑LVS

LVS通过:

(3.3)添加一个复杂的Short

我们添加一个下图所示的Short

(12)定位并解决Short

先做LVS的操作,Run LVS,查看其结果,第一步,仍然是Highlight

然后使用(3.1.5)方法三

结果如图:

还是REMOVE掉后Verify Short

还是有Short,先Clear Highlight,然后再Highlight Short,Clear Highlight之前的Short,再Highlight现在的Short

REMOVE

Verify Short

检查无误后,对之前REMOVE的进行delete:

然后再跑LVS,结果为LVS通过

(3.4)非VDD和VSS之间的Short

造一个下图所示的Short

此时先在LVS Option--Gate Reconnition中选择Turn off

然后Run LVS,查看结果,我们发现Inst没有MatchL:Layout里面多了,Source里面少了

还有Net的错误,就非常不方便去debug,所以我们选择那些报错更少的Mode去debug

-----------------------------------------------------------------------------------------------------------------------

此处非常重要,告诉我们要学会用不同的去mode去快速精准的debug

----------------------------------------------------------------------------------------------------------------------

比如我们在LVS Option--Gate Reconnition中不选择Turn off,而是选择去识别一些简单的门(Recognize simple gates)。然后Run LVS

发现只有一个错,这样就很方便我们去debug

然后查看错误的地方:

Layout里面的Net只有VSS,而Source里面有VSS和12,我们又认为网表里面的SPICE为golden design,所以说明Layout里面已经发生短路了,也就是12和VSS的短路,Short在一起了。

然后我们找到12和VSS重叠的部分,也就是发生短路的部分,就定位到了。

在Layout里面因为没有对12打Label,所以不好找,在PR工具中能更方便的找取重叠的部分

(3.5)signal与signal之间的Short

        做LVS,查看结果,我们看到Source里面的Net是多的,Layout里面的Net是少的。就是发生了Short。

我们可以在Layout找到12和11的Net,这种问题同(3.4),要去PR工具里面去定位更方便。

  • 30
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值