>
首页 » 业界动态 » FPGA成熟期的软式处理器未来发展

FPGA成熟期的软式处理器未来发展

作者:  时间:2008-11-27 13:53  来源:52RD硬件研发

 

在90年代中期,想要将微处理器放到一个单颗FPGA元件中,在技术上已经成为可行的事,但其仍然是件速度缓慢与价格昂贵的科技新鲜事物,然而,由于FPGA架构与硅晶片科技的进步,目前已经完全可以在FPGA元件中放入软式处理器来建立商用的嵌入式系统。结合了FPGA元件与软式处理器可以提供给先前的嵌入式系统开发者未曾拥有的更高层次灵活性,它可带来许多的效益,包括快速开发、降低成本与产品差异化。

这篇文章将描述随着结合软式处理器与FPGA元件所带来的科技发展与应用领域的改变,它已经是先进嵌入式设计的绝佳选择。配合一些在这个科技领域先进产品的范例,将可概要地介绍Nios II处理器的特色与发展工具,以及它如何被用于最佳化系统大小与效能,以提供完全符合商业应用的解决方案。FPGA元件的演进
在十年前,电子产业在晶片制造能力上有令人不可置信的进展,有能力塞进大量的电晶体到晶片中,以让晶片更先进,并随着电子元件市场需求的快速变化,低成本产品也随着IP产业的快速发展飞跃地成长。除此之外,随着新的半导体科技朝向建立更小、更快与更低电源消耗的晶片发展趋势,FPGA元件也随之快速发展。

由于半导体科技的进步让FPGA元件的密度变的更高,每年都可以提供开发者更多的逻辑与记忆体资源,如图1所示。在每个半导体的新世代中,FPGA也都变的更快速,图2显示在制程技术与架构的强化相结合之下,让元件内的可编程逻辑速度有极大的增进。

FPGA增加速度与容量意味着它们现在可以在更大范围的应用市场中执行更多的功能。初期,FPGA只是用来做为胶合逻辑或做为ASIC系统的原型,但随着像是Altera的Cyclone与Cyclone II这类的高效能、低成本元件的发展,意味着FPGA元件现在也可以适合为许多市场做为商用解决方案的基础,例如消费性电子、工业与汽车市场。
 

 

图1. 在FPGA元件内的可用资源每年均持续性地大量增加。
 

大多数的市场都希望下一代的产品能够以较低的成本来提供更多的功能,这意味着当今的开发者对于产品成本的议题非常敏感,且常常得考虑比以前更大范围的议题,当今的设计师需要为他们专案以超越一个系统(或甚至是产品)层级的观点来思考,且必须为每个设计决策找出所有潜在的可行性。相较于先前的专案,像是产品支援成本与现场升级等议题,将会在设计流程的更早期便必须列入考量。

整合FPGA到嵌入式设计之中将可带来许多优势,这些效益包括在开发工具与设计流程中仅需较低的投资,零组件的数量与制造成本可以透过整合许多功能到FPGA中来加以减少,且软体与硬体均可以像具有完整功能的最终产品一样,在原型系统中进行测试以加快设计週期。元件的弹性也意味着就算产品已经交货了,也能够允许进行产品规格的变更。时至今日,FPGA已经可以在许多嵌入式应用中看到,甚至是如电视、电视游乐器、网路路由器与工业控制器等大量生产的消费性产品,都可见到FPGA的应用。传统ASIC开发具有较高的成本与风险,加上FPGA成本的降低,意味着FPGA将可以应用到几乎所有大量生产的嵌入式应用之中。

软式处理器的演进
自从在1970年代发表微处理器以来,微处理器的普及速度十分惊人,它们以各种方式几乎渗透到电子产业的每个角落之中,它具备建立状态机与用软体建立逻辑的能力,提供了快速开发与维护复杂系统的效益。在1997年,FPGA已经开发成可以容纳一个微处理器,这种结合软体功能与可重新配置硬体能力的组合,代表着技术上的革命,但它并不是商业上可行的解决方案,其时脉速度为3-5MHz且零组件成本接近1000美元,只有少数应用它们做ASIC目标系统原型的企业,可以从这种科技结合中获得效益。快速发展的IP产业很快地体认到FPGA元件的潜力,且有许多公司开始使用它们来建立IP原型或ASIC模拟系统。

