片上系统EDA的建模方法

随着SoC时代的到来,没有EDA的集成电路工业几乎是寸步难行。而要验证设计是否正确,离不开精确模型的支持。

片上系统及EDA

Robert Royce和Jack Kelby于1959年发明的平面集成电路(IC)技术为电子与信息科学注入了新的活力,推动了计算机、网络与通信技术的高速发展,从而彻底改变了人们的生活模式和价值观念。自从1961年以来,集成电路就一直按摩尔定律高速发展,即单个芯片上所集成的晶体管数目每隔18个月到2年就翻一翻,在先后经历了小规模、中规模、大规模、甚大规模等历程之后,发展到今天的片上系统(SoC:System-on-a-chip,也称作微系统芯片)时代。

SoC的时代自20世纪90年代末开始,主要的标志是人们已经能够将包含模拟电路、射频电路、微处理器、数字信号处理器(DSP)、存储器和微机械等的完整系统集成到一个芯片上,如图1所示。根据美国半导体工业协会(SIA)1999年的预测,单个芯片所集成的晶体管数目很快达到10亿以上,而芯片的工作频率也将迅速增长。

图1 一个SoC芯片的内部结构示意图

随着集成电路不断发展,传统的面板加烙铁的分离电路设计方法逐步退出了历史舞台,而借助计算机的集成电路自动化设计方法则得到了高速发展。

EDA(电子设计自动化)技术的发展经历了20余年3个阶段的发展:20世纪70年代的CAD阶段,此时PC尚未普及,相应工具的功能较弱;80年代的CAE,此时PC开始普及,集成电路规模也在按照摩尔定律发展,功能逐步完善;90年代的EDA,随着制造工艺技术的长足发展,EDA工具的功能越来越强大,应用也越来越广泛。90年代中期,EDA就已发展成为一个比较独立的产业。尽管EDA产业的规模比集成电路工业小数十倍,但它是集成电路高速发展的支柱,特别是随着SoC时代的到来,没有EDA的集成电路工业不但不能高速发展,而且还会停滞不前。

芯片设计者在SoC时代所面临的主要难题来自芯片的规模和复杂性日益剧增、工作频率增加和器件尺寸缩小所带来的互连线延时和噪声问题,由单一数字系统向数模混合系统以及混合信号系统转化的难题,低电压低功耗问题,设计验证与可测性问题等。SoC设计使得现代EDA的发展要改变总是落后于制造工艺技术的局面,并且要求EDA工具智能性更高和功能更强,此外,未来的EDA一定要能够实现高层综合和软硬件协同设计,根据系统功能,划分成软件(C语言)和硬件(HDL),并希望使用统一的系统描述语言来实现高层综合。

模型设计趋势

要验证设计是否正确,就需要精确模型的支持。建立模型是进行仿真的第一步。一般说来,模型越复杂,仿真的结果越精确,但所耗费的仿真时间也越多;模型越简单,仿真的结果越粗糙,但所耗费的仿真时间也越少。在仿真速度和精度之间需要做一些折衷:保留仿真对象的重要特性,忽略一些次要的性能,尽量得到一个简化而又准确的模型。

随着深亚微米集成电路制造工艺的发展和片上系统的出现,对于最基础的器件模型来说,其更新相当频繁,以适应随之而来的新问题。仅以SPICE中MOS晶体管模型为例,最简单的Level1模型是基于H. Shichman和D.A. Hodges方程,Level2模型考虑了沟道长度调制效应和更为精确的阈电压模型,Level3模型考虑了短沟和窄沟道效应,BSIM1、BSIM2和BSIM3模型考虑了深亚微米器件效应,而BSIM4则考虑了频变电感等射频应用时的深亚微米器件效应。另外,宏模型已经有数十年的发展历史,在系统设计方面有着重要作用。随着SoC时代的到来,模型设计也出现了下列发展趋势:基于VHDL-AMS或Verilog-AMS的混合信号模型;表格模型;噪声模型和功耗模型;互连线模型;RCLM网络的精简模型;衬底窜扰模型;芯片级宏模型。

