芯片设计必不可少的SPICE科普

2021-06-22 14:00:16 来源: 半导体行业观察

来源:内容由半导体行业观察(ID:icbank)转载自公众号「芯思想」,作者: 赵元闯, 谢谢。


2011 2 20 日, SPICE Circuit Simulation Program 获颁 IEEE 里程碑( IEEE Milestone )牌匾,以表彰其对集成电路设计所做出的贡献。
该牌匾放在美国加州大学伯克利分校电气工程大楼( Cory Hall )正门口,因为SPICE的三个版本都是 Cory Hall 大楼内开发完成的。牌匾上刻文:
SPICE S imulation P rogram with I ntegrated C ircuit E mphasis )于 1969-1970 年作为班级项目在加州大学伯克利分校创建。它发展成为全球标准的集成电路仿真器。 SPICE 已被用于对学生在电路仿真复杂性方面进行培训。 SPICE 及其衍生产品已成为几乎所有集成电路设计人员都采用的必不可少的工具。
SPICE (Simulation Program with Integrated Circuit Emphasis) was created at UC Berkeley as a class project in 1969-1970. It evolved to become the worldwide standard integrated circuit simulator. SPICE has been used to train many students in the intricacies of circuit simulation. SPICE and its descendants have become essential tools employed by virtually all integrated circuit designers.

SPICE 的诞生
SPICE Simulation Program with Integrated Circuits Emphasis 的缩写,由加州大学伯克利分校( UCBerkeley )的电工和计算机科学系开发,骨干是 Ronald A. Rohrer Laurence Nagel ,开始是使用 FORTRAN 语言设计的仿真软件,用于快速可靠地验证集成电路中的电路设计以及预测电路的性能,是一种功能强大的通用电路级模拟仿真器,主要用于集成电路的电路分析, SPICE 的网表格式变成了通常模拟电路和晶体管级电路描述的标准。
1970 年。当时 Ronald A. Rohrer 刚刚从仙童半导体( Fairchild )返回加州大学伯克利分校,担任电机工程与计算机科学系的教授。
由于刚回到学校, Ronald A. Rohrer 教授在给七个研究生上“电路综合”课时没来得及准备教材,所以,在第一堂课,他就宣布:学生们一起写一个电路仿真程序。
Ronald A. Rohrer 跟系里的管教学的主任 Donald O. Peterson 教授达成一个协议:只要 Peterson 教授认可学生们写的仿真程序,他们就全部通过。否则的话,他们就全部不及格。
当课程结束,大学一致推举 Laurence Nagel 为代表向 Peterson 教授汇报成果,这个成果就是 CANCER ComputerAnalysis of Nonlinear Circuits, Excluding Radiation 不包括辐射的非线性电路计算机分析), Peterson 教授给予了认可。
1971 年秋, CANCER 更名为 SPICE ,并发送给友好用户( friendly users ); 1973 4 12 日, Donald O. Peterson 教授在第十六届中西部电路研讨会( Sixteenth Midwest Symposium on Circuit Theory )上介绍 SPICE 论文, SPICE 才开始让全世界认识。
第一版于 1971 年由 Laurence Nagel 等七名研究生在 Ronald A. Rohrer 教授指导下开发完成, Ronald A. Rohrer 教授在 1971 年国际固态电路会议( ISSCC )上发表的一篇论文中宣布。 1975 年在 Donald O. Peterson 教授指导下推出正式实用化版本。 1983 年发布的 SPICE2G.6 在很长时间内都是工业标准,它包含超过 15000 FORTRON 语句,运行于多种中小型计算机上。 1985 SPICE3 推出,转为用 C 语言开发,易于运行于 UNIX 工作站,还增加了图形后处理工具和原理图工具,提供了更多的器件模型和分析功能。 1988 年被定为美国国家工业标准,主要用于模拟电路、数模混合电路、电源电路等电子系统的设计和仿真。
这七位天才学生是: Laurence W. Nagel UCBerkeley 1969 年学士、 1970 年硕士、 1975 年博士)、 Bob Berry Shi-Ping Fan Frank Jenkins Jesse Pipkin Steve Ratner Lynn Weber

