来源:eefocus
时间:2013-11-11
SoC
的理想境界是具有普遍性且具高度定制性,在这种条件下,SoC的技术越来越具有多样化。
预计到2011年,全球消费类电子系统芯片产量将增长到17.7亿元,复合年成长率为6.9%。这一数据反映出消费类IC市场正进入“更加成熟的阶段”,视频处理、视频合成、人工智能等技术的应用,将为该领域的成长提供核心动力。
Gartner Dataquest副总裁兼首席分析师Bryan Lewis指出,在历经数年摸索后,SoC的架构已逐渐明朗,他称之为第二代SoC。Bryan表示,这一代的SoC已走向混合型的架构,也就是除了功能的多样性外,也尝试采用混合型的制程技术。
第二代SoC的另一项特征在于次系统的独立性与平行工作,也就是一颗SoC中可以有多个次系统,每个次系统中犹如独立的微型计算机,不仅有个别的处理器核心,还可以有自己的OS、Firmware和API,并采用平行运算的多任务、多阶层架构。这又是电子技术的一大成就,将原属于服务器工作站中的技术概念放入小如指尖的芯片当中,这些技术包括平行运算、不停顿(redundant)和负载平衡(load balance)等架构。今日SoC中的处理器核心,可以是RISC,也可以是DSP,而同样是RISC,可以一边是ARM核心,另一边则是MIPS核心。当采用SoC负载平衡管理软件时,就能将SoC上运行的软件切割成多项任务,并自动完成多核心之间的负载平衡及任务监视工作。
向多处理器核心发展
不过,概念归概念,要实现起来则是另一回事,这不是一家公司就能做到的,需要的是整个产业环节组成的生态体系(eco-system)。在SoC开发的生态体系中,有几类公司是举足轻重的。TI、Philips、IBM等SoC制造商自然是居于核心的位置,但它们仍需要和处理器核心、嵌入式软件、ESL/EDA工具等厂商密切合作,才能顺利发展其SoC产品。这些软、硬件及工具厂商中,除了一些老牌子的大公司,如ARM、Wind River外,还有更多是市场上的新面孔,不过在这个崛起的市场中,往往创新技术比资本是更重要的成功条件。
普遍性且具有高度定制性的SoC是理想境界,目前市场上离这个目标还有很大的距离,尤其是SoC的处理器架构,更是各有一套做法。可配置核心看来虽然理想,但仍需累积更多的design-win实例来巩固市场的信心。各大厂商虽然普遍拥抱ARM核心,但其SoC产品的架构仍有很大不同,有的采用单核心ARM来处理所有的工作,也有采用ARM和DSP双核心架构的,这以TI的OMAP为出名,强调两个核心分别负责控制及信号处理的工作。有的SoC则是以ARM为主处理器,针对特定功能加挂加速器,如ST的Nomadik,即ARM9外还加入专属的音频及视频加速器。
阶层式软件架构
在封闭式的嵌入式环境中,多采用专属的RTOS、驱动及应用程序。SoC也能采此种做法,不过,以大众市场的手机来说,则倾向采用阶层式的架构。此架构基于硬件抽象(hardware abstraction)的接口做法,将系统分为三层,以手机应用SoC为例,上层为使用者应用层,中间层为通信、多媒体架构、安全性及操作系统,底层则是与LCD控制器、影像传感器或照相机等一般性应用外围的沟通。
以上三层彼此间通过高阶的和低阶的API来沟通。因此API的标准化是此架构普及的关键,当业界发展出标准化的API后,应用软件从底层的平台架构分离出来,开发者只需从上层架构的观点对应用程序做抽象层级的开发,而不用对底层的实体平台做直接的呼叫,这让产品能更快速地开发,在平台更新时也不需牺牲效能或程序代码的可互操作性(interoperability),应用功能只需要写一次就够了。不仅如此,由于此架构的平台具有通透性,制造商也很容易对硬件和软件做各种功能升级。在此架构下,SoC也能采用高阶操作系统(High level OS,HLOS)来满足复杂多任务的运算控制需求。不过,底层的规划仍有其重要性。毕竟,实际的运算作业还是发生在底层,只有针对特定需要对底层做化的调校,才能充分发挥效能。这时,系统设计者就得懂得通过基础的汇编语言编译程序的编码,对程序代码进行化设计,以提升SoC系统的效能等级。
ESL工具
以上内容主要是SoC的系统架构规划,在完成此阶段的布局后,接着要面对的是如何实现硬件生产的问题。由于SoC的制造相当复杂,尤其是面对多核处理器及庞大的电路闸,因此SoC开发对于EDA工具的依赖极深,而在此类系统级设计(System Level Design)中,电子系统级(Electronic System Level,ESL)正是EDA和IP业者为简化SoC开发而致力推广的设计方法。ESL发展的主要目的就是要解决日益复杂的软硬件协同设计问题。相比较过去,要等到芯片硬件生产出来后才能执行软、硬件的同步验证工作,使得芯片的验证周期拉长。ESL设计方法能通过一个虚拟的软件平台环境,让设计师在IC设计早期阶段即开始进行整体系统架构分析、IP选择与软硬件整合等程序,如此一来,设计师能及早发现SoC软硬件整合上可能出现的问题,大幅提高开发的成功性。
目前的ESL工具主要是由C或C++语言来完成,通过System C语言的使用,许多C++函式库被引用,也降低了IC设计者在RTL设计时,经常遇到转换不同设计工具时,程序语言间不易统合的困境。除了System C以外的高抽象层级、系统导向的硬件描述语言还包括System Verilog和Verilog 2005、VHDL 200x等。通过这种较高层级的语言,有助于节省系统的仿真。
链接: SoC的竞争者——SiP
所谓SiP(System in Package),是在基板上组装一块或多块裸片,再加上若干分离式和被动组件的封装设计。相比较,SoC一般需花上18个月,SiP的开发时间能大幅缩短,只需6~9个月的时间即能完工。此外,由于采用封装技术,因此SoC难以整合不同制程、技术的瓶颈,就很适合走SiP的途径,采用Si、GaAs、SiGe等不同制程的芯片可以通过堆栈而封装在一起,进而生产出混合内存、模拟及数字功能的多功能芯片。
以ST的移动市场方案来说,移动设备的空间配置可谓寸土寸金,而采用12×12 TFBGA封装的Nomadik本身的尺寸已经非常小了,但在它的三层堆栈版本中,还将高达512Mbit的SDRAM和NAND Flash与处理器整合在狭小空间的封装当中。在这个封装当中,处理器和内存芯片堆栈在彼此的上方,达成更佳的系统运行效能。这两种系统级芯片设计途径各有其优缺点:SoC适合要求高效能、高整合度和生命周期长、产量高的产品,不过,它的技术难度较高,需要投入的研发时间也较长;SiP则适合重视开发弹性、上市时间压力大的设计案例。
一般来说,SiP的成本较SoC为低,对产量规模的要求不高,不过,在制造上仍有其技术门坎。以SiP的开发来说,只要有一个裸晶故障,整个模块就宣告失败,只能弃之不用。也就是说,SiP终产品的良率是所有堆栈芯片良率的乘积,因此良好裸晶(known good die,KGD)的筛选就成了SiP生产制造过程中重要的一环,这有赖裸晶测试技术来达成,另一方式则是采用良率更高的、更小型芯片来避免KGD问题。