首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

LVS Runset验证的另一种方法

如何验证LVS Runset的正确性呢?如果有pcell库,可以通过barde工具自动生成各种pattern来验证。如果没有pcell库呢?可以通过另外一种方法:即scoutLVS工具来验证。

LVS规则的正确性主要是检查针对该工艺的不同器件类型,规则文件可以完整正确地把版图中所有器件的网表提取出spice网表来,并且与这些器件对应的cdl网表进行LVS的比较,比较结果是否符合预期。

例如,针对一个典型的NMOS器件,Scout LVS首先需要根据sample gds自动生成指定W,L不同参数的NMOS版图,其次可以在该版图上自动对NMOS的G, D, S, B的4个Pin进行Text的任意标识。版图自动生成完毕后,Scout LVS还可以自动生成该器件对应的cdl网表文件。接着对layout和source进行LVS的自动运行和比较,最后分析结果是否符合预期。假设一套工艺中有50种不同的器件,则工具可以自动针对50种不同器件都进行上述的自动生成和自动比较分析。其基本流程如下:

在上述流程中,自动生成不同参数的版图是最核心的步骤,它的基本原理与Scout DRC的完全类似,利用了Device Rule中的keepgds的模式来定义约束条件,然后自动对参数进行变化。

以一个NMOS为例,说明具体的操作步骤。

点击”EditRules”后,工具会自动弹出如下界面:

在上述窗口中,有两个编辑按钮可供选择,一个是“LVS Device Temaplate”,它的含义是:定义各种器件的基本结构和基本约束,另外一个按钮是:“LVS Rules”,其含义是:定义LVS Tempalte后可以调用各种不同的参数得到不同的LVS器件。在首次编辑时,应当先定义LVS Template,后调用LVS Rules。

点击该界面中的”New”按钮,开始定义NMOS管的具体结构和参数,其界面如下:

在上面窗口中的Device Type选项中,共有M, LDD, R,C, D, Q 6中大的类型,分别代表MOS, LDD, Resistor, Capacitor, Diode, BJT 6中类型的器件。在本例中,选择M来定义NMOS的器件。

在DeviceName的选项中,用户可以填入该器件的名字,该名字可以任意指定,假设本例中我们填入: nmos。

在ModelName的选项中,用户可以填入该器件类型的SubType,本例中NMOS的SubType是N,我们在该选项中填入N。

上述三项填写完毕后,下一步是准备Sample Gds的layout,点击Device Name右边的“Edit”按钮,可以看到,工具会自动在当前目录下创建一个lvs_device的库目录,然后再库中自动创建一个单元名称为nmos的layoutview。

用户可以在该layout view下手工编辑一个典型的NMOS器件版图,如下:

如果用户已经在sample gds中有了NMOS的layout,可以不用手工编辑该layout,而是直接把sample gds中的NMOS单元直接copy到lvs_device库下的nmos单元即可。

注意,在LVSDevice Template中编辑的layout要求具有如下特点:

l是一个独立的器件layout,不要画多个器件的layout。

l其DRC尺寸最好为最小规则的尺寸

lContact/Via这些layer最好保留Array的形式,不要把其flatten,以免降低效率。

当nmos的layout编辑完毕后,Save该layout把其保存。然后点击LVS Device Template界面中的Update按钮,工具会自动读取该gds的信息,并把layer和pin的信息得到。

下一步是填写nmos器件的W,L等参数。则本例中,nmos的L刚好是poly图形在X方向的宽度,而nmos的W刚好是Active图形在Y方向的宽度。因此,在界面中填入如下信息:

上述填写信息中,W = 2.7, L = 0.8是根据该sample gds的实际尺寸填写的,用户也可以填写其它的数值。

MOS器件中的其它参数含义如上图所示:

SA:从有源区的一端到Gate的距离。

SB:从有源区的另一端到Gate的距离。SA, SB可以互换。

SD:多finger器件中两个Gate之间的距离。

NF:多finger器件中的finger个数,默认为1。

PF:多finger器件中finger参数的调整比例,默认为1。

AS:有源区一端的面积。

AD:有源区另一端的面积。AS, AD可以互换。

PS:有源区一端的周长。

PD:有源区另一端的周长。PS, PD可以互换。

NRD:有源区一端的电阻值。

NRS:有源区一端的电阻值。NRD, NRS可以互换。

注意:以上参数的定义中,可以W, L, SA, SB,SD是需要通过scout的条件约束来定义的,即需要指定sample gds中的图形关系。而其它参数可以通过公式来定义,例如,AS就是SA*W的公式,工具要求公式的定义不能嵌套定义,只能使用已经定义好的参数来进行公式定义,公式中调用的参数不能是公式。

此外,如果用户使用的参数名与上述默认的参数名称不一致,则可以在上图中的lvs name, spice name的2列中填写对应的名称。例如,NF参数有些工具要求写为M的名称,则在对应的地方填写为M即可。

同时,在Pin的选项中,用户可以根据sample gds的Text的信息把每个pin的text名字写上,在本例中,分别是:G, D, GND, GND。如果在sample layout中没有标识text名字,则不需要写对应的text。

在填写Pin的过程中,注意每个pin的Text名字填写完毕后,必须填写相应的Attach Layer的名字,该layer是指在LVS提取的过程中,这个Text具体通过ATTACH命令如何与连线进行连接。例如,在LVS的规则文件中,假设书写如下:

ATTACH O_TTOPME.label O_TTOPME.dwg

ATTACH O_ME1.label O_ME1.dwg

ATTACH O_PLY.label POLY.dwg

则表示Pin的TextLayer和Wiring Layer在sample gds中必须取对应的名字,如果sample gds中的layer与上述不一致,则工具不会提取正确。

当所有上述信息都填写完毕后,点击右下角的OK按钮,工具会把该器件定义的所有信息都保存好,然后点击generate test pattern,就会生成如下gds文件:

同时,工具还会自动生成该单元对应的cdl网表,如下:

.SUBCKTnmos_W8L2 / Drain Gate GND GND

Mnmos_W8L2 Drain Gate GND GND NW=8u L=2u

.ENDS

最后,点击verifyLVS的按钮,即可对上述gds和cdl的一致性进行自动检查。

以上仅说明了mos管的普通LVS检查,事实上,MOS管比较关键的检查还有: 多finger的lvs是否提取准确?tap与source并联是否提取准确? 三端mos是否提取准确等。

我们将在后续的文章中继续探讨。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190823A0789J00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券