Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2009-8-27 16:21:29 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
請問雙端輸入、雙端輸出的OP Amp該怎麼模擬呢?  w& R  {1 e1 w( s' N, [
找了書來看,上面都只有單端的例子 = =
/ e9 D7 b! v9 b' e現在跑fully differential感覺問題非常多 @@
0 c: k5 y# P; b3 ?0 r. A; l
9 g8 H; p% W4 A) @1 D8 D" |我是跑folded cascode(輸入端為PMOS)  netlist po在下一樓
* f  ?0 K6 u. b+ \! w2 J* l
8 m; c* m9 s) f  s9 J8 F1.  t- @6 @. J" X' B4 e
首先,問題在於差動輸入端的描述7 b3 l. t  A) R$ _
我是考慮VCM相同,然後再灌入差動小訊號" g1 X1 Q0 T, b' c

* w7 x3 ^9 S6 q- f/ A* O  W*輸入端的描述
  D2 A# Y0 X, d4 l& ]8 uvd 9 0 dc 0 ac 1/ T1 V1 f8 r$ C7 S; y$ G3 ?
evd1 in1 8 9 0 0.5$ f6 d1 K% \5 v1 r6 d) V& W
evd2 in2 8 9 0 -0.5
" A( g* Q* g$ T. P: cvcm 8 0 dc 0; x9 c6 n2 T' E0 J

# ?# }- ?2 D- Z3 h; w( U
+ ?" K; P1 L! a這樣寫的話就是dc偏壓為0v,in1端 交流 0.5v,in2端 交流 -0.5v0 r" ^, j/ G& z( G" m7 s
不知道這樣來描述差動對的輸入端是否是正確的?
1 t/ Z" t  G9 _" e) s, z
' h6 C& A0 w; O8 y9 G7 N* U9 F( a4 L3 G1 y
3 \' ~7 d" a. y- a$ ^' w) u  O