表格模型

电路性能不仅与电路结构相关,而且与电路中各器件的行为密切相关。由于受短沟道和窄沟道效应等的影响,深亚微米器件的物理模型非常复杂,目前工业界广泛使用的器件模型是由加州大学伯克利分校研究成功的BSIM3和BSIM4模型。

在深亚微米工艺中,由于短沟和窄沟效应的影响,沟道电流的计算非常复杂。例如:目前工业界广泛采用的BSIM3V3.2.2模型就包含100多个模型参数。众所周知,加州大学伯克利分校研究出BSIM3V3.2.2模型花费了相当多的人力和时间,而且该模型还不能处理沟道长度小于0.15mm的器件。这种模型不仅复杂,而且随着工艺水平的提高,研究新模型将是费时费力的事。

表格模型是解决该问题的有效手段。但表格模型的难点是如何分区、如何确定各区域内多项式的形式及确定相应的多项式系数。表格模型简单、计算量小,而且不论工艺如何变化,基于器件端口特性的表格模型都是适用的,因而近年来得到了普遍关注和广泛应用,例如:TimeMill、StarSim和RSPICE等系统都采用了表格模型。

互连线的行为模型

随着片上系统规模的不断扩大,互连线已经逐渐成为决定电路性能的主要因素。互连线的延时和连线之间的耦合串扰给电路的分析和验证带来了很大的困难,现在的一般做法是将互连线的网络等效为RC(RCL)网络来分析。随着网络规模的增大,建立精确而简洁的互连线延时和串扰模型成为解决集成电路分析和验证速度瓶颈的关键。

延时模型

在集成电路制造工艺未进入纳米时代之前,互连线的寄生电感效应还不明显,互连线通常被等效为分布式的RC树来处理。Elmore延时模型是目前估算RC树延时最有效的方法,它早在1948年就由Elmore提出,近些年在互连线分析中得到了广泛应用。尽管在精度方面人们提出了一些质疑并且提出了一些改进的方法,但是Elmore延时模型仍然被作为计算互连线网络等效RC树延时的基本方法。Elmore延时模型的两个主要特点使得它能够得到人们的普遍认可,第一是比较高的精度,第二是简洁的递归解析公式。但是,片上系统的出现对延时的估算精度提出了更高的要求。在保证计算公式简洁的前提下,近些年出现了许多基于Elmore延时的改进模型,其中比较典型的有Kahng和Tutuianu等人提出的高阶分量修正法和Alpert等人提出的有效电容度量法ECM(Effective capacitance metric)。

由于RC树的Elmore延时模型仅仅匹配了频域的一阶项,所以仅仅对于阶跃响应为单调上升函数的RC树具有较高的精度。随着寄生电感的引入,Elmore延时模型估算的误差会很大。在Ismail等人2000年发表的文章中给出了一种RLC树的延时估算模型,该模型继承了Elmore延时模型的简洁性和递归性,同时具有相对较高的精度。

串扰模型

相邻互连线间存在着耦合电容和互感,这必然会引起互连线上信号的相互串扰。随着集成电路的发展,互连线之间的距离越来越小,同时为了防止互连线电阻的过分增大,连线被加厚,这就使得串扰的影响越来越明显。随着电路工作频率的增高,由互感引入的串扰也会越来越明显,对互连线的分析也越来越复杂。相邻互连线之间的串扰已经成为集成电路的主要噪声源,当噪声的峰值超过一定的阈值时,会使电路出现逻辑错误。在集成电路设计过程中,必须保证噪声的峰值始终低于逻辑翻转的阈值。随着电路规模的增大,原有的计算方法已经无法满足速度的要求,在电路设计和验证过程中迫切需要快速准确的电路串扰模型。

