微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC后端设计交流 > Calibre lvs一堆问题,求助!

Calibre lvs一堆问题,求助!

时间:10-02 整理:3721RD 点击:
ICC生成的版图导入到virtuoso中用calibre做lvs,出现了很多问题,不太明白,请教一下大家Error:Different numbers of ports (see below).
Error:Instances of different types or subtypes were matched.

--------------------------------------------------------------------------------------------------------------
INITIAL NUMBERS OF OBJECTS
--------------------------
LayoutSourceComponent Type
--------------------------
Ports:858516*
Nets:3238632387*
Instances:3206831896*MN (4 pins)
3211231890*MP (4 pins)
------------
Total Inst:6418063786

NUMBERS OF OBJECTS AFTER TRANSFORMATION
---------------------------------------
LayoutSourceComponent Type
--------------------------
Ports:858515*
Nets:1295212952
Instances:351351MN (4 pins)
21922192MP (4 pins)
77AOI_3_1 (5 pins)
595595OAI_3_1 (5 pins)
11SDW3 (4 pins)
21572157SPDW_2_1 (4 pins)
…………………………………………
多出了很多port,但感觉这些port都是在net上的
**************************************************************************************************************
INCORRECT OBJECTS
**************************************************************************************************************

LEGEND:
-------
ne= Naming Error (same layout name found in source
circuit, but object was matched otherwise).

**************************************************************************************************************
INCORRECT PORTS
DISC#LAYOUT NAMESOURCE NAME
**************************************************************************************************************
1N9016 on net: N9016** missing port **
2N10858 on net: N10858** missing port **
3N13984 on net: N13984** missing port **
4N9725 on net: N9725** missing port **
5N8464 on net: N8464** missing port **
6N10490 on net: N10490** missing port **
7N799 on net: N799** missing port **
8N7370 on net: N7370** missing port **
9N7335 on net: N7335** missing port **
10N804 on net: N804** missing port **
11I2_THETATEMP1[5] on net: I2_THETATEMP1[5]** missing port **
12N770 on net: N770** missing port **
13N796 on net: N796** missing port **
14N10890 on net: N10890** missing port **
15I2_THETATEMP1[6] on net: I2_THETATEMP1[6]** missing port **
16N9320 on net: N9320** missing port **
17I2_THETATEMP1[7] on net: I2_THETATEMP1[7]** missing port **
18N802 on net: N802** missing port **
19N765 on net: N765** missing port **
20N12452 on net: N12452** missing port **
21N558 on net: N558** missing port **
22N775 on net: N775** missing port **
23N10865 on net: N10865** missing port **
24I2_THETATEMP1[8] on net: I2_THETATEMP1[8]** missing port **
25N1072 on net: N1072** missing port **
26N1075 on net: N1075** missing port **
27N739 on net: N739** missing port **
28N8437 on net: N8437** missing port **
29N1071 on net: N1071** missing port **
30N746 on net: N746** missing port **
31N13156 on net: N13156** missing port **
32N11674 on net: N11674** missing port **
33N778 on net: N778** missing port **
34N1073 on net: N1073** missing port **
35N10918 on net: N10918** missing port **
36N13192 on net: N13192** missing port **
37N1074 on net: N1074** missing port **
38CLK_G1B4I6 on net: CLK_G1B4I6** missing port **
39N762 on net: N762** missing port **
40N448 on net: N448** missing port **
41N13173 on net: N13173** missing port **
42N13938 on net: N13938** missing port **
43N1085 on net: N1085** missing port **
44N13973 on net: N13973** missing port **
45N14003 on net: N14003** missing port **
……………………………………
还有一些不对应的instances
**************************************************************************************************************
INCORRECT INSTANCES
DISC#LAYOUT NAMESOURCE NAME
**************************************************************************************************************
501X1/X463/M2(201.460,279.895)MN(N18)XU7338/M5MN(N)
bad component subtype
--------------------------------------------------------------------------------------------------------------
502X1/X464/M2(210.860,282.185)MN(N18)XU7284/M5MN(N)
bad component subtype
--------------------------------------------------------------------------------------------------------------
503X1/X465/M2(219.440,269.815)MN(N18)XU7265/M5MN(N)
bad component subtype
--------------------------------------------------------------------------------------------------------------
504X1/X466/M2(219.440,272.105)MN(N18)XU7126/M5MN(N)
bad component subtype
--------------------------------------------------------------------------------------------------------------
505X1/X467/M2(220.600,279.895)MN(N18)XU7171/M5MN(N)
bad component subtype
--------------------------------------------------------------------------------------------------------------
506X1/X468/M2(226.040,262.025)MN(N18)XU7243/M5MN(N)
bad component subtype
--------------------------------------------------------------------------------------------------------------
507X1/X469/M2(228.020,279.895)MN(N18)XU7352/M5MN(N)
bad component subtype
--------------------------------------------------------------------------------------------------------------
508X1/X470/M2(530.300,259.735)MN(N18)XU13499/M5MN(N)
bad component subtype

