天天看點

工程領域學者的成名,需對工業屆有所貢獻(SPICE與Don Pederson)

工程學科的著名教授,其“青史留名”,不在于他發表了多少論文,更重要在于其為工業界的直接貢獻。本人在2013年8月也在新浪微網誌上發表過“工科學者有所成”的說法。現用國外著名教授Spice之父Don Pederson教授的例子說明。

工程領域學者的成名,需對工業屆有所貢獻(SPICE與Don Pederson)

圖1:工程領域的有所成“意味着你的研究成果被工業界所使用,而且社會公認這個是你的研究成果”

SPICE之父DonPederson

本文主要引子Department of EECS, University ofCalifornia, Berkeley的Andrei Vladimirescu教授為A SHORT HISTORY OF CIRCUITS AND SYSTEMS撰寫的文章,該書由我的學生翻譯,即将由清華大學出版社出版1960年代初,矽內建電路(IC)的發明,與原有的由分立元件組成的印刷電路闆(PCB)電路不同,人們迫切需要新的設計方法。PCB闆的電路系統,可以用實驗闆測量檢驗、可以通過試錯來校正。然而,對于內建電路若設計出的電路沒有達到最初的目标,那麼它需要重新加工制造才可以修正錯誤。制造過程需要經過很多道工序。而那些無法工作的矽片會被扔掉,這白白增加了成本,延長了IC的上市時間。

工業界的需求:迫切需要一種新的方法來得到首次流片即能工作的矽片。

基礎條件:人們認識到,求解大規模半導體組成的電子電路的數學方程,可以在計算機的輔助下解決。當時強大的科學計算機——如控制資料公司(CDC,Control-Data Corporation)的6600,已經有能力求解那些IC方程。在這些因素的共同推動下,世界上的許多實驗室都開始嘗試開發這樣的計算機程式。

加州大學伯克利分校(University of California at Berkeley)的Don Pederson在1962年就認識到了IC将會對世界産生的巨大影響,他首先在大學中建造了第一個半導體制造工廠;他也看到了計算機輔助設計的需求。在Don的支援下,在1969-70年,青年教授Ron Rohrer在研究所學生班中組織了一個有關計算機輔助設計(CAD,Computer-Aided Design)的班級課題。這個項目的目标是“開發出最好的內建電路仿真程式”。該程式需要實作的主要任務是快速獲得模拟內建電路的直流工作點;在早期的半導體工業中,線性雙極型IC——例如運算放大器,扮演了十分關鍵的角色,而運算放大器的性能的發揮完全有賴于正确的偏置。

班上的學生們編寫的不同代碼被Larry Nagel整合成了單一的、完整的程式,名為CANCER(Computer-Aided Nonlinear Circuit analysis ExcludingRadiation)[1],它能夠進行直流(DC)、交流(AC)以及時域瞬态分析。當然,當時的CANCER并不完善,存在一些問題;首先,它有一個不讨人喜歡的名字,此外,更重要的一點是,它是一個專有(proprietary)的程式。這一點是與Don Pederson的思想相悖的。Don Pederson始終秉持這樣的信條:大學的研究應當是公開的,應當有助于科學的進步。經過進一步的研究改進之後,一個擁有新的名字的仿真器——SPICE産生了。SPICE1于1971年秋首次公開釋出。在四十多年後的今天,在一塊晶片上已經能內建數十億個半導體的今天,市面上已經有了各種各樣的商業版本和公開發行版本的SPICE;SPICE也已經演變成了IC設計的标準,用在了所有的半導體級電路的設計中。

SPICE1以電路描述語言為起點,帶來了一系列的創新,如今,這種語言在不同的IC CAD工具中事實上隻是形式上有變化而已;此外,它還包含了很多算法創新,如關聯矩陣電路表示、節點-基準電壓(node-to-datum voltage)解決方案、稀疏矩陣算法、Newton-Raphson疊代和隐式數值積分等。這一系列算法統稱為直接解法(direct-methods solution)[2]。

SPICE1的使用者為UC Berkeley所有電路課的學生,以及一些來自産業界的“友好的”設計人員。他們給出了很多非常有價值的回報,指出了第一版的SPICE的缺點。其中最重要的幾個缺點與編譯時聲明的元件數量、電壓源接地限制(節點-基準電壓方程)和固定時間-步長積分等問題有關。

