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 1
4 A& Y# T8 o2 b! R
evd1 in1 8 9 0 0.5
$ n$ ]) A: a9 b7 V* D
evd2 in2 8 9 0 -0.5
/ Q( R) Y8 K4 N( j
vcm 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 {$ r
0 d' b" q* u" W' t, O( V
" K& R5 \1 W0 z1 s7 Z
8 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 Y
4 p+ N1 K- H! z
) D0 Z5 s' X: n8 e! U/ J
3 A2 K a4 f. N2 A3 y* {) S/ K
3.
輸出阻抗
與
輸入電容
. |, ^ 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 Q
7 ]$ 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 P
0 [+ 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 I
4.
輸入共模範圍
與
輸出擺幅
" 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 r
5 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 tt
7 p5 ^5 {* V) [( v
.unprotect
4 [1 i% A" y/ _% H* y2 i0 a
# e M! k) G% ]" i( O
mp1 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=15u
7 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* S
mp7 7 b1 vdd vdd pch l=0.35u w=50u
5 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, j
mn4 2 b3 vss vss nch l=0.35u w=25u
; x- ~1 L# A: d4 \4 H4 N) S+ e
2 G' n3 a' d% W6 T- }
*輸入端的描述
8 s' ~- y+ T0 [6 [
vd 9 0 dc 0 ac 1
2 W( H3 Q/ E/ C
evd1 in1 8 9 0 0.5
5 n$ U: H& f: {4 }7 F
evd2 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 {! w
vdd 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 u
vb2 b2 0 -1.2
. a/ |) j5 s2 P' U5 r1 n
vb3 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 g
mp1 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 w
2.小訊號輸入大小為 ac=1 所以gain=V(vout)/V(Vin) , Vin是1 所以省了 直接秀圖就可以知道增益。
6 Q2 k( }( ^+ M. y9 N" r
3.輸出電阻使用.tf 應該是直流訊號時的電阻。有沒有隨頻率變化這部分可能要看manual
6 E8 ?' e$ G* X
4.Allen的書應該有。
: i/ \$ k2 u/ V3 T8 v9 Z
5.並聯與沒並聯影響到寄生電阻、寄生電容、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