Chip123 科技應用創新平台

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

作者: sereniva    時間: 2009-8-27 04:21 PM
標題: Hspice如何模擬fully differential OPA
請問雙端輸入、雙端輸出的OP Amp該怎麼模擬呢?8 u( ?% ^& w3 }* @
找了書來看,上面都只有單端的例子 = =! l* e! W$ e) @
現在跑fully differential感覺問題非常多 @@
; N" M. Q3 b9 A. [) O8 L3 W# b7 H" S  G# ]% c0 B+ o! D" C
我是跑folded cascode(輸入端為PMOS)  netlist po在下一樓
4 p/ m/ X  D' V' m$ ]# P1 O3 O5 X" `! ^
1.
0 J* D% H8 [0 b7 M' d首先,問題在於差動輸入端的描述. d0 V( o' _8 m! x. l8 ^8 Z
我是考慮VCM相同,然後再灌入差動小訊號
" o; r. z' J$ S/ ?6 u8 F9 |5 Z5 P5 m+ {5 \
*輸入端的描述/ h5 Z: [1 P! {7 C/ H! p( Q& Y, K
vd 9 0 dc 0 ac 1# ^! y' i, X3 q6 U+ p# c# Z
evd1 in1 8 9 0 0.50 J5 A3 J* {) r0 t, @( I
evd2 in2 8 9 0 -0.5
: t" H3 @# Q( Z+ qvcm 8 0 dc 0  E2 X3 u  l0 h" R6 T4 f( }4 v. ~, _

" L1 Q0 _7 Q. ~4 L: k3 ^) ~9 p3 Z: H7 c3 x9 P% G8 X4 t
這樣寫的話就是dc偏壓為0v,in1端 交流 0.5v,in2端 交流 -0.5v: h; t7 u* K# G" V
不知道這樣來描述差動對的輸入端是否是正確的?$ C! t" z8 l5 `7 `4 @
  ~' o3 m* b, U* Z1 {

5 |, h/ V8 {4 w$ K! i9 n, O$ V
- A% V% z) z1 m) g
' P0 i3 J7 e& S  E% G# X  c7 B2.求雙端輸出的gain
5 a8 H' x+ |" v$ a' ^0 b8 u8 `0 c( S# \2 ~9 z9 w
*讀取輸出端的描述
5 F; R; w% l' Q4 C" z- [2 K) K$ s# E.print ac v(out1) v(out2) v(out1,out2)
0 R2 l  C7 g9 }- E0 K# p8 S$ w.probe ac v(out1) v(out2) v(out1,out2)
" q; i  J( t, `.print ac vdb(out1) vdb(out2) vdb(out1,out2)
' S  M. L) y: d1 x3 k' a.probe ac vdb(out1) vdb(out2) vdb(out1,out2)& l* q; n, q9 {7 g4 |5 R! B& `
' A! ^  R* m; I, m6 J5 z
我看書上求gain都直接看v(out),但是gain的定義不是 v(out)/v(in) 才對嗎?
, D+ l5 z- i5 c( c) N真是非常困惑
, B9 l$ }% u1 P( X: y: E) p
- d7 k: R4 z/ d2 g9 o& E1 X還有我的電路明明是兩邊對稱的,但是out2端和out1端的電壓卻不是相同的值+ c5 S. q+ m1 Y+ o# s+ B
這到底是為什麼阿?7 @1 l9 J7 Z/ J
(我去看執行.op後所得的小訊號參數,電路的兩端也是對稱的)! D; b, e# `, ~- D( L8 ?" P
(如果電路兩邊是對稱的,依照電子學差動觀念,應該gain只是差負號而已吧)
- n9 w  ]% Y7 ]0 i7 w8 V+ w9 K  S5 [  x

1 I0 T- N( D/ r: D再來就是想求CMRR,這應該先求得共模增益(Acm)吧?- I8 G( ^! z6 O! V$ Y: |
這要怎麼求呢?; E, \8 J! }  a2 D3 L6 d
9 k4 P2 p4 ?. T  B! Y( J/ r' }- f

6 u* w. X% c$ C0 S+ Y  k
! p, E) J: E" B+ \5 c; s( a3.輸出阻抗輸入電容
) P. a( n8 I( K# ^% h- z請問輸出阻抗要怎麼求?- K4 b( g+ C1 G  i& ]0 o  o9 @$ ~
單端的時候直接下 .tf v(out) vin
- F5 e+ G' p+ s* Q" X! l9 @但是雙端該怎麼寫?
9 `9 R0 ^0 A' w' q8 [" A! O% ^4 }另外,如果我想看不同頻率下的輸出阻抗變化,又該怎麼下指令呢?0 O9 C4 R: C( P5 ^

2 _% v* l+ k% H還有有辦法求得輸入電容嗎?(從input端看進來的等效電容)
0 D1 J4 R0 ?# X! g$ x6 ?因為我設計的是sensor readout電路
2 h, S7 _; G6 m& K為了配合前一級,必須要讓輸入電容很小,才能讀得到sensor的值6 _% {3 R$ x! T
6 B0 `# r& x2 |: E

1 f9 k4 k1 u+ l0 \3 J  C* t4 B! V
" e+ x4 B) t5 R2 z2 k, t! J  H- G0 \$ Y% _0 p# W# y7 |
4.輸入共模範圍輸出擺幅  R- C6 ~4 P. x. R2 m! t+ x

6 p0 v: E6 h7 z這個問題在書上找不到
; C) ~8 z8 @4 v, j$ C; J. h7 ?' l. X是不是要自己看.op所得到那些vgs,vgd,vt值
% X& ?4 X* W5 i然後再按照電子學所說一層cascode用掉一個overdrive voltage,再去加加減減?
# @/ Q' T- x. j4 R& fhspice有比較快的方法可以獲得這些資訊嗎?0 M8 _7 u5 ^) a- h6 H5 {: V* p

/ w. H4 |1 \7 I. w8 W
: i, P2 \) l# t
, p0 J9 y' \+ Q0 e% Y! t% U3 O% G' I: M4 t  F0 L" y- Z/ N
以上問題+ G3 f$ ]) ~1 l
請您不吝賜教 感激不盡 <(_ _)>
作者: sereniva    時間: 2009-8-27 04:23 PM
5.- x2 v" t5 q, R) N+ D0 S5 H
最後想請問一個寫netlist的小問題3 T$ @7 O$ v0 s% d6 u! F% x2 C
在網路上看到一些例子,特別把mos寫成並聯好幾個
1 O# k' C) |4 K0 l1 r% O$ Zmp1 1 in1   7 vdd pch l=0.35u w=30u
3 k8 ~! r$ W& b) D4 F$ hmp1 1 in1   7 vdd pch l=0.35u w=10u m=31 W5 V/ f* w  m* f- u+ y
這兩種寫法有什麼差別嗎?(模擬或layout上)
: j+ a/ O$ W8 C# r& }如果不用下面的寫法會有什麼缺點?9 g/ R- y. M2 J. ?
, [6 ]* O2 }" d
8 P* M" K- y1 |- Y2 N, i  O
6 [% o. d0 _8 A+ n; I! Y6 [8 I2 F

; {$ g1 V. a# |& \& G附上小弟寫的folded cascode(輸入為PMOS) netlist:0 m+ B8 y+ s4 ~

( T/ @7 C0 {# v( j+ W8 I: _folded4 ^4 Z" f! L+ j* L! v( L4 `0 A
.global vdd vss" n3 _. z, n& R4 W

: Z! V: R! ~5 k, {. i" Q.option acout=0
; {/ z2 r* f# g; _& l6 B
! B4 G; p# m& N/ ~6 I! c.option post=2  ~% H& B" z1 _& r. u7 k
.option probe2 v. u" i' x5 V+ R3 U7 m* D

" M5 D( Q6 T( t" F# z.protect0 k8 A$ c1 {3 p8 y# v
.lib ./rf018.l tt* |- H9 j6 w& r$ v# \' b1 _# k# T
.unprotect9 V6 F* \, w! m5 [9 U
! W0 N6 L; w* j$ Z# z4 N/ x4 q
mp1 1 in1   7 vdd pch l=0.35u w=30u# l9 H; ^4 [! O2 f  K  C  p8 F: B; \
mp2 2 in2   7 vdd pch l=0.35u w=30u& }+ ^# Z/ v0 Z# j
mp3 5  5  vdd vdd pch l=0.35u w=15u+ s' K. s7 p+ S
mp4 6  5  vdd vdd pch l=0.35u w=15u0 |8 ~" q8 z& y  E5 R
mp5 out2  out2  5 vdd pch l=0.35u w=20u
5 ?; X% ?4 k) f* Z  jmp6 out1  out2  6 vdd pch l=0.35u w=20u9 j0 z; t  ^$ w' l, e, d
mp7 7 b1 vdd vdd pch l=0.35u w=50u, I% u1 H/ ?% q6 {+ r
mn1 out2 b2 1 vss nch l=0.35u w=5u
( k: ?: \6 j5 Zmn2 out1 b2 2 vss nch l=0.35u w=5u
3 s" A3 m. P' R3 a6 C5 E9 ~mn3 1 b3 vss vss nch l=0.35u w=25u, i" m& k1 m7 F8 D
mn4 2 b3 vss vss nch l=0.35u w=25u/ R! A# s# g- e0 h* v

3 x1 V' S# ?: e5 H*輸入端的描述
. o4 {* I6 p( i' X- Fvd 9 0 dc 0 ac 1
5 D1 M6 u8 v3 _# g0 nevd1 in1 8 9 0 0.5% U2 e  H) }( {! R) I2 d* _0 y
evd2 in2 8 9 0 -0.5& x# h5 k4 ~% e/ V( v3 X
vcm 8 0 dc 0

5 r8 z! Z0 [7 _vdd vdd 0 dc 3.3v
+ ?4 X" I$ T  K2 uvss vss 0 dc -3.3v
# f8 j" q4 t) v, ~+ J( r% \! a# V, ~4 [5 R
vb1 b1 0 2.4  u, s# O* z! g) x
vb2 b2 0 -1.2( l5 m/ U2 D# _8 O7 b& F
vb3 b3 0 -2.4
# T% D& a! Z; n9 D) E. }/ ~8 o" U* i/ O4 D$ g; {
.op7 n+ Q4 j! _. @/ k6 U  ^3 Q2 d
.ac dec 10 100 100g
5 z/ ]4 D4 s5 G, E
% D0 d0 O0 k/ O; @0 y*讀取輸出端的描述
/ @5 I6 d: Y2 ~& d0 R.print ac v(out1) v(out2) v(out1,out2)
8 ^- V. [6 ~. @7 j' k.probe ac v(out1) v(out2) v(out1,out2)
# m* ^' P+ Q6 _  e2 H! h- a+ o/ |.print ac vdb(out1) vdb(out2) vdb(out1,out2)0 M$ Z4 g, L, N! |8 d$ i
.probe ac vdb(out1) vdb(out2) vdb(out1,out2)
+ {$ j3 A  n; u' i) P( t
" V$ v2 ^5 e$ _' A1 {( G, _# b1 |
.end
作者: semico_ljj    時間: 2009-8-27 05:06 PM
和单端输出的一样模拟!只是Gain是原来地一半而已
作者: 小美    時間: 2009-9-2 12:23 AM
GAIN是原來的一半?
: T3 T$ Q+ F# F6 I可否請問一下這是什麼意思阿
作者: rice019    時間: 2009-9-2 05:25 PM
Gain差兩倍* p5 o+ Y- s# `( P2 i! Q! a0 p0 f
因為是你實際上Gain是看VOP-VON: f# D; k, m" E* m
差兩倍gain實際上也才差6dB左右9 V3 i2 b4 w3 C$ t
所以都常都只看VOP/VIN大概是就是Gain大小
作者: 小緯仔    時間: 2009-9-2 06:15 PM
5.
: ^1 E- n. z  }8 r8 y最後想請問一個寫netlist的小問題: n  N! S* y5 l- M4 h& j
在網路上看到一些例子,特別把mos寫成並聯好幾個
1 e; D( ^8 P: C  ymp1 1 in1   7 vdd pch l=0.35u w=30u
" G* U6 N4 v/ y# ymp1 1 in1   7 vdd pch l=0.35u w=10u m=3% i, g! o5 M9 X
這兩種寫法有什麼差別嗎?(模擬或layout上)
  q2 X. \: Q7 m======================================
( z( A* }7 `- P( e我絕得啦!雖然width感覺都相同+ X3 S" U/ S2 k+ X9 N' a
但是跑hspice時候可以看到他們應該在不同的pch裡1 p, D* v- [, I$ \. ?
例如...pch.1   pch.2 所以裡面有些參數就不一樣3 _( w) V# L8 s0 b' U) d* ]
像是Vt~~或者mobility.....
2 k- h$ V# R" z2 G在layout上~~直觀來看 用第二種方式他在Gate上的寄生電阻比較小
8 I) w* j8 E0 Q  w8 T
2 E8 w0 M& K. h0 T% y7 F( T: M以上是小弟的淺見...
作者: deltachen    時間: 2009-11-27 11:42 AM
謝謝大大的分享~知識因分享而壯大!
作者: arichpanda    時間: 2009-11-28 03:20 PM
我也有類似的問題說,放到現在一直不知道為什麼?
) j# q& r. ~& _. e4 b1 X希望能有高手大大來解答!!!
作者: tekoman    時間: 2009-11-30 12:32 PM
mp1 1 in1   7 vdd pch l=0.35u w=30u
% k  A4 g% c) k+ rmp1 1 in1   7 vdd pch l=0.35u w=10u m=3
7 `  {9 m4 r" I& F& h" l上面這兩個不同的地方是,MOS會操作在不同區域,在spice model可以看到,不同width和length,
  V% o$ s$ W$ c6 y& h可以劃分出許多操作區域,他的物理參數會不同。
作者: 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算合理。; F  {) k4 S1 \1 K! Y4 }
2.小訊號輸入大小為 ac=1  所以gain=V(vout)/V(Vin) , Vin是1 所以省了 直接秀圖就可以知道增益。
3 a& Q  v) r+ O3 L# h# y, m3.輸出電阻使用.tf 應該是直流訊號時的電阻。有沒有隨頻率變化這部分可能要看manual
, d: F; a+ p+ R5 z  t4.Allen的書應該有。
0 @5 d" E9 v+ k, _# W2 R, G5.並聯與沒並聯影響到寄生電阻、寄生電容、layout時的mismatch,詳細可以看Razavi的書
作者: hungda50310    時間: 2011-4-12 04:54 PM
收穫好大~~~, e8 H( Z4 n$ `/ E4 X9 Z  \: c; _
謝謝分享XD~~
作者: anita66    時間: 2011-4-26 01:37 PM
問題蠻細的,程度應該不錯,但回答的還是有些令人不解,感謝大大無私分享,3Q~




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