|
小弟我在模擬一個簡單MOS switch取樣電路的解析度時有一個疑問,
* j" q9 e: i1 V. B2 m以下是我的CODE:
- g8 v* O' V6 d& k4 Ivclk vclk gnd! pulse(0 1.2 0.125n 0 0 0.125n 0.25n)' ?8 n0 A( }% O3 D$ s+ X2 f! L
vclkb vclkb gnd! pulse(1.2 0 0.125n 0 0 0.125n 0.25n)6 {; w" N. l2 n. v) E4 }
vinp vinp gnd! sin(0.8165v 0.2835v 0.125g)
+ M( G/ K4 h% d- D4 wvinn vinn gnd! sin(0.8165v 0.2835v 0.125g 0 0 180)$ e( [( C K [; H- g0 R
.tran 0.25n 8.1875n- c& ]8 ?& |- H+ p( L, w
.fft v(voutp,voutn) start=0.1875n stop=8.1875n np=32 freq=0.125g
4 U; S3 }; U" d1 W" Z: F以上幾行,表示我的CLOCK=4G,) b1 X4 V* S M9 c% ^& N' ~
想請問各位前輩".tran 0.25n 8.1875n"這一行的取點間格對嗎?是0.25n嗎?,3 w, i. m5 M" d' }- [+ m2 ]2 U& [
那如果我取 ".tran 0.0001n 8.1875n" 又會有什麼影響?; n- |/ x+ e X2 G
我有爬文看過相關的討論,結果發現.tran的取點間格,都是為sampling time,但我這裡有了一個疑問了!為什麼?
" n: u' E' b3 @" @) l3 n以我的認知,m*Tin=n*Tsample這個規則是指做DFT的Data要符合,所以與transient分析無關,* o7 J+ U. ]% s2 E* [7 l! A% m, r
只要我.fft v(voutp,voutn) start=0.1875n stop=8.1875n np=32 freq=0.125g此行下的間格讓做DFT的DATA時間間格為0.25n0 J5 `$ G) }& S- w& t$ K
就好,但是我問過別人也看過其它討論,似乎得不到相關的答案," K0 l8 o0 h( P2 L' ^
當然,如果結果沒差,就沒差了,但是重點在於若此電路為一與時脈有關之電路,我發現.tran 0.25n 與.tran 0.0001n 將會有很大的差別,因為我去跑transient的結果發現,因為取點的關係,spice會將clock當做一有Tr與Tf斜斜上升的波,並非我原本設定的漂亮方波,& Z! E* }' M+ ]1 t
造成嚴重的distortion在clock-edge處發生!5 K% n: K4 z& n( e9 Q
我的問題是,做transient分析時,取點的間格大小不是不會影響電路嗎?只是取出此電路輸入一訊號後,在絕對時間的x(second)某點的值" `+ T- F. q* b" {9 w+ M; u
,所以只要我取到的絕對時間相同,那跟我取的間格不是無關了嗎?4 k5 K* r4 v* c2 q; o0 B% G
我有去做過與時脈無關之電路的模擬,的確與取點的間格無關,某點某時的電壓值是固定的,& I, B3 v: o/ L3 ]; L4 I: S' i" F
但...那與時脈有關的電路呢?% k6 j; C. x# \9 h; N3 ^2 J3 j. g+ v; j
我覺得spice-transient的運算似乎是把某時的時脈電壓取出,而在沒取到的點做一線性方程計算出值,再內差出所需DFT-DATA-TIME的值,再代入運算得頻譜,但!我的CLOCK並非如此糟!
4 v o @- D, ?: P% X! x8 T! K寫了一大堆..在於這個問題困擾了很久,所以才上來請教各位前輩,在此先再感謝!8 i$ J6 f- R/ M4 R5 p8 f# P( T
不知道以上所說對不對?
; p% T5 `# C! Q* R6 p" K/ A還有,若真的與transient分析取點間格無關,那我又要取多細呢?是否與我提供的時脈品質有關呢?+ y0 ^; R6 s5 ^) e- `" X
感謝!!!感恩!!!
( {9 X0 X+ q1 l0 j' U7 B. ^
% P, ?+ g6 Z# ~2 g J[ 本帖最後由 henry90176 於 2009-7-21 01:00 AM 編輯 ] |
|