SoC设计方法与实现
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.3 SoC设计的发展趋势及面临的挑战

1.3.1 SoC设计技术的发展与挑战

随着集成电路工艺的发展,集成电路设计的新挑战不断出现。从2004年至今,设计成本(Design Cost)被认为是集成电路发展道路上的最大障碍。从设计角度考虑,成本的变化主要体现在以下方面:

① 对于SoC而言,其包含了软件和硬件两部分,不同的软硬件划分方案和实现方法决定了设计成本;

② 制造的非周期性发生费用(NRE,Non-Recurring Engineering)越来越高,主要包括掩模版(Mask)和工程师的设计费用,一旦设计发生错误,将导致这一成本的成倍增长;

③ 摩尔定律加快了设计更新的脚步,也就是缩短了产品的生命周期。相对较长的设计和验证周期增加了成本。

另一方面,设计方法也没有停止前进的脚步,IP复用和EDA工具的发展大大降低了设计成本,从图1-4可以看出,这一成本的变化已经不再呈线性发展趋势。例如在2005年,电子系统级(ESL)的设计方法的广泛使用提高了系统结构设计的效率,大大减少了设计成本。加上其他设计方法的应用,使得设计成本比原先估计的降低了近50倍。

图1-4 设计方法的改进对高效能SoC设计总成本的影响(2005 ITRS)

除了设计成本外,集成电路设计还面临着诸如设计复杂度、信号完整性等挑战。随着工艺技术的发展,这些因素对于设计的影响程度也有所不同。如图1-5所示,从0.25μm工艺出现的集成密度的挑战逐渐向时序收敛、信号完整性、低功耗设计和可制造性设计及成品率发展。

图1-5 VLSI设计技术的发展趋势及面临的挑战

1.集成密度(复杂性)

集成密度是指芯片单位面积上所含的元件数,其朝着密度越来越高的方向发展,这也意味着集成电路的规模越来越大、复杂性越来越高。造成这一发展趋势的原因是整机系统的日新月异。随着科技的进步和人们生活需求的提高,整机系统不断朝着多功能、小体积的方向发展,如手机、PDA、MP4等消费类通信移动终端。这就要求系统中的芯片在满足功能需求的同时,体积能够尽可能的小。如今,设备制造技术的进步使得集成电路的最小特征尺寸(即晶体管的最小沟道长度或芯片上可实现的互连线宽度)逐渐减小。随着SoC设计技术的出现,使得设计者可以将整个系统集成在一块芯片上,并且从全局出发,把处理机制、模型算法、芯片结构、各层次电路直至器件的设计紧密结合起来,通过顶层和局部的优化,来提高芯片的集成密度。

不难发现,这一挑战来自两方面,即硅器件的复杂性和设计的复杂性。

(1)硅器件的复杂性

硅器件的复杂性是指工艺尺寸缩小及新器件结构所带来的影响,以前可以忽视的现象现在对于设计的正确性存在着相当大的影响:

① 对于器件而言,无法确定各个参数理想的缩小比例(包括电源电压、阈值电压等);

② 尺寸缩小使得寄生电容、电感的影响无法忽略,对于制造工艺的可靠性造成一定的影响。

(2)设计的复杂性

设计的复杂性主要体现在芯片验证和测试难度的提高,以及IP复用、混合电路设计的困难加大。

① 芯片验证更为复杂

电路规模的增加导致庞大的设计数据和更为复杂的验证过程。集成度越高,实现的功能越丰富,所需要的验证过程就越烦琐,验证向量的需求也就更多。目前,越来越多的设计厂商在设计复杂SoC芯片时采用基于IP核复用的方法。就IP核功能而言,有处理器核、DSP 核、多媒体核等;就电路类型而言,有数字逻辑核、存储器核、模拟/混合核。IP核的多样性造成了验证的复杂性。

② 芯片测试更为复杂

集成密度的提高同样给芯片测试带来了困难。芯片规模的增大,往往会导致外围引脚的增加,并且内部逻辑越来越复杂,会生成海量的测试矢量。这就对芯片测试设备提出了更高的要求。ATE(Automatic Test Equipment)所能提供的测试通道深度和测试时间都是“稀缺资源”,随着集成度不断提高,测试日渐成为复杂SoC设计流程中的瓶颈。

