用calibre进行LVS,步骤是怎样的

用calibre进行LVS,步骤是怎样的,第1张

Calibre环境做LVS步骤(后面附注意事项,供参考) 1、LVS数据准备 在Astro中完成芯片后提取.fv文件及.gds文件,这两个文件是做LVS必备的。.v文件用来生成在LVS过程中用来和Layout进行比对的.spi文件,而.gds文件用来读入calibre得到Layout。 2、将.gds文件读入calibre 具体步骤省略。 3、生成.spi文件 .spi文件是由.v和一些.cdl、.spi文件一同生成的。 生成.spi文件有一个脚本,以SMIC18 工艺xxx目录为例: v2lvs \ -lsp xxx/smic18.cdl \ -lsp xxx/POR.cdl \ -lsp xxx/RAM256X8.cdl \ -lsp xxx/SP018W.sp \ -s xxx/smic18.cdl \ -s xxx/POR.cdl \ -s xxx/RAM256X8.cdl \ -s xxx/SP018W.sp \ -s0 VSS \ -s1 VDD \ -v $topCell.v \ -o $topCell.spi 格式是固定的,-lsp后面列出你所要做LVS的芯片用到的IP的.spi(.sp)文件,rom、ram、stdcell是.cdl文件。-s后面再把-lsp列出的文件重复一遍。-s0和-s1不变,-v后面写你要进行转换的.fv文件,-o后面写你要输出的.spi文件。 文件写好后,在文件所在目录直接键入文件名,文件即开始自动执行。执行后若无warning和error即可。 icc中提取出来的.v文件需要有phsical only的器件,但是不需要corner和filler pad,pcut和power IO必须加进去。还有一些格式要求,需要使用如下选项: wirte_verilog –diode_ports –split_bus –no_pad_filler –no_corner_filler_cells -pg这些信息加好后,再进行上面转换.spi文件的步骤。 4、完善layout和.spi文件 在smic工艺下: (1)、layout完善 此时要先检查pad上面的text是否打好。之后要把FP打上。关于FP,以下是从smic的IO文档中找到的解释: FP stands for ‘From Power Pad’ and FP pin is for global signal. Under normal condition, FP is activated by PVDD2W of Standard I/O library SP018W to ‘HIGH’ (3.3V). FP rail will be automatically connected while joining with other digital I/O cells. 打TEXT的时候要打FP,但是注意:只有digital pad有FP。 (2)、.spi完善 var script = document.createElement('script')script.src = 'http://static.pay.baidu.com/resource/baichuan/ns.js'document.body.appendChild(script) 在.spi文件中要加入pcut的连接关系,即VSS1=…,VSS2=…。VSS1和VSS2是pcut的port名字,…处你要写他们和什么相连。 另外,一些打了字的pad也要写清楚它的连接关系,如VSSD=VSSD_pad,等号前面是pad出的port,等号后面写pad上打的text。 另外,在.spi文件中的出现的变量名,要写在.GLOBAL后面,否则LVS的时候会报错。如果有连接关系要注明,则在.spi文件后面写*.CONNECT后面写明两个要连接的名字就可以了。 5、进行LVS 所有准备工作都做完了,开始LVS。 启动calibre,选nmLVS,出现LVS界面。选左边一栏的Rules,在Calibre Rules File中填入LVS的rule。一般我们在做LVS的时候,会先把rom,ram,analog等IP部分box起来不查,先让其他部分的LVS通过了,再查整体的LVS。因此这个rule可以自己加一些box,格式是LVS BOX instance name。 在左边一栏中选Inputs,Layout一栏不动,选Netlist,在Files处填入你修改好了的.spi文件。之后在上面一条菜单中选Setup>LVS Options,选Connect中的Connect nets with colon (:)。选好后,点左侧的Run LVS,则LVS过程就开始了。 运行完后,如果没有问题,则你会看到绿色的笑脸,如果有问题,则要进行分析,修改.spi或者layout来通过LVS。 补充资料: Useful Abbreviations SVRF——Standard Verification Rule Format Mentor Rule RVE——Results Viewing Environment 显示环境 SVDB——Standard Verification Rule Database (LVS results) 在LVS rule中写上这句话,LVS会产生一个SVDB的文件夹存放一些中间结果文件。 ERC——Electrical Rule Verification PEX——Parasitic Ectraction MDP——Mask Data Preparation 是foundary做的mask的ORC检查。(ORC:optical rules checking 光学规则校验) TVF——Tcl Verification Format 65nm以下的rule file格式,SVRF很难cover所有的corner所以有TVF Connect nets with colon (:) 虚拟连接,例如A:1和A:2将被认为是一条net 有时候smic18工艺中,ram,rom的LVS netlist文件.cdl是由dataprepare生成的,但是要把文件中N,P后面加上18变成N18和P18(必须保证stdcell和其rule的命名相匹配才可以)还有要把文件中DN改为NDIO18。 在.v转换成.spi文件的过程中,会在instance前面加X。当有IP Merge时,一些IP的PIN、PORT都要当作BOX注释掉,否则在LVS中会报错。

