账号:
密码:
最新动态
产业快讯
CTIMES / 文章 /
升级到IC的技术须知
 

【作者: 景元】2002年03月05日 星期二

浏览人次:【5074】

最近因为资讯媒体的推波助澜,SOC俨然已经成为半导体业的新「法宝」。 SOC究竟会对晶片设计与应用产生什么影响呢?本文将从系统开发的技术层面来分析。其实系统单晶片(System-On-a-Chip;SOC)技术已经有十年以上的发展历史了。由于积体电路的不断缩小,将离散元件整合到单一晶片的制程技术已经日益成熟。如今,系统单晶片可以在成本,价格,功率,和传输速率上逐渐与多晶片系统并驾齐驱了。


虽然SOC技术已经商品化,不过,它的良率低和价格高仍然阻止着普及化的脚步。举数位相机为例,高整合度的SOC确实能符合产品开发商在极短时间内研发上市的要求,同时也会带来设计上的新陷阱,和增加验证上的困难度。因此,产品开发人员有必要知道当升级到SOC时,将会面临到的问题,这包括:


* 离散元件整合到SOC之后,还遗留下哪些问题?


* 太早采用SOC时,应注意什么?


* 当更换不同SOC,而且系统需重新设计时,将会遭遇哪些问题?


* 采用SOC的优缺点为何?


* 最佳的SOC验证除错策略为何?


什么是SOC?

SOC也解释为「一家晶片公司的系统」(The System on a Chip Company),因为一个以应用为主的SOC极可能就是一家晶片公司的注册商标。不过,SOC的种类繁多,目前有从针对特殊应用的SOC,到整合通用微处理器/DSP的SOC。所以,采用时必须审慎选择。


SOC设计挑战

设计SOC时,会遭遇一些挑战,其中有两个最为麻烦:一是要整合硬体核心(hard cores)并不容易。因为硬体核心的接脚(layouts)涉及智慧财产权或即时计时(critical timing),所以要将许多不同的硬体核心整合在一起,必须要拥有相当的智慧财产权和技术能力才行。另一是设计韧体核心(firm cores)也不容易。虽然韧体核心可以被修改,但是,在一般的情况之下,它并不属于智慧财产。因此,供应商针对韧体核心的支援也就不多,设计者就被迫必须自行重新开发韧体核心。 SOC是由许多硬体核心和韧体核心构成的,缺一不可,因此开发这些核心的成本是业者必须细思量的。


SOC的底层结构是SOC的「引擎」,通常是混合的或通用的微处理器或DSP解决方案,例如: SH3-DSP,ARM/Piccolo......等,它们可以提供强大的运算能力,支援多媒体软体执行。数位相机、手持式PC、机上盒(Set Top Box)解码器、和手机...等产品就可以使用以微处理器或DSP为基础的SOC来开发。


若客户使用这种SOC来开发产品,并不需要额外的加工成本,比起目前业者常使用独立的微处理器或DSP自行整合其它元件(例如:FPGA、微控制器)构成模组的开发成本节省许多。虽然使用独立的微处理器或DSP整合其它元件的作法比较有弹性,可以让开发商具有更多的选择,但是「鱼与熊掌难以兼得」,因为使用这种传统方法可能需要其它元件或软/韧体支援才行,所以成本比较高。


SOC的上层结构是针对特殊应用提供必需的功能。这个结构是由一群整合完备的装置(devices)所构成,即SOC的上层结构所需的额外元件是非常很少的。就数位相机市场而言,有两种知名的SOC解决方案:一是Zora​​n公司的COACH (Camera On A Chip),另一是LSI Logic公司的DCAM-101,这两种SOC包含许多必备的元件,可以提供大多数数位相机所需的功能。


两种SOC类型

一般而言,SOC可区分成两种类型:一是通用混合(generic hybrid)型、另一是整合型。其实,这就是依上述SOC的底层和上层结构来区分的。若要求SOC的底层结构具有较大的应用弹性,则须选择通用混合型SOC。若要求SOC的上层结构能满足特殊应用规格,则须选择整合型SOC。就应用面而言,数位式行动电话就需要使用通用混合型SOC来开发,而数位相机需要使用整合型SOC来开发。


通用混合型SOC

Hitachi公司的SH3-DSP解决方案就是典型的通用混合型SOC。这颗SOC是通用型的,因为它的底层是SuperH微处理器,SuperH整合了一个记忆体管理单元(MMU)和一个记忆体控制器(on-chip memory controller)。这颗SOC也是混合型的,因为它支援SH3或DSP,SH3是属于SuperH微处理器。不过,在任何一个工作时脉之内,它只能执行SH3或DSP指令。


