|
小弟我在模擬一個簡單MOS switch取樣電路的解析度時有一個疑問,
* G; p/ y1 H, n# c" [) C3 R以下是我的CODE:$ z. ^9 d( ~' ^, [" c2 V- D5 ?
vclk vclk gnd! pulse(0 1.2 0.125n 0 0 0.125n 0.25n)
: r# A7 _6 z3 Y6 w* {8 o( {vclkb vclkb gnd! pulse(1.2 0 0.125n 0 0 0.125n 0.25n)- d3 F _4 a; @6 k
vinp vinp gnd! sin(0.8165v 0.2835v 0.125g)( U2 t8 O3 O: _! `* \6 I" p
vinn vinn gnd! sin(0.8165v 0.2835v 0.125g 0 0 180)
) E) }' f4 o' Y& ~* A& t& k.tran 0.25n 8.1875n
% q0 i; f9 d0 B' H, ^' E/ T.fft v(voutp,voutn) start=0.1875n stop=8.1875n np=32 freq=0.125g
' K: z! J+ @0 ~以上幾行,表示我的CLOCK=4G,9 x. E) q/ m, C5 K1 f$ Z
想請問各位前輩".tran 0.25n 8.1875n"這一行的取點間格對嗎?是0.25n嗎?,
0 g5 \4 l6 [' t c, E! e+ B那如果我取 ".tran 0.0001n 8.1875n" 又會有什麼影響?
, Q6 E; @- W2 s6 ^, R- v, K% M我有爬文看過相關的討論,結果發現.tran的取點間格,都是為sampling time,但我這裡有了一個疑問了!為什麼?8 z! t& W6 Q5 p' I' ~' J+ E+ r& S
以我的認知,m*Tin=n*Tsample這個規則是指做DFT的Data要符合,所以與transient分析無關,
! }7 Z" f0 [- O4 i6 V只要我.fft v(voutp,voutn) start=0.1875n stop=8.1875n np=32 freq=0.125g此行下的間格讓做DFT的DATA時間間格為0.25n8 u8 }! f, k y0 f
就好,但是我問過別人也看過其它討論,似乎得不到相關的答案,
0 ~* m9 x$ i$ u當然,如果結果沒差,就沒差了,但是重點在於若此電路為一與時脈有關之電路,我發現.tran 0.25n 與.tran 0.0001n 將會有很大的差別,因為我去跑transient的結果發現,因為取點的關係,spice會將clock當做一有Tr與Tf斜斜上升的波,並非我原本設定的漂亮方波,$ S3 Z& K m: ^$ R+ y
造成嚴重的distortion在clock-edge處發生!
- d/ K1 {) O% L8 G我的問題是,做transient分析時,取點的間格大小不是不會影響電路嗎?只是取出此電路輸入一訊號後,在絕對時間的x(second)某點的值3 u2 d' m: a- x: [) q
,所以只要我取到的絕對時間相同,那跟我取的間格不是無關了嗎?
9 L/ j& \9 s0 i8 c0 m我有去做過與時脈無關之電路的模擬,的確與取點的間格無關,某點某時的電壓值是固定的,
3 C7 n. h+ W. u: u5 s/ i0 [; ?但...那與時脈有關的電路呢?3 v; z' ?& a7 f2 z/ X
我覺得spice-transient的運算似乎是把某時的時脈電壓取出,而在沒取到的點做一線性方程計算出值,再內差出所需DFT-DATA-TIME的值,再代入運算得頻譜,但!我的CLOCK並非如此糟!; q$ j3 o$ v- U# M! k+ \
寫了一大堆..在於這個問題困擾了很久,所以才上來請教各位前輩,在此先再感謝!6 A* M- {. w& ~, C* h
不知道以上所說對不對?. B6 m% z. N& r; }
還有,若真的與transient分析取點間格無關,那我又要取多細呢?是否與我提供的時脈品質有關呢?
4 F7 P4 t4 _2 h0 h- ~6 Q& K感謝!!!感恩!!!
9 k$ X( g! i9 J7 U. ]5 _9 V; r" j; a0 d( U" x+ Z9 `& f t1 F
[ 本帖最後由 henry90176 於 2009-7-21 01:00 AM 編輯 ] |
|