PRECISION  1000 //预设精度为1000

RESOLUTION 10 // layout grid size 0.01um(10/1000),如果没有设这行,预设值是database unit

LVS COMPARE CASE                 YES //设定是否开启大小写的比较,只有当设为YES时,SOURCE CASE &LAYOUT CASE才起作用

LAYOUT CASE YES //是否区分layout netlist(device &pin name) 大小写

LAYOUT PATH “CELLNAME.gds” //layout database路径

LAYOUT PRIMARY “CELLNAME” //layout database top cell

LAYOUT SYSTEM GDSII //layout database的数据类型gds

SOURCE CASE YES //是否区分source netlist (device &pin name)大小写

SOURCE PATH “CELLNAME.spice” //netlist database路径

SOURCE PRIMARY “CELLNAME” //netlist database top cell

SOURCE SYSTEM SPICE //netlist database的数据类型spice

UNIT LENGTH u //定义尺寸,距离的单位u=1e-6m,预设值为u(u、mil、mm、cm、inch、m)

UNIT CAPACITANCE fF  //定义电容的单位f=1e-15F,预设值为fF(aF、fF、pF、nF、uF、mF、F、kF、megF、gF、tF)

UNIT RESISTANCE OHM //定义电阻的单位,预设值为Ohm(ohm、aohm、fohm、pohm、nohm、uohm、mohm、kohm、megohm、gohm、tohm)

ERC RESULTS DATABASE “erc.db” ASCII //记录结果的资料以ASCII码存储

LVS REPORT “lvs.rep” //lvs report的文档名称

MASK SVDB DIRECTORY “svdb” QUERY XRC //lvs report格式,如此才能使用RVE看lvs report; XRC----》for rc extraction

LVS POWER NAME                        "VDD" "SAVDD?" "?VDD?" "?VCC?" "?vcc?" "?vdd?"//定义layout power name

LVS GROUND NAME                        "VSS" "SAVSS?" "?gnd?" "?GND?" "?VSS?" "?vss?"//定义layout ground name

LVS SPICE PREFER PINS               NO//决定subcircuit的pin name是否凌驾于global

LVS REPORT MAXIMUM         ALL//show所有的lvs error report

LVS SIGNATURE MAXIMUM     ALL //当layout结构相似,扩展比较net的节点数,去看相邻的元件大小来决定某个元件位于source的何处

LVS CHECK PORT NAMES                  YES//LVS是否要检查port name

LVS IGNORE PORTS                      NO//做LVS时是否要忽略掉layout跟source的pin name

// Reduction

LVS REDUCE PARALLEL BIPOLAR            YES//把所有并联的bipolar加在一起

LVS REDUCE PARALLEL MOS                YES//把所有并联的mos加在一起

LVS REDUCE PARALLEL DIODES            YES//把所有并联的diodes加在一起

LVS REDUCE PARALLEL CAPACITORS        YES//把所有并联的电容加在一起

LVS REDUCE PARALLEL RESISTORS          YES//把所有并联的电阻加在一起

LVS REDUCE SERIES RESISTORS            YES//把所有串联的电阻加在一起

LVS REDUCE SERIES CAPACITORS          YES//把所有串联的电容加在一起

LVS REDUCE SERIES MOS              YES //把所有串联的mos加在一起

LVS REDUCE SEMI SERIES MOS            NO //把所有多个串联的mos加在一起

LVS REDUCE SPLIT GATES                YES//决定是否允许gate分开

LVS RECOGNIZE GATES                    ALL//决定是否要从结构上辨认出逻辑gate(如逻辑结构中输入端口ABC等是否可以互换)

-ALL specifies that all gates are recognized  全部分辨

-SIMPLE specifies that simple gates are recognized分辨简单的逻辑定义

NONE specifies that no gates are recognized不分辨任何的逻辑闸(类比电路使用)

LVS ABORT ON SUPPLY ERROR    NO//在做LVS检查途中发现有short情况是否立刻停止后续检查报错short信息(lvs.report.short)

LVS ALL CAPACITOR PINS SWAPPABLE      YES//电容的两个pin脚是否可以互换

LVS CHECK PORT NAMES   YES//决定LVS check是是否比较layout与source的port name是否相同

VIRTUAL CONNECT COLON    NO// 决定多条net是否允许用冒号链接(常用来链接电源地)

VIRTUAL CONNECT NAME  PIN_NAME  //当冒号链接YES后,有两个以上同名的PIN_NAME时会被认为接在一起

LVS BOX LAYOUT     CELL_NAME

LVS BOX SOURCE     CELL_NAME     //"黑盒子"

//当两个人以上合作项目时,在TOP CELL需要mapping另一个还未完成的CELL时,可让command file设定为这个CELL已经OK,忽略这个CELL的错误

LAYOUT DEPTH   {ALL | PRIMARY}

-ALL  可识别到底层到顶层的所有shapes

-PRIMARY 只识别top层的shapes

PORT DEPTH  {ALL | PRIMARY | number}  (仅用与calibre  LVS/LVS-H)

-PRIMARY  只识别top层CELL的ports

-ALL  识别所有层CELL的ports