具有快速增加效能与容量的FPGA,已经可以很明确地知道,它仅是在等待採用FPGA架构的软式处理器的效能与功能,必须能够符合许多採用半导体产品架构商用处理器的时机而已。不幸的是,唯一可用的软式处理器产品是针对ASIC所开发,这意味着其授权费非常昂贵,且并未能在FPGA高速实行进行最佳化,使其在採用FPGA架构的系统做商业使用显得有点不切实际。认知到结合软式微处理器与FPGA元件的技术潜力,Altera开发了称为Nios的软式处理器产品,以为FPGA解决方案提供商用的软式处理器。图3显示自1997年起,在FPGA中软式处理器的最大时脉速度与DMIPS效能逐年增加,并指出现今的FPGA架构软式处理器可以真正地符合许多既有微处理器与微控制器产品的效能。
 

 

图2. FPGA元件的效能逐年增加

 

 

图3. 在FPGA中的软式处理器效能逐年增加


Altera的32位元RISC Nios II是来自Altera的最新一代软式处理器,具有高达200 DMIPS的效能与许多特性,Nios II有能力支援多种应用,Nios II的授权是永久性的,且在Altera元件中实现设计是免权利金的,免除了一般与IP相关的权利金费用,採用Nios II架构的设计可以轻易地被重新指向新的FPGA产品系列,因此可以保护在硬体与应用软体设计上的投资,这意味着当开发者使用Nios II之后,他们不再会有处理器零件被淘汰或难以找到的问题了,在FPGA之外的零件也有可能被淘汰,或仅仅是被更便宜或更好的元件所取代,相较于固定处理器的设计,在FPGA架构的系统中,解决这种问题显得简单多了,结合了快速产品开发、成果保证与低成本FPGA,让像Nios II这类的软式处理器对嵌入式开发者而言是拥有致命吸引力的解决方案。

Nios II处理器
像ARC与Tensilica这类的公司针对市场发表了可配置处理器(Configurable Processor)的概念,以及像Nios II这种针对FPGA开发的处理器系统是相当理想的科技,由于FPGA具备可重复编程的天性,以及拥有Nios II处理器设计与工具,设计师不但可以在系统实行时配置与客制化处理器核心,并可允许他们特别为他们的应用来最佳化其大小与效能。

 

图4. SOPC Builder的画面


Nios II系统可以透过称为SOPC (System on a Programmable Chip, 可编程单晶片系统) Builder的工具来产生,这个图形使用者介面驱动工具允许开发者选择与配置IP,并自动地建立一个框架来将所有的东西连结在一起,Nios II处理器透过SOPC Builder可有三种变化可供选择,每一种都可以针对效能或大小的不同来进行最佳化,Nios II/e核心是根据大小来进行最佳化,仅需佔用FPGA元件500-600个LE,在大量生产的应用中採用低成本的FPGA,每个处理器的逻辑成本相当于仅需0.35美元。Nios II /f核心是针对效能进行最佳化,并可在Stratix II元件中提供超过200 DMIPS的效能。介于这两个核心之间的是Nios II /s 核心,其可在大小与效能之间取得平衡。这三个核心的汇整请参见表1。

所有的Nios II核心都是二进位程式码相容,这意味着设计师可以使用SOPC Builder来轻易地在核心之间切换,并快速地判别哪一种核心才最适合他们的应用。SOPC builder也可以被用于重新配置Nios II处理器,仅许简单地做几个点选,便可以配置快取记忆体、除错零组件或增加客制化指令。一旦处理器已经被选择与配置,SOPC Builder允许设计师可以配置与整合週边零组件,例如记忆体控制器、计时器、UART等。设计师可以从已经被Altera及其合作公司整合在SOPC builder内,超过六十种週边零组件中进行选择,设计师也可以整合他们自己的客制化指令或週边IP到SOPC Builder的零组件函式库,来让其内部开发的IP可以轻易地在新的配置与其他的专案中被重新使用。
 

特性

处理器核心

Nios II / e

Nios II / s

Nios II / f

效能 DMIPS/MHz

0.16

0.75

1.17

最大的DMIPS

28

120

200

fMAX

最高可达175 MHz

最高可达158 MHz

最高可达174 MHz

预估的大小(用LE计算)

<600

<1,300

<1,800

管线阶段

-

5

6

外部定址空间

2 Gbytes

2 Gbytes

2 Gbytes

指令匯流排 快取记忆体

-

512 bytes 到 64 Kbytes

512 bytes 到 64 Kbytes

分支预测

-

静态

动态

资料匯流排 快取记忆体

-

-

512 bytes 到 64 Kbytes

运算逻辑单元 硬体乘法器

-

3个週期

1个週期

硬体除法器

-

-

Optional2

移位器

每位元1个週期

3个週期大量移位器

1个週期大量移位器

JTAG除错模组 JTAG介面、执行控制、支援软体中断点

