来越多的设计正向混合信号发展,IBS公司预测显示,到2006年所有集成电路设计中有73%将为混合信号设计。目前混合信号技术成为EDA业内最为热门的话题。深亚微米及纳米技术的发展促使芯片设计与制造由单个IC、ASIC向SoC转变,现在SoC也由数字SoC全面转向混合SoC,成为真正意义上的系统级芯片。混合信号设计可以减少成本,减小电路外形尺寸,并提供更好的功能。
芯片验证占芯片设计50%到70%的工作量,大量的人力、硬件以及时间资源都消耗在验证上。随着芯片复杂度上升,验证工作无论从复杂性或工作量上都在呈指数上升。因此,验证技术是混合信号技术的关键所在。
人们很难明确区分具备少许数字功能的模拟芯片或能够实现某些模拟功能的数字芯片与混合信号芯片的区别。即使在工艺上,模拟芯片也越来越多采用CMOS工艺取代传统的BiCMOS工艺。混合信号集成电路的标准应该是它在数字和模拟方面都具备重要功能,而不简单的是在数字芯片中嵌有一些模拟电路或者模拟芯片中嵌入一些数字电路。
对于中国的集成电路设计师来说,混合信号设计的概念虽然早已有之,但真正使用混合信号设计的技术并不多,大多只是采用传统的方法,比如数字部分用HDL写好,然后进行仿真、综合、布局布线;模拟部分画出电路图,用Spice仿真在进行版图设计;最后将两部分拼接在一起。而真正的混合信号设计需要结合数字和模拟,作整体上的考虑以及验证,需要更灵活的设计思路。
混合信号SoC设计面临这样的挑战:行为级的数字与晶体管级的模拟的混合、HDL语言驱动的数字与原理图驱动的模拟的混合、自上而下的数字与自下而上的模拟的混合。它不再是传统的数字设计或者传统的模拟设计,也不是数字设计与模拟设计的简单叠加,混合信号设计提出了新的设计概念,必须使用全新的设计流程。
ADMS解决方案
EDA公司已充分意识到这一技术需求,领先的三大供应商——Mentor Graphics、Synopsys和Cadence在几年前就开始整合或研发模拟和混合信号工具和技术。下面我们以Mentor Graphics的混合验证平台Advance MS(ADMS)为例说明它是如何解决混合信号设计难题的。
在了解ADMS之前,我们先来看看与ADMS相关的几个EDA设计工具。
1. HDL仿真工具ModelSim
ModelSim是目前最流行的数字仿真器,早已被中国用户所熟悉,其成熟技术众所周知,这里不作具体介绍。
2.SPICE仿真工具Eldo
模拟电路设计最重要的部分即在电路仿真部分。SPICE的全称为Simulation Program on IC Emphasis,由美国加州大学伯克莱分校创建于上世纪70年代,从此成为电路仿真的经典方法,现在的电路仿真基本上都采用SPICE方法。SPICE程序是公开源码的,现在流行的各种版本SPICE都是由UCB SPICE衍生而来。HSPICE开发于1981年,是第一个成功的商用SPICE。Eldo则是最近几年的SPICE新星,其研发组位于法国,在欧洲,基本上设计中使用的SPICE都是Eldo,最近Eldo也开始在北美及亚洲地区推广。
评价一个仿真器可以从准确度、速度、容量、收敛性、控制界面、功能以及工艺厂商的支持等方面进行。
第一,准确度。Eldo通过基尔霍夫电流约束进行全局检查,对收敛严格控制,保证了精度。Eldo在传统SPICE使用的牛顿-拉普森(即NR)算法外,增加了OSR和IEM算法,新算法使得Eldo比传统SPICE更为精确。
第二,速度。Eldo使用的新算法还增加了仿真速度,仿真速度达到一般SPICE的3到10倍。Eldo还可以对不同的电路子模块采用不同的算法,比如对数字电路模块采用速度快得多的OSR算法,大大提升了速度。尤其值得一提的是,Eldo本身还支持行为级的描述。从这个意义上看,Eldo不仅仅是一个SPICE,还是一个混合仿真器。
第三,容量。Eldo可以仿真大规模的电路,最大可以达到30万个晶体管。
第四,收敛性。在收敛性上,Eldo采用了先进的技术如DC convergence引入的分割概念(在不收敛时对电路自动进行分割再组合,更改了Matrix),提升了收敛性。
第五,控制界面。Eldo的使用相当简单。Eldo可以单独使用(即命令行方式),也可以集成到电路图编辑工具环境中,如Mentor Graphics的DA IC或者Cadence的Schematics Composer中。Eldo的输入文件格式可以是标准的SPICE,也可以是HSPICE的格式。事实上,HSPICE的输入文件,包括网表、控制语句、库文件,不需要经过任何修改,即可由Eldo进行仿真。此外关于控制界面,Eldo还具有一个Shell,通过这个Shell,用户可以中断正在进行中的仿真,进行数据交换,调整仿真条件或参数设置,与Eldo进行互动。这样解决了仿真一旦运行就不能进行任何控制的问题。
第六,功能。除了提供其它SPICE几乎全部的功能外,Eldo本身拥有自己独特的功能。Eldo拥有全面的分析功能,还可以进行各种参数的扫描。Eldo还可以进行RC Reduction、保存与续仿真等等功能。
第七,工艺厂商支持。电路仿真离不开具体工艺线的实际情况,SPICE程序必须得到工艺厂商的支持。目前世界上大多数代工厂商都开始支持Eldo,如台积电、台联电、特许半导体、ST等。用户还可以使用自己定义的Model。此外,由于Eldo对HSPICE完全兼容,甚至到Model,Eldo用户完全可以采用代工厂商提供的HSPICE的模型。
3. Mach
SPICE仿真的特点是精度高、速度慢。做模拟电路设计时,用SPICE仿真一般可以满足要求。但是当电路规模增加、尤其是增加了晶体管级描述的数字电路部分之后,SPICE显得过慢。相同的仿真条件下,SPICE的仿真时间随着晶体管的增加甚至不是线性上升,而是呈指数次方上升。这样电路仿真成为设计的瓶颈,这一点在后仿真阶段也经常遇到。
于是Mach作为Fast-SPICE应运而生。Mach在Eldo的基础上,通过查表方式的晶体管模型迅速提高了仿真速度。相比Eldo,Mach可以将仿真速度提升10~1,000倍。速度提升牺牲的是精度,不过损失的精度能够控制在3%之内。Mach的处理容量也是非常巨大的,最大可以达到2,000万个器件。于是对于一些精度要求不是非常严格的设计,当需要快速验证时,Mach成为必需,如存储器设计。
ADMS是一个混合信号验证平台,集成了以上三种工具的技术。对模拟电路部分,采用Eldo的仿真算法,或者Mach的快速仿真算法;对数字部分,采用ModelSim的仿真算法。但是ADMS并不是这些工具简单拼起来,它有单一的内核引擎。
采用ADMS进行设计,传统的数字设计流程和模拟设计流程被打散并重新组合,设计师可以在任何阶段对电路进行验证,数字设计和模拟设计通过ADMS组成一个整体。
最新发布的ADMS4.0版增加了SystemVerilog语言和SystemC支持,这使得ADMS支持的语言达到了八种,即VHDL、Verilog、SPICE、VHDL-AMS、Verilog-AMS、SystemVerilog、SystemC 以及C,涵盖了目前大部分的集成电路设计语言。这使得用ADMS进行设计时方法灵活多变,而工具却只有一个。输入ADMS的文件可以只有一个,不管其中的内容是HDL、SPICE,还是C语言,ADMS都可以读入,并自动进行处理,给出仿真结果,例如在模拟电路中引入一个HDL描述的IP,或者是工具附带单元库里的一个VHDL-AMS行为级描述的运放单元,各种语言可以无缝地组合到一起。
ADMS提供了灵活的使用方式。它既可以集成到Mentor Graphics的电路图编辑工具DA-IC中,也可以集成到Cadence的Schematics Composer中(图3),另外还可以单独使用。应用时ADMS的界面与经典的ModelSim相似,操作简单,其树状结构显示使得整个设计一目了然。使用时只需要读入输入的各种文本文件(可以以数字结构为最顶端层次,也可以以模拟结构为最顶端层次),即可由ADMS进行仿真和调试。
ADMS的输出文件可以被其它工具的多种波形观察工具查看和计算,不过ADMS附带有两个功能强大的波形处理工具Xelga和EZwave,可以同时处理数字和模拟信号,并进行各种操作与运算。
Eldo RF在Eldo的基础上发展而来,针对射频电路使用了新的技术,ADMS也可以扩展到ADMS RF,成为针对射频混合信号SoC设计的工具。
ADMS附带了很多行为级描述的单元库,称为CommLib,其中包括三百多种常见的基本单元,如ADC、DAC、PLL、Σ-Δ、OP等等。各种库提供了大量的接口参数供修改,在设计中可以直接调用这些单元库,增加仿真速度,以及方便调试电路。CommLib还有一个“行为级模型校正”(BMC,Behavior Model Calibration)的功能,通过BMC以及ADMS的验证,可以将所设计的电路图抽象到行为级。在仿真的时候,行为级的仿真速度比晶体管级快1,000倍,这样可以将部分电路抽象到行为级,从而增加仿真速度,并方便调试。抽象化技术在大规模电路设计中越来越得到频繁应用。
本文小结
ADMS是一种真正意义上的模拟/混合仿真工具,它可提供全面的语言与设计方法支持。目前,中国真正在做混合信号设计的设计师虽然不多,但毫无疑问,正在逐渐增加。那么,究竟在什么样的情况下,需要转到混合信号设计呢?也许可以简单地作这样一个描述:当使用HDL仿真器的数字电路设计工程师面临增长的模拟部分和模拟电路行为,却苦于不足的模型以及仿真精度时;当使用SPICE或者FastSPICE的模拟电路设计工程师,面临增长的数字复杂度以及大规模,苦于仿真速度过慢时。这些时候,采用混合信号设计,就可以提升设计速度和效率以及设计水平,并降低产品成本。