在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 21269|回复: 34

[原创] SPICE简史(5)

[复制链接]
发表于 2015-9-13 09:25:38 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x

SPICE的变异与进化




SPICE最初是用来做小型电路仿真的。电路中的元器件数也就几十最多到几百个。随着电路规模越做越大,电路种类越来越多,人们会问:SPICE能不能跑得更快一些,能运行的电路更大一些?自然而然的,SPICE的变种就出现了。我们在这儿讲三个方面:第一是快速仿真,第二是数模混合仿真,第三是扩展应用。


先说说快速仿真(fastSPICE)。这也是市场最大,发展最多的一块儿。因为SPICE是把整个电路放到一个矩阵中来解。人们就想能不能把电路分成小块单独解,然后再把各块之间联接起来,这样不就快了吗?的确,对数字电路,确实可以用分割的方法。因为数字电路的信号是有方向的,我们可以在没有直流通路的地方把它分开(例如在两个串联的反相器中间)。另外就是数字信号是离散的,我们可以把它分成几段。分的段越大,时间步长也就能越大,需要解的次数就少了(当然结果也就没那么精确了)。还有就是器件模型。我们前面讲过如今的mosfet模型非常复杂,要花很多时间去算,那能不能把它简化呢?可以。事实证明对数字电路以及数模混合电路(像PLLmemoryserdes)来说,用表格模型(tablemodel)来代替复杂的方程模型是个不错的选择。通过这些简化,快速仿真可以比原来的SPICE快几十到上百倍,而精度是在SPICE的5-10%之内。像EPICPowerMill(后来成为SynopsysNanosim),AnagramADM(后来成为Avant!StarSim),Celestry(后来成为Cadence)的UltrasimNassda(后来成为Synopsys)的HSIM,等等。最近比较流行的是Magma(现在是Synopsys)的FinesimBDA(现在是Mentor)的AFSProplusNanospice


其次来说说数模混合仿真。当一个系统中既有模拟电路,又有数字电路,人们自然就会想到把SPICE和数字仿真器(如SynopsysVerilogVCSCadenceNCMentorModelsim)联在一起运行。SPICE去算模拟电路部分,数字仿真器去算数字电路部分,它们之间用数模/模数转换器(AD/DA)连接。注意这种运行方式跟上面的快速仿真不同。这样的混合仿真需要两个仿真器。但这样的构架有缺点。主要的问题是数模转换没有一个标准。市面上有很多SPICE以及verilog仿真工具,每一个工具的转换界面都不一样,这就造成混合仿真的界面非常复杂。因此,最近发展的混合仿真都采用数模一体化的构架,大大简化了转换界面,而且用户只需在一个环境下就可进行混合仿真。这样的工具有CadenceVirtuoso-AMSSynopsysHSIM-plusHDLSilvacoHarmony,华大的Aeolus-ADS等。


最后再来说说SPICE的扩展应用。虽说SPICE是针对集成电路(IC)开发的,但它的应用已扩展到系统级(systemlevel),主要是电路板(PCB)级的仿真。那系统级仿真与集成电路仿真有何区别呢?它们不都是电路吗?呵呵,没错,它们都是电路,但区别还是蛮大的。主要是它们的规模与尺寸的不同。我们知道,集成电路是集成在芯片上的。其器件尺寸现在已做到纳米级。而系统级的尺寸还在毫米,厘米,甚至米的数量级。学过电磁的同学都知道,当器件的尺寸大于信号波长的时候,就要考虑分布的场效应了。拿一段导线做例子。一段在芯片上的导线,你可以把它看作一个电阻。而一段电路板上的导线,你就必须用传输线(transmission line)来代表它,否则误差就太大了。如果信号的频率再高,那就要用S参数了(Sparameter)。由此,电路仿真发展出一大分支,这就是所谓的信号完整性工具。像Agilent的ADSMentorHyperLynx,以及CadenceOrCADAllegro






SPICE今后的道路