SH3负责位址的产生和流量控制,DSP则负责执行乘法和累加运算。从软体开发的角度来观察,SH3-DSP解决方案类似对一颗单独的处理器做程式设计,因为它也具有编译器(compiler),可以让软体开发者利用C语言设计,此编译器能将这些C语言转译成SH或DSP指令,此编译器也能在旧版本的SH微处理器上编译。此外,Hitachi公司及其协力厂商也针对SH3-DSP提供了一系列完整的软硬体开发和除错工具,包含模拟器(simulator)、组译器(assembler)、图形介面开发工具、除错环境。


混合型SOC非常适合被用来开发数位式行动电话(digital cell phone)和其它无线电通讯装置。因为数位式行动电话需要用到微控制器(MCU)和数位讯号处理器(DSP)的功能,所以整合微控制器和数位讯号处理器的系统单晶片可以提高数位式行动电话的设计水平。例如:SH3-DSP这颗SOC藉由SH3微控制器,能提供良好的人机操作介面;它也藉由DSP提供非常高效率的语音编解码器(speech codec)、通道编解码器(channel codec )、等化器(equalizer)和通讯协定堆叠(communications protocol stack)。


整合型SOC

Zoran公司的COACH就是整合型SOC,它提供所有必须的硬体元件和微码(micro-code),例如:CCD/CMOS感测器、LCD控制器、TV输出、flash记忆体、 USB介面、RS -232介面、IrDA介面、和语音录制/播放。


虽然,整合型SOC是属于高整合度的晶片,但是,它仍然需要一些韧体或驱动程式才能正常工作。例如:COACH没有CPU内核,只有DSP内核,而且,它也没有能处理影像的硬体内核(hard cores),不过,和其它SOC一样,COACH解决方案中,包含有许多设计数位相机时所需的现成软体套件(ready-to-run software package),它们可以协助数位相机开发商快速设计出他们心中所想要的新产品。


各家解决方案

DCAM-101数位相机开发解决方案

从SOC中蒙受其利最明显的例子当属数位相机市场。开发数位相机需要先进的科技和复杂的制造工程。因为随着像素大小的不同,数位相机的解析度也会不一样,所以,市面上会存在许多不同型号的数位相机,目前约有100种不同的型号存在。而针对这100种数位相机的开发,也存在着许多不同的解决方案。有些方案是植基于厂商特制(proprietary)的晶片组之中,有些则是使用通用的晶片组设计。


数位相机的基本原理就是:将人眼可见的类比物像转换成微处理器里面的数位讯号。透过CCD(charge coupled device)和类比数位转换器(A/D converter)将类比物像数位化,并将数位讯号压缩,成为压缩档,以利后续的图像处理和储存作业。


LSI Logic公司的DCAM-101系统单晶片,是目前数位相机市场上,非常著名的解决方案之一。它能提供数位相机所有必需的功能,这些功能通常包含如下所列:


* CCD或CMOS感测器,以捕捉图像数据。


* LCD显示器,可显示现场影像和静态图片。


* CompactFlash或SmartMedia储存装置。


* USB、IrDA、或串列埠通讯通道,以传输图像数据。


* 提供人机键控功能,以利相机操作。


为了能支援上述功能,DCAM-101具有下列元件:


* 图像处理器:能执行图像压缩(例如:JPEG)和图像处理(例如:色彩空间转换)。


* 核心处理单元:DCAM-101是使用MIPS为其处理器核心。


* 汇流排介面:能支援DRAM/ SRAM。


* DMA控制器:可加快系统对周边装置的处理速度。


* SPI介面:便利周边装置输入数据。


* CCD控制器:控制图像数据之捕捉。


* 显示装置(LCD)控制器


* ATA/SmartMedia/CompactFlash介面:可外接多种储存装置。


* USB、IrDA、1394、UART通讯介面:支援多种通讯通道。


在上述元件中,只有RAM、ROM和CompactFlash是属于外部装置,其余皆内建于DCAM-101之中,因此,DCAM-101确实是一颗SOC。


MIPS CPU核心

MIPS CPU核心和像素加速协同处理器(pixel accelerator coprocessor)是DCAM-101的心脏,下面简单介绍一下这两个重要元件的功能。


DCAM-101的MIPS CPU整合了LSI Logic公司的CW4003处理器核心,CW4003和MIPS R3000 RISC是属于同等级的处理器,且CW4003支援MIPS II指令集。 CW4003具有下列优点:


* 可降低耗电量:CW4003具有「等待中断」(wait-for-interrupt;WAITI)的指令;在中断命令来临时,此指令能使CW4003暂停执行其它指令,直到中断命令被完成为止。这可以减少不必要的电量消耗。