对于复杂的互连线树,时域分析方法很难得出解析解,所以时域分析方法通常要先对互连线的模型进行简化,如Sakurai和Eo等人提出的时域分析方法中就使用了简化的模型。对于实际电路中复杂的互连线网络,简化的模型很难满足精度的要求,但是使用该方法可以很直观地看出电路参数对串扰的影响,对电路参数的优化能够起到指导性作用。

对于互连线的等效网络,从时域来分析不仅复杂,而且一般无法得出解析解;采用数值计算法(如用SPICE进行电路模拟)所耗费的时间又太多,难以应用于大规模网络的分析和优化。采用频域低阶逼近方法既可以减小计算量,同时也相对提高了计算结果的精度。

串扰对电路性能的影响不仅表现在给电路引入噪声脉冲,而且还会引起互连线延时的变化,实际信号的延时不仅与电路本身有关,而且还与输入信号之间的相互关系有关。为了保证电路的正确性,必须保证最坏情况下的延时在规定的范围之内。电路互连线之间的耦合电容阻碍了快速延时估算方法的应用,电容解耦合方法可以解决这一问题。

建模方法

宏模型建模方法

在计算机辅助分析和设计中,集成电路模型的准确程度对于仿真结果有着重要的影响,一般情况下,仿真结果的精度不会高于仿真中所采用模型的精度。对大规模集成电路来讲,采用精确的器件级仿真通常是不可行的:随着集成技术的发展,集成电路的规模越来越大,在一个芯片上已经可以集成数百万个甚至数千万个晶体管构成的电路。而电路分析软件可以仿真的电路受到计算时间、计算机内存和计算收敛性的限制,在晶体管级完成这么大规模电路的仿真是不现实的。

宏模型技术是针对大规模集成电路仿真提出来的简化电路模型技术。所谓电路宏模型是原电路的一种等效电路,它在输入输出特性即端口特性上与原电路在一定精度范围内是一致的,但在结构上比原电路简单。宏模型无论从电路中的元件个数或者节点个数看,都远远少于原电路。这大大降低了电路仿真对计算机内存的要求,并节省了计算时间。如果根据需要采用专用的(如交流小信号或时域)宏模型,电路规模还可以进一步减小。当一个集成电路中含有多个相同的单元电路时(一个开关电容滤波器可以包括几十个相同的运算放大器),采用宏模型后所节省的计算时间和内存都将更为可观。上述特点使宏模型技术成为解决大规模模拟集成电路仿真难题的较好方法。在所有成熟的商品化电路设计工具软件中都包含一个很大的电路模型库,其中各种集成电路芯片的模型就是采用宏模型技术设计的。模型库中模型是否完备成为工具软件是否成熟、是否适用的重要标志。

随着集成电路技术的发展,电路仿真变得越来越重要。与电路仿真联系紧密的宏模型技术从20世纪70年代起就得到了人们越来越多的关注,相继出现了许多常用的模拟集成电路的宏模型,如运算放大器宏模型、比较器宏模型和模拟相乘器宏模型等,其中运算放大器宏模型已经研究得很充分。也有人提出数字电路基本单元(例如:门电路和寄存器)的宏模型以及锁相环宏模型。近几年来,有关A/D、D/A转换器的宏模型、脉宽调制器(PWM)等结构较为复杂的模拟集成电路芯片宏模型也有相应的研究文章发表。

模拟集成电路宏模型的种类很多,在不同的电路仿真工具中可采用的宏模型种类是不一样的。最基本的有以下几种:电路简化宏模型;电路特性宏模型;表格特性宏模型;数学宏模型。实际构成的宏模型往往并不限于某一类,而是几种类型的组合,选取哪种方法设计宏模型,在很大程度上取决于仿真器支持的模型种类。

加州大学Berkeley分校开发的通用电路仿真软件SPICE是目前国际和国内广泛应用的电路仿真软件,目前大部分模拟集成电路宏模型都是基于SPICE。但近几年来,除了SPICE及其改进版本如PSpice、Hspice外,出现了基于IEEE1076.1 VHDL-AMS(VHDL with Analog-Mixed Signal extension)的仿真器。由于VHDL-AMS可以对数模混合系统用同一种仿真语言进行描述,因而适合于SoC的系统级仿真。