自己摸索根本看不懂 请大神指教啊
另附上gds导出的outmap文件
;Avant!i!Layer GDS2Layer[:GDS2DataType]
A14 14 ; N-WellConverts Avant! layer 14 to GDS layer 14
A10 10 ; DiffusionConverts Avant! layer 10 to GDS layer 10
A30 30 ; PolyConverts Avant! layer 30 to GDS layer 30
A43 43 ; P+ ImplantConverts Avant! layer 43 to GDS layer 43
A40 40 ; N+ ImplantConverts Avant! layer 40 to GDS layer 40
A50 50 ; ContactConverts Avant! layer 50 to GDS layer 50
A61 61 ; Metal1Converts Avant! layer 61 to GDS layer 61
T 141 141 ; Metal1 text Converts Avant! layer 141 to GDS layer 141
A70 70 ; Mvia1Converts Avant! layer 70 to GDS layer 70
A62 62 ; Metal2Converts Avant! layer 62 to GDS layer 62
T 142 142 ; Metal2 text Converts Avant! layer 142 to GDS layer 142
A71 71 ; Mvia2Converts Avant! layer 71 to GDS layer 71
A63 63 ; Metal3Converts Avant! layer 63 to GDS layer 63
T 143 143 ; Metal3 text Converts Avant! layer 143 to GDS layer 143
A72 72 ; Mvia3Converts Avant! layer 72 to GDS layer 72
A64 64 ; Metal4Converts Avant! layer 64 to GDS layer 64
T 144 144 ; Metal4 text Converts Avant! layer 144 to GDS layer 144
A73 73 ; Mvia4Converts Avant! layer 73 to GDS layer 73
A65 65 ; Metal5Converts Avant! layer 65 to GDS layer 65
T 145 145 ; Metal5 text Converts Avant! layer 145 to GDS layer 145
A74 74 ; Mvia5Converts Avant! layer 74 to GDS layer 74
A66 66 ; Metal6Converts Avant! layer 66 to GDS layer 66
T 146 146 ; Metal6 text Converts Avant! layer 146 to GDS layer 146
A80 80 ; PADConverts Avant! layer 80 to GDS layer 80
A127 127 ; prBoundaryConverts Avant! layer 127 to GDS layer127
A 138 138 ; diodeConverts Avant! layer 138 to GDS layer 138

首先查看你的版图为啥子有这么多的pin 啊?网表总共才16个pin,是不是一些底层的pin也标上了,或者整个版图打散了?其次,管子类型对不上号,你的版图里面的管子类型是N18,但是网表里面却是N,如果是同一种管子可以改名字。

1,这么多PIN 啊!没认顶层吧。
2,看报表,应该只是数字版图吧。
3,估计pin搞好了,LVS也没问题了。

先把器件类型对上吧

器件类型的原因好像是标准元件的.cdl网表中器件类型的声明跟calibre.lvs文件中提取规则不一样,.cdl声明的为N,P,而提取规则为N18,P18,我改了一下.cdl文件就没问题了现在就是很多pin脚的问题,不知道版图打散是什么意思。gds是icc导出的,会是这里的问题吗?

是只有数字版图,“认顶层”是指什么啊?是不是stream in的时候设置top level cell吗,这个好像设置了

这么多net 被lvs识别为port, 是不是encounter stream out GDS的map file有错? 把net label 输出到port的层了