③ 混合电路设计更为复杂

SoC集成密度提高的另外一个挑战是数字模拟的混合电路的集成。在目前的技术水平下,典型的SoC有数十个系统单元组成,而且数量在未来可能增加到上百个。整个系统包括数字部分和模拟部分,其中数字部分主要由处理器、存储器、外围接口组成,模拟部分包含了射频电路,以及模数、数模转换电路。近年来市场对通信产品如手机、蓝牙产品等有着强劲的需求。预测在未来的几年,超过70%的SoC设计包括混合信号的内容。模拟电路不像数字电路,其受外界因素的影响较为明显,集成度也远低于数字电路,要在高密度下实现数字电路和模拟电路的集成和信号交互,就必须重新考虑设计方法、设计工具、制造封装方法等因素。

2.时序收敛

集成电路设计中的时序收敛一般指前后端设计时序能够达到设计需求。随着工艺的进步,线延迟占主导地位,时序收敛问题越来越严重。当前,基于标准单元的深亚微米集成电路设计正接近复杂度、性能和功耗的极限。设计工具的时序准确性不足以及版图后的时序收敛问题已经成为成功实现这类设计项目的两大关键障碍。根据市场调研公司Collett International的调查,60%以上的ASIC设计都存在时序收敛问题。

从0.18μm特征尺寸开始,在逻辑综合期间,用于评估互连负载和时延的基于统计扇出(Fanout)的线负载(Wireload)模型与版图设计完成后,实际的互连负载和时延之间就存在很大区别,从而导致设计的综合后和版图设计后两个版本之间缺乏可预测的时序。在0.13μm以下尺寸时,估计的和实际的互连线特征之间的差异要比0.18μm时大很多。因此,在更小尺寸的情况下,出现时序收敛问题时,设计工程师必须修改RTL设计或约束,重新综合并重新设计版图,大大增加了前端/后端的迭代工作,既耗时也影响了项目的进度。为此,人们必须找到一种方法,能够在设计的早期获得更加精确的时序信息。

3.信号完整性

信号完整性(Singnal Integrity)是指一个信号在电路中产生正确的、相应的能力。信号具有良好的信号完整性是指,在需要的时间段内,该信号具有所必需达到的电压电平数值。

在SoC设计中,信号之间的耦合作用会产生信号完整性问题,忽视信号完整性问题可能导致信号之间产生串扰,可靠性、可制造性和系统性能也会降低。随着工艺技术的发展,导致信号串扰的机会在增加。金属布线层数持续增加:从0.35μm工艺的4层或5层增加到0.13μm工艺中的超过7层的金属布线层。随着布线层数的增加,相邻的沟道电容也会增加。另外,目前复杂设计中的电路门数的剧增使得更多、更长的互连线成为必要。长的互连线不仅使得耦合电容增加,长线上的电阻也会增加,而越来越细的金属线同样也会导致电阻的增加,这是由于互连线的横断面减小的缘故。即使采用现有的铜线互连工艺也并不能够解决这方面的问题,仅仅只是延缓了解决电阻问题的时间。

4.低功耗设计

SoC的低功耗设计已成为重大挑战之一,在特定领域,功耗指标甚至成为第一大要素。近年来,随着IC工作频率、集成度、复杂度的不断提高,IC的功耗快速增加,以Intel处理器为例,处理器的最大功耗每4年增加1倍。而随着制造工艺尺寸的减小,CMOS管的静态功耗(漏电)急剧增加,并且呈指数增长趋势。功耗的提高带来了一系列的现实问题及设计挑战:

① 功耗增加引起的IC运行温度上升会引起半导体电路的运行参数漂移,影响IC的正常工作,即降低了电路的可靠性和性能;

② 功耗增加引起的IC运行温度上升会缩短芯片寿命,并且对系统冷却的要求也相应提高,不仅增加了系统成本,而且限制了系统性能的进一步提高,尤其对于现在流行的移动计算;

③ 为了进行低功耗设计,选择不同性能参数的器件,如多阈值电压的MOS管、不同电源电压的器件等,这样一来就大大增加了设计复杂度。

