片上可编程系统
电子发烧友网核心提示:对于系统设计人员而言,提高积体电路的整合度既是好消息,也带来新问题。好消息是,在每一个硅晶片的新制程节点,晶片设计人员都能够在一个晶片中封装更多的元件,例如更多的处理器、加速器和周边控制器。一个晶片内建更多的元件,意味着更好的性能、更低的功率消耗以及更小的体积。
但是,更高的整合度也意味着以前由系统设计人员所做出的决定,现在是由晶片设计人员来完成,系统设计团队能够实现的创新会越来越少,也不太容易突出产品优势。更重要的是,系统设计人员要能够理解晶片设计人员的思路,同时还可以自由地突显自己产品的优势。
根据应用分类 采用对应方式
目前俄罗斯电子市场很多最重要的应用都符合某种模式,包括视讯监控、无线和有线通讯,以及高阶工业控制等。在这些应用中,系统收集宽频讯号,处理这些讯号以提取出资料,进行大运算量的分析,做出判断,然后实施判断。
例如,监控系统须要处理来自摄影机的1,080条逐行扫描视讯。系统对视讯串流进行处理、增强边缘、识别出目标,最后分离出感兴趣的目标。此一处理过程通常使用标準化,虽然相对简单,但是需要大运算量的演算法。
在下一阶段,处理单元的目标分析功能将更强大,例如探测是否有入侵,或识别出某些特定的人。这些演算法可能是专用的,会经常变化。最后经过分析,确定目前的状态是否须要触发警铃、锁闭大门,或者向公共安全机构发出警报。
以软体实现系统功能易被复制
设计团队採用叁种不同的途径来实现这些系统。第一种途径最初是透过运行在微处理器上的软体来实现,最近,则採用特定应用标準产品(ASSP),或者功能强大的32位元微控制器。
设计团队对软体进行除错、确定演算法,然后检查系统性能。如果任务运行太慢,设计人员会将其移动到独立的中央处理器(CPU)上。或者,如果有数位讯号处理(DSP)核心等合适的加速器,IC上有向量处理器,则将其移动到加速器上,进而对其进行加速。当所有的任务满足其时序要求后,可以在功能、时序和功率消耗上对系统进行最终的验证。
在监控实例中,系统控制软体会运行在一颗CPU核心上。标準影像处理演算法可以运行在DSP核心标準函式库的程式上,还可以手动编写更复杂的专用演算法,在所有可用CPU核心并存执行。
这种设计方法有很大的优势。其重点一直是软体,也就是系统功能。由于大部分系统功能体现在软体上,因此当出现问题或须要进行改动时,就比较容易对系统进行修改。
但是,透过CPU或DSP核心上的软体来执行一种演算法,是最慢而且最耗损效能的方法。因此,对于性能或效率要求较高的系统,以软体为中心的方法并不是最佳方法。系统不同的特性体现在软体上,因此有同样硬体的竞争对手很容易复製这些软体,或者软体有可能被敌方所利用。
以硬体当作解决方案 设计弹性差
系统设计的另一种方法是直接根据系统要求来开发硬体设计,同时编写在此一硬体上运行的软体。这是开发大部分特殊应用积体电路(ASIC)所採用的方法。一开始,系统规划人员确定需要哪些CPU、加速器、记忆体和控制器,把这些需求告诉晶片设计团队,由他们来开发ASIC。
在实例系统中,规划人员可以选择一对安谋国际(ARM)核心来运行系统软体,授权协力厂商影像处理引擎来处理最初的影像处理任务,在进程最后,针对复杂演算法设计订製韧体编写DSP管线程式码。当进行IC设计时,软体团队会针对设计中完全不同的叁种引擎来使用叁组程式设计和除错工具。
以硬体为中心的方法有很大的优势。在所有方法中,它能够实现最大系统速率及最高功能效率。但这需要熟练的IC设计团队,且在高阶製程节点,投入也会很大。而且,一旦设计好ASIC,就很难修改硬体或改正错误,也很难应对需求的变化,此一过程会很慢而且成本很高。软体方案能够节省时间,但是牺牲了ASIC方法的优点--速度和功率消耗。
因此,虽然在理论上以硬体为中心的方法最适合对性能和功率消耗要求较高的设计,但在实际情况下,设计团队只有在预期会有很大的销售量能够满足成本要求,降低风险时,或者他们知道系统硬体在产品生命週期过程中不会有太大的变化时,才会开发ASIC。实际上,面临关键设计难题的团队很难实现系统IC设计时,通常会放弃ASIC方法,转而购买与系统IC设计功能相近的ASSP。
活用现场可编程门阵列
现场可编程门阵列(FPGA)是系统设计人员的第三种方案(图1)。在很多方法中,FPGA一直是以软体为中心採用CPU架构的方法,与以硬体为中心的ASIC方法之间的一种做法。在FPGA中实现的演算法,并不像软体那么容易进行修改,但是修改FPGA配置要比投入生产新版ASIC容易得多,即使这种修改只是在几个金属层上。
图1 现场可编程门阵列发展蓝图
相反地,与在软体中运行任务相比,在FPGA中运行相同的任务会非常快,而且功率消耗也很低。但是FPGA通常要比相等价格的ASIC速度慢,功能效率也要低一些。
因此,当一种仅採用软体的解决方案无法满足速度和功率消耗要求,无法找到能够突出产品优势的ASSP,或者使用ASIC不能满足预算要求,达不到预期的产量,无法支援往后的系统改动时,系统设计人员会转向採用FPGA。对于FPGA供应商,这种情况经常出现,在最近几年,FPGA的销售要比其替代方案好得多。
在监控实例中,设计人员可以结合使用运行系统软体的工业标準微处理器,以及实现商用硅智财(IP)进行标準影像处理和订製设计DSP管线的FPGA。这样一来,FPGA中的设计在功能模组层级上类似于ASIC,而在闸级实现起来却是完全不同。
针对任务选择最佳实现方法
在理想情况下,系统开发人员不必在多种方法上进行选择。开发人员可以针对每个任务来选择最佳实现方法。可以在相应的CPU软体中实现很少改变而且不关键的任务。透过标準定义性能和功率消耗非常关键的任务,如此一来,这些任务不会改变,成为固定硬体。而有可能改变并且需要硬体支援的任务,则在FPGA可程式设计逻辑架构内实现。
在过去的几个硅晶片製程世代中,这实际上是常用的方法。那时的整合度较低,微处理器、加速器、复杂介面控制器及FPGA都是独立的晶片。但是在90奈米(nm)製程世代,除了FPGA架构外,系统单晶片(SoC)包括这些所有功能,而且由SoC设计人员而不是系统设计人员来确定大部分实现方法。系统设计人员选择最合适的SoC,编写自己的软体,实现FPGA与SoC灵活的介面,进而突出产品优势。
现在,情况又发生了变化。晶片开发人员能够使用大量的电晶体,支援FPGA的硅晶片融合。功能强大的微控制器增加专用硬体,因此它们看起来像是ASIC SoC。ASIC和ASSP能够含有功能强大的32位元CPU,因此看起来像高阶微控制器。新的SoC FPGA系列同时含有多核心CPU和专用硬体模组,契合实际需求,可支援系统设计人员根据不同的任务要求来选择软体、专用硬体或是可程式设计逻辑。
设计人员可以採用这类融合晶片,在一对功能强大的CPU核心上实现系统软体及影像处理演算法的多执行绪部分。他们可以在DSP硬式核心和可程式设计架构上实现其他演算法,这些都是在一个晶片上实现。
日益攀升的开发成本,使得ASIC的应用领域越来越少,而硅晶片融合发展趋势可支援实现叁种系统层级解决方案。微控制器、ASSP和FPGA变得几乎是一样的,但有一个重要的不同点。出于技术和智慧财产权法律的考虑,只有FPGA能够实现最先进的可程式设计逻辑架构。因此只有FPGA支援系统设计人员可在硬体层级实现其突出产品优势的策略。
硅晶片融合带来各种可能
硅晶片融合将为今后几年的系统开发确定方向。一方面,将看到高阶微控制器和ASSP成为系统的硬体基础,这些系统硬体将实现商品化,在市场上系统产品之间的不同体现在软体上。另一方面,也会看到突出硬体优势、採用FPGA架构的系统脱颖而出。
这种趋势会进一步加速,塬因是两种新出现的技术:叁维(3D)IC和异质结构程式设计系统。3D IC技术支援完全不同技术的IC整合,例如FPGA、微处理器、动态随机存取记忆体(DRAM)和射频(RF)等,在一个堆叠中实现这些技术,没有独立IC的晶片间时序和电源成本问题。此一趋势的一个早期例子是英特尔(Intel)凌动(Atom)E6x5C系列,其整合Atom CPU和Altera FPGA。Atom为软体提供业界标準架构,而FPGA能够建立专用加速器和介面控制器。
E6x5C系列还满足另一种新出现的技术的需求--异质结构程式设计环境。理想情况下,系统开发人员只须要编写并除错一个CPU的软体就可以开始设计。然后,开发平台会帮助他们找到关键程式码片段,在多个CPU核心上分配任务,共用快取记忆体,为关键程式码核心建立硬体加速器。透过这种方法,设计团队能够细緻地调整设计,直至其满足时序和功率消耗要求。
这种开发环境的一个例子是Altera现在正在进行的OpenCL-FPGA计画(图2)。其目的是提供单一的环境,让系统开发人员能够在其中採用C语言开发程式,隔离需要大量运算的核心,产生平行硬体引擎来加速核心,整合最终的硬体软体系统。
图2 OpenCL-FPGA计画
在提高硅晶片整合度需求的推动下,融合功能逐渐将系统所有主要电子模组整合到一个封装内,让系统开发人员能够集中精力来突显其最终产品的优势。FPGA表面上看起来越来越像ASSP和微控制器,而实际上增强系统开发人员突出硬体优势的能力。新出现的3D IC技术及异质结构开发环境将加速FPGA系统级IC从传统微电子世界中脱颖而出。
图3 硅晶片融合将为FPGA开创出更多应用可能。
全部0条评论
快来发表一下你的评论吧 !