* 同时使用一个高速缓冲记忆体(cache):这使处理器的输出入元件减半,同时减少CW4003外部与位址汇流排、数据汇流排、RAM相关的资源数量。


这种混合式修改在设计SOC时是常见到的,因为这么做可以突显SOC设计业者所特有的元件特性和智财权,也可以在市场上抢占一席的地位。


对SOC用户而言,选择处理器核心是选择SOC的第一步,因为不同的处理器核心需要不同的设计技巧和开发策略。 DCAM-101中的CW4003是采用常见的MIPS RISC核心,MIPS对SOC应用而言,具有下列优点:


* 新旧版本的MIPS架构是可以相容的(backward-compatible):这一点是MIPS最大的优点。 MIPS I指令可以在MPIS II微处理器上面执行,MIPS III可以执行MIPS I和II指令。对应用产品开发业者而言,这种新旧版本的相容特性,确实可以帮助他们缩短新产品设计与程式移植(porting)的时间。


* MIPS I处理器使用相同的记忆体映射(memory map)方式。 MIPS I架构具有两个位址空间:虚拟和实体。虚拟位址空间被区分成四个固定大小的区域:kuseg、kseg0、kseg1、和kseg2。 Kuseg和kseg0没有高速缓冲记忆体,kseg1和kseg2有高速缓冲记忆体。虚拟位址由一个区域识别码和一个偏移值(offset)组成,虚拟位址的左边前三码是区域识别码,其余是偏移值。例如:0xA000FF00表示在kseg1区域中,偏移0xFF00的位址。此外,因为DCAM架构没有记忆体管理单元(MMU)或转换旁视缓冲器(ranslation lookaside buffer;TLB),因此,对kuseg和kseg2区域的记忆体映射是由供应商自订的(vendor-specific) 。 DCAM-101将全部的记忆区域都映射到0x00000000到 0x20000000的实体位址里。


* 对DCAM-101而言,任何一个外接装置都是一个记忆体映射值。亦即,读写独特位址上的暂存器或称作记录器(registers)值,就可以撷取特定的外接装置。这些撷取外接装置的动作,不需要其它复杂的命令或数据暂存器(command/data registers)参与,即可完成。也不需要复杂的组态设定,全部依靠记忆体位址就可以读写这些暂存器。因此,对DCAM-101做程式设计,其实,就是对这些暂存器做程式设计。


协同处理器

在应用SOC时,除必须了解其CPU核心之外,也必须知道CPU以外的协同处理器(coprocessor)之功能和利用方法。举MIPS架构为例,它定义了四个协同处理器(CP0、CP1、CP2和CP3),这些协同处理器和MIPS CPU协同运作,每个协同处理器都有一组指令集,23个通用暂存器和32个控制暂存器。 CP0、CP1、CP2和CP3的性能简介如下:


* CP0-又名系统控制处理器,负责记忆体映射和例外控制(exception handling)、


* CP1-负责浮点运算。


* CP2/CP3-未定义,预留作特殊应用之引擎。


韧体使用MIPS指令与CP0、CP1、CP2、CP3协同处理器互动,这些指令是swcn、lwcn、mtcn、 mfcn、ctfn、cftn、bcnt、bcnf、copn,其中n表示0或1或2或3,分别代表CP0或CP1或CP2或CP3。例如:swc2表示「储存字组(word)到CP2」,lwc2表示「将字组载入CP2」。


图素协同处理器

DCAM-101使用CP2来撷取特定的硬体线路和图素处理加速器。此时,CP2将CCD图素数据转换成JPEG压缩档,或将JPEG档解压缩并传输到LCD上显像。此外,为了完成JPEG压缩、解压缩和图像还原显像的目的,CP2硬体本身就具备色彩空间(color-space conversion)转换(例如:从RGB座标转换成YcrCb座标)、图素插入(SIM14 、SIM20)、图素数据之高/低取样、以及其它各种合并/重组暂存数据的函数功能。


当图素协同处理器和JPEG引擎一起工作时,SOC的性能就能发挥到极致。若DCAM-101只采用软体解决方案(包含色彩空间转换和JPEG数据处理)来执行上述工作,则处理一张640 x 480 CCD图像约需要4秒钟。可是DCAM的图素处理加速器(包含图素协同处理器和JPEG引擎)处理相同的图像只需200ms。因为就讯号传输而言,当然是纯硬体的线路会跑的比软体的程式快。


SOC开发与电路板开发之比较

