又是教材又是工業軟件的,我給你們講講大學的一個狠人_風聞
南天北斗-2020-09-16 23:19
【本文原標題為“又是教材又是工業軟件的,我給你們講講當年”,風聞社區進行了修改】
上世紀90年代末,南方某間剛剛升上一本的高校。當時正在申報211,後來評上了,也是排名比較靠後的一家。總之就是一間普通的高校。
主角是Z老師,當時50多歲。他是文革前的研究生,如果你查一下文革前全國招了多少研究生,就知道這是他的人生亮點之一。我們是電子系,但他並不是電子科班出身,學的是物理。研究生畢業後順理成章地在核工業基地幹了幾十年,直到軍隊要忍耐的年代才轉出來。到我們學校當老師的主要原因是學校離老家近。其實我們學校幾乎算是全國高校中離軍隊關係最遠的,不過類似經歷的老師也有好幾個,從一個側面反映出當年兩彈一星的投入有多大。除此之外也就平淡無奇了,50多歲混到教研室副主任,手下兩三個年輕老師,總之就是一個普通人。
電子行業有一個很著名的軟件叫SPICE,這是一個美國從70年代就開始搞的電路仿真軟件,仿真軟件是電子設計自動化系統(EDA)中最重要的模塊。而SPICE是現代幾乎所有電路(包括集成電路)仿真軟件的鼻祖。SPICE也是最早的開源軟件之一,由此派生出一堆叫xxSPICE的軟件,成為事實上的工業標準。
Z老師的高光時刻是在90年代初的時候自己寫了個類似SPICE的軟件。其實他並不是第一個這樣做的人。SPICE進入中國並不晚,但是最早的SPICE是FORTRAN語言開發的,跑在UNIX下。在Linux流行起來之前,普通高校如果不是計算機專業,很難找到UNIX的機器,所以有不少人移植或者仿寫SPICE。據Z老師自己講,他也是在某次學術交流活動中看到外地學校的一個老師擺攤賣一個移植的SPICE系統,能在PC上跑,不過那個老師已經對這個東西絕望了(原因下面講),於是Z老師出了個不大的價錢就連源碼一起買回來了。
SPICE不是開源的嗎?那是沒有互聯網的時代,信息不對稱呀。買回來的源碼也是FROTRAN的,但是會FORTRAN的人不多。於是Z老師一個人用Turbo C 2.0重新寫了一遍,期間攻克若干技術難題。總之,到我們大二上他的課的時候,Z老師的軟件已經是一個頗為穩定的產品,教了好幾屆的學生了。甚至有畢了業的師兄專門回來討這個軟件的。
理論上他只開了兩門課,電路仿真和數值算法。拿到課程表的時候我們還納悶,我們剛剛開始上電路分析,同時就上計算機仿真了?很快就發現我們低估他了,因為教電路和實驗的年輕老師,跟他是一個教研室的,更準確地説,都是他的手下。於是我們有一年半的時間就在他的控制之下了。後面的發展果然是非常震撼的。首先電路分析扔掉了大部分的計算,公式講到適合計算機算的地方為止,剩下交給計算機仿真。於是仿真課變成了電路分析的實驗課。後來講電子線路又拋棄了傳統的從二極管三極管一個一個器件來的講法,直接引入集成運算放大器!在傳統眼光看來,這是個未學走路先學跑的顛覆。
更狠的是後來的實驗課,進實驗室之前要拿他的仿真軟件跑一次,然後實驗的結果又要和仿真結果比較,不一致的話又要寫一堆分析。電路分析講電路模型,就是那個仿真軟件的原理;仿真課就是用這個仿真軟件去解題;那數值算法呢?講的是是這個仿真軟件的實現;再加上實際操作的實驗課。一魚多吃,前後一年半,卻讓你感覺只上了一門課。
作為學生大家都有點怕上他的這一系列的課。作業難要求高不説,最麻煩的是當時發的還是傳統教材,但是現在把原先的體系全部打散了,要查點東西就要幾本書來回翻。不過大家都覺得他的方法是對的,都知道這是技術發展的方向。後來的發展也證明了,他的教學方法大概領先其他國內高校5-10年。幾年後我在袋鼠國某top 2高校的時候,還特地留意了一下他們電路課的內容,除了仿真軟件變成公司捐贈的商業版pSPICE之外,其他內容基本一樣。而且他們還沒有講這些仿真是如何實現之類的細節。要知道袋鼠國當年搞出了電子行業另外一個神器級的EDA軟件PROTEL,還是有點實力的。
後來混得熟了,他也跟我們講了這個軟件的弱點和不足。從祖師爺SPICE起,這類仿真軟件都是建立在電路器件模型的基礎上的。但是這些模型都是理論模型,不是物理模型。換句話説,這些模型的參數是不能通過測量實際元器件的物理參數得到的。而要搭各種測試電路,測出一些中間參數再反推回去。電子元器件成千上萬種,每個型號測一次,那工作量不是一個人、一間學校能夠承擔的。所以這類軟件的賣點其實是豐富的元器件庫。最初搞這個的那位外校老師大概就是看到這點才放棄的。而他拿來改成教學軟件,算是給這個東西找了個應用。但是他的東西做得再好,也只能算計算機輔助教學,沒有元器件庫就成不了計算機輔助設計。那美國是怎麼解決這個問題的呢?美國是反過來的,因為SPICE是事實上的工業標準,所以半導體廠商出貨的時候,會自己測這些參數,向客户提供本元器件的SPICE仿真模型。
這些話直接澆滅了我們剛剛燃起的對EDA的熱情,簡直令人絕望。當時國內電子行業正是轉型期。一方面傳統的國營元器件廠紛紛關停並轉,另一方面國外元器件隨着來料加工如潮水般湧入,我們學校在南方,感受尤其明顯。最典型的例子就是我們教材上標的國標型號的元器件市場上根本沒有,你要反着查代換表,找到對應的國外型號,才有可能在本地市場買到。而通過各種渠道轉了不知多少手進來的國外元器件,自然是什麼資料數據都沒有的。在這種市場情況下,就是有錢有閒去搞元器件庫,也是不可能完成的任務。
工業軟件,首先要有工業,才會有軟件。
再後來Z老師圓滿完成了教學科研任務光榮退休。班上同學也都完成學業各奔東西。只是我們也保持了本系的光榮傳統——從來沒有本系畢業生通過考研考上本系研究生,這也許跟激進的教學方法有關,也許無關,不過沒人在乎。至於那個軟件,聽説後來還用了好幾屆,隨着Z老師的退休和DOS的消亡最終消失。
二十年過去了,中國電子工業早已今非昔比。突然又看到了連篇累牘的工業軟件卡脖子的宏論,我從舊書堆翻出當年的講義拍了幾張照片,就是為了回他們兩個字:呵呵。
工業軟件,已經有了工業,還怕沒軟件?



【注:這個仿真軟件並不支持畫電路圖,上面的電路圖是其他軟件畫的。這個軟件的輸入是文本格式的電路網絡表,需要人工根據電路圖寫電路網絡表。輸出是下面那樣的各種特性曲線。在DOS下面支持彩色圖形顯示】