支援硬体中断点

支援晶片外追踪缓冲器

例外控管 整合式中断控制器

支援客制化指令的数量

256

256

256

备註:
1. 这个资料是取自于使用Stratix II元件,Nios II/s与Nios II/f核心当在採用具有DSP模块的Altera元件上使用时,可以达到更高的DMIPS效能。
2. 当採用没有DSP模块的Altera元件时,乘法器、除法器与大量移位器硬体将不存在,在这种状况时,乘法器与除法器的操作会用软体来模拟,且移位器操作每位元需要一个週期。

表1:Nios II产品系列的关键特性

 

理想的嵌入式系统是同时针对成本与效能做最佳化,透过使用Nios II,设计师可以最佳化处理器系统以达到完美地符合他们应用的需求,以下有几种简单的方式可以增进系统效能,这是传统处理器晶片所不具备的。

处理器效能可以透过使用客制化指令来大幅增加,客制化指令是针对应用的特殊功能,用来强化CPU的运算逻辑单元(ALU)的逻辑模块,在Nios II处理器中最多可以使用256个客制化指令,就像原生的Nios II指令一样,客制化指令逻辑可以同时地从多达两个原始核心暂存器中取得数值,且随时可以将结果写回目标暂存器,不会由于传输资料到记忆体或从记忆体读取资料而造成任何延迟。客制化指令逻辑也可以存取它自己私人的暂存器或记忆体空间,允许保留也许在处理后续资料值会用到的中间资料值,客制化指令可以允许关键的软体副程式以成为处理器架构一部分的硬体方式来实行,当在C语言中直接唿叫客制化指令所需的副程式时,将会取代掉原始的软体程式码,如此一来,在软体以多重指令来实行的功能,可以被有效率的硬体实行功能的单一唿叫所取代,这可对应用带来巨大的效能增进,SOPC builder与Nios II软体开发环境对整合与使用客制化指令提供了完整的支援,允许设计师可以微调他们的Nios II处理器来满足他们的效能目标。
 

 

图5:透过整合客制化处理器到Nios II处理器核心可增进应用的效能
 

举例来说,客制化指令可以完成循环冗余检查(CRC)计算,相较于纯粹使用软体来处理资料,可以带来更高等级的效能提升,用软体处理一个64-Kbyte的资料模块将耗费数百万个时脉週期,图5显示使用客制化指令将可以减少到数十万个时脉週期。

客制化指令是快速处理资料的理想方法,它已经在CPU中的核心暂存器中。有时效能的瓶颈并不是在处理器的能力,而是在记忆体系统之内,使用SOPC builder,设计师可以轻易地重新配置记忆体系统来协助避免记忆体争夺现象,且他们也可以整合客制化逻辑模块或硬体加速器到设计之中。

硬体加速器可以从处理器卸载繁重的运算功能,这个功能可以在逻辑中实行,并透过Avalon交换架构连接到系统上,Avalon交换架构是一个由SOPC Builder工具自动产生的客制化建立互联,以连接系统中每一个主要与从属埠,这个交换架构并不是系统匯流排,多重主要埠可以同时地运作,大幅地增进资料的传输量,这可以巨幅地增进系统的效能。透过增加特定应用的硬体加速器可以使用专门的资料路径平行地进行读取与写入资料,大型的资料模块可以被处理器操作同时地处理,大幅加速系统的效能。

 

图6:透过实行硬体加速器来增进系统效能

 

举例来说,先前曾讨论的CRC功能需要在记忆体内有大型的资料模块来执行运算法则的应用,就算在处理器内有客制化指令也需要花费时间从记忆体中载入资料,然后传送给客制化指令,如果整个流程卸载到硬体加速器上,如此一来当硬体加速器直接存取记忆体与处理资料时,处理器便可以花费週期去处理其他的功能,这可以带来额外的更高层次的效能增进,如图6所示。

Nios II处理器支援完整又强大的开发工具,整合了一个採用Eclipse架构的Nios II整合式开发环境(IDE),IDE可透过完整的开发工具来进行控制,易于使用的专案管理能力,以及如OS整合与效能分析工具等随插即用的功能强化,是当今嵌入式软体开发者不可或缺的工具,IDE可以被用于选择指令组模拟器(ISS)或开发板做为除错标的。
 

 

图7:Nios II IDE与Nios II开发板的图片

 

