Chip123 科技應用創新平台

標題: Hspice如何模擬fully differential OPA [打印本頁]

作者: sereniva    時間: 2009-8-27 04:21 PM
標題: Hspice如何模擬fully differential OPA
請問雙端輸入、雙端輸出的OP Amp該怎麼模擬呢?
* u2 l4 y# H3 _, p7 W% O找了書來看,上面都只有單端的例子 = =2 A: A2 |) `5 U6 a+ J, {  D( v; C! H
現在跑fully differential感覺問題非常多 @@  s$ u9 ?" t1 V, f3 s+ S
* }1 G9 N* X$ h) M! K  \; d
我是跑folded cascode(輸入端為PMOS)  netlist po在下一樓' C0 X- b; `! e+ @0 Z7 {
2 s' d7 S- K" S) c; }. \6 c2 S  |
1.
0 F/ j7 G5 P' D% a" n首先,問題在於差動輸入端的描述, X: g: j# C8 ~4 V: z0 w  P, p
我是考慮VCM相同,然後再灌入差動小訊號
' n* M; G0 t9 l% T7 e
0 i$ q0 K; C; P# }* G6 L) _! O4 q*輸入端的描述0 m6 Q; `( {! r1 ?9 v7 U
vd 9 0 dc 0 ac 14 A& Y# T8 o2 b! R
evd1 in1 8 9 0 0.5
$ n$ ]) A: a9 b7 V* Devd2 in2 8 9 0 -0.5
/ Q( R) Y8 K4 N( jvcm 8 0 dc 0! L& o8 g' ~6 R) ?

1 T. F3 S# ?3 V& u
2 F/ ?5 U# K) t* Y, |/ E- w! d這樣寫的話就是dc偏壓為0v,in1端 交流 0.5v,in2端 交流 -0.5v
" G5 d2 {! h+ P: @* ~不知道這樣來描述差動對的輸入端是否是正確的?
1 }* D. L$ [( m5 l9 \. u. h4 {$ r0 d' b" q* u" W' t, O( V

" K& R5 \1 W0 z1 s7 Z8 e% r2 b; q2 N; Z* \/ m5 q* U9 _$ i

8 m9 Q1 O  _6 F( z6 H' r, \2.求雙端輸出的gain$ e3 v+ k5 T! @  |! a0 p' a

% v1 b/ p" D6 Q- a2 E*讀取輸出端的描述
: a* Z  x% F0 t% W# e% M% c9 ?.print ac v(out1) v(out2) v(out1,out2)* ?5 D4 f6 Y& X& m% i" |+ p# w
.probe ac v(out1) v(out2) v(out1,out2)0 `0 H, L( G! X! z; D
.print ac vdb(out1) vdb(out2) vdb(out1,out2)
. `" j* Q) ]' g1 ^8 ]+ P.probe ac vdb(out1) vdb(out2) vdb(out1,out2)
# G$ J- e+ F& v! \( n
1 V( H& T* h: M. ?6 i7 F1 j2 n) d% J$ ?
我看書上求gain都直接看v(out),但是gain的定義不是 v(out)/v(in) 才對嗎?
6 N6 O; m* H4 l3 w真是非常困惑( v4 I9 U9 q4 C. \; R% X

8 O. ^% I5 \' b/ I還有我的電路明明是兩邊對稱的,但是out2端和out1端的電壓卻不是相同的值$ z, @) _' P* f1 P8 i1 e
這到底是為什麼阿?/ b0 A0 s/ v) u( P) {5 _
(我去看執行.op後所得的小訊號參數,電路的兩端也是對稱的)
/ q3 `0 Y7 E- m4 B% p0 w- C: T(如果電路兩邊是對稱的,依照電子學差動觀念,應該gain只是差負號而已吧)4 z' v/ E1 g1 \* i6 g; l
2 Y0 j- u1 U' l. o  `0 w( J

5 c  Y; l7 G2 ]) V6 \- M( k5 e再來就是想求CMRR,這應該先求得共模增益(Acm)吧?
4 s) d8 ~; I5 d4 g7 m  G0 T* F8 {這要怎麼求呢?
9 \3 e5 G% l0 |6 Y4 p+ N1 K- H! z

) D0 Z5 s' X: n8 e! U/ J
3 A2 K  a4 f. N2 A3 y* {) S/ K3.輸出阻抗輸入電容
. |, ^  G5 j- p/ c3 H9 s0 f7 Q請問輸出阻抗要怎麼求?
4 B0 R/ A8 z  l2 P單端的時候直接下 .tf v(out) vin
7 e5 e2 W9 I( K" A( V  u* q但是雙端該怎麼寫?, {; {: I- U! ?. V
另外,如果我想看不同頻率下的輸出阻抗變化,又該怎麼下指令呢?
! J+ T; K$ t( s$ ~3 r4 Q7 ]$ N) R  G5 X$ ?
還有有辦法求得輸入電容嗎?(從input端看進來的等效電容)) K6 |7 d, Q. V& q! G% w
因為我設計的是sensor readout電路
# @8 H+ c6 p$ j5 h7 j/ a" g為了配合前一級,必須要讓輸入電容很小,才能讀得到sensor的值. f6 e7 I( r7 C# T* X

) ]# q% [$ W6 d1 j3 P0 [+ Z/ x' H; v5 Z" l; \1 g4 B% C

1 y+ S6 `! I8 h! h9 E- i# l
6 C$ D9 k5 d: T4 P, }6 I4.輸入共模範圍輸出擺幅" a5 l: N# a) ?; ^6 |2 t8 v3 d
4 W* \- l. W) g0 O# ^7 ]& j9 p
這個問題在書上找不到
4 u% W; d5 [+ B7 Z+ F8 q$ T. h是不是要自己看.op所得到那些vgs,vgd,vt值
9 z1 F5 s* v8 _# x5 l" e8 Y' F然後再按照電子學所說一層cascode用掉一個overdrive voltage,再去加加減減?, ?2 S( S' a8 z7 u( m
hspice有比較快的方法可以獲得這些資訊嗎?
) p9 |& e7 W. P, t3 E9 C) P* [" R1 q1 ~0 r  ~( N3 S. U2 T
/ c3 Z6 y% ]. K" c# r8 |
4 U% S- x2 a; {7 \. h7 R6 e
: K' g7 s% G# m& s
以上問題
6 q2 R3 W! p- X0 f/ {8 x# B請您不吝賜教 感激不盡 <(_ _)>
作者: sereniva    時間: 2009-8-27 04:23 PM
5.
7 f5 P1 Q4 f. b5 o9 s9 K最後想請問一個寫netlist的小問題( A; P% I0 G& O; s7 h" D
在網路上看到一些例子,特別把mos寫成並聯好幾個2 R- w, q* h( f! w
mp1 1 in1   7 vdd pch l=0.35u w=30u! r- m+ p6 M1 D
mp1 1 in1   7 vdd pch l=0.35u w=10u m=3
3 C/ v6 s/ V" _: S4 K' c3 \2 w這兩種寫法有什麼差別嗎?(模擬或layout上)
( ^' \% r. [7 Z0 }4 ]; w如果不用下面的寫法會有什麼缺點?
/ X. B/ R9 Q5 r1 E# @+ v* d
2 h+ \; |" U9 W
% F; x' P/ B8 U2 c" b6 A+ ^
! ?: F7 S( D' e7 p
+ w. i5 ?0 T. H4 m1 p- U$ B; V2 v  c附上小弟寫的folded cascode(輸入為PMOS) netlist:
  @+ _! V, j) v5 v! L2 r5 J5 i$ c& `) H, C* |
folded
9 N$ I$ n9 E8 ~, h" ~.global vdd vss/ Y/ I0 W% R0 E$ U* e: L( s

' S9 H" T% x5 u5 R4 o  ?; ?.option acout=0
$ [0 |; C( j4 p# J" |1 H# l' F3 k4 d" k, M! @0 Z
.option post=2# U9 [+ M( \0 q
.option probe
, m$ |' x& k4 y: c- f
1 u& O5 |3 x1 Y.protect
' x$ F4 z+ b! v2 v.lib ./rf018.l tt7 p5 ^5 {* V) [( v
.unprotect
4 [1 i% A" y/ _% H* y2 i0 a
# e  M! k) G% ]" i( Omp1 1 in1   7 vdd pch l=0.35u w=30u. s7 n! `2 c& Y2 o* Z
mp2 2 in2   7 vdd pch l=0.35u w=30u+ `2 P# F1 c# f, B0 h/ S% y
mp3 5  5  vdd vdd pch l=0.35u w=15u+ V6 j# ?& ?: d
mp4 6  5  vdd vdd pch l=0.35u w=15u7 R$ h) ]# s0 [. Z: D8 K* H3 `. F5 ]
mp5 out2  out2  5 vdd pch l=0.35u w=20u
. W* `/ {4 h( F# }0 O4 n  _mp6 out1  out2  6 vdd pch l=0.35u w=20u
( o6 p( F) A) d5 k* Smp7 7 b1 vdd vdd pch l=0.35u w=50u5 O9 E7 j9 a4 R, M" r% J
mn1 out2 b2 1 vss nch l=0.35u w=5u: N, q9 |, ?. q1 c- P, S5 z$ Z7 W
mn2 out1 b2 2 vss nch l=0.35u w=5u- u- x+ R6 N) j4 Z6 U5 W+ J
mn3 1 b3 vss vss nch l=0.35u w=25u
3 v4 J( P9 D6 j, jmn4 2 b3 vss vss nch l=0.35u w=25u
; x- ~1 L# A: d4 \4 H4 N) S+ e2 G' n3 a' d% W6 T- }
*輸入端的描述8 s' ~- y+ T0 [6 [
vd 9 0 dc 0 ac 1
2 W( H3 Q/ E/ Cevd1 in1 8 9 0 0.5
5 n$ U: H& f: {4 }7 Fevd2 in2 8 9 0 -0.5
( T& B. R  e" @) ]- l3 h3 a; b4 [vcm 8 0 dc 0

4 r7 n: ?/ a% ?' O! l/ r0 B( d5 {! wvdd vdd 0 dc 3.3v& k& `( H5 V8 |9 l/ Q$ ?# `* G" f
vss vss 0 dc -3.3v* V! Q! q2 I! @9 c8 D) f
1 A; x' a& E8 _( [! E4 V
vb1 b1 0 2.4
! s8 ]: _0 }* O) P) Z' o2 uvb2 b2 0 -1.2
. a/ |) j5 s2 P' U5 r1 nvb3 b3 0 -2.4" H. H2 _! ~* O  U1 ^

