Chip123 科技應用創新平台

標題: BJT或是DIODE在netlist中該如何描述.. [打印本頁]

作者: sw5722    時間: 2011-7-5 02:08 PM
標題: BJT或是DIODE在netlist中該如何描述..
最近我公司的ic要從a廠轉投b廠,layer已經轉好了,由於designer在忙其他事,於是要我幫忙修改netlist,使它能對應原layout,
* p+ Z1 F" i8 A( {( T# o7 s$ ?有問題的device經過改layer與model name大都解決了,包括正常BJT(指正方型的).
% w3 _. A1 o2 ^但是有一種pnp型的bjt,它是兩端相接用來當DIODE的,使用在esd部份,卻一直無法matching,外型是正常的bjt壓扁拉寬,我試
/ [- z7 X/ I4 L/ D# n過用bjt或diode的方式描述但是都失敗了,不知道原因.以下是原本投a廠時所用的netlist.
' }; `9 [# U( kX75 14 VCC DIODE_4X25 $T=96800 -26500 1 180 $X=47300 $Y=-27000% x' C( r/ n# G. {: X2 `. c
.1 u3 w, `8 h( U/ J
.
& L) G# P2 S7 ]3 O+ Z+ a.4 v$ x; f' y; T% h7 L
.SUBCKT DIODE_4X25 1 22 Z1 A& v$ W8 p
D0 1 2 DD AREA=1.4982e-10 PJ=6.12971e-05 $X=12000 $Y=12300 $D=25
  T9 Y# {4 \; N( V) F.ends
/ E  Z  Z6 w( t8 G============================================================================9 Y3 {2 v& E6 G3 l  G3 M
這樣在a廠是可以的,但在b廠是抓不到device的,layer方面,我參考過command file跟pdk,都照它的layout了,還是說我必須朝0 |# X! e" }4 A  t
command file的修改下手,但我對command file不太熟,這個該怎麼處理.
作者: motofatfat    時間: 2011-7-6 01:21 PM
把report 放上來看看. r$ p- H" ~) o0 V
有時候是要加  
, H: [0 A# w, s2 RBJT  dummy and DIODE dummy
* j/ X3 i+ V6 r0 I* }才會認出 BJT 和 DIODE
作者: terriours    時間: 2011-7-6 05:08 PM
看看CDF参数中“diode的symbol名字”,然后试一下在netlist中diode后面加上[$"diode的symbol名字"],希望對你有幫助。
作者: sw5722    時間: 2011-7-7 10:24 AM
Layout    Source         Component Type% G  C2 P* S1 M, ]: H# f- P
                ------    ------         --------------
+ q. h% {* I, @- J- u( [8 g8 [ Ports:             11        11
) k$ z/ q; K6 y) T5 M  W/ X6 [+ v4 x
Nets:              23        23
/ m5 {- Q9 r  S$ [4 F: v+ M# C* }2 g9 \* a: s6 I4 k  B
Instances:          0         1    *    M (4 pins)5 [$ `- [- M+ \5 a
                     2         2         MN (4 pins)
4 G6 ~- D- J% i' v3 b                     1         1         MP (4 pins)/ G( d  e, T  B/ @- x; l
                     1         1         R (2 pins)
4 z6 q: Q; e& ~' Z/ Z. o. H                    49        29    *    D (2 pins)4 Q* A  c5 Q7 w" X/ P# I
                ------    ------
0 W0 g# n% q$ I! P: k, g$ B Total Inst:        53        34' _, ?( s$ _. [7 W4 B! ^3 S7 F' Q

2 t4 X$ H2 g" |# D" N. G# D0 {8 ?" J2 f  L9 Z) [) ~2 Q4 A
       * = Number of objects in layout different from number in source.- [- l" u# Q4 k+ n1 q  j" D
9 \) H9 p  l  T' p7 e1 _# z, M

1 n- B7 _0 K- v
1 \6 u/ H& G$ H( S* B4 A" k**************************************************************************************************************
8 h0 S) L( E) |4 u2 P2 O7 |                                 INCORRECT OBJECTS
: O& Y/ s( o8 T**************************************************************************************************************& F5 K# F2 [. N" r2 H, J4 A, ?, E
8 K1 |) R8 u1 M; P3 k  t
/ n* ?' ?4 H( X$ P
LEGEND:" K5 R; _$ f6 f( B
-------
( P: ?, b& A3 `- ?* O2 q0 l  A( `; v. M
  ne  = Naming Error (same layout name found in source
, D1 n$ b! U5 A5 X+ H' \        circuit, but object was matched otherwise).
# c+ X/ B0 i& v" d  m0 F- R
0 C+ a7 T( ], E# `! b
9 l$ T: ?: D/ o* L: Z; g6 Z3 x**************************************************************************************************************
8 i4 H( [3 n# l8 |0 t                                   INCORRECT NETS: j6 {; g/ O+ k2 {; H$ |- ?! v
8 L) P7 a' f) M. i
DISC#  LAYOUT NAME                                               SOURCE NAME3 ~. U1 L, M* M6 x3 y
**************************************************************************************************************2 t$ o* \: k; p, `' I
) [1 x% m: Z3 I6 t8 _* e# ]
  1    Net GND(688.800,122.000)                                  GND
# }3 T/ o! O2 w) t' W       --------------------------                                --------------------------
9 r  y3 i1 k) o) X0 w  e% f* K  k+ Z% N
       103(833.300,87.000)OS                                   ** missing connection **
( i5 J" A) O4 u( d5 m+ w/ c( o9 K       102(833.300,60.000)OS                                   ** missing connection **5 X+ Q# a- w2 |& N
       101(833.300,33.000)OS                                   ** missing connection **
% Y5 T0 Q- C( n( F1 M* E# G       100(833.300,6.000)OS                                    ** missing connection **5 v9 a7 a* F& h/ S# J
       99(787.300,87.000)OS                                    ** missing connection **; F7 U* L- ~7 M8 N
       97(787.300,33.000)OS                                    ** missing connection **) r: E0 |& l' E/ L% H, h
       96(787.300,6.000)OS                                     ** missing connection **! [" d$ \- N: A2 o  J/ R* H
       95(787.300,-21.000)OS                                   ** missing connection **
7 `, r* N# c  S$ U7 w# j       92(640.100,80.500)OS                                    ** missing connection **: C5 F' W5 o( ]' E, u
       89(492.500,80.500)OS                                    ** missing connection **2 @3 a) k# F' F1 e  j
       88(443.300,80.500)OS                                    ** missing connection **
0 o) D" R( g% C( Q7 `       86(344.900,80.500)OS                                    ** missing connection **
  `$ ?4 Y7 e% M3 ]       84(246.500,80.500)OS                                    ** missing connection **
/ O- F! ^# g% P+ {( y  H0 {       80(53.300,87.000)OS                                     ** missing connection **
6 `0 a' m0 S- [       78(53.300,33.000)OS                                     ** missing connection **% e: l# c1 o) {
       77(53.300,6.000)OS                                      ** missing connection **
8 o/ k$ U4 b. k# D; D8 d5 `# c       75(7.300,87.000)OS                                      ** missing connection **& J2 X, o8 p5 R- b
       74(7.300,60.000)OS                                      ** missing connection **
: p: F% K) `3 E4 q* B# a% k .......................................................................................................................# U* X( Y; I' j" o. q" k+ H
report其實蠻長的,大致來說,應該是從pad進來的diode出問題,dummy layer for lvs的部分,我都照b廠0 Z2 ]" ?5 P5 K1 l  T% a% m% z
提供的pdk以及command file敘述的加了,應該是沒錯., |3 s( t3 [9 W2 T+ c- j# E1 {
=======================================================
) m  }# ?% t' l2 D關於"$"的作法也有試過,如下! F* @4 F2 q, {
D0 1 2 0 AREA=1.4982e-10 PJ=6.12971e-05 $[DD]: [2 I% w( m2 T
不知道這樣寫有沒有錯,這樣寫的話,report上"D"的source就會變成0.5 h1 q, q5 Q# v+ j0 a! N3 U
=======================================================
( ?9 u5 ~* @- r另外report中的"M"是一個nmos in nwell的穩壓電容,後來是發現b廠提供的command file沒寫這部份
" S, }- N8 j1 O1 a* w也不知要不要在這問,還是找b廠要他們寫.
作者: motofatfat    時間: 2011-7-8 01:30 PM
另外report中的"M"是一個nmos in nwell的穩壓電容,後來是發現b廠提供的command file沒寫這部份
, k6 c2 @# {9 a" R5 g; Z) x  b2 G' b, ^7 [也不知要不要在這問,還是找b廠要他們寫." f7 _+ N. v8 J6 h; E8 d8 X
+ f4 r4 ]! `* W' c$ K$ ~2 `
這個 最好找 b 廠寫3 _9 O' e, X2 R5 a( {% d1 p
看來有任到 diode 了" E" m; x& K; M
但是你這個 netlist 似乎 沒有 BJT 元件
作者: terriours    時間: 2011-7-8 02:19 PM
本帖最後由 terriours 於 2011-7-8 02:22 PM 編輯 2 P  F1 \: e6 ]3 |
Layout    Source         Component Type
3 E( t1 N0 A. k% P! f$ S                ------    ------         --------------4 K3 k& Y/ y) }: b! I2 X0 x
Por ...% k& h1 t+ P6 b" Q
sw5722 發表於 2011-7-7 10:24
" q/ ^. q! S+ Z. y
9 _- a, y( Y: G+ I
你加的那個 $[DD]其中DD是diode正確的參數名字嗎?有沒有看CDF啊?呵呵
% V$ N# ]6 B# R, i! C; _還有從calibre的report上看,source中地的節點不夠啊,给一个netlist和lvs rule中描写你所用的这个D的相关语句吧。
* \1 ~' g( J5 ^一起研究一下,应该不是什么大问题。
作者: sw5722    時間: 2011-7-11 02:20 PM
D[DD]          1.8V diode P+/NW              (DIODE*TO*SP*TB-HV)
; l) p" G( Q8 C  H============================================
" @: x+ S: {, @1 x3 x- {& H上面是b廠command file裡寫的,須要覆蓋的layer.因為a廠是直接把它當diode,所以對應到b廠,就是[DD].3 L$ E# a5 n* s( P
============================================! V" m% o6 P) ?& t8 {: z/ h8 c' I
DEV D(DD) dpnw18 psd(POS) nwelcon(NEG)) ~% \+ w! R. e' y
NETLIST MODEL "dpplnw"$ y& f; o" k, B( F$ S4 m
    [PROPERTY A,pj0 ^# J% V8 q/ `$ ?) N
    A=AREA(dpnw18)4 m# f6 B/ j. \* N
    pj=PERIMETER(dpnw18)
( W3 ~" y; ?/ W- z* c+ Y3 z4 V============================================7 V4 C9 f" S9 @1 V. n
上面是command file對dd的描述,如果用bjt去認的話,好像中心那塊面積是要正方型如2umx2um,才能% Z2 b9 b. M8 x9 C5 [% g" T7 u
認出.
作者: terriours    時間: 2011-7-11 05:09 PM
sw5722,你好。
( u1 u: }" t7 o! |我想你的這個問題是純粹的symbol和command file 的問題,我想了兩個方法:) x4 i* c( P  h6 q1 D, a0 r# W
1、將netlist中的D器件名換乘dpplnw;
- H$ i  E/ I4 J- ^3 {, g' R( V! C5 v2、如果1不行,就在layout中用text層在D器件上標注上dpplnw字樣,如果還不行就應該問問fab里的相關人員。
; Q0 M' }; W& m+ w  g0 ]. D+ [. d希望能幫到你。
作者: sw5722    時間: 2011-7-12 02:49 PM
D0 1 2 dpplnw AREA=1.4982e-10 PJ=6.12971e-05 $X=12000 $Y=12300 $D=25) g+ e5 e( h6 R0 S% g
=======================================================
/ b0 m; |" v, J3 O# ^之前有將netlist改成以上模式,但report就會變成以下2 M4 m# P+ e+ c; i
32    66(793.800,66.800)  D(DD)                                 83/0/D0  D(dpplnw)( |& J  ]- j- s9 V7 v
         bad component subtype: U& s( W- }/ p) ~
=======================================================  h0 n* B: }9 x) Q9 o; o3 x
真的把它改成DD,也是不對,( `' l  M0 i" X- D2 ]2 t
"就在layout中用text層在D器件上標注上dpplnw字樣",這個是不是將dpplnw當一個port阿,不太了解
作者: terriours    時間: 2011-7-13 11:20 AM
按照你這次的LVS結果來看,已經快接近正確的結果了。因為現在只是報出了subtype不對,因為版圖上認出的期間是DD,netlist對了。所以下麵要做的事情是看看design rule中dpplnw的layer機構和cross section,看看需不需要ID層。然後還是改netlist,並且在相應的layout中標上dpplnw,然後再進行LVS,這樣如果不對就是要和FAB聯繫,修改下command file的問題,或者你自己也可以嘗試修改一下,問題應該就可以解決了。
! O! B  C5 {* V  N/ w3 q8 h2 q! n  W; Q! L9 J2 {7 S$ T* B
還有就是標dpplnw是為了配合device的ID層,讓command file 可以認到這個device,不是將dpplnw當成一個port,一個器件怎麼能當成port,呵呵。
! Q. `* t" N1 Q0 A) ]4 F/ c: F
! L4 ?4 z$ G7 ^# W1 ?- X祝你成功。(我想這次應該可以了,~0~)
作者: sw5722    時間: 2011-7-18 01:50 PM
ID層的意思是否為dummy layer,基本上需要用的layer都已經從PDK,也就是它
$ L4 b& K) t' }$ w的layout範例上知道了,command file也有註解,我上面寫的那個就是.6 b8 [( O; u- c! d
D[DD]          1.8V diode P+/NW              (DIODE*TO*SP*TB-HV)7 e' `' C1 ^2 B$ S
DIODE可能就是你說的ID層吧.
作者: terriours    時間: 2011-7-19 09:16 AM
這個我不能確定,因為這個要看design manual,那個裏面會有說明.
7 w# y0 e8 X1 |  @! \1 a" ?順便問一下,現在你的LVS結果到什麽程度了啊?
作者: sw5722    時間: 2011-7-20 04:55 PM
DIODE是給command file辨識的層,TO是diffusion,TB是nwell,SP是pimp,HV就是! R) b  t5 }+ a' ?" P, _& i
高壓用的層,在這邊是沒用到.
" m0 @7 }2 D0 Jlvs 結果還是一樣,已經沒招了,應該command file是有問題的,還好這個tape out日期) C# m6 [; K& j0 Z* l
較久,不然會被搞瘋.




歡迎光臨 Chip123 科技應用創新平台 (http://chip123.com/) Powered by Discuz! X3.2