另外,虽然电池技术已经取得了一定的进步,寿命有所延长、体积有所减小,但这些变化都跟不上下一代集成电路设计功耗迅速增加的需求。传统电源管理技术不再足以使电池寿命维持到最终用户可接受的水平。图1-6中可以看出,电池容量发展与集成电路制造技术发展的比较。图中的香农定律是无线应用领域的预测定律,它预测了无线应用中的一系列相关算法的复杂度。蜂窝无线标准的发展就是这种复杂度快速增长例子中的典型代表,在1G与2G以及2G与3G之间,处理复杂度都是按3阶的级数递增的。

图1-6 电池容量发展与摩尔定律及香农定律的比较

系统的低功耗设计及其IC的低功耗设计至今仍是其生存的关键,需要在保证性能的前提下,尽可能地节省IC功耗。

从宏观结构上看,IC功耗来自于IC内部的各功能模块及功能模块间通信的功耗,而功能模块的划分、功能特性、数量和相互关系及任务的分配是在系统结构设计时确定的。IC的功耗是各功能模块的功耗的总和。对于性能的不同要求,对模块的功能要求就不同,从而影响IC的实现规模。功能越复杂,实现规模越大,IC的功耗就越高,所以系统结构级的设计从根本上关系到IC功耗的大小。随着ESL设计方法的出现,使得在设计的早期进行软硬件协同设计成为可能,如图1-7所示,系统级设计将在低功耗设计中发挥越来越重要的作用。

图1-7 在低功耗设计中各个设计阶段所起作用的变化趋势(2009 ITRS)

从微观电路实现上看,集成电路的功耗主要由动态功耗和静态功耗两部分组成。目前集成电路主要以静态CMOS为主,在这类电路中,动态功耗是整个电路功耗的主要组成部分;其次是静态功耗,随着工艺尺寸的不断减小,泄漏电流消耗的功率所占的比重越来越大,成为IC功耗的主要来源之一。在0.13μm以下工艺,泄漏电流再也不能被忽略不计。在90nm工艺下,泄漏电流所消耗的功率可占总功耗的50%左右。如何降低泄漏电流功耗又成为一个棘手的问题。因此,对于设计人员来说,需要针对不同的功耗进行设计方法的折中。

5.可制造性设计及成品率

过去,成品率完全取决于代工厂的制造工艺水平,而现在更多的将依赖于设计本身的特征。这是因为,随着电路中门数的继续增长,以及新的制造技术的发展(包括铜制造工艺),出现了许多意想不到的因素,如平整性对时序的影响、过孔空洞效应等,所有这些因素都会引入新的缺陷类型,影响成品率。布线后的工艺应用的复杂性增加了,光学和工艺校正(OPC,Optical and Process Correction)成为0.13μm工艺的必需环节,而进行OPC可能会大大影响成品率。其他旨在提高成品率的布线后的工艺应用,如金属填充、开孔和冗余孔洞插入等,实际上也可能增加缺陷。

如何在规模不断扩大、器件特征尺寸不断缩小的情况下,保持和改善IC的成品率已成为集成电路制造中的关键问题。在一个芯片付诸制造之前,尤其是在芯片批量生产之前,如果能够准确预测出该产品的制造成品率,将对IC的制造起到非常重要的作用。在芯片生产之前采取一些修正措施,如改变设计规则、选择先进的工艺线、改变芯片的布局布线和加入容错设计等,可使集成电路的成品率达到最大,大大缩短产品的研制周期。这就是集成电路可制造性设计(DFM),它将电路性能与生产能力紧密结合,使集成电路的成品率和利润达到最优化。

在65nm及以下的工艺,可制造性设计尤为重要。总体来看,可制造性设计将与功耗、性能和信号完整性一同作为多目标设计优化的首要任务。

1.3.2 SoC设计方法的发展与挑战

