随着FPGA器件和工具在十年间日趋成熟,能够将大量嵌入式处理器(DSP、微控制器和微处理器)融入主流可编程逻辑架构内,越来越多的嵌入式系统设计人员已经将他们的技能组合拓展到中间件和软件开发工作之外,而且能够熟练地使用硬件设计语言。跨学科技能使得这部分为数不算多的设计人员能够使用FPGA 来创建高度优化、差异化架构,这些架构具有适当的软硬件配比,能够达到出色的系统性能、功能与功耗水平。
处理器优先
赛灵思准备采借助其可扩展式处理器平台推出一款全新的器件。该器件的主要构建块是一个运行在800MHz的32位ARM Cortex-A9处理子系统(如图所示)。该处理子系统“开箱即用”,具有可启动和可编程特性。该新型器件的其余部分由紧密连接的可编程逻辑扩展块构成,允许设计人员根据系统要求对软硬件功能进行划分。他们还可以在可编程逻辑扩展块内实现功能,从而创建专有的高度优化的专用片上系统(SoC)。
赛灵思全球市场营销与业务开发高级副总裁 Vin Ratford 表示:“对这个器件的架构,我们动了很多心思,作了很多规划,并从以前诸如基于PowrPCTM的 Virtex?-II Pro、Virtex-4 和 Virtex-5 FXT FPGA 等各种器件上以及竞争对手的失误中吸取了不少的经验教训。所有这些器件毫无例外地采取了以硬件设计为中心的系统设计观念,要么就是没有足够的处理能力,而我们的可扩展式处理平台采用以处理器优先的方法,这样软件设计人员可以开箱即用,立即启动开发工作。如果他们选择不这样做的话,他们甚至没必要使用扩展块。”
不过许多由软/硬件设计人员共同组成的设计小组对扩展块表示支持。赛灵思计划逐步优化使用模式,其最终目的是为软件开发人员和系统开发人员提供一个环境,使得在没有硬件设计人员的辅助下,软件开发人员也可以对处理器之外的可编程逻辑扩展块进行编程。Ratford 指出,与以往 FPGA 在处理器之前启动的架构不同,这款最新的处理器优先平台非常切合开发人员构建系统架构时的实际工作。
Ranford 表示:“电子系统工程师和软件工程师在进行系统设计时,一般会先进行软件开发,然后确定在硬件中实施他们需要加速的功能。这样他们就可以把他们的设计和应用最终要求的合适的性能、成本和功耗衔接起来。在启动项目的时候,他们先进行概念验证。他们不是很担心如何实现与特定客户具体要求的对接,但比较在意怎样才能最灵活地在硬软件之间划分工作。经过多次调整,他们就可以决定把哪些功能交给硬件,哪些功能交给软件,然后采取步骤进行优化,使之符合他们的系统要求。我们的器件可以帮助他们比以前更好更快地完成工作。”
赛灵思将采用与新一代 FPGA(见侧边栏)相同的低功耗、高性能 28 nm 工艺技术来交付该新款可扩展式处理器平台。
图1. 赛灵思可扩展式平台将 ARM 处理器和可编程元件完美组合在一起
为何选择 ARM?
赛灵思选择与 ARM 结成合作伙伴的原因在于该公司实力强大,而且还因其优质的处理器 IP 和软件享有极佳的声誉。实际上,ARM 架构经成为设计人员寻求高速度、低功耗微处理器内核的业界标准。
Ranford 表示:“在软硬件功能、性能、生态环境、用户熟悉程度以及功耗等各个方面,ARM都可以轻松为这种新型架构提供最佳选择的表现都很不错。当功耗不仅成为无线应用,而且也成为有线应用优先考虑的因素时,在该器件中添加极低功耗处理器,将给用户带来令人兴奋的可选项数目,帮助他们实现最佳系统平衡。他们可以让硬件扩展块执行某些功能,从而增强系统性能。他们还可以开发出时而具有惊人表现,时而只消耗几毫安电量的系统。
此外,在3月发布的AMBA总线的高级可扩展接口(AXI)第4版中,ARM囊括了专门针对可编程逻辑使用而优化的AXI规范扩展。AXI-4流媒体协议扩展是一种双向纵横通信交换机,能够充分发挥丰富的I/O接口优势,使工程人员能够利用这款新的赛灵思器件把系统块间吞吐量提升到全新水平,同时发挥IP厂商和客户在过去20 多年里为ARM ASIC 和ASSP应用开发的大量硬件外设核心的性能。
两部分之间的紧密结合与集成,再加上新的AXI扩展,还意味着如果设计小组发现某个功能在处理器上运行不理想,或者需要加速某段代码,他们可以针对这个功能创建硬件,并使用业界标准接口将其放入可编程逻辑扩展块中。
熟悉的软件编程模型
在开发新架构时,赛灵思非常重视目标客户的要求及其工作偏好。
因为新器件在复位时首先启动处理器系统,因此软件开发人员可以与硬件开发人员并肩协作,在开箱后可立即对处理器进行编程工作。通过并行实施这些关键性能,可以大幅缩短开发周期。
赛灵思处理器市场营销总监 Keith DeHaven 表示:“实际上,有些人买这款产品仅仅是为了用它的处理器系统。但该器件的价值在于用户既可以利用其基于ARM的处理器系统来实现命令、控制与应用功能,又可以利用其可编程逻辑来定制、优化产品和实现其差异化。”
DeHaven 表示,该处理器系统有一套固定的外设、开关及存储器接口,能够为软件开发人员提供一致的可编程环境。此外,开发人员可以使用现有的ARM工具和可用硬件(见表1汇总)立即展开工作,一步到位。
表 1. ARM公司有一个成熟而稳健的 *** 作系统及 OS开发工具生态系统。该表列出了ARM Cortex 生态系统支持的一些 *** 作系统。
这个架构的真正价值,在于设计小组可以在处理器系统和可编程逻辑扩展块之间交换功能。现在,不仅是硬件工程师,软件工程师也能决定器件如何运行。举例来说,处理器系统可以使用扩展块中的数据来完成外设功能,也可以把控制权委托给扩展块。开发人员很可能需要运行软硬件联合仿真,来观察给定功能是否在硬件上运行速度更快、功耗更小或是成本更低。而另一些开发人员只是想把不太可能修改的软件功能卸载到扩展块上,以释放出更多处理器代码空间,用于其它命令。
一旦他们确定哪些功能由硬件负责,哪些功能由软件负责,他们就可以让他们的硬件工程师使用赛灵思ISE设计套件,并结合AMBA-AXI标准接口,在可编程扩展块中实施这些功能。同时,在硬件小组对扩展块进行编程的同时,开发人员可以继续开发软件。
虽然处理器优先的架构很独特,其使用模式也更好地反映了软件开发人员的真实工作,赛灵思计划让这个流程更为直观。
赛灵思及其合作伙伴目前正在开发一个通用的标准加速及外设(按硬件术语说,即IP核)综合套件,以及相关的驱动程序和API,以便进一步帮助软件开发人员和系统开发人员在设计中添加功能。其中一些加速和外设将在产品发布时开发完毕,这样用户就可以集中精力开发自己的定制IP,以满足系统需求并实现产品差异化。
加速和外设的尺寸不一,有设计人员可以在扩展块中混合匹配使用的小功能,也有针对特定设计领域(连接、DSP和处理)和垂直市场(汽车、工业、科学和医疗、航空与国防、有线和无线通信等)的完整扩展功能。
从长远来说,赛灵思正在开发“C-to-FPGA”编译器流程,努力为软件开发人员和电子系统开发人员最终提供一种随时可以在软硬件编程环境中移动功能的途径,便于系统的快速开发、评估和优化。DeHaven 表示:“我们的想法是使他们赛灵思系统能够实现在 C 语言环境中进行开发,并迅速在硬件和软件中看到结果。”实际上,赛灵思一直积极监控基准及分析机构BDTI评估C级综合工具使用模式的调研结果。
虽然软件开发人员能够使用支持ARM Cortex-A9的商业开发工具,赛灵思仍计划将其工具和最新器件捆绑在一起,帮助开发人员立即着手工作。基于Eclipse的集成开发环境、基于GNU的编译器、调试器以及驱动程序均将捆绑在工具套件和PCB中。DeHaven 表示:“用户可以根据自己的选择来使用该环境。他们可以使用支持Cortex-A9和ARM CoreSight调试接口的行业工具或赛灵思开发工具来进行开发。”
除了 ARM 原生支持,赛灵思还与主要的第三方解决方案供应商密切合作,针对使用新器件的工程人员,开发器件专用的软件包( *** 作系统和开发工具)。
赛灵思开发新架构的动力,来自客户对可扩展、灵活、可升级,能让他们迅速根据他们的需要开发衍生产品的器件的需求。可扩展式处理平台可以使他们产品从采用固定功能ASSP 和 ASIC 的竞争系统中脱颖而出。Ratford表示:“我们已经向几位客户预先展示了这款器件。他们急于想得到这款器件。我觉得这款器件的市场潜力无法估量。”
举例来说,赛灵思预计任何融合智能视频的垂直市场都可以通过使用这款器件立即获益。智能视频需经多重处理步骤,比如像素级预处理。这个步骤计算量大,特别适合运用可编程逻辑的并行处理能力。智能视频还需要元件级的分析处理,这可以通过将兼容的并行(可编程逻辑)和串行(基于 MPU)处理能力相结合来实现。同时,帧级应用处理需要一般由 MPU执行的决策、控制和通信处理能力来实现。
具体来说,有利可图的视频市场包括机汽车驾驶辅助、消费用多档次多功能打印机、使用扫描仪的普通嵌入式系统、工业智能像机(包括因特网协议监控摄像机与机器视觉、DVR、医疗影像系统、广播演播室摄像机和编码转换器)、以及国防级夜视设备。
汽车驾驶辅助就是能够立即从新架构中得到好处的智能视频应用之一。这个领域的主要客户多年来一直在敦促赛灵思创建基于 ARM 处理器的可扩展式平台。
汽车行业的客户可以对器件进行编程,以控制和分析环车身 360 度布置的多个传感器提供的数据,并且让每个传感器同时执行多项功能。举例来说,智能控制传感器可以让这些传感器监控车道,探测邻近车道上突然并线的车辆并让车辆的速度与前面的车辆同步,探测行人,监测停放车辆之间的距离以确定准确的停放位置——所有这些都可以同时进行。这样的系统在探测到威胁的时候可以立即向驾驶员发出告警。它甚至还可以自动让车辆减速,以避免碰撞。
新器件以处理器为核心,而非以 FPGA 为核心。在许多应用中,您希望控制软件能够根据您正在运行的软件来完成 FPGA 的再编程工作,有时您又需要让处理器独立于 FPGA 架构自行运行。
因为这种器件软硬件都可以编程,一级厂商可以面向不同的汽车制造商和每个厂家的不同产品线提供该控制器的衍生产品,而不必更改控制单元的整体配置。如此强大的功能可以为 OEM厂商节省大量的时间、工作量和资金。此外,软硬件编程能力还意味着该器件可以在现场进行维护或升级。
类似的,在工业控制领域,用户可以开发出能够管理和分析来自一系列传感器和电机的数据的系统,实时地甄别出装配线上有缺陷的产品、探测机械上的裂纹、关闭过热或者空载的电机,从而降低工厂成本、优化 *** 作,乃至拯救工人的生命。
新器件在有线和无线通信市场领域也有着巨大的潜力,特别是在无线 LTE 射频、基带和企业毫微微蜂窝基站,以及有线通信领域的路由器、交换机、复用器。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)