8赛灵思中国通讯36期8赛灵思开发基于ARM的处理器优先、以处理器为中心的器件赛灵思中国通讯36期封面主题92010年夏季刊作者:MikeSantarini,Xcell杂志发行人,赛灵思公司,mike.santarini@xilinx.com新架构同时面向软件开发人员和系统开发人员。在编程逻辑之前启动处理器,可加快并简化系统开发工作。封面主题十多年来,FPGA厂商一直在寻找能够让众多嵌入式软件工程师加入到主要由硬件设计工程师组成的用户群中的方法。软件开发人员的数量远远多于他们同行的硬件工程师,全世界的比例高达10:1,因此创建一种让这两个群体都能够立即上手的器件,可以带来明显的业务优势。目前,赛灵思正在开发一款全新的基于ARM®微处理器的器件——可扩展式处理平台,该平台专门针对软件开发人员和系统开发人员的实际工作方式量身定制。通过打破上述的门槛,这款新颖的器件将为赛灵思带来新的市场和新的增长水平。过去10年里,随着FPGA器件和工具日趋成熟,发展到能够加入大量嵌入式处理器(DSP、微控制器和微处理器)到主流的可编程逻辑架构内,越来越多的嵌入式系统设计人员已经将他们的技能拓展到中间件和软件开发工作之外,掌握硬件设计语言。这部分为数不多的跨领域设计人员开始使用FPGA来创建高度优化、高度差异化的架构,通过匹配适当的软硬件,以实现出色的系统性能、功能与功耗水平。不过,虽然这些跨领域的工程人员的数量在过去十年里稳步增长,但大多数系统设计人员还是依靠硬件工程师来创建他们系统所需的定制化硬件功能,以实现系统性能、功能、功耗及成本的最佳平衡。处理器优先赛灵思采用其可扩展式处理器平台推出一款崭新的器件。该器件的主要构建块是一个能运行达到800MHz的32位ARMCortexTM-A9处理子系统(如图所示)。该处理子系统“开箱即用”,实时能够启动和编程。该新型器件的其余部分由紧密连接的可编程逻辑扩展块构成以达到平衡,使设计人员能够根据系统要求对硬件和软件功能进行分区。他们可在可编程逻辑扩展块内实现不同的功能,以创建他们自己的高度优化的专用片上系统(SoC)。赛灵思全球市场营销与业务开发高级副总裁VinRatford表示:“对这个器件的架构,我们动了很多心思,作了很多规划,并从以前诸如基于PowrPCTM的Virtex®-IIPro、Virtex-4和Virtex-5FXTFPGA等各种器件上以及竞争对手的失误中吸取了不少的经验教训。所有这些器件毫无例外地采取了以硬件设计为中心的系统设计观念,要么就是没有足够的处理能力,而我们的可扩展式处理平台采用以处理器优先的方向,这样软件设计人员可以开箱即用,立即启动开发工作。他们甚至没必要使用扩展块,如果他们选择这样做的话。”不过许多由软件设计人员和硬件设计人员共同组成的设计小组还是对扩展块表示支持。赛灵思计划逐步优化使用模式,其最终目的是为软件开发人员和系统开发人员提供一个环境,让软件开发人员在没有硬件设计人员的辅助下,也可对处理器之外的可编程逻辑扩展块进行编程。Ratford指出,与以往FPGA在处理器之前启动的架构不同,该新型处理器优先的平台非常切合开发人员构建系统架构时的实际工作。Ratford表示:“电子系统工程师和软件工程师在进行系统设计时,一般会先进行软件开发,然后确定那些功能他们需要在硬件中实施来加速。这样可以让他们根据应用的最终要求找出合适的性能、成本和功耗比。在启动项目的时候,他们先进行概念验证。他们不会太担心如何实现与特定客户具体要求的对接,而比较在10赛灵思中国通讯36期封面主题意怎样才能最灵活地在硬软件之间划分工作。经过多次调整,他们就可以决定把哪些功能交给硬件,哪些功能交给软件,然后逐步进行优化,使之符合他们的系统要求。我们的器件可以帮助他们比以前更好更快地完成工作。”赛灵思将采用与新一代FPGA(见第6页)相同的低功耗、高性能28nm工艺技术来交付该新款可扩展式处理器平台。为何选择ARM?赛灵思选择与ARM结成合作伙伴的原因在于该公司实力强大,而且其优质的处理器IP和软件享有极佳的声誉。实际上,ARM架构经成为设计人员寻求高速度、低功耗微处理器内核的业界标准。Ratford表示:“在软硬件功能、性能、生态环境、用户熟悉程度以及功耗等各个方面,ARM都是该新型架构的最佳选择。当功耗成为不仅无线应用,还有有线应用的优先考虑因素的时候,在该器件中添加极低功耗处理器,将给用户带来数不胜数的选项来实现最佳系统平衡。他们可以卸载部分功能到硬件扩展模块,从而增强系统性能。他们还可以开发出时而具有惊人的出色性能,时而只消耗几毫安电量的系统。”新架构的一项关键特性是其接口。赛灵思采用高带宽接口,连接处理器系统、扩展块和共享存储器,从而实现完全的ARM处理器与可编程逻辑扩展块的互联。相比之下,一般由独立的MPUASSP芯片和FPGA互连的系统一般需要100多个I/O才能将他们连接在一起。此外,在3月发布的AMBA®总线的高级可扩展接口(AXI)第4版中,ARM包括了一项对可编程逻辑使用优化的AXI规范扩展。AXI-4流媒体协议扩展作为一种双向纵横通信交换机,将充分发挥丰富的I/O的优势,使工程人员能够利用这款新的赛灵思器件把系统块间吞吐量提升到全新的水平,同时发挥IP厂商和客户在过去20多年里为ARMASIC和ASSP应用开发的大量硬件外设核心的性能。两部分之间的紧密结合与集成,再加上新的AXI扩展,这还意味着如果设计小组发现某个功能在处理器上运行不理想,或者需要加速某段代码,他们可以使用业界标准接口来为这个功能创建硬件,并将其放入可编程逻辑扩展块中。熟悉的软件编程模型在开发新的架构时,赛灵思非常注意目标受众的要求及其工作偏好。因为新器件在复位时首先启动处理器系统,因此软件开发人员可以在开箱后可立即对处理器进行编程工作,与硬件开发人员并肩协作。通过并行实施这些关键性,可以大幅缩短开发周期。赛灵思处理器市场营销总监KeithDeHaven表示:“实际上,有些人可以买这款产品而仅仅使用它的处理器系统。但该器件的价值在于用户既可以利用其基于ARM的处理器系统来实现命令、控制与应用功能,又可以利用其可编程逻辑来定制、优化产品和实现其差异化。”DeHaven表示,该处理器系统有一套固定的外设、交换机及存储器接口,能够为软件开发人员提供一致的可编程环境。此外,开发人员可以使用现有的ARM工具和可用的硬件(见表1汇总)立即开始工作,让工作一步到位。但当然,这个架构的真正价值,在于设计小组可以在处理器系统和可编程逻辑扩展块之间调节功能。现在不仅是硬件工程师,软件工程师也能从处理器的角度来决定器件如何运行。举例来说,处理器系统可以使用扩展块中的数ProcessingSystemHardwiredSoCHigh-PerformanceLowPower,LowCostBootsOSatRestProgrammmableLogicforExtensionsRapidDifferentationHigh-Performance,ScalableProgrammedbyProcessorHigh-Performance,Reconfigurable,ApplicationOptimizedAcceleratorsHigh-BandwidthInterfacesExtensibleProcessingPlatformAdditionalPeripheralsCommonPeripheralsMemoryInterfacesOff-the-ShelfOff-the-ShelfCustomCustomARM®Dual-Cortex™-A9MPCoreComplex图1.赛灵思可扩展式平台将ARM处理器和可编程元件完美组合在一起112010年夏季刊据来完成外设功能,也可以把控制权委托给扩展块。开发人员很可能需要运行软硬件联合仿真,来观察给定功能是否在硬件上运行速度更快、功耗更小或是成本更低。而另一些开发人员或者只是想把一些不太会被修改的软件功能卸载到扩展块上,以释放出更多处理器代码空间,用于其它命令。一旦他们确定了把哪些功能放到软件或硬件,他们就可以让他们的硬件工程师使用赛灵思ISE®设计套件,并结合AMBA-AXI标准接口,在可编程扩展块中实施这些功能。同时,在硬件小组对扩展块进行编程的同时,开发人员可以继续开发软件。虽然处理器优先的架构很独特,其使用模式也更好地反映了软件开发人员的真实工作,赛灵思计划让这个流程更为直观。赛灵思及其合作伙伴目前正在开发一套全面的基于标准和通用的加速器及外设(按硬件术语说,即IP核),以及相关的驱动程序和API,以便进一步帮助软件开发人员和系统开发人员在设计中添加功能。其中的一些加速器和外设将在产品发布时开发完毕,这样用户就可以集中精力开发自己的定制IP,以满足系统需求和实现产品差异化。加速器和外设的大小不一,有设计人员可以在扩展块中混合匹配使用的小功能,也有针对特定设计领域(连接、DSP和处理)和垂直市场(汽车、工业、科学和医疗、航空与国防、有线和无线通信等)的完整扩展功能。从长远来说,赛灵思正在开发“C-to-FPGA”编译器流程,努力为软件开发人员和电子系统开发人员最终提供一种随时可以在软硬件编程环境中移动功能的途径,便于系统的快速开发、评估和优化。DeHaven表示:“我们的想法是使他们能够在C语言环境中进行开发,并迅速在硬件和软件中看到结果。”实际上,赛灵思一直积极监察基准及分析机构BDTI评估C级综合工具使用模式的调研结果(见本期中相关的BDTI文章)。虽然软件开发人员能够使用任何支持ARMCortex-A9的商业开发工具,赛灵思计划将其工具和最新器件捆绑在一起,帮助开发人员立即着手工作。捆绑在工具套件和PCB板上的将会是一套基于Eclipse的集成开发环境、基于GNU的编译器、调试器以及驱动程序。DeHaven表示:“用户可以根据自己的选择来使用开发环境。他们可以使用支持Cortex-A9和ARMCoreSightTM调试接口的行业工具或赛灵思开发工具来进行开发。”除了ARM原生支持,赛灵思还与主要的第三方解决方案供应商密切合作,针对使用新器件的工程人员,开发器件专用的软件包(操作系统和开发工具)。适合多个垂直市场赛灵思开发新架构的动力,来自客户对可扩展、灵活、可升级,能让他们迅速根据他们的需要开发衍生产品的器件的需求。可扩展式处理平台可以使他们产品从采用固定功能ASSP和ASIC的竞争系统中脱颖而出。Ratford表示:“我们已经向几位客户预先展示了这款器件。他们都急于想得到这款器件。我觉得这款器件的市场潜力无法估量。”举例来说,赛灵思预计任何融合智能视频的垂直市场都可以通过使用这款器件立即获益。智能视频需经多重处理步骤,比如像素级预处理。这个步骤计算量大,特别适合运用可编程逻辑的并行处理能力。智能视频还需要元件级的分析处理,这可以通过将兼容的并行(可编程逻辑)和串行(基于MPU)处理能力相结合来实现。同时,帧级应用处理需要一般由MPU执行的决策、这个架构的真正价值,在于设计小组可以在处理器系统和可编程逻辑扩展块之间移动功能。现在不仅是硬件工程师,软件工程师也能决定器件如何运行。表1.ARM公司有一个成熟而稳健的操作系统及OS开发工具生态系统。该表列出了ARMCortex生态系统支持的一些操作系统。封面主题12赛灵思中国通讯36期控制和通信处理能力来实现。具体来说,有利可图的视频市场包括机汽车驾驶辅助、消费用多档次多功能打印机、使用扫描仪的普通嵌入式系统、工业智能像机(包括因特网协议2010年2月,赛灵思公司宣布将采用HKMG(高介电层/金属闸)高性能、低功耗工艺生产28nm下一代FPGA,而且新的器件将应用一个全新的、统一的ASMBLTM架构。在宣布此项策略之前,赛灵思评估了28nm节点的几种技术,最终认定HKMG高性能、低功耗工艺可以为赛灵思下一代FPGA提供高性能与低功耗的理想组合。过去的四代IC工艺,由晶体管漏电导致的静态功耗已变得日益严重。在28nm时代,