; d) j- m7 U, w% h" E*two stage*$ X+ w; L0 q u
- b3 i( R: t0 T) \% }
Mt1 vout out1 gnd! gnd! nch w=10u l=1u M=6 3 c4 m8 X% Y/ d# a4 M7 UMt2 vout vbiasp vdd vdd pch w=30u l=1u M=29 _( z; H4 A! ?: H% V) X. Z
- M+ a1 c% L' b( p& V! Q
Cload vout gnd! 200f 4 @6 P$ J9 O# I$ ?+ f) o2 f, m* L, m* n' m0 M+ D! M
*lead compensation*( x. t* h% x1 d- b4 S" i- E
Cc vout n7 4p 7 `$ O s% s* j- a! y8 C$ k; [Mc1 n7 vdd out1 gnd! nch w='Wc' l=0.2u M=1 J: b/ o' q2 d" R* t N( N
*Rb n7 out1 'Rb' , o2 s0 Y# ]7 L* J' ].param Wc=0.8u " U5 O0 _7 }% L " a5 N2 J/ L4 b+ G****** Analyplysis ******4 ^0 [, z& O9 x" ^3 f
.op" c8 n) Y. S5 f
*** DC ***8 o! N/ l' }; e
*.dc vminus 0.59 0.61 0.001 . @8 \% s4 F( ]*.measure dc Input-Offset FIND v(vin-) WHEN v(vout)=0.6 k5 L/ D5 A4 `/ l5 d4 s*** AC out *** Z* A l- i6 v, }9 m' R7 m
*.ac DEC 100 1 200X" @0 O1 I' ] |0 K4 L2 n& i) x
.measure ac Unit_gain_freq when vdb(vout)=0 " A5 n8 j; c+ V. {/ u* w.measure ac phase FIND vp(vout) when vdb(vout)=0 0 ^* n7 |) Q1 D* G1 f.measure ac gainmax MAX vdb(vout) # E8 j9 X. }2 o& v3 v' M.probe ac PM=par('vp(vout)+180') 4 ]. b5 O$ t' u- u; u.probe vdb(vout)) l) E! D2 G5 L @. W5 e
.probe vp(vout) 7 F1 _8 ~0 o& H5 C4 h, Y) d.temp 27, U2 J2 ?! W& u2 `
*** Slew Rate *** " R, |. U$ M4 _9 }( g: s' f" N.tran 1n 2u *100u 0 D9 q7 ^5 V9 B( N2 \! u% q6 A- X* g3 @*.measure tran UPSR DERIV v(vout) AT=0.5u 0 Q6 u3 d4 d! X5 G" @, k8 Q5 X5 s*.measure tran DNSR DERIV v(vout) AT=1.5u 4 u7 U+ t1 r: i' {5 l* M( q 5 s! j; h! Y7 d+ V.end作者: arsenal_he 時間: 2010-5-22 01:13 AM
You opamp is not rail2rail in or rail2rail out, and even for 1v application, still you need to decrease the vdsat of your current sources作者: e2000 時間: 2010-5-22 10:35 PM
看起來是你第二級那邊有問題,一般的摺疊疊接怎麼跑都沒有這問題 * U- m) q8 s4 l" a! P. U) r+ \不然試看看把把L調整一下,不知道你是不是因為要衝增益或是計算方便才把L調這麼大作者: dennishsu123 時間: 2010-5-24 02:22 PM
檢查一下bias ckt 的 vbiasp vbiasn 波形是否為一常數值作者: li202 時間: 2010-5-26 09:35 AM
VDD才1.2V, 0 G( D" a% ?( w1 _$ u" T) s輸出端又是class A, 怎麼能夠讓你跑rail to rail??7 _& }4 r# T$ p, y' ^* I
Vin能到0V也是大有問題,輸入端也不是rail to rail, 6 i2 t" W L5 W. `" cVin=1.2V的相位失真應該是在輸出端, 因為早就失去它飽和區的操作~~ ~. t/ }) a5 a2 |! W+ z1 s2 E5 _' xAC沒有問題是因為你的輸入偏壓點DC=0.6V,當然合乎她的工作範圍 3 Q7 B+ D8 P+ ]5 d5 {1 U4 ]用sweep的方式,DC=0~1.2V,你就會發現哪些偏壓點的相位失真了 ( \0 x1 j: b4 e. }3 a0 e& G! h V: I* @. V' ]
這是新新手常出現的問題作者: Bookert0921 時間: 2010-5-26 05:09 PM 本帖最後由 Bookert0921 於 2010-5-26 05:10 PM 編輯 6 v: L2 c! f. S4 b; c0 {! F
7 @2 I" T5 A, h. F我後來debug出來了,跟大家分享一下,以下先回應各位大哥的問題0 S+ q0 e W3 D
期望可以學習到更多的東西 ) }1 p: P$ n0 G1 |/ Y- ? ' f! ^" ~. Q$ h$ d& F回應阿森納大# {; w9 y- e- e6 I1 d: a
就算input不是rail to rail,其整體操作打0-VDD的方波在接成unity gain buffer還是可以達到應有的輸出 " U! x4 r3 K! f3 q7 t* o只是在那時並非操作在電晶體該存在的區域,所以速度會呈現像是e^-1次方緩慢成長而非線性增加 . r6 g6 a J8 a, y& P' W1 t+ o% D* l以下圖為例,是一個PMOS input的two stage OP % M! \8 l- _! s, _1 b[attach]9808[/attach] " O* d8 }& |; _& d, m. a+ j( }' U當Vin+端為VDD時,電晶體關掉,而Vout逐漸上升 & [: B* V/ F9 z7 M左邊Vin-那顆電晶體也逐漸關掉,但相較於右方輸入級接到的是絕對VDD的值 + [) V5 d+ i+ h* p左邊電晶體關掉但因為Vout還沒等於VDD所以subthrethold leakage會比右邊的大 7 A5 E0 B5 t+ s' z最後逐漸將他充到接近VDD而完成一次buffer的操作 $ y* r& b( z9 Q" o1 R1 J7 y! _8 g e, f2 F3 D( [ @. a9 Q7 b9 F: n
而輸出端是rail to rail吧!輸出為零時把下方NMOS壓到triode region輸出VDD時電流源自己triode% Z# P& e9 ?/ @7 w5 [, H
我之前在模擬一般的two stage OP和gain boosting OP時打方波進去都是OK的 - [. _7 G& b2 Q6 I, K$ n. k7 C - j" H, j3 X! P' h. t1 z回應e2000大1 w- M) C: A; l; S7 w3 O: W
channel length是為了在低壓下實現出高增益的放大器 / }# L; ^2 t; Z& R/ Y主要是因為之後要做的DAC大概估了一下gain error導致的nonlinearity而算 4 V4 q! c6 s7 @7 X+ V速度上的考量是還好,重要的是精確,所以當時才會以length為1下去做設計作者: Bookert0921 時間: 2010-5-26 05:10 PM
回應li202大 0 O- d3 D9 i+ Z f( k; G輸出端肯定是可以跑0-VDD的,雖說是class A操作,在大信號的操作下1 V$ h/ n/ d* }7 \5 r
仍然有辦法把電流源hold住或者把它全部導到地 1 x9 b. F5 C; Z+ ]% [# Y而針對你所說input DC位準在1.2V下其他電晶體會跌出saturation ) F0 ^+ j0 @2 E5 P我有不太一樣的看法,一般來說NMOS input,在意的是common mode的下限 ! U$ g1 g" f% ~而PMOS要注意的是common mode的上限,對NMOS input而言8 T) `3 L- e6 F, M
只要操過那個點之後電路都會維持在saturation region( p! ~$ J+ f: H
而會改變的是電流源的drain端voltage,但那只會讓電流源更加的deep saturation; e$ q( k$ i4 x2 Z( P
所以應該不會造成其他電晶體跌出saturation外 * x: e7 n, ?7 a N* t( s" a而輸入端rail to rail我在前面回應過阿森納大,我認為輸入不是rail to rail沒關係 4 L+ `/ m) I2 F U若有rail to rail的方波打進來,接成unity gain buffer後只要輸出可以rail to rail即可呈現作者: Bookert0921 時間: 2010-5-26 05:11 PM
後來這個暫態的問題我自己的發現是因為folded cascode這個獨特的架構! z# h |, l. [4 G4 C: H9 D) m1 N
如同B. Razavi AIC的p.333和Martin的p.268,我把圖抓出來如下所式' W5 x: w+ L/ ~( [
當Iss>Ip時會潛在性的造成電路有不穩定的可能發生,我當初設計時有加入clamp transistor(圖上沒畫但code裡面有) ! Y1 |6 x9 K2 S {! n[attach]9810[/attach] + C( _- J- V. O' f但是因為folded那級的電流太小,以致於NMOS的drain端遭受很大的暫態, `* q% _: t" y4 m
所以我就加入.ic去看該點電壓在何時會導致不穩定,在將folded那一級的電流給加大 0 [% a' C4 _+ i2 j% l2 \$ ?如同書上所講,當Iss=Ip似乎是個比較好的設計,這是我這次學習到的教訓 - i4 o# Q/ h* O8 g4 x& r# l# t 6 T( E$ L' d( u4 F7 v' R# J如果覺得小弟哪邊觀念不對,希望大家不吝指正1 h$ a/ b" K' q3 j5 c6 L# F
電路設計就是需要被大家教訓一下,才會刻苦銘心 / d& s1 I3 F( t- z1 F% l以上,謝謝大家作者: semico_ljj 時間: 2010-5-27 10:08 AM 回復 17#Bookert0921 , ?4 I7 ~ e. y' d我觉得可能不是这个原因造成的!作者: chungming 時間: 2010-5-27 11:50 PM
your input command mode rage is 0 to Vdd - (Vsg1+Vdsat5)" E! e& h4 n* Z* `! l4 I4 J
output command mode range is Vdsat7 to VDD-Vdsat6+ g) y+ p0 o, c
' ?3 J3 P6 t9 ?/ ?6 Sif this opamp is connected as unit gain buffer,6 t: G7 S$ h! n
then the input & output command mode rage will be the same as vdsat7 to Vdd - (Vsg1+Vdsat5)3 ^" j( x3 e$ Z2 I0 N5 j" k) t- ^
7 L$ U) k0 P kdon't trust simulation too much !5 @3 f, j2 }+ S; v5 R' d7 \3 A
If you really want to design a real world opamp.作者: Bookert0921 時間: 2010-5-28 10:44 AM
謝謝chungming大的回應# b. P# m w8 i# l1 u e' o! Z
可以請問一下,考慮上述in/out common mode的情況下- l9 k* a; Y; }/ @3 b! c; m
接成UGB為何在模擬上仍可從follow input的方波從0-VDD作者: chungming 時間: 2010-6-5 11:38 PM
謝謝chungming大的回應 . g) s9 h H/ ?可以請問一下,考慮上述in/out common mode的情況下 ( A) r$ p. q2 \5 Z Z$ h接成UGB為何在模擬上仍可從foll ...% @7 k+ G& t# z( a
Bookert0921 發表於 2010-5-28 10:44 AM
B8 @, L& E5 a( v0 \! ]% i
8 q; F. }+ w* n6 y$ ^9 e
! S2 o) }* [; ?" o2 u+ P 呵呵~~~- J( z( h5 V# K, v1 m! B/ i
依我看你的輸出波形並不是從"0到VDD"都可以follow阿) q! g9 b2 E' t8 H1 D, R
下限沒到0阿 況且接近下限時訊號已經沒follow了' B+ o5 K! P) e& M
(拖著長長的尾巴要很長時間才接近0)6 I6 t' \0 {4 |/ y, g7 Z
並且接近VDD時 已經震盪了 ' V! m6 I. ]1 ^3 ^, T1 M怎麼會是有follow呢?作者: tain 時間: 2010-6-7 01:45 PM
DC bias上 + f# s- ~6 |1 h% T8 r
Id(M3) 要略大於 Id(M1)=Iss/2 是比較好的設計 + P8 T) O8 n6 L. O" s( z& w所以當Iss全數流至M1上時 & k- @( I9 m5 e! dM3也不至於完全關掉作者: Zuman 時間: 2010-6-8 09:27 PM
我的理解还是phase marge的原因,这种情况的发生是因为你是用线性区的mos做调零电阻,在扫输入电压的时候,在接近VDD的时候CC与RC(MOS电阻)形成的零点会飘,使得phase marge不够i。你把mos电阻换成普通电阻试试,应该不会有这种现象了~~