从电视机、手机、电脑到航天飞机、卫星,集成电路技术对人们生活及科学进步的作用令人瞩目。几十年来,集成电路单块芯片上集成的晶体管数目成指数规律上升。集成电路复杂度的增加使得集成电路的设计必须依靠EDA技术,集成电路模拟技术正是EDA中的关键技术之一。面向不同应用的集成电路模拟技术随着集成电路从中、小规模到大规模、超大规模、甚大规模乃至片上系统芯片的发展,电路模拟技术也经历了多个发展阶段。电路模拟技术的每一次飞跃都得益于应用更先进的数学方法和计算机软件技术来满足越来越复杂集成电路的规模和速度需求。下面将针对不同规模、不同应用类型的集成电路,分别介绍各种集成电路模拟技术。通用电路模拟技术电路模拟技术的发展始于通用电路模拟技术。通用电路模拟技术是电路级的模拟技术,通过晶体管、基本电路元件来描述集成电路的行为。借助高精度的晶体管模型和数值分析算法达到很高的模拟精度,但是模拟速度很慢,只适用于中小规模集成电路的模拟。通用电路模拟的主要技术包含以下几个步骤。首先根据克希霍夫定律以及晶体管模型建立描述电路行为的电路方程,即非线性的微分代数方程组。第二步通过对微分方程进行时域离散得到非线性的代数方程组。第三步采用迭代方法将非线性代数方程组转化为线性代数方程组。最后对线性代数方程组进行求解,得到电路的响应。通用电路分析程序经过了三代的发展。1962年,IBM公司发布了TAP的电路模拟程序,之后出现了第一代的电路模拟程序如NET、ECAP、CONNAP等。到了20世纪70年代,第二代的电路模拟技术开始出现,并在非线性电路方程解法及微分方程求解和稀疏矩阵求解方面取得了突破,但求解线性代数方程采用的是直接求解方法,复杂度较高。第二代电路模拟程序的代表有ASTAP、AOP、SPICE等。其中SPICE于1975年诞生于美国加州大学伯克莱分校,后来被引入工业界,成为至今仍被广泛使用的通用电路模拟的经典软件工具。如表1列出的HSPICE、VIRTUOSOSPECTRECIRCUITSIMULATOR、Eldo分别是Synopsys、Cadence、Mentor公司的目前的高精度通用电路模拟器,这些工具由SPICE衍变而来。在70年代后期到80年代,随着大规模集成电路的出现,发展起来了以松弛迭代法替代直接求解线性方程组的第三代电路分析技术,比第二代电路分析的求解速度提高了一到二个数量级。第三代的电路模拟工具的代表有RELAX。数字电路模拟技术80年代以后,MOS集成电路特别是CMOS集成电路逐渐取代双极型集成电路成为集成电路的主流,并出现了超大乃至甚大规模数字CMOS集成电路。由于数字电路处理的信号为离散信号,同时对数字电路的模拟也只需要在电路状态改变的离散时间点上进行,因此数字电路模拟可以采用较为特殊的模拟方法。数字电路模拟技术的抽象层次数字电路的模拟可以在不同的抽象层次上进行,以实现对模拟精度和模拟速度的折衷。一般来说,模拟的抽象层次越低,模拟所花费的时间就越长,模拟的精度也越高。数字电路模拟的抽象层次分为电路级、开关级、门级、寄存器传输级和行为级。在电路级,可以采用通用电路模拟技术进行模拟。在开关级,采用只包含开和关两个状态的开关模型描述晶体管,因此模拟速度比电路级有很大提高。对超大和甚大规模数字电路,多采用门级模拟,其中逻辑门模型包含了实现逻辑门的实际电路功能及性能信息。寄存器传输级和行为级只能对电路逻辑功能进行验证,无法得到电路性能信息。门级模拟技术数字电路的门级模拟是模拟速度和模拟精度的最佳折衷,对数字电路功能和性能的验证通常在这一级进行。门级模拟通常采用事件驱动的模拟方式。数字电路中的一个事件是指电路中一个信号的改变。只有事件发生时,电路的状态才会发生变化,引发新的事件。基于事件驱动的模拟方式就是跟踪这些事件来模拟电路状态的改变,从而加快数字电路的模拟。表1列出了常见的门级电路模拟器。形式验证和时序分析门级模拟需要有适当的输入激励才能进行,这些输入激励需要电路设计者根据电路设计要求来设定。近年来,无输入激励的数字电路验证方式也开始出现。形式验证方法用数学方法对电路的逻辑等效性进行验证,验证速度很快,对电路的输入激励没有要求。静态时序分析对数字电路中信号经过的不同路径的延时进行计算并验证是否满足电路时序要求,验证速度也很快。采用形式验证和静态时序分析的方法可以满足超大和甚大规模集成电路模拟的要求。互连线建模技术上世纪90年代以来,集成电路进入深亚微米(0.25mm以下),互连线上的延迟逐渐大于逻辑门延迟,成为主宰芯片性能的主导因素。在当前的集成电路芯片中通常包含有千万乃至近亿个晶体管,为了完成这些晶体管之间的互连,在集成电路芯片中有6层到8层金属互连线层用于互连,使得互连线的规模十分庞大。另一方面,随着芯片工作频率的提高,信号在这些错综复杂的互连线上传输会产生延迟、衰减、失真和电磁串扰等复杂的电磁场行为,这使得互连线的建模工作十分复杂。90年代以来,超深亚微米和纳米级集成电路的整个设计方法发生了质的变化,甚大规模和SoC集成电路设计变成以互连线为中心的设计。互连线建模和模拟也成为甚大规模和SoC集成电路设计的瓶颈和国内外研究的热点。互连线等效模型互连线的三维电磁场等效电路模型包括部分元等效模型(PEEC)和传输线等效模型。部分元等效模型将整个互连线结构划分成若干块,每个分块表示为一个电阻、电容和电感组成的电路单元。积分形式的麦克斯韦方程离散化后得到各单元之间的部分参数。另一类模型是传输线模型。该模型假设在互连线中传输的电磁波为横电磁波(TEM),因此对于非常高速的应用不够精确。互连线参数提取软件提取互连线模型中的电阻、电感、电容参数,称为参数提取。为了提高三维参数提取的速度,对麦克斯韦方程组采用不同的近似形式进行求解。采用准静电场近似可以提取电容参数,典型的软件是美国的麻省理工学院J.White1991年开发的FastCap,2003美国得州农机大学W.Shi开发的参数提取软件PhiiCap将FastCap的速度提高了60倍。在准静磁场近似下,可以提取电阻和电感参数,典型的软件是J.White1994年开发的FastHenry。当电路工作频率非常高时,互连线的电容和电感效应已无法区分,必须采用似稳场或全波形式适用很宽的频率范围,这时提取的是阻抗参数。典型的阻抗提取软件是美国的麻省理工学院Z.Zhu2003年开发的FastImp。目前参数提取的商业软件主要有:Synopsys系列:Star-RCXT、Arcadia、Raphael和Aurora;Cadence系列:AssuraRCX和Fire&IceQXC;MentorGraphics公司:CalibrexRC等。模型降阶技术为了精确模拟互连线的传输行为,必须采用分布式电阻、电感、电容RLC模型。由于芯片中互连线数目多、长度长,且互连线间相互耦合,因此分布式互连电路规模相当庞大,电路阶数通常在104~106量级。为了在合理时间内分析互连电路的性能,必须降低所需分析的分布式互连电路的规模。模型降阶技术通过有效的数学方法,将一个大规模的原始系统降阶为一个低阶的系统,然后对低阶系统进行电路模拟,从而大大提高电路分析的速度。90年代以来,模型降阶技术得到了充分的发展。互连电路可以采用RLC模型,并被描述为一个一阶线性微分代数方程的形式。对于该一阶系统,模拟降阶的主流技术是基于Krylov投影、矩匹配和合同变换的降阶方法。线性投影降阶的终极目标是同时保持降阶系统的结构、稳定性、无源性以及矩匹配的数目。这方面的先驱性工作是1990年美国得州大学奥斯汀分校的L.Pillage提出AWE方法,但该方法由于显示计算矩而失去了数值稳定性,无法获得高阶模型。1995年IBM公司R.Frued提出的PVL、MPVL类方法能够精确匹配矩,也能保证降阶电路的稳定性,但不能保证电路方程特有的块状结构。1998年L.Pillage提出的PRIMA可以保持降阶电路的稳定性,但不能同时保证降阶电路的对称性和无源性,也不能保证电路方程特有的块状结构。直到2004年,R.Freud才提出了可以保持数值稳定性、无源性,以及保证降阶系统结构的SPRIM算法,全面解决了基于一阶系统的Krylov投影降阶问题。近年来,用电感导纳来描述互连线的磁场耦合效应比采用电感具有更多优点。用电阻、电容和电感导纳表示的互连线模型一般采用二次系统来表示,一阶系统的降阶算法直接对二次系统降阶将不能保证无源性。针对二阶系统直接降阶的模型降阶算法应运而生。2001年,Mentor公司的B.N.Sheehan提出了直接矩匹配的ENOR算法,但它存在数值不稳定的问题。2002年,美国卡内基·梅隆大学的L.Pillage提出空间投影的隐式矩匹配方法SMOR算法,但是由于投影空间存在近似,降阶系统精度不高。2004年,复旦大学苏仰锋和曾璇提出了采用二次Krylov子空间投影的SAPOR算法,完整地解决了二阶系统的模型降阶问题。SAPOR算法可以同时保证数值稳定性、高的精度、无源性并能保证系统结构。由于采用了电感导纳模型替代电感模型,所以降阶的速度比SPRIM快。除了基于矩匹配的模型降阶算法,另一类主流的模型降阶算法是基于奇异值分解的模型降阶算法。但这一算法计算复杂度过高且在降阶系统无源性方面存在困难,目前算法还未进入实用阶段。数模混合集成电路模拟技术在片上系统时代,数模混合集成电路的应用越来越广泛了。数模混合集成电路由于同时包含有数字和模拟电路,其模拟需要同时在不同的电路抽象层次进行。数模混合集成电路的数字电路部分处理的是离散信号,在模拟时只需要跟踪电路中状态的改变,采用事件驱动的模拟方式进行模拟。模拟电路部分处理的是连续信号,在模拟时必须采用很小的时间步长进行模拟。因此,数模混合集成电路模拟的关键问题在于处理数字电路部分和模拟电路部分的离散/连续信号之间的转换和因为模拟时间步长不同引起的模拟同步问题。离散/连续信号的转换通常较为容易。不同模拟时间步长引起的模拟同步问题则是影响数模混合集成电路模拟效率的关键因素。模拟同步的最简单的方法是锁定步长,即采用数字模拟部分电路分别模拟时间步长中较短步长作为混合电路模拟的时间步长。采用这一模拟方式,实现最为方便,但其模拟速度是最慢的。数字控制步长方式以数字电路的模拟为主,当数字电路部分需要等待模拟电路部分信号时才对模拟电路部分进行模拟,实现同步。而模拟控制步长方式则恰恰相反,以模拟电路部分的模拟为主,当模拟电路部分需要等待数字电路部分信号时,对数字电路进行模拟,实现同步。另外一种同步方式是通过滚回机制实现同步。在滚回同步方案中,数字电路和模拟电路轮流进行模拟,当两者模拟需要进行同步时,模拟时间进程靠前的部分其模拟时间滚回到同步时间点实现同步,然后从同步点重新开始模拟。当电路存在过多的反馈时,滚回同步方式的模拟效率会受到严重影响。表1列出了常见的数模混合集成电路模拟工具。特殊电路模拟技术对于模拟电路,SPICE是一个通用的电路模拟工具。但是针对特殊的模拟电路,比如开关电容和开关电流电路、射频电路等,采用通用电路模型工具耗时非常巨大,因此必须根据电路工作的特殊性,开发专用高效的模拟工具,以提高电路模拟的精度,加快电路模拟的速度。以下对这些专用模拟技术做简单介绍。开关电路模拟技术。对于开关电容和开关电流电路这样的电路,由于这些电路的开关特性,如果采用传统的SPICE模拟器对这类电路进行模拟,必须采用很小的时间步长才能保证模拟结果的收敛。但这类电路通常只需要计算电路在某些特定时间点的行为,利用这一特性可以加快这类电路的模拟。在这类开关电路的模拟器如SWITCAP、SWAP和TOSCA中都利用了这一点。射频电路模拟技术。随着无线通信的发展,射频电路逐渐得到了广泛应用。在射频电路设计中,通常需要得到射频电路在信号激励下的稳态响应。如果采用传统的SPICE模拟器对射频电路进行模拟,为了得到电路的稳态响应,通常需要经过很长的瞬态模拟时间,电路的响应才会稳定。对于射频电路的稳态响应,可以采用特殊的模拟技术在较短的时间内获得。这些模拟技术