如何基於模型修正技術提高 SPICE 模擬精度?
本問題已收錄進圓桌:動態 - 將科學研究進行到底
更多討論歡迎關注: )
SPICE是一種電路模擬程序,通常被用來模擬或者設計電子系統,比如IC、模擬電路、電源電路等領域。因為SPICE是一種
完全開放的程序,使用者可以隨意修改,以達到自己的使用目的。所以才有可能通過改變模型來提高SPICE的模擬精度。提高模擬精度意味著提高分析結果的可靠程度,但模型的精度越高,模型本身也就越複雜,所以提高SPICE模擬精度一直都是個充滿挑戰的課題。
從專業的角度來講,SoC晶元通常包括數字電路和模擬電路兩部分,其中數字部分已經能夠在成熟的EDA工具幫助下快速實現,模擬部分卻由於缺乏快速可靠的綜合優化工具,只能依賴SPICE等模擬軟體人工設計完成.因此,在SoC晶元中占很少部分的模擬電路設計常常會消耗掉整個設計周期的大部分時間,模擬電路設計優化成為混合信號系統設計的瓶頸.
由於模擬電路模塊的多樣性,目前主流的優化設計思想是根據設計指標在選定的電路拓撲結構下優化設計參數.這類方法通常包括2個主要模塊:電路性能評估模型及數學優化引擎模塊.前者在優化過程中對當前設計參數下的電路性能指標進行計算評估;後者根據評估結果自動搜索設計參數的調整方向以優化電路性能.根據電路性能評估模型的不同,模擬電路優化方法可以分為兩大類:基於公式的優化方法,基於模擬的優化方法.基於公式的優化方法採用簡單的公式模型來評估電路的性能,例如單位增益帶寬就可以近似地表示為設計參數(如晶體管溝道寬度 W、有效溝道長度L、偏置電流Ibias等)的顯式表達式:GBW=f(W,L,Ibias,…).這類方法所採用的性能評估模型較為簡單,且易於進行數學分析和優化引擎開發,因此具有很高的計算效率.如典型的幾何規劃(geometric programming,GP)類方法將模擬電路設計的性能指標近似表示為關於設計參數的正項式函數形式,再採用GP進行設計參數優化,能夠在很短的計算時間內得到全局優化結果.然而,由於公式模型對具有複雜工作原理的電路元器件進行了大量的簡化和近似處理,難以精確地描述電路行為,使得基於公式的優化方法難以滿足實際電路設計所需的精度.
基於模擬的優化方法通過完整的SPICE模擬對電路性能進行評估,並利用模擬退火、進化等演算法優化設計參數.這類方法能夠得到滿足SPICE模擬精度的優化結果,但需要進行大量的SPICE模擬,計算機運算負擔極大;並且由於優化引擎的限制,通常無法保證能夠找到全局最優解.如典型的DELIGHT.SPICE工具就是直接將 SPICE 模擬器嵌入到通用優化引擎 DELIGHT 中進行設計參數優化的,該工具在優化迭代的每一步需要進行完整的SPICE模擬,並且只能找到局部最優點.Anaconda雖然在理論上能夠保證得到全局最優,但實際設計中每個電路需5×104~105 次完整的SPICE模擬,其計算負擔令人難以接受.
為了解決公式優化法與模擬優化法無法同時兼顧求解精度和計算效率的問題,則需要將這2類優化方法相結合,需要基於模型修正的幾何規劃(model-revised geometric programming,MRGP)優化方法.MRGP方法認為設計參數空間任一點處較小鄰域內的 SPICE模擬結果是GP正項式模型的函數,且數值實驗表明這一函數採用一階線性函數逼近即可達到很高的逼近精度.因此在每一步採用GP進行設計參數優化後,MRGP都調用一次SPICE模擬對GP所採用的正項式模型進行修正,通過迭代地重複這種「優化設計—模型修正」的過程,MRGP方法將最終收斂於一個滿足SPICE模擬精度的最優設計點.由此可見,MRGP 方法在保持了傳統GP方法高效特性的前提下,最終能夠得到滿足SPICE模擬精度的優化結果.
《基於模型修正技術的模擬集成電路幾何規劃優化方法》(《計算機輔助設計與圖形學學報》)
綜上,望能給各位研究SPICE 同僚們帶來幫助。
推薦閱讀:
※為什麼電流鏡結構的 cmos 電路所在支路電流一樣,而不管電流輸出負載?
※為什麼CPU介面幾乎一年一換,而不像PCI / PCI-E這樣上下兼容著發展?
※學哪些書才能自己設計製作單片機開發板?
※晶元設計工程師們,你們覺得代工廠提供SPICE Model有用嗎?