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中会报错。
本文暂时没有评论,来添加一个吧(●'◡'●)