Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

搜索
1 2 3 4
查看: 39671|回復: 17
打印 上一主題 下一主題

[問題求助] Hspice如何模擬fully differential OPA

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2009-8-27 16:21:29 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
請問雙端輸入、雙端輸出的OP Amp該怎麼模擬呢?
8 h8 E- t' \& Q8 m! C找了書來看,上面都只有單端的例子 = =) n/ I& D+ v" ^
現在跑fully differential感覺問題非常多 @@
( s* h7 {" l5 S7 G: U% m, H: [8 ^  a) c# ^" s
我是跑folded cascode(輸入端為PMOS)  netlist po在下一樓
4 p9 H- v0 ^9 \% [4 |
0 O* q% K5 s5 _/ U9 s! f4 A! O1.. [$ _9 r, k# r1 U- q7 L$ p
首先,問題在於差動輸入端的描述2 R. K# }8 q; v; w, h$ y7 K
我是考慮VCM相同,然後再灌入差動小訊號+ V1 C1 j7 E0 m" y
2 [3 ?1 `8 m' t: \8 m7 Z
*輸入端的描述
8 }! \6 {3 d( ^2 O# @vd 9 0 dc 0 ac 1% K3 W% l* y  G8 X4 q
evd1 in1 8 9 0 0.5
# N& |+ W. t8 ?% uevd2 in2 8 9 0 -0.5
* E/ d: ^( ?7 r( [9 `vcm 8 0 dc 0! ~1 M# Y4 H' _0 v2 \" @) R* j

( y9 d4 O, t& V) Q8 f% n3 v0 I4 ^
1 z; l: R, n0 g) Q這樣寫的話就是dc偏壓為0v,in1端 交流 0.5v,in2端 交流 -0.5v: {& I  G6 |* r& m0 ]
不知道這樣來描述差動對的輸入端是否是正確的?: I. O$ O* l, }+ r% Y& g

) [" X" M! j6 K1 i8 Y4 c4 c4 Q: ~
6 V1 ]7 b* `9 B. r

! b" H) m1 g3 I- Q$ [; i- c1 e" a2.求雙端輸出的gain
( S) a  e. g+ E: R% F+ O9 p' f6 \- D' J8 @6 o" J
*讀取輸出端的描述8 `+ w" ^4 f, p0 P
.print ac v(out1) v(out2) v(out1,out2)" F. D  }4 V( P% ?1 T
.probe ac v(out1) v(out2) v(out1,out2)
5 y2 u7 w! P5 |* ^6 r.print ac vdb(out1) vdb(out2) vdb(out1,out2). P) x6 p( W+ l0 b
.probe ac vdb(out1) vdb(out2) vdb(out1,out2)
, E2 N& S& R  \, m  y

( r0 ?7 i: t& m4 ?% N% u我看書上求gain都直接看v(out),但是gain的定義不是 v(out)/v(in) 才對嗎?: o+ D# t' T6 T3 O# e
真是非常困惑
! z1 @0 x) a2 I5 t
* d! ^5 a* l9 \6 ^) b# S還有我的電路明明是兩邊對稱的,但是out2端和out1端的電壓卻不是相同的值
% @- p, i" J4 ~- V4 z- Z7 F  i, X這到底是為什麼阿?
' X2 q  N2 S' i4 g: m! J( _6 G4 n(我去看執行.op後所得的小訊號參數,電路的兩端也是對稱的)6 ^, V9 g- w1 k* Z/ t0 Q) }
(如果電路兩邊是對稱的,依照電子學差動觀念,應該gain只是差負號而已吧)
# k) B9 C3 e8 O/ W5 u3 _8 c+ m: v9 e
4 [6 d6 T: h  t* u$ B
再來就是想求CMRR,這應該先求得共模增益(Acm)吧?- R! N+ k, i6 f% P
這要怎麼求呢?( ?/ g$ L8 T) S) [. L
- s1 Z, b. w( \

+ z1 w  J" c5 x0 z# ]1 b/ h) B+ @$ Y. _7 Z7 c% a/ e
3.輸出阻抗輸入電容
4 [; T  h" c% E3 v2 b4 G1 O9 K請問輸出阻抗要怎麼求?
( u! P, F7 M  c5 N) @4 w0 H2 u單端的時候直接下 .tf v(out) vin
$ d3 A4 T7 c- m2 d  b/ C但是雙端該怎麼寫?. g/ O6 F6 N8 Z, ], D, \
另外,如果我想看不同頻率下的輸出阻抗變化,又該怎麼下指令呢?" c8 Q8 {4 I' V" |
+ Z0 w1 O1 G7 V* X2 X. @( {" y
還有有辦法求得輸入電容嗎?(從input端看進來的等效電容), x; V% ^0 V" p; Q- q! ^
因為我設計的是sensor readout電路
8 X0 M7 M; K8 q8 J為了配合前一級,必須要讓輸入電容很小,才能讀得到sensor的值
7 H) y* K% Z( A/ C$ A0 x( l6 W! h8 E% }' x) d- q9 V$ S

1 ^0 p3 ?0 ^1 D* ]4 ?6 Y& T8 z, p. f4 z% B* j
3 I5 f# h* o: L! \# r& S% c1 H
4.輸入共模範圍輸出擺幅
+ F: @" a5 _% ~& E) E- ]
/ X6 ^( d* w1 Z6 R2 s2 h, D這個問題在書上找不到
* ?! g' V% H  l' J* f是不是要自己看.op所得到那些vgs,vgd,vt值
9 r9 X! y3 t+ B$ p然後再按照電子學所說一層cascode用掉一個overdrive voltage,再去加加減減?& t* l8 }2 z# `8 ~" S
hspice有比較快的方法可以獲得這些資訊嗎?1 W  N  y  \- J% C! ?" ?; k# S! w

5 ]; }- U6 {# z3 q4 l9 K' G& F) y4 V* I0 \" F
8 T( R: }6 c. c0 ]6 K0 \6 N+ o9 }
( L; V( H. o3 f& y1 j7 c, S
以上問題/ K' V7 A* }7 C' A9 f1 {
請您不吝賜教 感激不盡 <(_ _)>
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂29 踩 分享分享
2#
 樓主| 發表於 2009-8-27 16:23:04 | 只看該作者
5.% G7 C+ L& C3 N$ m
最後想請問一個寫netlist的小問題
/ q: D% J* v2 `0 J: L5 D, D在網路上看到一些例子,特別把mos寫成並聯好幾個
1 {" p& c& M  g0 W, z0 xmp1 1 in1   7 vdd pch l=0.35u w=30u; w- D2 P5 u9 j1 T/ g# H9 }& v
mp1 1 in1   7 vdd pch l=0.35u w=10u m=3
% l- A, A, M5 J) s; L這兩種寫法有什麼差別嗎?(模擬或layout上)
$ n' k# @( R5 a3 s9 W如果不用下面的寫法會有什麼缺點?
1 k- R% h" k9 R  m! ~/ [" i  |6 K8 x# [2 r5 x* `* B
" ^+ I% \+ U- N8 p
; [2 Z, G5 U/ a# B% @
: k8 k% p  s" y  g# ^
附上小弟寫的folded cascode(輸入為PMOS) netlist:
. L3 r$ \, m9 g% D% w. o- T/ e
9 N" \* {' T) o3 i7 \folded4 U4 ?6 J% |4 m$ h6 p8 D
.global vdd vss
4 h* C2 P/ P# D
" s6 ?* D4 Y6 S.option acout=0
, n3 z+ l) f, X. M5 y
) f3 B6 a0 R' A# J* F' R.option post=2
( d! ~) {+ z8 F0 J4 C- H.option probe
; t, N% }4 k! K6 p% ?( v# }1 s' f, [, Q, R& e3 E) C
.protect3 \% R. I6 c6 Q# P! p
.lib ./rf018.l tt
1 n; j% t$ L1 c, y+ k# \5 y.unprotect9 A6 x* P9 Q0 ?5 U2 @, L8 m! U

- E5 v0 [7 O( \; |' r( W) v9 ymp1 1 in1   7 vdd pch l=0.35u w=30u
: H. ?) Q2 Z4 v) tmp2 2 in2   7 vdd pch l=0.35u w=30u
" X2 k" @* N3 m0 }" {% Amp3 5  5  vdd vdd pch l=0.35u w=15u
( S  o7 K( Y. K2 K3 E5 ]% ]! qmp4 6  5  vdd vdd pch l=0.35u w=15u  e) ~, A: b; ?2 `, R6 |9 r
mp5 out2  out2  5 vdd pch l=0.35u w=20u3 \: B. k# w0 T0 f
mp6 out1  out2  6 vdd pch l=0.35u w=20u. u& x; _. Y8 c* Q  z( Q
mp7 7 b1 vdd vdd pch l=0.35u w=50u: R. m; [5 ~+ r/ x9 t
mn1 out2 b2 1 vss nch l=0.35u w=5u0 U4 z, w6 H# H8 g
mn2 out1 b2 2 vss nch l=0.35u w=5u2 {7 V" q2 w+ ]
mn3 1 b3 vss vss nch l=0.35u w=25u# {- t7 G. _9 H# [: x0 d* A) Y
mn4 2 b3 vss vss nch l=0.35u w=25u
( F# D- M1 ]7 A* [& h: p: L' U3 f: }' k% u. ?4 N; T* q
*輸入端的描述! J8 }) u' h( y% N# G9 e. Y
vd 9 0 dc 0 ac 1( b' ?" N( C7 E# Z: A
evd1 in1 8 9 0 0.5
* S$ c; ]4 L9 Y7 O) S, sevd2 in2 8 9 0 -0.5; x1 {) P7 p4 e/ }- \
vcm 8 0 dc 0
+ u+ A6 V# c" H1 X# l7 A
vdd vdd 0 dc 3.3v' V% O1 u, H. i1 p
vss vss 0 dc -3.3v
2 J9 l+ s4 o7 A+ q" j# _
' M! U4 j+ c0 `" o3 V2 p4 }. F  Mvb1 b1 0 2.4$ w7 w! }; _8 n1 D1 ~
vb2 b2 0 -1.2" j$ V% L, D! a9 X/ q% m
vb3 b3 0 -2.4/ E9 W2 b2 @7 Q+ {/ l

  V9 L! ~, N; H1 s5 o( [.op
5 G  ?6 S8 S. `' H% J.ac dec 10 100 100g
; T! F5 {' A8 Z# Y2 \" R, U
, q" O: e) C5 h9 g5 E*讀取輸出端的描述
$ ]) B& R3 J! \+ F.print ac v(out1) v(out2) v(out1,out2)) d2 b8 f) Z. [
.probe ac v(out1) v(out2) v(out1,out2)
, Z& y0 C7 `& U* {6 J: C.print ac vdb(out1) vdb(out2) vdb(out1,out2)! Q. `& l3 {0 G2 V2 e
.probe ac vdb(out1) vdb(out2) vdb(out1,out2)
" N% @8 _  ^7 k6 f1 m; v
/ A- [; C4 D& N, w  U& T$ a
.end
3#
發表於 2009-8-27 17:06:39 | 只看該作者
和单端输出的一样模拟!只是Gain是原来地一半而已
4#
發表於 2009-9-2 00:23:19 | 只看該作者
GAIN是原來的一半?
  Q) e3 a" ]* ?3 `. O可否請問一下這是什麼意思阿
5#
發表於 2009-9-2 17:25:03 | 只看該作者
Gain差兩倍
+ Z2 G# b+ ^3 F6 a0 A, @* [+ B因為是你實際上Gain是看VOP-VON) S: O* S& |' ?
差兩倍gain實際上也才差6dB左右. z6 n( T9 u% T
所以都常都只看VOP/VIN大概是就是Gain大小
6#
發表於 2009-9-2 18:15:49 | 只看該作者
5.
4 k/ l: _+ I" f$ T* h/ }1 Q最後想請問一個寫netlist的小問題
% C" {9 G/ L) G; ~3 v在網路上看到一些例子,特別把mos寫成並聯好幾個
( i* N/ @2 m9 m# `% ymp1 1 in1   7 vdd pch l=0.35u w=30u
) P% \+ ]2 F2 \/ O: d# @& \. E! }mp1 1 in1   7 vdd pch l=0.35u w=10u m=34 H+ h- k: E$ m1 G
這兩種寫法有什麼差別嗎?(模擬或layout上)
6 U9 P" S) d$ M  ~======================================# c2 s& }9 h$ d5 v
我絕得啦!雖然width感覺都相同
7 `% v/ o; |; E  Z+ O, b7 G2 [但是跑hspice時候可以看到他們應該在不同的pch裡. _" o( u, L0 v6 L$ K. b& x: h  t
例如...pch.1   pch.2 所以裡面有些參數就不一樣& E; k( \# h" }7 I  x2 m9 ^7 B
像是Vt~~或者mobility.....
" ?1 h5 F. b" Z. T& s在layout上~~直觀來看 用第二種方式他在Gate上的寄生電阻比較小
$ r7 w7 R9 M' q+ D6 ~: \5 o2 g5 e5 H* x& o: n# i
以上是小弟的淺見...
7#
發表於 2009-11-27 11:42:23 | 只看該作者
謝謝大大的分享~知識因分享而壯大!
8#
發表於 2009-11-28 15:20:21 | 只看該作者
我也有類似的問題說,放到現在一直不知道為什麼?# y# ~3 I! ^  L. F1 [9 K; S" S
希望能有高手大大來解答!!!
9#
發表於 2009-11-30 12:32:01 | 只看該作者
mp1 1 in1   7 vdd pch l=0.35u w=30u
2 r* Z$ d) `( h9 wmp1 1 in1   7 vdd pch l=0.35u w=10u m=3
1 v0 G5 ^  f8 Y$ T  m3 ~上面這兩個不同的地方是,MOS會操作在不同區域,在spice model可以看到,不同width和length,4 {9 z1 |2 M" j. u! X' w" z
可以劃分出許多操作區域,他的物理參數會不同。
10#
發表於 2009-11-30 16:06:44 | 只看該作者
再爬文 還好有看到大大有提早先問 得到答案了 謝謝!!
11#
發表於 2009-12-14 17:16:01 | 只看該作者
看到大大們這麼踴躍的回覆, 蠻多收穫的, 3Q~
12#
發表於 2009-12-17 15:55:21 | 只看該作者
仿真单边电路就可以了!
13#
發表於 2009-12-21 14:32:03 | 只看該作者
multiplier 一方面是由於參數設置時的問題,但更多的時候是考慮到後續匹配、寄生電阻的問題
14#
發表於 2009-12-24 02:54:55 | 只看該作者
謝謝各位大大的分享~正好在研究類似的問題 ~ 感謝踴躍分享 !
15#
發表於 2009-12-24 12:46:28 | 只看該作者
只要拿单边电路仿真就可以了!简单方便
16#
發表於 2009-12-31 16:51:14 | 只看該作者
1. 這樣共模+差模輸入的寫法沒有錯誤,電路是雙電源,共模設在中間點0V算合理。
4 |- g# V. a% p2.小訊號輸入大小為 ac=1  所以gain=V(vout)/V(Vin) , Vin是1 所以省了 直接秀圖就可以知道增益。
6 X5 P% S6 V% X& X- g" n! L3.輸出電阻使用.tf 應該是直流訊號時的電阻。有沒有隨頻率變化這部分可能要看manual; U4 N, i( _( S7 A3 k
4.Allen的書應該有。% c8 @# K' m* D& N% X2 W6 k
5.並聯與沒並聯影響到寄生電阻、寄生電容、layout時的mismatch,詳細可以看Razavi的書
17#
發表於 2011-4-12 16:54:52 | 只看該作者
收穫好大~~~8 L+ X" b/ m6 D/ Q* F( U
謝謝分享XD~~
18#
發表於 2011-4-26 13:37:47 | 只看該作者
問題蠻細的,程度應該不錯,但回答的還是有些令人不解,感謝大大無私分享,3Q~
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

首頁|手機版|Chip123 科技應用創新平台 |新契機國際商機整合股份有限公司

GMT+8, 2024-5-2 08:52 PM , Processed in 0.115006 second(s), 17 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表