2 n$ Z1 X0 G! i* S  w! I- l. a2.求雙端輸出的gain* Z$ `  C& l% I" v) Z

  X& ~: C- z; r" O1 P; z*讀取輸出端的描述/ y- g9 t9 L" F3 ~9 Z6 v; @
.print ac v(out1) v(out2) v(out1,out2)
8 i. z2 K2 a3 W& {.probe ac v(out1) v(out2) v(out1,out2)3 @. [$ I+ O6 p* ^9 Z  s& L
.print ac vdb(out1) vdb(out2) vdb(out1,out2)
, h1 J* B% B3 m+ y3 l.probe ac vdb(out1) vdb(out2) vdb(out1,out2)1 I! @( d1 \2 I" J- F+ e
" w1 R& U) _$ o3 s, X
我看書上求gain都直接看v(out),但是gain的定義不是 v(out)/v(in) 才對嗎?
6 M) w: f0 R* e" T. D  G真是非常困惑
' _  U4 p& j3 o! R8 J" R5 ~# }& C; [0 D; S- N0 Q
還有我的電路明明是兩邊對稱的,但是out2端和out1端的電壓卻不是相同的值0 I1 d! }' K7 V' N( g, ?( E
這到底是為什麼阿?* M) s& r  y0 [0 B& Z! W$ }# s4 `
(我去看執行.op後所得的小訊號參數,電路的兩端也是對稱的)
2 N7 l" z- H, q8 w0 ^(如果電路兩邊是對稱的,依照電子學差動觀念,應該gain只是差負號而已吧)4 k5 g2 M1 t* X4 n( C

  P5 V. [; j# R) L: x
0 L& N/ w& q% f. I; E再來就是想求CMRR,這應該先求得共模增益(Acm)吧?  K4 s! B+ L& r( A/ f
這要怎麼求呢?
4 }& \* \/ f( Y* H, u, f% S+ T8 F1 J& K: O

, ^8 M' y# w& U1 f. `; F: A) U. I5 m& H9 H
3.輸出阻抗輸入電容! R" M$ M1 V+ F1 G4 Z% d
請問輸出阻抗要怎麼求?
, L  `# B) Y0 r, O4 C單端的時候直接下 .tf v(out) vin
$ |; d9 z2 D) g! F6 `0 e但是雙端該怎麼寫?9 s- j1 Q: W  ~
另外,如果我想看不同頻率下的輸出阻抗變化,又該怎麼下指令呢?' z" g  r: ?) w8 x
* ~* U* |" c) `2 j- O
還有有辦法求得輸入電容嗎?(從input端看進來的等效電容)
- `/ Z- G* g6 f1 G+ e4 o" b- R因為我設計的是sensor readout電路$ ?- f' s, m. |* Q
為了配合前一級,必須要讓輸入電容很小,才能讀得到sensor的值8 f* d% Z* x$ C6 c) O' B, K' A5 B3 |
( Z% }$ v6 s+ q& i# d2 y5 |; Y- T
( X' s; r: {: f' F

9 P: E0 M' y5 l$ i5 t- Q8 s& s, q6 g  W" V1 _4 S
4.輸入共模範圍輸出擺幅9 _1 d2 b9 {8 {
; s9 K: c* d5 _1 }' o
這個問題在書上找不到
  b3 R# z8 U1 P4 U' K: N! [0 t6 @是不是要自己看.op所得到那些vgs,vgd,vt值
4 J; f/ ~- S; X然後再按照電子學所說一層cascode用掉一個overdrive voltage,再去加加減減?
/ }, a/ _8 i7 Q, {+ zhspice有比較快的方法可以獲得這些資訊嗎?( d# G" c; N& x. G+ f, ~; ]

0 E% p! F6 J  H# d; Z1 a* ^
4 Z: K) \* i( B
: c5 a4 P" s5 V, t3 L2 B2 K" C% I( @' E& ]# ~
以上問題  u6 ?3 J; i% f/ M- H* @0 g; p/ p
請您不吝賜教 感激不盡 <(_ _)>
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂105 踩 分享分享
2#
 樓主| 發表於 2009-8-27 16:23:04 | 只看該作者
5.3 M/ I0 S% m. E. U7 G; A: u
最後想請問一個寫netlist的小問題
; H3 e1 T2 M; [* n5 e" P在網路上看到一些例子,特別把mos寫成並聯好幾個
7 s( z+ F9 z: P% Omp1 1 in1   7 vdd pch l=0.35u w=30u
2 v5 e+ H  q) j9 r7 {mp1 1 in1   7 vdd pch l=0.35u w=10u m=3" y: H( |9 t( t6 s
這兩種寫法有什麼差別嗎?(模擬或layout上)
( W  L: U- f, A7 Q# `# e( O如果不用下面的寫法會有什麼缺點?
3 H' V0 g% u# R2 f( ]5 j7 f, ^
' |) |' D- ^- Q2 [- g3 A$ f9 t

$ {* l3 g* M/ h. V
3 @8 y6 ~/ A+ R) {& ]) |) p附上小弟寫的folded cascode(輸入為PMOS) netlist:* b6 `; [& t& o( E* a

3 k2 _+ o' I& K6 c: I4 ]folded
: K5 Z* X7 G& C. U, Z4 L.global vdd vss2 v& I) i# z% s  T0 ~6 _
& u1 B. C, H+ k, |* s6 k$ Y
.option acout=0 ; b. \7 s: [9 l2 k8 h; a  o
; E" A3 z2 w1 {/ }! E- W9 _1 w9 ~
.option post=2
) {' b! g; E) F& h8 _.option probe! f& Y4 F$ \: o( {6 e+ }1 \

0 A9 C+ C- |9 n# M! L.protect5 K$ g$ F  i, W# R0 G. j* g
.lib ./rf018.l tt3 e" B- P) R1 t2 K
.unprotect
) `. m  d6 @* Z- T
% d: k% r. ?8 \3 P, Hmp1 1 in1   7 vdd pch l=0.35u w=30u+ ]. p% a, J; |
mp2 2 in2   7 vdd pch l=0.35u w=30u
8 n. Y% n! v! L  B4 [mp3 5  5  vdd vdd pch l=0.35u w=15u
3 K  `: X; b7 f) Jmp4 6  5  vdd vdd pch l=0.35u w=15u
0 Q2 Q$ m8 @3 f) ~' ]+ r% i6 fmp5 out2  out2  5 vdd pch l=0.35u w=20u) r0 `* h; q. f3 |( N
mp6 out1  out2  6 vdd pch l=0.35u w=20u( }) @+ S6 H% S+ C* Q
mp7 7 b1 vdd vdd pch l=0.35u w=50u% X( o! Q: M" q$ @% Q7 f$ @# a6 `9 R
mn1 out2 b2 1 vss nch l=0.35u w=5u
# ]+ l3 d. {8 c3 M4 Amn2 out1 b2 2 vss nch l=0.35u w=5u" ~% J/ s, l& a7 a! g4 C" J( I3 {
mn3 1 b3 vss vss nch l=0.35u w=25u
( @$ M; X* I1 `: hmn4 2 b3 vss vss nch l=0.35u w=25u# a" [! N. z  K' X

/ B$ ~3 k* |8 X% S*輸入端的描述
6 A, ~5 I# b% y; avd 9 0 dc 0 ac 1$ c9 N! V" y$ n
evd1 in1 8 9 0 0.56 ]# ~. W, e& W6 j
evd2 in2 8 9 0 -0.5, ^5 h. ^" |) k! }9 U
vcm 8 0 dc 0

! [% O+ [& g5 ]8 H" g5 Nvdd vdd 0 dc 3.3v3 o; U% ^' Y2 J$ ~  C* Q
vss vss 0 dc -3.3v
5 g" T$ P( k" [* n- ~; i. F+ ?" j4 U, Q
vb1 b1 0 2.49 F" a3 e( }8 U
vb2 b2 0 -1.2
. D% O+ e$ g. w: A  E5 Svb3 b3 0 -2.4
9 K6 a  t( K3 x
, ]" N8 M0 w# E+ p* Y.op
5 N: c/ W* |: r; I.ac dec 10 100 100g0 _& I- g" `) T* B" d0 `
& I0 z# J- R- R1 x4 M. e) V
*讀取輸出端的描述
" E5 e. A% x  t0 L8 f$ [2 W.print ac v(out1) v(out2) v(out1,out2)2 Y' [: c( m0 f5 r- Q
.probe ac v(out1) v(out2) v(out1,out2)
/ ~4 f% \( |! F7 C( y% E# P' G# j.print ac vdb(out1) vdb(out2) vdb(out1,out2)/ i1 }1 M6 e8 @
.probe ac vdb(out1) vdb(out2) vdb(out1,out2)4 [' N1 s% @5 A2 R. N1 |' G6 ]
& @+ e6 W1 }) P% Q
.end
3#
發表於 2009-8-27 17:06:39 | 只看該作者
和单端输出的一样模拟!只是Gain是原来地一半而已
4#
發表於 2009-9-2 00:23:19 | 只看該作者
GAIN是原來的一半?
: c# E' ~5 k8 F3 `" D1 z% Z4 s可否請問一下這是什麼意思阿
5#
發表於 2009-9-2 17:25:03 | 只看該作者
Gain差兩倍
+ I- z2 C9 [$ h" U因為是你實際上Gain是看VOP-VON
: K5 [# w% N- D. T; A差兩倍gain實際上也才差6dB左右0 ]3 [! w3 c3 N1 y0 K/ S
所以都常都只看VOP/VIN大概是就是Gain大小
6#
發表於 2009-9-2 18:15:49 | 只看該作者
5.  t/ U' S" T4 r: D) u: w: `
最後想請問一個寫netlist的小問題4 t  F4 `$ G6 y
在網路上看到一些例子,特別把mos寫成並聯好幾個; U# |: C  z7 N/ O4 T2 D# E3 Y! s
mp1 1 in1   7 vdd pch l=0.35u w=30u' @+ A3 @# r1 |+ G$ q
mp1 1 in1   7 vdd pch l=0.35u w=10u m=3
5 o1 C+ l9 K' C- C7 H' T這兩種寫法有什麼差別嗎?(模擬或layout上)/ K- t, N+ k1 o+ y# u0 Q6 X( r4 {) T
======================================
8 \7 k1 P3 N3 v; u5 X我絕得啦!雖然width感覺都相同$ r! f2 }$ S5 C
但是跑hspice時候可以看到他們應該在不同的pch裡
# S1 g! a7 c3 s7 z! ~; r例如...pch.1   pch.2 所以裡面有些參數就不一樣" [( L5 d* R& m
像是Vt~~或者mobility.....
! G9 K7 G6 j/ {! ^& [$ [" A在layout上~~直觀來看 用第二種方式他在Gate上的寄生電阻比較小
  V) w, P8 a  H1 ?+ s) L3 q
8 J# e+ a# X9 C  t/ S" W. m, S以上是小弟的淺見...
7#
發表於 2009-11-27 11:42:23 | 只看該作者
謝謝大大的分享~知識因分享而壯大!
8#
發表於 2009-11-28 15:20:21 | 只看該作者
我也有類似的問題說,放到現在一直不知道為什麼?) G; @1 B7 c4 k
希望能有高手大大來解答!!!
9#
發表於 2009-11-30 12:32:01 | 只看該作者
mp1 1 in1   7 vdd pch l=0.35u w=30u8 W! R& v, p1 x  P- z' w; i% S
mp1 1 in1   7 vdd pch l=0.35u w=10u m=3& C+ U8 N7 K. g9 Z- _4 m4 e- O6 Q
上面這兩個不同的地方是,MOS會操作在不同區域,在spice model可以看到,不同width和length,
( a$ Y6 O) b6 ?% D& a可以劃分出許多操作區域,他的物理參數會不同。
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算合理。" i7 s7 Z0 d# `# v. W
2.小訊號輸入大小為 ac=1  所以gain=V(vout)/V(Vin) , Vin是1 所以省了 直接秀圖就可以知道增益。
; h! P3 t6 f9 l% ^: `9 l8 A3.輸出電阻使用.tf 應該是直流訊號時的電阻。有沒有隨頻率變化這部分可能要看manual1 x9 D9 d6 Q9 @! k$ O. B
4.Allen的書應該有。' R1 o/ N' b" Y0 K5 _4 v* X3 Z. V" W1 {
5.並聯與沒並聯影響到寄生電阻、寄生電容、layout時的mismatch,詳細可以看Razavi的書
17#
發表於 2011-4-12 16:54:52 | 只看該作者
收穫好大~~~; ]. T: L0 i+ Y$ z+ ^
謝謝分享XD~~
18#
發表於 2011-4-26 13:37:47 | 只看該作者
問題蠻細的,程度應該不錯,但回答的還是有些令人不解,感謝大大無私分享,3Q~
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-12-28 06:00 PM , Processed in 0.181010 second(s), 17 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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