关于宏模型的设计方法已经有不少研究成果,但不论怎样建立宏模型,都应遵循以下几个基本要求:能准确地仿真原电路的主要特性;宏模型本身的电路结构要尽可能简单;建立宏模型的过程要尽可能简化。

常用的建立宏模型的方法有两种:简化法和构造法。用简化法建立宏模型的过程如下:首先找出原电路中对电路性能指标起主要作用的元件,然后将原电路中对整个电路性能影响不大的元件去掉,使原电路得到简化。采用构造法建立的宏模型往往比用简化方法得到的宏模型有更大程度的简化,而且采用构造法可以去除电路中的有源器件,在电路仿真时可大量减少计算时间和内存,因此绝大部分的电路宏模型是采用构造法建立的。但由于用构造法建立宏模型时可采用的电路形式和描述方法很多,难于实现自动生成,而且宏模型的质量在很大程度上取决于模型设计者的电路知识,预分析的工作量较大。实际上在构造宏模型的过程中往往并不局限于某一种方法,而是根据实际情况和精度要求在宏模型的某一部分采用简化方法,而在其他部分采用构造法,这样设计出来的宏模型既简单又能够满足精度要求。

芯片级宏模型

对大规模集成电路来讲,采用精确的器件级仿真通常是不可行的,因为随着集成电路技术的发展,集成电路的规模越来越大,在一个芯片上已经可以集成数千万甚至数亿个晶体管。深亚微米集成电路所包含的晶体管数目即将超过1亿,而根据SIA的预测,集成电路芯片中的晶体管数目将在2010年达到14亿,而电路分析软件可以仿真的电路受到计算时间、计算机内存和计算收敛性的限制,在器件级完成这么大规模电路的仿真是不现实的。

宏模型技术是解决大规模模拟集成电路仿真难题的一种很好的方法。对于一个包含很多功能模块的芯片,如果每个模块都像前面所述的那样,让设计者从最底层构造宏模型,那么要完成一个芯片需要很长一段时间,不能适应市场的要求。所以,在很多电子设计自动化工具中,都包含一个模型库,为芯片设计者提供基本功能单元的宏模型,以减少设计时间、降低设计成本。美国Analogy公司(已被Synopsys公司收购)开发研制的EDA工具Saber就提供了一个比较全面的单元宏模型库,每个模型都有可调的特征参数,以满足设计者不同的需要。在实际应用中,模型库不是万能的,当库中的单元模型不符合设计要求时,还需设计者自己来设计符合要求的模型。

要想得到一个芯片的有效宏模型,首先要将芯片进行模块划分,然后设计每个模块的宏模型。对各个模块宏模型的设计是非常关键的一步。各个模块的宏模型设计应尽量利用模型库中提供的单元,以提高设计效率。

系统级建模方法

基于平台和基于高层次综合的设计方法大大提高了片上系统的设计效率。前者的关键是IP(Intellectual Property)核的可重复使用,有点类似搭积木,其实质与芯片级宏模型设计方法类似。IP核是工程师们研究设计的提炼,主要实现一些常见而且有一定设计难度的功能,这些核一般都经过验证,可以使需要这些功能的设计者们不用重复设计这些积木,而直接使用这些IP核,从而达到缩短设计周期和提高系统可靠性。美中不足的是可靠性越好、功能越强大的IP核的成本通常越高。IP核分为三类:软核是指在寄存器传输级逻辑门级用硬件描述语言(HDL)描述其电路功能,其表现形式是电路功能的语言代码,例如接口、算法、编译码和加密设计等都可以用软核来实现,软核使用灵活,成本低,但是与硬件结构关系不大,因此可预测性差;硬核则是基于设计工艺用的版图形式来描述电路功能,例如存储器、模拟器件等,其特点是成本高,可靠性高,效率高;另外一种是介于软核和硬核之间的固核,这类IP核成本比硬核低,而可预测性比软核好。