查看了那些net的label,确实都在dg层,我把outmap文件贴到下边了,您看看有问题吗
;Avant!i!Layer GDS2Layer[:GDS2DataType]
A14 14 ; N-WellConverts Avant! layer 14 to GDS layer 14
A10 10 ; DiffusionConverts Avant! layer 10 to GDS layer 10
A30 30 ; PolyConverts Avant! layer 30 to GDS layer 30
A43 43 ; P+ ImplantConverts Avant! layer 43 to GDS layer 43
A40 40 ; N+ ImplantConverts Avant! layer 40 to GDS layer 40
A50 50 ; ContactConverts Avant! layer 50 to GDS layer 50
A61 61 ; Metal1Converts Avant! layer 61 to GDS layer 61
T 141 141 ; Metal1 text Converts Avant! layer 141 to GDS layer 141
A70 70 ; Mvia1Converts Avant! layer 70 to GDS layer 70
A62 62 ; Metal2Converts Avant! layer 62 to GDS layer 62
T 142 142 ; Metal2 text Converts Avant! layer 142 to GDS layer 142
A71 71 ; Mvia2Converts Avant! layer 71 to GDS layer 71
A63 63 ; Metal3Converts Avant! layer 63 to GDS layer 63
T 143 143 ; Metal3 text Converts Avant! layer 143 to GDS layer 143
A72 72 ; Mvia3Converts Avant! layer 72 to GDS layer 72
A64 64 ; Metal4Converts Avant! layer 64 to GDS layer 64
T 144 144 ; Metal4 text Converts Avant! layer 144 to GDS layer 144
A73 73 ; Mvia4Converts Avant! layer 73 to GDS layer 73
A65 65 ; Metal5Converts Avant! layer 65 to GDS layer 65
T 145 145 ; Metal5 text Converts Avant! layer 145 to GDS layer 145
A74 74 ; Mvia5Converts Avant! layer 74 to GDS layer 74
A66 66 ; Metal6Converts Avant! layer 66 to GDS layer 66
T 146 146 ; Metal6 text Converts Avant! layer 146 to GDS layer 146
A80 80 ; PADConverts Avant! layer 80 to GDS layer 80
A127 127 ; prBoundaryConverts Avant! layer 127 to GDS layer127
A 138 138 ; diodeConverts Avant! layer 138 to GDS layer 138
下面是cadence .tf文件里的一些内容,感觉有点对应不上啊
techLayers(
;( LayerNameLayer#Abbreviation )
;( --------------------------- )
;User-Defined Layers:
( L00L0)
( AA10AA)
( NPAA12NPAA)
( PPAA13PPAA)
( NW14NW)
( TP15TP)
( DNW19DNW)
( PW20PW)
( BNP23BNP)
( TN24TN)
( DG29DG)
( GT30GT)
( P231P2)
( NLL35NLL)
( NLH36NLH)
( PLH37PLH)
( PLL38PLL)
( HRP39HRP)
( SN40SN)
( ESD141ESD1)
( ESD242ESD2)
( SP43SP)
( MVP44MVP)
( MVN45MVN)
( SAB48SAB)
( CT50CT)
( MIM58MIM)
( M161M1)
( M262M2)
( M363M3)
( M464M4)
( M565M5)
( M666M6)
( M767M7)
( M868M8)
( V170V1)
( V271V2)
( V372V3)
( V473V4)
( V574V5)
( V675V6)
( V776V7)
( PA80PA)
( ALPA83ALPA)
( SUBTXT84SUBTXT)
( NAN85NAN)
( WELTXT86WELTXT)
( TTXT87TTXT)
( BTXT88BTXT)
( L8989L89)
( HRPDMY92HRPDMY)
( MIMDMY93MIMDMY)
( INDMY94INDMY)
( Res_NW95Res_NW)
( Res_P196Res_P1)
( Res_AA97Res_AA)
( SUBD98SUBD)
( M6B99M6B)
( OPCBA100OPCBA)
( OPCBP101OPCBP)
( OPCBM102OPCBM)
( M5B103M5B)
( M4B104M4B)
( PWH105PWH)
( NWH106NWH)
( DIFTXT107DIFTXT)
( POLYTXT108POLYTXT)
( M3B109M3B)
( HTNWL110htnwl)
( EXCLU111exclu)
( ESDIO112ESDIO)
( DMPNP113DMPNP)
( PDC114PDC)
( PWL115PWL)
( CAPBP116CAPBP)
( DSTR117DSTR)
( DCTY118DCTY)
( M1TXT119M1TXT)
( M2TXT120M2TXT)
( M3TXT121M3TXT)
( M4TXT122M4TXT)
( M5TXT123M5TXT)
( M6TXT124M6TXT)
( M1B125M1B)
( M2B126M2B)
( BORDER127BORDER)

map文件时哪来的?怎么和tf对应不上呢?自己改一改map文件。让层号都对应上。

感觉是map映射的问题,确定streamout和streamin的时候映射没出错?
不单要关注streamout的map,streamin的map你也再看看

在顶层 显示 并可选 所有的label pin等层,其它层不可选。然后ctrl+a 选中所有可以选中的层,反选你需要的PORT。然后delete 。good luck ~

应该是将内部的线当成pin了。两种办法:1修改streamout.map文件,2你只有15个pin,那么就自己重新在另一个virtuoso中调用你的数字版图,那么再在pin上标注16个需要引出的pin

1)在virtuoso里面给pin加label
2)P/N直接设置成与P/N18相等

谢谢以上各位的的解答,我用的是网上下的smic18的库,感觉有些问题。首先库里的smic18.cdl里p n mos管和版图提取的p18和n18名称有些出入,改一下就可以了;另一个就是版图只有pg层,没有pin层,不知道为什么,导致很多net上的label被当成了port,所以我ICC 输出gds的时候只输出了pin的label,没输出net的label,然后再cadence里面加上电源地的label就可以了。现在lvs也过了,谢谢各位的耐心解答!

学习下。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top