【資料分享】SPICE電路仿真入門與提高(附80M經(jīng)典教程、論文、手冊與源代碼)【轉(zhuǎn)發(fā)】
2017-08-02 by:CAE仿真在線 來源:互聯(lián)網(wǎng)
SPICE是一種用于電路描述與仿真的語言,英文全稱Simulation program with integrated circuit emphasis。作為UC Berkeley在1969至1970年間成功開發(fā)的一個經(jīng)典項目(通用電路模擬仿真軟件),首先應(yīng)用在本科和研究生課程教學(xué)當(dāng)中,得到廣大師生和工程師的青睞,后來快速發(fā)展為工業(yè)界電路仿真的標(biāo)準(zhǔn)規(guī)范。
SPICE的成功得益于UC Berkeley之前開發(fā)的軟件CANCER ( Computer Analysis of Nonlinear Circuits, Excluding Radiation),它最初是作為Ronald A. Rohere教授的一個課程實踐項目,由研究生Laurence W. Nagel領(lǐng)導(dǎo)一個小組進行開發(fā)和改進,該項目得到Donald O. Pederson教授的高度重視,并建議Nagel以此為博士課題進行研究,這才有了SPICE的產(chǎn)生。
SPICE開發(fā)第一版和第二版基于Fortran語言,第三版是基于C語言,之后隨著商業(yè)軟件的參與,它又發(fā)展為多種版本,其中比較著名的有Synopsys公司的Hspice和Cadence公司的Pspice。更多關(guān)于SPICE的介紹可以參考Laurence W. Nagel博士的相關(guān)演講(見分享資料目錄:1 SPICE介紹)
下面結(jié)合個人學(xué)習(xí)SPICE的經(jīng)歷,給大家推薦一下入門和提高的資料。
入門部分:論文 + PPT + 教材
論文:In a Nutshell: How SPICE Works
作者:Colin Warwick博士,Agilent公司(現(xiàn)更名為Keysight)
點評:全文共3頁,用兩頁篇幅講了節(jié)點法和修改節(jié)點法,其中修改節(jié)點法是SPICE算法的核心,來龍去脈介紹的比較詳細;最后一頁簡要介紹了SPICE在瞬態(tài)分析和交流分析中的應(yīng)用,對于快速入門比較有用。
課件:Semiconductor Modelling in SPICE
作者:Paul D. Mitcheson教授,帝國理工大學(xué)
點評:課件主要分為兩大部分,一是SPICE算法和實現(xiàn)部分,主要介紹了線性電路/非線性電路的電路求解原理、數(shù)值仿真收斂問題,二是SPICE器件模型部分,介紹二極管、BJT、MOSFET等器件在不同狀態(tài)下的建模,課件簡明扼要,重點突出,有助于加深對SPICE軟件操作的理解。
教材:Fundamentals of Computer-Aided Circuit Simulation
作者:William J. McCalla博士 (@Hewlett-Packard)
點評:全書共八章,173頁,前五章將SPICE求解中用到的關(guān)鍵技術(shù)都進行了詳細的講解,例如修改節(jié)點法、線性/非線性方程求解、稀疏矩陣法、數(shù)值積分等;后三章是針對特定應(yīng)用的技術(shù)講解(靈敏度分析等),初學(xué)者可以跳過。
作者McCalla博士1972年畢業(yè)于UC Berkeley (SPICE出生地),之后在貝爾實驗室以及Signetics, Hewlett-Packard, Cadence以及Intel等眾多知名公司工作,1987年出版了該書,內(nèi)容條理清晰、知識全面,實為不可多得的電路仿真入門書籍。
提高部分:論文 + 手冊 + 代碼
UC Berkeley博士論文
【1】Nagel L W. SPICE2: A computer program to simulate semiconductor circuits. 1975.
【2】Quarles T L. Analysis of performance and convergence issues for circuit simulation. 1989.
點評:這兩篇博士論文分別凝聚著SPICE2和SPICE3的技術(shù)精華,其中Nagel實現(xiàn)了SPICE的“從無到有”,經(jīng)典技術(shù)包括改進的節(jié)點分析法(ModifiedNodal Analysis),稀疏矩陣解法(Sparse Matrix Solver),牛頓-拉夫遜迭代(Newton-Raphson Iteration),隱性數(shù)值積分(Implicit Numerical Integration),動態(tài)時間步控制(Dynamic Time Step Control),局部截斷誤差(LocalTruncation Error)等等;在此基礎(chǔ)之上,Quarles對SPICE進行了功能升級,從電路仿真速度、精度以及規(guī)模三個方面,對仿真性能、算法收斂以及程序架構(gòu)進行了優(yōu)化和改進,大大提升了SPICE用戶的體驗。
如果想深入學(xué)習(xí)SPICE,請將Nagel論文打印出來,然后畫上兩三天的時間仔細研讀,保證讀完后受益匪淺,再次進行SPICE仿真時,不再會對各種各樣的選項所困惑,反而會由衷贊嘆程序設(shè)計的巧妙。
SPICE編程手冊
【1】Cohen E. Program reference for SPICE2. 1976.
【2】Quarles T L. The SPICE3 implementation guide[M]. 1989.
點評:編程手冊更類似于程序注釋,但是描述更加系統(tǒng)規(guī)范。其中SPICE2編程手冊作者Cohen是個計算機高手,被Nagel稱為SPICE之“無名英雄”,經(jīng)典的SPICE2G6版就是在他手里完成的;后來由于C語言的流行,Quarles 被委以重任,將SPICE用C語言重寫,并且增加用戶界面,為軟件的商業(yè)化打下了堅實的基礎(chǔ)。
SPICE2是基于Fortran77語言開發(fā)的,總代碼接近兩萬行,感興趣的朋友可以看看代碼,看看手冊,學(xué)到真本領(lǐng)。對于SPICE3,如果編程基礎(chǔ)不堅實,那么大致瀏覽一下編程手冊就好,不要過于癡迷技術(shù)。
開源代碼:Fortran版本(SPICE2)+C版本(SPICE2, SPICE3)
點評:學(xué)習(xí)代碼的第一步是編譯并成功運行。計算機飛速發(fā)展了幾十年,操作系統(tǒng)也是換了一代又一代,當(dāng)年的代碼是否能在現(xiàn)有的環(huán)境下成功運行,這是一個挑戰(zhàn)。Linux環(huán)境下,基于C語言的SPICE代碼編譯應(yīng)該沒有太大問題,但是SPICE2的Fortran版本就不好說了,需要點經(jīng)驗和耐心,祝好運。
---------------申明--------------------
原創(chuàng)不易,歡迎分享,轉(zhuǎn)載請注明作者和出處:useful2you,有點小用吧
相關(guān)標(biāo)簽搜索:【資料分享】SPICE電路仿真入門與提高(附80M經(jīng)典教程、論文、手冊與源代碼)【轉(zhuǎn)發(fā)】 EDA培訓(xùn) EDA分析在線視頻教程 Cadence Allegro PSPICE OrCAD PCAD Protel Mentor Graphics Synopsys培訓(xùn)課程 Fluent、CFX流體分析 HFSS電磁分析