70年代初到如今的四十多年里,SPICE从只能仿真十几个节点/器件到今天可以仿真上百万个节点/器件的电路,这是一个非常惊人的成就。但这个成就的主要原因是摩尔定律。前面我们讲过自从90年代中期,SPICE本身就没有太大的变化了。这怪就怪(不,应该是感谢才对)SPICE的先驱们。他们奠定了一个坚实的基础,使得我们后面的人都没什么可做的了(呵呵,这不是好事吗)。的确,要改变SPICE的基石,例如改进的节点分析法(ModifiedNodal Analysis),稀疏矩阵解法(Sparse Matrix Solver),牛顿-拉夫逊迭代(Newton-RaphsonIteration),隐性数值积分(ImplicitNumerical Integration),等等,确实不容易。说到底,SPICE是一个解非线性常微分方程的工具。你要想从根本上有个革命性的改变,那你还是从数学上着手吧。
SPICE是一个非常通用的工具。虽然集成电路是它的着重点,但我们看到它也被广泛应用到了系统级,电源级,甚至延伸到了不同领域的仿真。我们前面讲到了数模混合(mixed-signal),但它还是在电路的范畴内。可不可以把它扩展到其他领域(mixeddomain/multiple discipline),比如机械,热力,甚至生物领域?答案是可以的。例如,在电路领域中,我们解的是跨过两个节点的电压和通过一个支路电流。而在机械领域中,我们解的是两个点的位置和力。从早期SaberMAST语言,到现在的工业标准Verilog-AMSVHDL-AMS都已经支持不同领域的描述。这就给跨领域的仿真带来了可能。虽然Verilog-AMS还没有被模拟电路设计者广泛采用,但它很可能先从另一个地方发扬光大。比如,微机电系统(MEMS)很有可能是下一个大的应用领域。
另外一方面,虽然SPICE可以解很多类型的电路,但它的运算速度也因此受到了制约。每一种电路都有它自己的特点,比如数字电路信号的离散性,存储器(ram)结构的重复性,等等。我们可以在SPICE的基础上,利用这些电路的特点来开发特制的“SPICE”以提高仿真的效率。前面说的快速SPICE仿真工具就属于这一类。它们的通用性不如SPICE,但它们针对某一类电路的仿真效率是非常高的。
最后一方面,我们从SPICE的发展可以清晰得看到,软件的发展是与硬件的发展密不可分的。现在的处理器基本上都是多核,多线程的,新一代的商业SPICE也利用了这些新的处理器架构。最新的图形处理器(GPU)更是达到了上百个核,上万个线程。并行的开发工具像开放计算语言(OpenCL),CUDA也逐渐成熟。高性能计算(HPC)以及云计算也在日益普及。SPICE能否利用这些新的的环境来提高仿真效率呢?呵呵,这个问题就需要你来解答了。


下面的图给出了主要SPICE的发展过程。其中的代号如下:UCB:伯克利,gEDAGNU EDAMetaMeta-SoftwareSNPSSynopsysµSIMMicroSIMCDNCadenceMENTMentor



spice_history.png





下面的图给出了主要快速仿真工具的发展过程,“+”代表并购。
注意这些快速仿真工具都是商业化的。目前还没有一个开源的快速仿真工具具有像伯克利
SPICE那样广泛的影响力。

fastspice_history.png





最后,谢谢你看完了这一万三千八百多字的5个帖子。下面就是发给你的学位证书,呵呵。

spiced.png




(全文完)

发表于 2015-9-14 11:12:50 | 显示全部楼层
看完了,好帖
发表于 2015-9-14 12:35:59 | 显示全部楼层
顶礼膜拜!
发表于 2015-9-14 12:47:50 | 显示全部楼层
作者写的很好!Spice的发展史就是EDA的发展史啊。
发表于 2015-9-19 16:17:46 | 显示全部楼层
嗯,嗯,ok,不错
发表于 2015-9-23 15:57:41 | 显示全部楼层
涨姿势啦 多谢楼主 spiced
发表于 2015-9-24 14:01:04 | 显示全部楼层
好长啊,楼主辛苦了!
发表于 2015-10-9 13:23:21 | 显示全部楼层
good article
发表于 2015-10-11 14:41:46 | 显示全部楼层
楼主辛苦了!
发表于 2015-10-11 19:03:47 | 显示全部楼层
回复 2# walterqin


    thanks!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-22 17:54 , Processed in 0.026932 second(s), 11 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表