; C' M; c  [6 W" C+ l8 {" g.op( g+ R  M0 v; |# x5 Z# H6 f
.ac dec 10 100 100g
4 I5 e. U! s- G; X4 H: I" y# Q- J9 w7 j2 y
*讀取輸出端的描述% |9 C* v5 P* u9 o
.print ac v(out1) v(out2) v(out1,out2); V- `# E9 [/ N% }$ w
.probe ac v(out1) v(out2) v(out1,out2)# c1 i; o) C( F$ n
.print ac vdb(out1) vdb(out2) vdb(out1,out2)) m$ c" \1 V/ K: o$ o
.probe ac vdb(out1) vdb(out2) vdb(out1,out2)) ?! ]; r3 C, t' h% u2 a

2 L6 _8 t, H) k- |! u3 X( D.end
作者: semico_ljj    時間: 2009-8-27 05:06 PM
和单端输出的一样模拟!只是Gain是原来地一半而已
作者: 小美    時間: 2009-9-2 12:23 AM
GAIN是原來的一半?/ _2 j- V6 `2 i8 X* b4 k
可否請問一下這是什麼意思阿
作者: rice019    時間: 2009-9-2 05:25 PM
Gain差兩倍
1 [: g9 [; R8 a) u: b2 W因為是你實際上Gain是看VOP-VON
6 e' I* S% J1 l差兩倍gain實際上也才差6dB左右
5 @# B9 B' G( `! ~: B所以都常都只看VOP/VIN大概是就是Gain大小
作者: 小緯仔    時間: 2009-9-2 06:15 PM
5.
) e' o" X8 G5 F最後想請問一個寫netlist的小問題
; X5 R1 T* L) F在網路上看到一些例子,特別把mos寫成並聯好幾個
, Y0 [* R  g$ n9 G# D8 gmp1 1 in1   7 vdd pch l=0.35u w=30u$ m( `( k' i8 k* R9 ^
mp1 1 in1   7 vdd pch l=0.35u w=10u m=3
3 c' }" F/ O9 a4 f) n5 D' T這兩種寫法有什麼差別嗎?(模擬或layout上)
; L. c' B( D- w& N1 p! W* a======================================
9 k3 q% d1 ]" ]我絕得啦!雖然width感覺都相同3 a: s; j2 J4 p* J: X: _  O7 L
但是跑hspice時候可以看到他們應該在不同的pch裡. a' w# b  G9 k& ]5 a, N: F5 Q3 _
例如...pch.1   pch.2 所以裡面有些參數就不一樣
- A, q0 Q( Z8 {4 ?像是Vt~~或者mobility.....
: W5 X6 }. j* j9 w在layout上~~直觀來看 用第二種方式他在Gate上的寄生電阻比較小3 y! d: F# v; ?( x4 [3 q4 K6 Y

) n( U( q  U. U* B: _; V4 C以上是小弟的淺見...
作者: deltachen    時間: 2009-11-27 11:42 AM
謝謝大大的分享~知識因分享而壯大!
作者: arichpanda    時間: 2009-11-28 03:20 PM
我也有類似的問題說,放到現在一直不知道為什麼?. ~( O9 R5 j4 W* f" n9 W: f" T
希望能有高手大大來解答!!!
作者: tekoman    時間: 2009-11-30 12:32 PM
mp1 1 in1   7 vdd pch l=0.35u w=30u, l; A8 r1 s; P6 n7 r9 v3 q: L; f# T  a
mp1 1 in1   7 vdd pch l=0.35u w=10u m=3
# n* {5 l6 N  p/ K5 w* }: s$ F/ a上面這兩個不同的地方是,MOS會操作在不同區域,在spice model可以看到,不同width和length,
7 C& T1 A8 k: P2 o4 g可以劃分出許多操作區域,他的物理參數會不同。
作者: s33421    時間: 2009-11-30 04:06 PM
再爬文 還好有看到大大有提早先問 得到答案了 謝謝!!
作者: anita66    時間: 2009-12-14 05:16 PM
看到大大們這麼踴躍的回覆, 蠻多收穫的, 3Q~
作者: semico_ljj    時間: 2009-12-17 03:55 PM
仿真单边电路就可以了!
作者: angelwin    時間: 2009-12-21 02:32 PM
multiplier 一方面是由於參數設置時的問題,但更多的時候是考慮到後續匹配、寄生電阻的問題
作者: bruan43    時間: 2009-12-24 02:54 AM
謝謝各位大大的分享~正好在研究類似的問題 ~ 感謝踴躍分享 !
作者: semico_ljj    時間: 2009-12-24 12:46 PM
只要拿单边电路仿真就可以了!简单方便
作者: king6288tw    時間: 2009-12-31 04:51 PM
1. 這樣共模+差模輸入的寫法沒有錯誤,電路是雙電源,共模設在中間點0V算合理。
" w0 f* i  T3 x1 w2.小訊號輸入大小為 ac=1  所以gain=V(vout)/V(Vin) , Vin是1 所以省了 直接秀圖就可以知道增益。
6 Q2 k( }( ^+ M. y9 N" r3.輸出電阻使用.tf 應該是直流訊號時的電阻。有沒有隨頻率變化這部分可能要看manual6 E8 ?' e$ G* X
4.Allen的書應該有。
: i/ \$ k2 u/ V3 T8 v9 Z5.並聯與沒並聯影響到寄生電阻、寄生電容、layout時的mismatch,詳細可以看Razavi的書
作者: hungda50310    時間: 2011-4-12 04:54 PM
收穫好大~~~
- g7 b/ ?  h; a" B; q2 V謝謝分享XD~~
作者: anita66    時間: 2011-4-26 01:37 PM
問題蠻細的,程度應該不錯,但回答的還是有些令人不解,感謝大大無私分享,3Q~




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