標題: 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
較久,不然會被搞瘋.