随着集成电路制造工艺的发展,SoC上将集成更多数量和种类的器件。设计、制造、封装和测试变得越来越密不可分。同时,人们对高效能的SoC的需求会更加迫切。未来的SoC中将会用到更多处理器或加速器,以便更加灵活地支持不断出现的新应用。设计方法也会改进来应对新的挑战,它会对设计工具提出新的要求,产生新的设计技术。这些趋势主要体现在以下方面:

  • IP复用将不仅仅在硬件领域,在软件设计领域同样需要;
  • 今后的设计将在一个应用平台上完成,该平台将包括一个或多个处理器和逻辑单元,即基于平台的设计;
  • 可编程、可配置、可扩展的处理器核的使用,会使得原有的设计流程和设计者思维发生变化;
  • 系统级验证时,利用高级语言搭建验证平台和编写验证向量,需要相应的工具支持;
  • 软硬件协同综合,使得在同样的约束条件下,系统达到最优的设计性能。

这些都要求设计层次向着更高的抽象层次发展,设计工具之间更紧密的结合,更早地实现功能验证和性能验证。图1-8表示了这种发展趋势。

图1-8 设计系统结构的发展 (2003 ITRS)

1.系统级设计

SoC的设计应该是一个软件和硬件协同设计的过程,这也是SoC系统一个非常重要的标志。然而,传统的集成电路设计方法一般都是将系统分为两个阶段:系统级软件开发部分和电路级硬件设计部分。特别需要指出的是,软件开发和硬件设计往往是相对独立进行的——在系统级,软件开发人员使用C/C++/SystemC等高级编程语言进行系统描述和算法仿真,并分析系统在软件层面的各项指标,撰写系统设计书,然后移交给硬件设计工程师;在电路级,硬件设计师首先要用大量的时间理解系统设计书,之后才能利用VHDL或Verilog硬件描述语言进行电路设计。在这个手工转换的过程之中,可能还会引入人为的错误因素。另外,为了验证软件开发的正确性,必须等到硬件全部完成之后才能开始进行软件测试和系统集成,大大延长了设计的进程。传统的设计方法使得在软件和硬件之间很难进行早期的平衡和优化,并有可能严重影响开发成本和开发周期。根据有关统计从系统级设计到电路级设计所花费的时间一般是系统级设计所花时间的3倍左右。因此,在系统级设计与电路级设计之间架设一座桥梁,提高设计效率,保证设计成功,已经成为集成电路设计领域极为迫切的任务。

在更高抽象层次上的建模,如系统级建模,可使得硬件及软件工程师可以在同一个平台上设计。业界领先的公司采用电子系统级(ESL,Electronic System Level)设计方法是因为它利用系统级建模,可以更有效地进行设计空间的探测(Design Space Exploration),进而快速得到优化的系统结构。ESL设计使设计工程师能够及早进行软件开发,实现快速设计和派生设计、快速硬件验证及快速硬件/软件(HW/SW)验证。它还提供可以用来验证下游RTL实现符合系统规范的功能测试平台。此外,ESL设计工具可综合针对应用优化的定制处理器,以及快速开发和实现先进算法。

对于一个大型软件开发任务,尽可能早地开始软件开发很有必要,即使原有软件的复用程度很高。采用基于高级语言的ESL设计方法学,SoC结构工程师可生成一个用来仿真的SoC行为模型,如果需要,还可以生成仿真SoC周期精确时序的高级模型。这个模型称为事务级模型(TLM),它使软件设计工程师在RTL设计或芯片制造完成前几个月即可着手进行软件开发工作。

高层次的抽象使得多种验证可以更早的进行,减少了产品的面世时间,降低了产品的成本,并且可以更早地发现设计错误。在系统级设计中,多个设计文件将合并成一个有效的数据模型,功能验证、性能验证及可测性的验证都被提前了。

随着高级抽象层的事务级建模标准化,自动形成设计的高层综合技术正在向普及性发展。基于事务级建模的系统设计将成为重要发展趋势之一。

2.基于可配置处理器设计与使用的SoC设计方法

当前普遍的SoC设计方法都以一个或多个高性能通用RISC处理器核(如ARM、MIPS等)为核心,构成一整个片上系统体系结构。然而,通用处理器核的性能往往不能满足诸如信号处理、视频图像、协议实现、信息安全等的数据密集型处理任务。现有的典型的设计方案,大多是在SoC片上加载一个算法加速单元,通过硬连线逻辑的设计方法来实现。但可以看到,这样的设计方法会导致芯片面积成本的急剧上升,同时算法加速单元的效率也可能会由于处理器核本身功能上非专用的缺陷而受到限制。