SPICE的意义
SPICE 出现之前,设计人员分析电路,要么是用笔和纸,要么就要搭电路板( breadboard )。 Donald O. Peterson 教授就被学生们称之为“信封教授”,因为他认为电路分析用个信封的背面来做就足够了。但随着电路规模的增大,用笔纸变得越来越不可能,搭电路板又不能精确反应芯片上的电路特性,而且费用也越来越高。
电子产品的设计一般先从功能框图开始,然后细化到原理图,还要经过很复杂和繁琐的调试验证过程,最终才能完成。为了验证原理图的正确性,都要焊接实验板(样板),或使用易于插件的“面包板( breadboard )”,每个节点都必须正确和可靠,连接或焊接过程都是细致而耗时的工作,在器件很多时几乎是不可能完成的任务,而每次调整都要打样,耗时长而成本高,在设计集成电路时更是如此,急需在制造之前验证集成电路的功能。这种现实需要就迫使人们想用他办法来解决。
根据电路理论,人们可以建立起节点方程和回路方程,通过解这些方程组成的方程组就可以得到结果,也就是说可以通过计算来获得电路的工作情况。但包含电感、电容等器件的电路形成的是一组微分方程组,人工计算依然是累人的活,而计算机则可以大展身手,通过其强大的存储、计算和图形显示能力就能轻松完成,很快得到结果。
用软件来做电路仿真就变得日益迫切了。基于这种思想,人们开发出电路仿真软件,通过快速的仿真,代替耗时且累人的反复调测,提高设计速度和效率,也节省了时间和成本。最早、最出色的仿真软件就是 SPICE
很多 SPICE 里面的基本要素都来自于 Rohrer 教授指导的这堂“电路综合”课,包括解稀疏矩阵的模块(使得可处理的电路规模成倍的增大)、隐式积分算法的使用(使得瞬态分析更加稳定)。并且程序里加入了自带的半导体器件模型,用户只需要给出一组模型参数,用不着自己提供器件模型的 FORTRAN 模块了。
SPICE 不仅仅是一个用于教学的简单程序。它是第一个结合稀疏矩阵分析以允许对大型电路进行经济模拟、对组件变化和噪声的敏感性进行伴随分析、用于“首次切割”设计的内置设备模型以及通过过渡演变的简单用户界面从打孔卡( punched cards )到哑终端( dumb terminals )再到复杂的工作站。 SPICE 的开发人员首次广泛提供源代码,使其他人能够贡献更复杂的设备模型和额外的分析功能。这些因素促成了其在开源和专有电路仿真软件的后续开发中的主导地位。
SPICE是开源代码先驱
当时有许多开源代码,但都没有太大的商业价值。 SPICE 就不同了,有人已经看到它的商业价值,但 Peterson 教授坚持要把代码开源,我们都得真心的感谢 Peterson 教授。任何人只要花 20 美元的手续费,就可以得到 SPICE 的源代码。当然,在冷战时期, SPICE 被禁止出口到政府认为的“共产国家”。
SPICE的发展
SPICE 问世以来,其版本的更新持续不断,有 SPICE2 SPICE2G6 SPICE3 SPICE3f5 等多个版本,新版本主要在电路输入、图形化、数据结构和执行效率上有所增强,业界普遍认为 SPICE2G6 是最为成功和有效的,以后的版本仅仅是局部的变动,现在常用的各类 SPICE 工具都是基于公开发表的 SPICE 2G6 版的源代码。
1970 年代到如今超过五十年的时间里, SPICE 从只能仿真十几个元器件规模到今天可以仿真上千万个元器件规模的电路,取得了非常惊人的成就。 SPICE 是一个解非线性常微分方程的工具,但由于要改变 SPICE 的基石很难,所以 1990 年代中期的 SPICE 没有太大的变化。
SPICE 的基石包括:改进的节点分析法( Modified Nodal Analysis )、稀疏矩阵解法( Sparse Matrix Solver ),牛顿 - 拉夫逊迭代( Newton-Raphson Iteration )、隐性数值积分( Implicit Numerical Integration )、动态步长的瞬态分析( Dynamic Time Step Control )、局部截断误差( Local Truncation Error )等等。
目前主流的商用 SPICE 包括新思科技( Synopsys )的 HSPICE & FineSim SPICE 、楷登电子( Cadence )的 Spectre& APS 、西门子( Siemens EDA )的 ELDO& AFS 、芯师科技( Silvaco )的 Smart-Spice ,国产厂商华大九天( Empyrean )的 ALPS 、概伦电子( Primarius )的 NanoSpice&NanoSpice Giga 具有一定竞争力。
当然,除了由 EDA 公司提供的商业 SPICE 外,还有就是一些老牌的半导体公司自行在内部开发的 SPICE ,不用来销售,包括 IBM 、英特尔( Intel )、德州仪器( TI )、亚德诺( ADI )、意法半导体( STM )和英飞凌( Infineon )等公司,这些半导体公司的 SPICE 基本都会有自己的器件模型。据悉, TI 就把内部的 SPICE 现在也拿来开源了。
SPICE 的优点是其精确性,但是缺点也很明显,对于可以仿真的规模和速度有一定的限制,一般用于小规模和高精度的仿真应用。因此在此基础上发展了另一类晶体管级仿真器 FastSPICE ,典型如新思科技( Synopsys )的 NanoSim HSIM 2004 年收购 Nassda )、 FineSim Pro 2011 年收购 Magma )和 CustomSim XA );楷登电子( Cadence )的 UltraSim 2003 年收购 Celestry ,这里要提一下, UltraSim 最早由 BTA 开发, BTA 为概伦电子团队于 1993 年与胡正明教授所创建, BTA 2001 年与戴伟民博士的 Ultima 公司合并成 Celestry )和 Spectre XPS ;西门子( Siemens EDA )的 ADiT 2006 年收购 EverCAD ),概伦电子的 NanoSpice Giga 等,用于处理大规模电路仿真和全芯片验证。 FastSPICE 采用了大量的加速仿真的技术,例如 Table Model Event Driven 的电路 partition 等,并对电路进行简化,在牺牲一定仿真精度的情况下处理大规模电路仿真的需求,如定制数字电路、存储器、 SOC 全芯片仿真和验证等。在实际的应用中, SPICE 往往用于高精度模拟电路和小模块的定制数字电路和存储器模块, FastSPICE 往往用于大规模后仿电路、大模块定制数字电路、存储器和全芯片 SOC 的仿真和验证等。
SPICE在中国
值得一提的是,国产 EDA 公司在 SPICE 方面取得了重大进步。
2016 年概伦电子的 NanoSpice Giga 提出了一个全新的概念 GigaSpice ,以 SPICE 的引擎和精度去取代 FastSPICE 的应用以避免 FastSPICE 造成的精度缺失,并提供比 FastSPICE 更快的速度,在业界领先的超大规模存储器设计和大规模后仿模拟电路中得到了国际市场认可和应用。
华大九天在 2018 年正式推出业界首款异构并行仿真系统 Empyrean ALPS-GT ™,基于大算力异构平台和独创的异构智能矩阵求解技术 SMS-GT ,极大的提升了电路仿真的性能,保持 100% True SPICE 精度,性能相比 CPU 架构的 SPICE 提升了 10+ 倍。 ALPS-GT 的推出,解决了 FastSPICE 及引入 fastspice 技术的 spice 精度不够,而传统 SPICE 及并行 SPICE 性能和容量又不够的问题。
开源SPICE
最后有必要说说开源的 NGSPICE 。自从上世纪九十年代后,有一批 SPICE 的爱好者及高校把 SPICE3f5 接过来,并整合了其他几个开源软件,包括 xspice cider gss adms 等,建成了 NGSPICE
NGSPICE 是一款通用( general-purpose )电路仿真程序( circuit simulation program ),适用于非线性和线性分析( nonlinear and linear analyses )。电路中可以包含电阻器( resistors )、电容器( capacitors )、电感器( inductors )、互感元件( mutual inductors )、独立或受控的电压和电流源( independent or dependent voltage and current sources )、非损失性 (loss-less) 和损失性( lossy) 的传输线 (transmission lines) 、开关( switches )、均匀分布电阻电容网络 (uniform distributed RC lines) 、以及 5 种最常见的半导体器件:二极管( diodes )、双极性晶体管 (BJT) 、结型场效应晶体管 (JFET) 、金属半导体场效应管( MESFET) 、金属氧化物半导体场效应晶体管 (MOSFET) .
NGSPICE SPICE3f5 的版本更新, SPICE3f5 UCBerkeley 大学的 SPICE3 仿真器系列的最后一个发布( release) 出来的版本。 NGSPICE 新加入了许多特性,并修复了 SPICE3f5 中的不少缺陷。开发一个像电路仿真程序这样的复杂的软件是非常艰难的,除了增加新的特性外,大部分的工作在于代码除虫( bug fixing )和代码的重构( code refactoring )。
NGSPICE 对于半导体器件( semiconductor devices )有内建的模型( built-in models ),使用者只需要设置相关( pertinent )的模型参数( model parameter values )就可以使用。
NGSPICE 支持混合级别( mixed-level )的仿真,并提供在技术参数( technology parameters )和电路性能( circuit performance )之间的直接连接( direct link )。相比独立进行的电路或器件仿真( stand-alone circuit or device simulator ),通过将电路中的关键器件数字化建模( numerically modeling ),混合级别的电路和器件仿真可以提供更高的仿真精度( greater simulation accuracy )。组合的模型( Compact models )可以用于其他的器件中。混合模型在 NGSPICE 中的扩展( extensions )即为 CIDER, 一种混合了电路级别和器件级别的集成仿真。
NGSPICE 通过集成 XSPICE 支持混合信号的仿真( mixed-signal simulation )。 XSPICE 软件由佐治亚理工学院( Georgia Institute of Technology )开发,作为 SPICE3C1 的一个扩展,现在已经移植进入了 NGSPICE ,并进行了增强,提供了板级( board level )和混合信号( mixed-signal )的仿真。
XSPICE 扩展同样支持纯粹的数字电路的仿真( pure digital simulation )。
NGSPICE 在缓慢的进化着,但比起商业 SPICE 进展的速度慢多了。目前很多学术研究在使用。
参考:
1 ngspice 简要介绍和安装,作者: dc lin
2 、推动 IC 设计革命的七大 EDA 技术工具,作者:赵元闯


*免责声明:本文由作者原创。文章内容系作者个人观点,半导体行业观察转载仅为了传达一种不同的观点,不代表半导体行业观察对该观点赞同或支持,如果有任何异议,欢迎联系半导体行业观察。


今天是《半导体行业观察》为您分享的第2714内容,欢迎关注。

推荐阅读


中国的先进芯片研发,什么水平?

浅谈上海集成电路产业竞争力

中兴悄然入局Arm服务器芯片?


半导体行业观察

半导体第一垂直媒体

实时 专业 原创 深度


识别二维码 ,回复下方关键词,阅读更多

晶圆|集成电路|设备 |汽车芯片|存储|MLCC|英伟达|模拟芯片

回复 投稿 ,看《如何成为“半导体行业观察”的一员 》

回复 搜索 ,还能轻松找到其他你感兴趣的文章!

责任编辑:Sophie

相关文章

半导体行业观察
摩尔芯闻

热门评论