Nios II除错器透过JTAG连接到Nios II除错模组与实体的处理器系统通讯,SOPC Builder允许设计师轻易地为这个除错模组选择众多不同的配置,最小化配置可提供具有标准控制(停止、开始、中断等)的最小硬体实行尺寸,以及存取除错系统所需的功能,设计师可以选择增加额外的更复杂的除错功能,像是硬体中断点、资料触发器、指令追踪与资料追踪,所有的这些功能都可以透过IDE环境来进行管理。

在FPGA内的软式处理器核心的未来发展
当前电子市场仍然持续成长,且对低成本、多功能元件的需求增加更是殷切,传统上,解决方案是用来设计ASIC,以取得最新的制程技术以获得更小、更快逻辑的效益,决定制造ASIC是一种具备严重与大量风险的行动,销售数量必须够多才能回收开发的成本,如果判断错误将带来严重的损失。在当今这个快速变动的市场中,企业必须抢在竞争产品推出之前快速地佔领市场,大量地降低额度与利润,延迟六个月推出产品将导致无法产生足够的盈余来支援够快地创作下一代的产品,以在市场中持续保持领导地位,这将严重损失市场佔有率,并很难可以重新拿回来。

由于结合勉强或无能的制造商来开发他们自己的ASIC解决方案,以建立复杂系统所需的专业技术层次越来越高,将导致ASSP(Application Specific Standard Product, 特定应用标准产品)的成长与普及,这些元件针对个别的大量应用(例如行动电话、mp3播放器等),并通常由专业的公司所制造,从成本上来看,这些元件可说是理想的解决方案,不过当系统成熟之后,制造商通常需要差异化他们的产品,在产品中需要出现一些不同的功能,这将会把应用空间分散为数个较小的区块,每个都有其特定的需求, 这些需求也许会排除掉使用前一代的ASSP,而需要新的解决方案,制造商使用FPGA来整合两个ASSP的功能或扩大ASSP的功能并非是少见之事, 这个技巧意味着新产品可以相对快速地开发,并让制造商可以在快速成长的市场中建立好的立足点,通常商场上成功也将随之而来。

在FPGA中的软式处理器的能力将会持续增加,且它们可以完成的应用空间也将在每个嵌入式系统市场中持续成长,在某些应用中,採用FPGA架构的系统已经技术上地几乎完全取代了既有的ASSP。

使用FPGA有许多的优势,但直自今日,系统零件的成本通常还是会决定最终的系统设计,在较低成本需要更多功能的要求下,将驱使ASIC与ASSP设计师使用较小的制程科技,然而,如图8所示,使用这些新制程的设计成本将会持续地提高,用更大的投资来制造更便宜的晶片,意味着使用量要越来越大才能够取得好的投资回报,这将导致风险更高,就算对ASSP开发者也是一样,当竞争者更早推出产品,或是因为重新修改设计导致产品推出市场太晚,都将对企业造成严重的财务影响,这意味着开发者必须寻找更快速、更低投资的方法来替代ASIC开发。
 

 

图8. 预估的制程技术所需的ASIC开发成本


图9显示了FPGA逻辑的成本稳定地在减少中,透过用FPGA来实行解决方案,开发者可以比先前更快地取得新产品来进入市场,一旦产品推出市场之后,制造商可以透过将设计从FPGA元件接脚相容地移转到HardCopy结构化ASIC,以在效能上获得额外的提升与进一步降低生产成本,这是移转到大量生产的低风险途径,结合FPGA元件提供的增加能力与特性,意味着它们可以提供从最初的原型设计直到大量生产的一整套有效率的开发途径。

 

 

 图9. FPGA逻辑的相对成本随着时间而递减

 

Nios II提供了开发者最佳化他们的处理器系统大小与效能的机会,以满足他们的应用需求,Nios II所提供的可配置能力与成本最佳化,结合了在FPGA或HardCopy元件实行的额外效益,已经有全世界日渐增多的开发者开始使用,像Nios II这种软式处理器,将在让FPGA能够提供现今设计师所需的资源与弹性中扮演关键的角色,随着在FPGA中使用软式处理器的普及,将会使需要更快速并更具弹性的解决方案的需求持续增加。

相关推荐

没有退路的FPGA与晶圆代工业者

FPGA  晶圆代工  2014-01-03

采用FPGA的可编程电阻的设计结构分析

FPGA  电阻  2013-09-24

从FPGA的制程竞赛看英特尔与Fabless的后续变化

FPGA  Fabless  2013-07-16

物联网融合自动化推动高效生产模式变革

物联网  FPGA  SoC  2013-07-09

14纳米FPGA展现突破性优势

14纳米  FPGA  2013-06-20

高清视频监控FPGA应用迎来小高峰

视频监控  FPGA  2013-06-20
在线研讨会
焦点