探析SoC(片上系统)的未来之路
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等。通过这种较高层级的语言,有助于节省系统的仿真。
- LCoS(硅基液晶)显示屏设计与应用(08-27)
- 系统级芯片发展之路依然任重道远!(11-13)
- 在SoC中集成FlexRay网络控制器的设计策略(01-08)
- 用于便携式多媒体SoC的视频处理方案 (02-09)
- H.264音视频编解码SoC芯片Hi3510的原理和应用 (02-22)
- 数字视频系统设计中的集成新概念 (07-22)