推 kkooff:推薦這篇 ^^ 03/31 22:27
推 NovemberRain:原來不收斂原因是這樣,又上了一課。多謝~ 04/01 03:49
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 70.141.220.11
> -------------------------------------------------------------------------- <
作者: ihlin () 看板: comm_and_RF
標題: [轉錄]Re: [問題] 請問關於hspice出現的錯誤
時間: Tue Apr 4 04:30:42 2006
※ [本文轉錄自 Electronics 看板]
作者: pow (體脂肪35%) 看板: Electronics
標題: Re: [問題] 請問關於hspice出現的錯誤
時間: Sat Apr 1 06:21:24 2006
※ 引述《chenchenkuo.bbs@bbs.badcow.com.tw (Casey)》之銘言:
: ※ 引述《pow.bbs@ptt.cc (體脂肪35%)》之銘言:
: : 解決方法:使用Spectre
: : 還不行的話
: : 在Spectre選Transient analysis那邊有一個Advanced設定 進去裡面有一個Gear2
: : 選了再跑一次
: : 再不行的話....
: : 再波出來討論看看
: : SPICE跑模擬的方法簡述如下:
: : 1. 想像你有一個曲線f(t)
: : 從這一個時間點 f(t0) 然後去猜f(t1)的值
: : 假設t1-t0很小
: : 你可以用f'(t0)或f'(t1)的斜率去投影(有點向牛頓法)
: : 2. 投影之後得到的f*(t1)一定不是真正的f(t1)
: : 還要再固定時間點做iteration
: : 然後才會得到真正的f(t1)
: : 4.可是如果f*(t1)跟f(t1)差太多了
: : 或者沒有辦法收斂(例如你的電路剛好在那時候有一個很大的變化)
: : 那他就會自動把time step切一半
: : 取消一開始的投影 變成只投影到f*((t0+t1)/2)
: : 然後再固定時間點做iteration
: : 5.如果又不行
: : 就再把時間點切一半
: : 直到達到系統極限...
: : 所以你會得到訊息說「time step太小,模擬失敗」
: : 這跟你設定的time step應該是不一樣的東西
: : 解決的方法第一個是改善那個投影的方法
: : 要不然的話換個版本的SPICE也有可能會收斂得比較好
: 請問你所指的Gear2
: 主要是有什麼用途?
上文我講到用斜率f'(t0)或f'(t1)配合time step投影到下一個f(t)
其實用f'(t0)叫forward euler
用f'(t1)叫backward euler
還有一招叫trapezoidal 是用(f'(t0)+f'(t1))/2
這些都是為了一個目的-投影之後的error小一點&收斂好一點
看到這邊大家就知道了
可以找到一個general case
就是用a*f'(t0)+b*f'(t1) 不同的方法只是帶入不同的a、b
當然 要在更general的也是有
就是把過去幾步的斜率f'(t_-1)、f'(t_-2)....都記錄下來
然後再做weighting
要更複雜的也有 就是f''(tn)、f'''(tn)都拿來用
不過電路的特性是隱藏著exponential在裡面的(DIODE,TRANSISTOR)
而使用很多過去的資訊 ᆱ嵿擠衒N來的資訊有點像是polynomial
要用polynomial泰勒展開一個exponential ᆱ蚺@定會有極限
那就是SIMULATOR的誤差
然後解答您的疑問 - gear2是什麼
就是比trapezoidal更複雜一點的投影方法
查閱SpectreRF的 User Guide
「euler is backward Euler.
trap is the backward Euler and trapezoidal methods.
traponly is the trapezoidal rule only.
gear2 is the backward Euler and second-order Gear methods.
gear2only is Gear’s second-order backward difference method only.」
: Spectre的spice model是跟HSPICE一樣
: 不過我拿來跑PLL
: output response有點差異耶
: 畢竟這是fast spice
: 不過我比較好奇是不是在設定上可以讓他可以跟HSPICE結果更接近?
: 我查過document&自己摸了很久
: 似乎找不出更好的solutions
: 話說以前用Nanosim也是如此說
: 儘管精準度調很高了=.=
Spectre的精準度比較高吧....
如果你把error preset設成conservative加上gear2 only
noise floor號稱有-200dMdB
應該是慶菜就八過HSPICE了吧
HSPICE是用來模擬DIGITAL CIRCUIT,有很多TRANSISTOR比較快而已
應該沒人拿來模擬ANALOG CIRCUIT的吧
光看Spectre的選項比HSPICE多幾倍就知道拉:p
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 24.211.186.84
推 TEMmode:原來是這麼一回事~~太強了@@ 04/01 15:12
→ duffrose:hspice 應該是跑analog的標準模擬器,他跑不動很多MOS的 04/03 16:21
→ duffrose:電路才是,作者是否筆誤呢?fast spice才能吃很多MOS來跑 04/03 16:22
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 70.141.220.11