又是教材又是工业软件的,我给你们讲讲大学的一个狠人
【本文原标题为“又是教材又是工业软件的,我给你们讲讲当年”,风闻社区进行了修改】
上世纪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下面支持彩色图形显示】