以上的這些缺點促使人們進行更進一步的研究,并于1975年首次釋出了SPICE2。早期的SPICE 2A和2B兩個版本隻解決了後兩個問題——節點-基準電壓方程被替換成了改進節點分析(MNA,Modified-Nodal Analysis),此外,程式中還加入了一個可變時間-步長的算法 [3];而元件數量限制直到1976年才由Ellis Cohen在SPICE 2D中解決;Ellis重新建構了資料結構,并用Fortran寫了一個記憶體管理包,它不需要依賴于各種元件(如半導體、電阻、電容)的數量,就能将計算機的可用記憶體配置設定給電路。

到此,SPICE2已經具備了廣泛應用的條件,而且UC Berkeley的電子研究實驗室(ERL,Electronics Research Laboratory)的準備工作也已經到位,他們把這個程式包括源代碼和文檔釋出出去,給任何感興趣者。

然而,在産業界這一程式并沒有獲得一緻的認可;實際上仍存在着一大批懷疑者,他們以Bob Pease為首——Bob Pease在《電子設計》(Electronic Design)雜志上開有一個專欄,題為“這個辛辣(spice)的東西到底是個什麼玩意兒?(What’sAll This SPICEY Stuff, Anyhow?)”,并寫道,“沒有什麼事情是SPICE能做到而我不能手工做到的”。對于一項颠覆性的技術來說,隻有人類自己才是技術可能遇到的阻力;不過,随着IC複雜度的提升,該技術的使用者越來越多,到了70年代末,絕大部分半導體公司都已經用上了SPICE。

随着該程式在産業界的廣泛使用,對其進行進一步改進和補充也提上了日程;Don Pederson把這個挑戰交給了Andrei Vladimirescu。要解決的關鍵問題是所得結果的魯棒性,而它由牛頓疊代算法的收斂性與否決定。SPICE的2F和2G版本對算法進行了一些改良,如基于實際電導值的電路矩陣重排序(旋轉)、工作點(operating point)解的連續方法(continuation methods)、來自于牛頓疊代法的個性化器件(device-specific)限流算法等。SPICE 2G6 [4]在1980年釋出,并由UC Berkeley免費分發,可以說,它是由大學開發的、最強大(robust)的軟體。SPICE 2G6強大的産業實力是當時剛剛開始的HSPICE項目的基礎,而HSPICE今天已經成為了商業SPICE仿真器的市場上司者。

像惠普(Hewlett Packard)、模拟器件公司(Analog Devices)、泰克(Tektronix)、德州儀器(Texas Instruments)等大公司紛紛組建了它們自己的CAD部門,招攬了如DickDowell、Steve Hamm、Graham Boyle和Burt Epler等SPICE專家,在這些專家的幫助下将Berkeley的程式改編,以滿足它們自己的具體需求。從70年代後期到80年代初期的近十年的時間裡,Berkeley與産業界的SPICE專家們之間的交流是持續而開放的,後者提供關于錯誤修複和改進的回報,而前者将這些回報應用于後來釋出的版本中。這是一個大學與産業界協作的獨特案例,這樣的合作使整個半導體領域受益匪淺。

圖2 唐·佩德森(Don Pederson)

20世紀70年代末,UC Berkeley釋出了伯克利标準發行(BSD,Berkeley Standard Distribution)Unix作業系統——一個從Bell實驗室發明的Unix系統衍生而來的作業系統。與Unix密切相關的C語言,提供了應用程式與裝置的互動。Tom Quarles着手進行了SPICE2的重構,并将它的資料結構從Fortran轉換為了C;SPICE3于1983年釋出,它是一個具有圖形功能的互動式程式。人們對SPICE3的改進與補充一直在進行着,直到1993年UC Berkeley釋出了它的最後一個版本SPICE 3f5——它的求解算法已經完全成熟了,人們無法想象還有什麼進一步的研究項目可以進行。

1998年,由于在SPICE項目中扮演了最重要的角色,以及SPICE已經在事實上被采用為了IC設計的标準,Don Pederson被授予了IEEE金獎(Gold Medal);同時,他也正式獲得了“SPICE之父”的頭銜。

原文釋出時間為:2018-06-11

本文作者:王志華

本文來自雲栖社群合作夥伴“

半導體行業觀察

”,了解相關資訊可以關注“

”。

繼續閱讀