目前大多数嵌入系统开发业者仍习惯使用电路板来开发产品(board-level solutions),而与电路板相反的开发方法就是SOC。电路板可将许多离散元件整合在一起,这种作法若和SOC比较,将互见长短。兹将两者的优劣之处简列于下:


电路板开发之优缺点

使用电路板开发的优点有:


* 除错容易:当某特殊元件故障或设计有误时,许多症状将出现,开发者能在电路板上立即发现和及时修正错误。


* 更换元件容易:如上所言,纵使元件无误,但为了要节省成本或系统升级,来更换某特殊元件,一般而言,都不困难。


* 在每个离散元件间传输的信号,对开发者而言都是「可见的」。开发者可以利用示波器、逻辑分析仪....等设备来量测这些信号。


使用电路板开发的缺点有:


* 通常需要独立的DSP和CPU,不过,这两者的开发工具不同,所以会增加开发成本。再者,DSP和CPU之介面和互动关系复杂,并非一般电路板开发业者之能力所能及。


* 当离散元件越来越稀少时,寻找替代元件将变得越来越困难。而且,即使能成功地更换为替代元件后,韧体和软体的修改开销仍然不可避免。


SOC开发之优缺点

使用SOC开发的优点有:


* 整合CPU/DSP的混合式SOC只需一种开发工具。有时,如SH-DSP一样,同一个编译器可以为CPU和DSP正确地编译指令码,这能大幅节省采购开发工具的成本。


* 如果一个特别的SOC通过了除错和验证的过程,则这颗SOC就能保证它自己的性能与其规格书上记载的内容完全相符,不会有任何瑕疵。这包含在这颗SOC上传输的信号也经过验证。倘若怀疑信号有任何异状,此时一定是软体或韧体的问题,不会是SOC的问题。其实,产品开发业者就是希望SOC能协助他们免除大多数令人头痛的晶片(硬体)问题,而能专心于应用产品的设计(韧体和软体)。


* 在高整合度的SOC中,具有完整的硬体核心,它可以利用硬体完成复杂的运算作业。例如:DCAM-101具有JPEG引擎,其处理速度是软体程式的数倍之多。


使用SOC开发的缺点有:


* 无法单独更换单一元件,必须更换整颗SOC。例如:如果SOC中的CCD控制单元故障了,就必须更换整颗SOC,否则CCD无法正常工作。


* 就单一整合应用而言,用户必须满意于SOC的现状,不能任意添加新元件或功能。例如:DCAM-101的JPEG引擎只支援基本的DCT转换法,如果需要其它进阶的转换法,必须另选择其它SOC来取代DCAM-101或另设计软体来达成。


* 对应用产品开发商而言,SOC内部的信号是「不可见的」。如果SOC不支援JTAG或BDM...等介面来除错,产品开发者将只能在SOC接脚处量测而已。如果SOC能载入即时作业系统(RTOS)和除错软体,则可透过程式码除错器(source-level debugger)对SOC内部侦测。


结语

太早采用一种新上市的SOC,八九成注定是会失败的。这可以从蓝芽的双晶片解决方案中可以证实。不过,若是能在经费允许下,愈早采用新上市的SOC将可以愈早了解新技术的精髓和自我技术的提升,而且,SOC是会不断更新改良的,这对新产品的研发助益良多。因此,应用产品开发业者在下决定舍弃传统的电路板开发方法,而采用SOC之前,必须审慎思考这种升级和改变对自已的冲击是好还是坏之后,再择优行之。


相关文章
以协助因应AI永无止尽的能源需求为使命
未来无所不在的AI架构导向边缘和云端 逐步走向统一与可扩展
晶体振荡器如何让数位电子装置同步化
轻松有趣地提高安全性:SoC元件协助人们保持健康
促成次世代的自主系统
comments powered by Disqus
相关讨论
  相关新闻
» 美光针对用户端和资料中心等市场 推出232层QLC NAND
» 摩尔斯微电子在台湾设立新办公室 为进军亚太写下新里程碑
» 爱德万测试与东丽签订Micro LED显示屏制造战略夥伴关系
» 格斯科技携手生态系夥伴产学合作 推出油电转纯电示范车
» Arm:因应AI永无止尽的能源需求 推动AI资料中心工作负载


刊登廣告 新聞信箱 读者信箱 著作權聲明 隱私權聲明 本站介紹

Copyright ©1999-2024 远播信息股份有限公司版权所有 Powered by O3  v3.20.1.HK84T3MILGUSTACUKG
地址:台北数位产业园区(digiBlock Taipei) 103台北市大同区承德路三段287-2号A栋204室
电话 (02)2585-5526 #0 转接至总机 /  E-Mail: webmaster@ctimes.com.tw