从上一节介绍的系统级设计方法可以看到,要最有效地发挥SoC的性能,尽可能早地与软件结合确定设计方案是一种行之有效的方法。而如果能够针对软件设计出专用性强、算法实现效率高的特殊处理器核,则会更方便地实现SoC的高效性。于是,一种新型的处理器内核——可配置的、可扩展的微处理器核(Configurable Extensible Microprocessor Core)应运而生了。在这样的处理器设计流程中往往具备一个生成器或编译器,其输出是处理器的设计和适用于该处理器的一系列软件工具,如交叉编译器链、仿真器等。这个过程的特点是可以将高层次的应用需求从指令集、代码或高级语言直接转换为高效的硬件设计和软件工具,从而极其方便地为设计者如何使用、整合、互连形成处理器提供了积极有效的帮助,也为以这样的一个或多个处理器为核心构成SoC提供了极大的参照便利,更重要的是能使其尽早结合软件应用来实现处理器和SoC性能的优化。

使用这些可配置、可扩展的专用处理器作为SoC系统中子系统的底层构件,完全可以根据软件的需求做合适的调整,省略其中不必要的硬件组成部分,使得部分合适的软件能对其专用或共享,而其他软件程序则可根据自身要求再“裁减”一套新的处理器核。从这点可以看出,处理器的效率肯定会得到大幅的改善。此外,以可配置处理器作为底层基础构件还可以使得SoC具备整体的可编程性,因此更加容易适应各种标准的变化,从而弥补苛刻的用户需求和不断变化的应用标准之间的鸿沟,并且多个功能专一的小处理核更容易结合在一起解决更大规模的问题。

诚然,如今也有相当多的设计者使用多个高性能通用微处理器核构成SoC,同样也能提高处理性能,但需要指出的是,在这样的环境下,至少一个处理器核的功能肯定不会得到完全发挥,其内部对应用而言无用的逻辑会使整个速度和功耗指标受到损失。但是,专用可配置处理器在这点上的优势较为明显,自动生成的微处理器核只包含应用所需要的功能,因此基础指令集中一定不含有应用目标中不会使用的、无关的功能,由此相应带来的面积、功耗和速度等方面的负担也会相应的减少。此外,由于自动化生成工具的支持,基于可配置处理器的设计流程可以使没有微处理器设计经验的工程师也可以针对应用需求,通过功能描述、系统评估、配置、编程、互连来构成这些专用处理器,并以此作为基础构件构成处理器海(Sea of Processors)模式的多核SoC以替代传统的门海(Sea of Gate)模式,从而适应未来复杂SoC设计的需求。

1.3.3 未来的SoC

在未来的SoC设计中,设计者会努力争取将系统所有的重要数字功能,如网络开关、打印机、电话、数字电视等做在一个芯片上。SoC设计将涉及将所有的重量级功能,如高效通信信号处理、图像和视频信号处理、加密和其他应用加速等功能,集成到一个芯片上。随着互联网新技术的不断涌现,人们对模拟仿真、互动及智能化的要求越来越高,这就催生了众核时代的到来。未来的众核芯片上将集成数百个乃至数千个小核,可更有效地提高SoC性能,改善芯片通信方式,并降低能耗。

在未来的SoC设计和销售中,软件的作用所占的比重将越来越大。未来的SoC设计不仅包含了硬件,还要包含很大规模的软件,传统的软硬件划分准则不再有效。同时,芯片销售将包括驱动程序、监控程序和标准的应用接口,还可能包括嵌入式操作系统。软件的增值会给设计公司带来更多的收入,设计思路会发生很大的变化。

在未来的SoC设计中,功耗问题将遇到更大的限制和挑战。高效能(Power Efficient)的新型SoC系统结构将成为SoC发展的主要驱动力。

以前,绝大多数这样的功能都是靠使用专用硬件加速器来实现的。这使得设计的周期更长、成本更高且产品寿命更短。以电子系统级设计为代表的先进的SoC设计方法的出现,使得以多个处理器为中心的复杂SoC设计变得简单,而灵活的软件方案可以更有效地解决多变、复杂的应用问题。可配置、可重构的复杂SoC必将成为未来的主流。