-number 可识别所设定的层到top层的所有ports,若number设为0时,即top层

TEXT DEPTH  {ALL | PRIMARY | number}

-PRIMARY  只识别top层CELL的texts

-ALL  识别所有层CELL的texts

-number 可识别所设定的层到top层的所有texts,若number设为0时,即top层

LVS ABORT ON SOFTCHK {NO |YES”}  //tool在发现任何错误(LVS  SOFTCHK &SCONNECT)时是否继续执行完毕

// LVS REPORT OPTION

LVS REPORT UNITS                      YES

LVS REPORT OPTION  {V|S|A|AV|B|C|D|F|G|P|RRA}

-V   虚拟链接“:” 提示报错

-S    由SCONNECT引起的short (如N ACTIVE  直接放在NWELL中为加NPLUSS一样的链接关系错误)

-A  确认是否在detail instance connection中详细的report出connection的详细错误(除了short和open)包括两个部分,incorrect devices ON this net和correct devices on this net

-AV   和A的report基本相同,只有在power gnd错误的时候不显示correct devics on this net

-B  确认是否在detail instance connection中详细的report出short和open的错误

-C  -D  分别确认missing net 、not similar net、missing instance 、missing gate的详细信息的report在detail instance connection中显示

(BCD在rule file中不定义就默认的详细的形式)

-F  主要用来确认是否显示unbalanced smashed MOSFET summary warning (如W=10,M=1可layout为W=5,M=2);同时respective warnings会显示在information and warning section 默认是显示,不加F

-G 主要用来确认是否显示detail instance connection in property error discrepancies,默认是不显示详细的信息。

-P 主要是确认是否在report中显示warning“direct connections between different ports”

-RRA  主要用来确认是否在overall comparison result is CORRECT的时候显示ambiguity resolution points的错误,当INCORRECT的时候option无效,将显示ambiguity resolution points,同时在information and warning中也有同样的信息。

LVS SOFT SUBSTRATE PINS                {NO|YES} //决定substrate and bulk pins是否在电路中视为有用

LVS FILTER UNUSED OPTION   {B|D|E|O|AB|RC|RE|RG

-B  gate是floating,或者没有路径连接到任何PAD,而且mos的source或者drain有一端是floating的

-D  gate是floating,或者没有路径连接到任何PAD,而且mos的source或者drain有一端是连接到power,另外一端连接到信号线

-E  gate是floating,或者没有路径连接到任何PAD,而且mos的source或者drain有一端是连接到ground,另外一端连接到信号线

-O 重复过滤没有用到的符合参数的电容、电阻、DIODE,以及gate端没有连接的mos

-AB  过滤掉gate、source、drain都连接在一起的mos

-RC 过滤掉两端连接在一起的电阻

-RE  过滤掉两端连接在一起的电容

-RF  过滤掉两端floating的diode

-RG  过滤掉两端连接在一起的diode

LVS FILTER UNUSED BIPOLAR  {YES|NO}  //是否过滤掉没用的bipolar

LVS GLOBALS ARE PORTS  {NO|YES} //是否将netlist所定义的“.GLOBAL   POWERNAME”视为PORT

TEXT  PRINT MAXIMUM   {ALL | number}

-ALL 将top cell中所有的text对象和port写入到report中

-number 将top cell中的number个text对象和port写入到report中

LVS PROPERTY RESOLUTION MAXIMUM        {ALL|number}

-ALL  LVS不限制不确定元件个数

-number   如果电路中包含的不确定元件个数大于number值,LVS将自动任意匹配它们

LVS SOFTCHK PWELL_ALL CONTACT //检查pwell是否都连接在一起

// Trace Property

TRACE PROPERTY  device_type(device_name)C1 C2 C3

eg:TRACE PROPERTY  mn(n18)  w w 5

LVS BUILTIN DEVICE PIN SWAP            YES

LVS DISCARD PINS BY DEVICE             NO

LVS INJECT LOGIC                       NO

LVS EXPAND UNBALANCED CELLS            YES

LVS EXPAND SEED PROMOTIONS             NO

LVS PRESERVE PARAMETERIZED CELLS       NO

LVS GLOBALS ARE PORTS                  YES

LVS REVERSE WL                         NO

LVS SPICE SLASH IS SPACE               YES

LVS SPICE ALLOW FLOATING PINS          YES

LVS SPICE ALLOW UNQUOTED STRINGS       NO

LVS SPICE CONDITIONAL LDD              NO

LVS SPICE CULL PRIMITIVE SUBCIRCUITS   NO

LVS SPICE IMPLIED MOS AREA             NO

// LVS SPICE MULTIPLIER NAME

LVS SPICE OVERRIDE GLOBALS             NO

LVS SPICE REDEFINE PARAM               NO

LVS SPICE REPLICATE DEVICES            NO

LVS SPICE STRICT WL                    NO

// LVS SPICE OPTION

LVS STRICT SUBTYPES                    NO

LVS DOWNCASE DEVICE                    NO


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/8942442.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-23
下一篇 2023-04-23

发表评论

登录后才能评论

评论列表(0条)

保存