研究生交作业:硅谷最早的集成电路模拟设计诞生记
故事发生于硅谷,首先便简单聊聊硅谷。
肖克利及硅谷的故事说起来一箩筐,写成书也是一大叠,只好就此打住,只说说与他紧密相关的“仙童公司”(Fairchild Semiconductor)(也有将其译为“飞兆”,“快捷”的,笔者以为,仙童与Fairchild最符合)。
话说肖克利到了西海岸之后,凭着他的显赫名声和学术能力,找资金不难,跟随的粉丝无数,因此,很快就建立了肖克莱实验室股份有限公司,招揽到不少人才,很多都是30岁以下的青年才俊。来自于通用电气、福特等大公司,以及加州理工、剑桥、斯坦福等名校。
但是由于某些原因,实验室运作得并不理想。例如,肖克利是学术天才但管理能力低下,他性格有点古怪难以与人相处,特别是他反对研制集成电路,使得下属精英们十分不满,造成手下的“八大金刚”集体叛变。于1958年左右,八个人几乎同时从肖克利实验室辞职,重新寻找资金另起炉灶,成立了一个“仙童半导体公司”。
在八个“仙童”的努力下,“仙童半导体”一度成长为世界上最大的半导体生产企业。特别是八仙童之首诺伊斯,与德克萨斯仪器公司(TI)的工程师杰克·基尔比(J.kilby),在1958年同时研发成功集成电路。因此,诺伊斯和基尔比共同被誉为集成电路的发明人。最后,仙童公司率先提出了商业化生产集成电路的方法,开发了第一个商用集成电路,这为硅谷的成长,有不可磨灭的功劳。
不过,辉煌了10年之后,八大金刚几个灵魂人物相继离开仙童,出去开辟新天地去了,正如乔布斯所说,仙童半导体公司就像一株成熟了的蒲公英,风一吹,创业精神的种子就飞扬到各处。人才飞走了,曾经使得仙童公司一度陷于低谷。
比如诺伊斯,与另一个仙童摩尔(摩尔定律的发现者),于1968年合作创建了著名的英特尔,此是后话不表。
闲话少说,言归正传。当年八大金刚在仙童做的集成电路开发,是硬件。当集成电路已开启电子工业快速发展大门之时,软件专家们却因为“英雄暂无用武之地”而卧藏隆中默默无闻。
不过,科学技术中总有一些眼光远大的先行者,能够透过迷雾看到契机。我们此篇故事的几位主角便属于此类精英。
集成电路的发明促成了电子设计自动化(EDA)技术的诞生。在那之前,设计电子线路是用手工计算的。随着线路的复杂化,自然有了由计算机帮助设计的需求,手工计算也越来越不可能进行。到了现在集成度惊人的,设计工作复杂得难以想象,唯有依赖计算机的辅助,其它方法都望尘莫及。
例如,IBM最新推出的2纳米芯片,在150平方毫米(指甲大小)的面积内,有500亿颗晶体管。对如此巨大集成度的线路,没有软件工具怎么去设计?因此,EDA对芯片行业的重要性毋庸置疑。
总的来说,电路分为数字电路和模拟电路,数字电路处理数字信号,模拟电路处理模拟信号,前者数量巨大,后者功能复杂,两类信号的EDA分析方法有其完全不同的难度,本文只涉及模拟电路EDA,更具体地说,是EDA模拟最早的前身SPICE仿真器。
模拟及数字,两种信号之差别如下图所示。模拟信号在信号大小和时间上都是连续变化的,数值信号的信号值只能取某几个数值,时间上也可能不连续。
图3:模拟信号和数字信号
罗纳德·罗勒(Ronald Rohrer)是加州大学伯克利分校的一名教授,计算机专家。他在毕业于MIT之后,又获得了伯克利的博士。硅谷的大学与工业界联系极为密切,这是几十年的传统和风格。因此,罗勒充分利用这个机会,往返于伯克利大学和仙童半导体公司之间。
仙童公司有了集成电路之后,产品结构越来越精细,线路越来越复杂,自然而然地产生了用计算机辅助设计(CAD)的需求。罗勒看到了这一点,于是便利用在仙童工作的机会,帮助他们模拟一些早期的集成电路,开发了电路分析软件:FairCirc(跟随“仙童”之意,可翻译为“仙路”)。
然而,罗勒仍然同时在UCB教一门关于《电路分析》的研究生课程。两件事情凑在一块儿,让罗勒忙得不可开交。最后,他想了一个好办法,反正都是分析电路,也许这正是一个让学生参与工业界活动的好机会!
于是,他告诉全班(七位)同学“你们这门课的任务是编写一个电路模拟程序。如果你们共同创造了世界上最好的电路模拟器,我会给你们所有同学'A’,否则……”罗勒用一句玩笑语结束了这堂课。罗勒当时还有些工业界的事务需要处理,所以他委托电机工程系的Don Peterson教授代为审核该课程的最后报告。
所以,SPICE的诞生主要与伯克利电机工程与计算机科学系的三个人物有关:Ron Rohrer教授、Don Peterson教授、还有一位当时还是学生的、被七位同学推举出来整理课堂报告的Larry Nagel。
图4:SPICE的先驱者
后来的结果证明,几位学生为完成这门课程而开发的仿真程序有不少优越之处,其中最突出的是解稀疏(sparse)矩阵的模块。它使得电路计算的复杂度大大降低,电路分析程序才得以在当时的计算速度下成功地运行!此外,还有在程序里加入了自带半导体器件模型等优点。
在最初开发SPICE时,UCB的学生只能有限地使用当时世界上功能第二强大的计算机。这是一台价值600万美元的机器,以10MHz的速度运行,内存也很少,因而,稀疏矩阵方法是成功计算的关键。
电路分析的理论并不复杂,不过是求解由电压和电流所遵循的基尔霍夫定律导出的矩阵方程,求解过程中最花时间的运算是矩阵求逆。一般而言,这个过程的复杂度是O(n3),也就是说,与电路中节点数n的立方成正比。
因此,当电路中节点数n增加到原来的2倍时,计算时间会增加到原来的8倍。当电路复杂节点数很大时,花费的时间便很可观。
矩阵求逆中包括的计算主要是矩阵元之间的乘法运算。然而,当我们仔细研究实际电路所对应的矩阵,发现其中的大多数矩阵元都是0,即所谓的稀疏矩阵。谁都知道,0乘以任何数的结果都是0!让计算机做这种0*0=0的乘法,不是没事儿找事吗?显然是在浪费机器的时间,因此,利用某种算法来删去这类乘法,便能大大地节约计算时间。并且,既然是0,也没有必要存储它们,也就节约了存储器及存储的时间。
电路对应的矩阵为稀疏的本质原因,是因为在实际电路中,每个元件只与少数几个元件相接,大多数的两个节点之间并没有直接的连接关系。
最后,这门《电路分析》课程胜利结束,同学们都通过了,皆大欢喜!因为当Larry Nagel为代表,负责将结果汇报给Peterson教授时,得到了教授的认可和好评。
但可笑的是,这个仿真器当时有一个令人避之不及的讨厌名字:CANCER。是一个长长名字的缩写:ComputerAnalysis of Nonlinear Circuits, Excluding Radiation。无论如何,几位研究生中贡献最大,也最有收获的是Nagel,因为CANCER成了他的硕士论文课题。
后来,三人中的Rohrer教授离开了伯克利到工业界去发展。Nagel则成为了Peterson教授的博士生,两人继续改进这个模拟仿真器,并且给它取了一个朗朗上口的好听名字SPICE(SimulationProgram with Integrated Circuit Emphasis),人们便将SPICE的生日定在了1971年。
半个世纪过去了,作为最早的EDA仿真器,它的各种版本,一直沿用至今,今天仍然是最重要的软件之一。可以说,没有当年的SPICE,就没有电子设计自动化这个产业,也就没有今天的半导体工业。即使现在,SPICE还一直在继续发展,至少在两个方向上:一个是越来越多的器件模型(二极管、晶体管、MOSFET等),另一个是SPICE的商业化程序。
SPICE是免费开源代码的先驱,这对它的成功非常关键。当年的SPICE成为UCB(伯克利)所有EE学生的学习工具,因此当他们去工业界工作,或者去其它学校参加研讨会时,他们随身携带SPICE。
那时候,学生变成了老师,在其他地方教人使用SPICE,使得其用户呈指数增长。同时也建立了一群了解熟悉SPICE程序的人,得到不少学生的免费劳动力,为继续发展和改进SPICE发挥了重要作用。
虽然是免费开源,但伯克利大学在经济上也没吃亏。它用SPICE帮助数字设备公司(DEC)卖出了1000多台VAX机器,因此电子系得到该公司1800万美元的捐赠款,这在当时不是个小数目。
免费开源到一定的程度,就总会有人将其商业化,EDA行业就是在这种此起彼伏自由竞争的环境中壮大成长起来,当然,最大最根本的推动力还是芯片事业的崛起而带来的各种设计工具的需求。
将SPICE商业化的成功例子有好几个。例如来自 Meta-Software的HSPICE、来自Cadence的Spectre和来自Mentor Graphics的Eldo。Meta-Software后来被Avant! 收购,就是我们在此前“谍战”文章中所介绍的华人徐建国所在的阿凡提。
这个公司(Avant!)收购Meta-Software后,又为HSPICE之事卷入与另一个公司的官司。大概那时正在与Cadence打官司的过程中,阿凡提公司顾大不顾小,竟然因没人出庭而赔了对方2000万!不管怎么样,阿凡提后来被Synopsys收购,所以,HSPICE现在是Synopsys的产品。
Cadence的Spectre命运如何呢?且听下回分解。
注:本文首发于公众号天舸,赛先生经授权转载。