基于高层次综合的设计方法则是从系统级角度出发,希望能通过系统级描述语言来实现高的建模效率,并将时序和行为分开建模,同时支持软硬件混合建模、从系统级到门级的无缝过渡以及在系统级进行系统性能的分析和调试,从而提高设计效率。系统级建模方法就是采用系统级描述语言对一个片上系统进行描述,利用建模工具提供的模型库来实现对整个系统的统一高层次建模。

(对于传统的硬件描述语言,如Verilog和VHDL,在20世纪 90 年代末,就成为流行的硬件建模语言。但是,它们无法建立系统级的模型硬件建模/描述语言。而对于传统的高级语言,如C和C++,它们具有很强的系统描述能力,但是却无法用来描述硬件。【系统建模/描述语言】)有不少EDA创业公司试图找到解决这个问题的办法。系统级建模最大的困难在于确定硬件实现方法和软件实现方法之间的折衷。1999年9月,出现了开放式 SystemC 计划它的最初目标是促进系统级知识产权产品的交流,促进利用普通的C++建模平台进行硬件/软件的联合设计选择C++的主要理由是大多数芯片体系结构设计师和软件工程师都使用它。但是,由于Verilog和VHDL具有从寄存器传输级到开关级的强大描述功能,很多公司也在开发System Verilog和Superlog,它们是在Verilog和VHDL的基础上,增强了系统描述能力。目前,由于SystemC的开放性,它已经成为全世界电子设计自动化行业的研究热点。

应运而生的是真正的ESL(电子系统级)工具。ESL的目标是单一高级别模型的协同软硬件设计。ESL工具能够在系统级上考虑功耗、可编程性、成品率等多种问题。在2005年的设计自动化年会上,出现了ESL工具,预计2009年达到与RTL类工具并驾齐驱的地位。ESL技术的发展对高级建模语言有明显的促进作用,SystemVerilog和SystemC语言的使用也在成为现实。

电子系统级设计包含许多组成元素,它利用类似SystemC的软件代码来定义用于开发集成电路的结构模型SystemC使多级协同设计及测试在许多级别上成为可能,例如应用、操作系统和器件驱动器及RTL。该语言允许用同一种语言写模型/分析和算法,但是并不完美,例如还可以在语言中增强仿真及调试定义。目前,65nm SoC设计需要更多复用和自动化,需要针对功率、性能和范围进行系统级的优化,因此越来越多的设计者开始使用系统级描述语言。目前,开放式SystemC处理级建模(TLM)正获得像飞利浦半导体、意法半导体和IBM这种大型公司开发人员的支持。TLM标准1.0版定义了应用编程接口(API)和库,设计用于促进IP共享与复用,加快EDA工具开发,并使得OEM能够更容易地使用TLM。尽管ESL外延很广,可适用于任何一种高于寄存器传输级的设计,但大多数用户使用SystemC语言用于结构建模或验证,许多还使用SystemC通过新标准库支持的TLM,但是缺乏相应的商用EDA工具。尽管IP模块能够从C被编译为RTL,但从系统级到结构仍是一个费力的人工过程。由于ESL设计工具有望回报给EDA产业两位数的增长,专家预测全球EDA收入将从2005年的39.7亿美元增长至2009年的74.6亿美元。

总 结

EDA方法论每10到12年发生一次变化。在20世纪80年代末转向RTL设计,而在90年代则转向内部IC物理设计。这些趋势都推动了EDA产业增长。如图2所示,未来几年全球ESL工具的收入将显著增长,从如今的2亿美元增加至2009年的16亿美元,ESL工具的收入也将与RTL工具持平。

图2 不同级别EDA工具的收入发展趋势

本专题只是给读者一个简单的有关片上系统电子设计自动化中涉及的建模方法。这是EDA技术的基础,有很多工程师都在致力于这方面的研究工作。

(计算机世界报 2005年11月07日 第43期 B12、B13)

你可能感兴趣的:(片上系统EDA的建模方法)