摘要 与ASIC设计的其他技术一样,SoC的出现是以许多技术支撑为条件的。这些技术包括深亚微米工艺技术、IP核的优化及重用技术、EDA技术、软/硬件协同设计技术。文中讨论了SoC支撑技术和SoC阶段嵌入式系统设计的作用。
引言
SoC(System on Chip)可以译为"系统集成芯片",意指它是一个产品,是一个有专用目标的集成电路,其中包含完整系统并有嵌入软件的全部内容;SoC也可以译为"系统芯片集成",意指它是一种技术,用以实现从确定系统功能开始,到软/硬件划分,并完成设计的整个过程。
作为ASIC(Application Specific IC)设计方法学中的新技术,SoC始于20世纪90年代中期。1994年MOTORLA发布的Flex CoreTM系统(用来制作基于68000TM和Power PCTM的定制微处理器)和1995年LSI Logic公司为SONY公司设计的SoC,可能是基于IP(Intellectual Property)核完成SoC设计的最早报导。由于SoC可以充分利用已有的设计积累,显著地提高ASIC的设计能力,因此发展非常迅速。在2000年的CICC(Custom IC Conference)会议上,MOTORLA SoC 设计技术研究部主任 Joe Pumo作了主题报告(key note),题目是"SoC:The Convergence Point for Solution of the 21st century[1]。CICC是ASIC设计领域最高层次的国际学术会议。它的主题报告一般代表着ASIC设计领域的技术发展趋势,也说明SoC在ASIC学术界和工业界受到重视的程度。本文拟对SoC支撑技术及SoC阶段嵌入式系统设计的作用作些讨论。
一、深亚微米工艺推动SoC的发展
1. IC设计能力与工艺能力
集成电路工艺技术的发展表现在两个方面:一是沿硅片横向和垂直硅片纵向加工精度的提高,使得器件特征尺寸从亚微米的0.5μm、深亚微米(DSM)的0.35μm一直下降到0.13μm甚至甚深亚微米(VDSM)的0.1μm及以下,并可以形成各种结构; 二是匀场范围的扩大,使得芯片面积由100 mm2增加到200 mm2甚至300 mm2及以上。每个管子在缩小,芯片面积在扩大,两者的乘积使得 IC 集成度的CAGR(Commutation Average Growth Rate) 每年达到58%,即1.583 = 4。这就是Moore定律指出的三年翻四番。可以说微电子的加工技术已经达到这样的程度:可以在硅片上制作出电子系统需要的所有部件,包括各种有源和无源的元器件、互连线,甚至机械部件。 因此,已经具备了由电路集成 (IC) 向系统集成(IS)发展的条件。根据工艺特点的不同,可以把以集成形式实现的电子系统分为三类:一是有线系统,二是无线系统(RF),三是微机械系统(MEMS)。第一、二类都是以电学信号为第一物理量作为系统的输入,只是信号馈入的方式不同;第三类则是以力学、光学、化学等信号为第一物理量输入系统。MEMS接收各种不同属性信号的传感器(sensor)也将集成在系统之中。在这三类系统中,第一类是系统集成的基础,第二、三类系统在完成信号转换之后也将送入第一类系统处理。
IC工艺的发展也给人们带来一些忧虑,这就是所谓的"极限"问题。担心Moore定律是否有效,现行的硅基工艺还能持续多久?这个问题已经讨论了10年。在这10年的IC发展中可以得出这样的结论:21世纪,起码是21世纪前半,系统集成仍然是以硅基工艺实现。尽管微电子学在化合物和其他新材料方面的研究取得了很大进展,但全世界数以万亿计的设备和技术投入,已经使硅基工艺形成非常强大的产业能力。同时,长期的科研投入已使得人们对硅及其衍生物各种属性的了解达到十分深刻、十分透彻的地步,成为自然界100多种元素之最,这是非常宝贵的知识积累。产业的能力和知识的积累决定着硅基工艺起码将在30~50年内起骨干作用,还将继续发展。即使是Moore定律不再有效,硅工艺为IC设计提供的加工能力也足够使用几十年。
在工艺能力提高的同时,IC的设计能力也在不断提高,不过提高的速度低于工艺能力。它的CAGR每年只有21%,每三年只翻1.8番(1.213=1.77)。图1画出了设计能力与工艺能力的发展趋势。
图1 集成电路设计与工艺能力的增长趋势
几十年IC的发展实际上并未发生如图1中两条直线表示的设计能力与工艺能力的剪刀差,这是由于新的ICCAD工具不断出现,使得IC设计能力大约每十年出现一次阶跃式的提高,有效地缩小了与工艺能力的差距。图1示意地画出了这几次阶跃: ① 表示20世纪70年代的版图编辑系统,即第一代ICCAD,把IC中的重复结构建立版图库,利用系统的复制功能,提高了版图设计效率;② 表示80年代出现的以门阵列、标准单元布局布线为主要内容的第二代ICCAD系统,由于这套系统已经把IC的电学功能纳入设计之中,自此ICCAD系统更多地称为EDA;③ 表示90年代出现的综合(synthesis)系统,把设计水平从原理图输入提高到行为描述,这就是第三代EDA,进一步缩短了设计周期,提高了设计效率。IC设计能力的提高,特别是已经形成的三次阶跃,虽然不能完全解决滞后于工艺水平的问题,但也基本上充分利用了工艺技术所提供的集成能力。
IC设计能力的三次阶跃都是以不同层次的建库为基础,而且建库单元的规模也越来越大,从基本单元电路,到功能模块,甚至于子系统。这样可以充分利用已有的设计积累,实现设计重用,提高设计的起点。
在工艺技术进入DSM之后,设计能力滞后于工艺的状况再一次突出。这是因为DSM使得半导体器件和电路互连线都出现了更为复杂的本征效应和寄生效应,是IC设计需要面对的挑战。解决或者缓解这个问题更须进一步利用设计积累,提高设计起点,把已有优化的子系统甚至系统级模块纳入到新的系统设计之中,实现系统芯片集成。这就是图1 中④表示的第四次阶跃--SoC技术。已有的子系统级、系统级的优秀设计是实现SoC设计的基础,它们都包含有大量的创造性劳动,已经具有IP的价值。
2. IC产业的分工
IC技术的迅速发展得益于IC产业内部的细致分工,图2示意地画出分工过程,SoC技术正是IC产业分工的体现。确切地说,60年代的IC产业应该是半导体产业,当时的厂家没有分工,所掌握的技术十分全面,最典型的代表就是Fairchild公司,不但生产晶体管、集成电路,就连扩散炉都自己制作,如图2中的第一行所示。到了70年代开始分工,半导体工艺设备和ICCAD设备成为独立产业,以其精湛的专业技术为IC厂家提供高质量的设备。此时IC厂家可以有更多的精力用于产品的设计与工艺的研究。到了80年代,工艺设备生产能力已经相当强大,而且费用也十分昂贵,IC厂家自己的设计已不足以供其饱和运行。因此开始承接对外加工,继而由部分到全部对外加工,形成了Foundry加工和Fabless设计的分工。IC产业的这一次分工,再加上ICCAD工具发展为EDA系统和大批没有半导体背景的系统设计师提供了直接介入IC设计的条件。由于系统设计师来自国民经济的各行各业,因此使得IC的作用也渗透到各行各业,开拓了IC的应用领域,扩大了对IC的需求。80年代的这次分工是IC发展过程中的一次重要分工,极大地推动了IC产业的发展。
图2 IC产业的分工
在这一时期,一般的Fabless都有自己的测试,这是因为测试与销售关系密切,同时也是因为当时的产品功能还不甚复杂,所需测试设备还不算太贵,因此有自己建立测试条件的可能性。随着集成规模的提高和产品功能的增加,完成测试所需的设备已经十分昂贵,到了以秒计价的程度,而且测试能力也非常强大,一个Fabless公司已不能使其饱满运行。因此到90年代,测试也成为独立产业分离出去。至此,只要有设计能力和市场支持,就能把一个IC公司办得很好。
IC产业最近的一次分工始于90年代末,目前仍在进行。这就是IC设计产业中的系统设计和IP设计的分工,形成了以SoC技术为主的chipless设计方式。这次分工对IC产业的推动将不亚于80年代Fabless与Foundry的分工。
二、IP在SoC中的地位
在IC设计中,IP成为独立技术的时间虽然不长,但发展却非常迅速。ASIC领域许多文集、报告中有关IP的内容剧增。CICC 1997年会议文集的"单元建库"分册已有IP的报导[2],1998年CICC的文集关于IP的报导就增加到3个分册[3],1999年美国ICE(IC Engineering)编辑的"ASIC Status'99"讨论IP的篇幅占到了1/3。IP技术受到广泛重视的主要原因是它为SoC的设计提供了有效途径,是SoC的技术支撑。
1. IP技术的进展
实际上,IP的概念在IC设计中已经使用了将近20年,应该说标准单元库(standard cell lib)就是IP的一种形式[4]。工艺加工厂(Foundry)为扩大业务,便以精心设计并经过工艺验证的标准单元吸引IC设计师成为它的客户,向他们免费提供数据资料;IC设计师也乐于使用成熟、优化的单元完成设计,既可以提高效率,又可以减少设计风险。设计师一旦以这些数据完成设计,自然也就要到这家Foundry去做工艺流片,这样,Foundry便达到扩大营业的目的。使用者除与Foundry签定"标准单元数据不扩散协议"之外,无须另交单元库的使用费,因此Foundry并没有直接收到IP的效益,只是通过扩大营业间接收到单元库的IP效益。这就是IP的最初级形式。
今天的IP已远不是这个水平,已经成为IC设计的一项独立技术,成为实现SoC设计的技术支撑,成为ASIC设计方法学中的学科分支。
从集成规模上说,现在的IP库已经包含有诸如8051和ARM7等微处理器、320C30等数字信号处理器、MPEGII等数字信息压缩/解压器在内的IC模块,这些模块都曾是具有完整功能IC产品,广泛用来与其他功能块一起在PCB上构成系统的主板。如今微电子技术已经具有实现系统集成的功能,因此这些IC便以模块"核"(core)的形式嵌入ASIC和SoC之中。
从设计上说,单纯靠Foundry设计IP模块已远不能满足系统设计师的要求。今天的IP库需要广开设计源头,汇纳优秀模块。不论出自谁家,只要是优化的设计,与同类模块相比达到芯片面积最小、运行速度最快、功率消耗最低、工艺容差最大,就有人肯于花钱使用这个模块的"版权",便可以纳入IP库,成为IP的一员。
2. IP设计的层级
由于今天IP模块的集成规模已经达到系统级的水平,按照ASIC设计方法学的要求已经需要完成行为(behavior)、结构(structure)和物理(physical)三个设计域(design domain)的设计,因此,这些模块/子系统也就在三个层级上分别成为了软IP(soft IP)、固IP(firm IP)和硬IP(hard IP)[5]。
软IP是设计投入最少的层级,只完成RTL级的行为设计,以硬件描述语言描述文本的形式提交使用。这个HDL描述一定经过仿真验证,使用者可以用它综合出正确的门级网表。软IP一定是优化的行为域设计,与其他设计相比它所需的硬件开销最小。软IP的优点是有最大的便携性,不受实现条件的限制,同时也给后续设计留有更大的创新空间,使用者根据单元库的条件可以完成更具新意的结构设计。软IP最主要的缺点是对模块的预测性太低,增加了设计的风险,使用者在后续的设计中仍有发生差错的可能。
固IP比软IP有更大的设计深度,已完成了门级综合、时序仿真等设计阶段,以门级网表的形式提交使用。只要用户单元库的时序参数与固IP相同,就具有正确完成物理设计的可能性。硬IP是IP模块的最高层级,涉及广泛内容,将在下一节中重点讨论。
长期以来,ASIC设计能力低于IC工艺能力的状况一直困扰着IC设计师和EDA设计师,因此,不得不采用比最先进滞后两代的工艺制作ASIC。当DRAM已经使用0.18μm制作,CPU采用0.25μm工艺的时候,而制作ASIC仍然采用0.35μm,甚至0.5μm的工艺。IP技术的形成将对缩小设计与工艺能力的差距,直到扭转设计落后的局面发挥重要作用。
由于IP重用使双方受益:IP提供者可以获得直接效益;IP使用者,特别是硬件IP使用者,不仅可以节省开发费用,因为自己研制所花的费用远多于使用IP的费用,而且更重要的是减少了设计风险,缩短了设计周期,因此IP技术一经形成便迅速发展。据ICE的统计和预计,1995年的ASIC设计中只有9%使用IP,到1997年已上升至20%,1999年达到47% ,预计到2003年将有84% 的 ASIC 设计使用IP ,未使用IP的ASIC只有 16%。
3. 硬IP设计的重要性
硬IP是IP的最高形式,同时也是最主要的形式。一定意义上说IP技术是从硬IP开始的,即把IC产品变成设计中可重复使用的IP模块。国际上对硬IP的开发和应用都非常重视,特别是近几年发展迅速,1998年比1997年增长80%,1999年比1998年增长50%。
硬IP受到重视,首先,是因为它们可靠。这些IP模块的设计可以说是精雕细刻,设计与工艺的结合也是久经考验,使用这些硬IP完成系统设计不必再为模块担心,可以把精力全部用在模块的衔接上。其次,是硬模块使用方便,IP提供者把模块的芯片尺寸、端口位置、逻辑功能、时序关系以及驱动能力、功率消耗等等数据全部提交,系统设计者只须在芯片的适当位置留出IP模块的空间,把I/O端口衔接对准就算完成了对这个模块的处理,可以非常方便地完成IP模块的嵌入。第三,是硬IP的设计有相当难度,特别是在DSM阶段,密集的布局,窄长的互连,都引入十分严重的寄生效应;再加上高频率运转的要求,更增加了设计难度,需要投入大量的物理设计。可以这样说,SoC中的DSM设计主要体现在硬IP之中。所以,人们希望把这样的设计作为硬IP,省去重复开发的费用,况且重复开发还不一定能达到如此优化的程度。这里强调硬IP决无轻视软IP、固IP之意。对提出优化算法设计师的睿智,对做出创新结构设计师的才华应予十分重视,只有以这些算法和结构做基础,才能做出高质量的硬IP。每个硬IP都包含有软IP、固IP的成果。硬IP向使用者提供包括物理版图在内的全套设计的使用权,是可以落实在硅片上的IP,因此也称为"Silicon Intellectual Property(SIP)"。
4. IP的标准
随着对SoC重要性认识的日益深入,国内IC界对IP的谈论也越来越多,有些对IP的理解不够十分准确,比如把以前做过的IC设计都认为是IP。目前,尽管对IP还没有统一的定义,但IP的实际内涵是有界定的。
首先,它必须是为了易于重用而按嵌入式专门设计的。即使是已经被广泛使用的产品,在决定作为IP之前,一般来说也须要再做设计,使其更易于在系统中嵌入。比较典型的例子是嵌入式RAM[6],由于嵌入后已经不存在引线压点的限制,所以在分立电路中不得不采取的措施,包括地址分时复用、数据串并转换以及行列等分译码等,在嵌入式RAM中都可以去掉,不仅节省了芯片面积,而且大幅提高了运算速度。
其次,是实现IP模块的优化设计。优化的目标通常为"四最",即芯片的面积最小、运算速度最快、功率消耗最低、工艺容差最大。所谓工艺容差大是指所做的设计可以经受更大的工艺波动,是提高加工成品率的重要保障。这样的优化目标是使用全自动化设计过程难于达到的,可是对于IP又必须达到,因为它要重复使用千百次,甚至更多。IP的每一点优化都将产生千百倍甚至更多的倍增效益。因此基于晶体管级的IP设计便成为完成IP设计的重要,或许也是主要方法。
第三,要符合IP标准。与其他IC产品一样,IP进入流通领域后,也需要有标准。于是1996年以后,RAPID (Reusable APplication-specific Intellectual-property Developers)、VSIA(Virtual Socket Interface Alliance)等组织相继成立,协调并制订IP重用所需的参数、文档、检验方式等形式化的标准,以及IP标准接口、片内总线等技术性的标准。虽然这些工作已经开展几年,也制订了一些标准,但至今仍有大量问题要解决,例如不同嵌入式处理器协议的统一、不同IP片内结构的统一等,都是十分复杂的问题。
可以想到,要完成一个易于嵌入的、实现优化的、符合标准的IP设计,需要更大的工程投入,一般来说要比一次性应用的设计增加2~7倍。因此,有些IP的使用费要价很高也是可以理解的。
三、嵌入式系统的设计
嵌入式系统与SoC之间并没有明确的界定。按通常的理解,嵌入式系统更多地是指对单片机系统所做的集成,是SoC的一个子集。SoC则是指更广泛的系统集成。
1. 单片机的历史功绩
单片机在推动IC应用,促进IC发展方面发挥过而且还将继续发挥重要作用。单片机以微处理器为核心,在相应的应用环境下开发出软件写入码点,再配上周边的外围电路,就构成了应用于各行各业的单片机系统,上至精密仪器的自动控制,下至家电、玩具的多种功能,都离不开单片机在其中发挥作用。
单片机需要微处理器,促进了微处理器电路的生产,使之成为IC家族中所占份额最大的一个成员;单片机需要写入码点,促进了EPROM、Flash等非挥发存储工艺的发展,简化了编程过程。单片机在一个领域的应用,又启发了其他领域的应用,对微处理器的功能提出了更多的要求,因此推动了微处理器不断设计出新版本。单片机的广泛应用使得单片机系统成了集成电路渗入各行各业的"先驱",同时也使得单片机成了IC需求的大户之一。所以单片机对IC的发展特别是对微处理器电路的发展,功不可没。
可以说基于单片机的嵌入式系统是SoC的最初形式。有些单片机系统,例如家电控制器等,有着非常广大的市场。对于这种单片机实现系统集成,把所用的微处理器和外围电路集成为一个芯片,这样做不仅可以降低成本,提高可靠性,同时还有利于保护知识产权。这就构成了SoC的最初形式。不少Foundry为了扩大营业范围,建立了嵌入式微处理器的渠道,为嵌入式系统的设计和加工提供了方便。当然,使用者要对Foundry多付一定的费用,Foundry也要向微处理版权的拥有者付费。这就形成了IP有偿使用的模式。
尽管今天,SoC设计的范围、IP的种类和水平以及EDA工具的能力都比单片机系统所需的条件完备了许多,但是单片机系统的编程、开发过程和面向市场、对准应用的特点,都对SoC的发展有重要启发。
2. SoC阶段的嵌入式系统设计
进入SoC阶段,嵌入式系统设计所面对的工艺条件、 IP水平、 EDA能力、 软硬件协同设计-- H/S Codes方法都有了很大的变化。嵌入式系统设计师所能得到的条件也更加完备,因此更可以施展其系统设计的才华。
(1) 向chipless公司发展
正如当年单片机系统以其面向应用为特点一样,嵌入式系统设计师面向市场的首要任务没有改变。嵌入式系统设计师首先是该应用领域的系统设计师,全面了解应用的需求,能提出带有前瞻性的设计方案;同时应了解IP核的功能及行情,很快便能利用所需的IP核再加上胶连逻辑(glue logic)完成系统。这就是chipless的运作模式。
以SoC技术为主的chipless是指不再做具体模块芯片的设计。按这种模式运作的公司,依据电子市场需求和IP供给能力,提出系统功能描述,然后完成各IP模块在芯片上的拼接,再按Fabless模式完成SoC制作,便可把产品投入市场。显然,这种模式一定会受到系统设计师的欢迎。他们可以如当年把IC芯片安装在PCB上一样在硅片上进行IP模块的布局,完成SoC的设计。由于所提方案是有前瞻性的,所选IP是优化的,所用的设计工具是有效的,再加上所用的加工是稳定的,所以这样的产品具有了能在市场上一炮打响的条件。即使考虑到市场风险,成功率只有1/5,那个成功产品取得的占领市场的经济效益已足以使得公司取得成功。
IC设计公司的盈利主要在两个阶段。第一个阶段是抢占市场阶段。产品领先,市场独占,即在所谓的"leading edge"位置,可以取得相当高的新品差价收益。不过这个阶段一般维持不长,产品所具有的前瞻性逐渐消退,竞争对手会以"me too"的方式挤占进来,因此需要及时转入第二阶段,创造新的IP,优化系统设计,实现更大成品率和更低的单件成本,以求得产品批量上市的收益。chipless 模式的IC公司在这两个阶段把握住市场和技术,就能高出一筹,在激烈的竞争中取得胜利。
至于chipless所用的IP,主要以最佳的性能/价格比为目标,只要是市场提供的、信誉可靠的都可以使用。在相同条件下,尽量选用国内IP,以支持国内IC业的发展。
(2) 熟悉IP市场
正如当年单片机系统设计师十分熟悉芯片市场一样,嵌入式系统设计师要对IP市场十分熟悉。美国ICE主编的"ASIC Status99"中对IP有这样的描述:
"Yesterday's chips are today's reusable IP blocks,and can be combined with other functions,like Video,Audio,Analog,and I/O,to formulate what we now know as system on chip(SoC)"
这个描述比较清楚地说明IP对于嵌入式设计师的重要性。
熟悉IP市场首先要熟悉IP的功能、性能以及使用费用,这点与买芯片装系统差别不大。其次,要了解它的工艺依托状况,这点是用分立组件搭系统不曾遇到的。SoC最终要去工艺制作,而各家Foundry的工艺又不尽相同,DSM阶段各家工艺之间的差异会更突出一些。因此在SoC设计时,一定要注意所选IP的工艺兼容性。
IP进入市场运作,通常是以Foundry和EDA为载体。EDA系统装入的IP一般只提供功能描述,为SoC设计仿真提供IP功能的黑盒。IP装入EDA系统既有利于EDA销售,又有利于IP的推广,因此这种形式的IP资料通常是随EDA系统无偿提供的。与EDA不同,Foundry提供的是IP实体,是可以付诸工艺流片的全套设计。在得到IP版权持有者的许可之后,Foundry便可以有偿提供IP的"使用版"。所谓"使用版"是不可阅读的版本,不能通过它了解设计的细节,但可以使用。使用者可以方便地把它嵌入到自己的设计之中。
在市场运作中,IP的使用费用可以有多种方式,包括一次买断,按设计付费,按产品提成等等。无论哪种方式,一般说,新版本的、功能强的IP要价都很高。因此,只有所设计的嵌入式系统有足够大的市场,才可以从使用IP中取得效益。
就目前情况看,利用国外IP完成的SoC设计已有不少,但尚无国产的IP问世,眼看着高额利润流去。早些年,我们买进口芯片装系统,高额利润被芯片拿走。现在,我们自己做SoC芯片,但要用国外IP,高额利润又被IP拿走。因此,与IC设计师合作开发出我们自己的IP也是系统设计师的光荣使命。
结束语
系统集成依靠的是非常广阔的广谱背景,一个人或几个人包打天下的可能性已经很小。如果说在IP模块设计中更多体现物理背景的话,包括电路的、器件的、工艺的,甚至分子的、原子的,那么系统级设计将更多体现系统背景,包括功能的、行为的、算法的、架构的、设置思路的。赤橙黄绿青蓝紫,系统集成的广谱背景衬映着一个七彩纷呈的绚丽世界。