【导读】对一个设计者来讲,不管是你的PC面积还是功耗都有一个很大挑战,因此,SOC FPGA将是一个趋势。10月16日Altera将推出基于ARM的SoC FPGA,什么叫做SOC FPGA?它有哪些优势?如何降低功耗,进行快速开发?请看Altera有线通信系统工程师独家讲解…
本文整理自Altera有线通信系统工程师 陈文在2012嵌入式开发者论坛上 的演讲,点击下载演讲PDF,结合演讲PDF,加深对SoC FPGA的了解。
更多资料下载:
总功耗降低40%,基于ARM的SoC FPGA使用指南 Altera Cyclone V 开发套件20%优惠券
今天这个交流的话我想给大家带来Altera在嵌入式方面的一些计划,包括我们的一些目标,以及我们为了支持我们的嵌入式的一些特性做的一些努力。就是说今天我先给大家做一个新闻的一个发布,就是说我们在10月16号在FPGA的平台上嵌入一个RAM的愈合,大家如果做过开发的人就知道,现在整个嵌入系统的话在整个一个小系统里面需要有一个单独的CPU,现在可能还涉及到一些I/O扩展,还需要一些FPGA,甚至还有一些其他的分离器件。所以说这样的一些分离器件对我们的一个设计者来讲,不管是你的PC面积还是你的功耗都有一个很大的挑战,所以Altera在很久以前已经预测到这样一个趋势,就是说SOC,什么叫做SOC?System on chip,every thing is on FFPGA!我们可以做所有的事情,大家说这是我们的理想目标。OK,除了我们在硬件上面做这样一个解决方案之外,实际上对Altera来讲的话,可能大家也比较知道,Altera是一个比较知名的以可编程器件为主的一个公司。因为对以前的传统的设计来讲的话,FFPGA,外部的CPU,可能包括其他的一些部件全部都是分离的,可能在这些分离器件之间的话你要做怎么样一个负担的系统来保证它的可靠运行,但是现在Altera提供了这样的一个解决方案,就是你在FFPGA内部可以完成软件的工作,可以用剩下的可编程逻辑来完成一些硬件加速引擎,所以说后面的话我会给大家讲讲Altera在整个方面的一些想法。在Altera来讲的话,如果对Altera比较熟悉的工程师应该知道,实际上我们在2002年的时候我们已经提出了一个Nios II的一个两核,它和我们即将发布的一个带硬核的一个CPU的区别就是我们这个Nios II的软核是基于逻辑单元,就是内部的逻辑单元来做的。它是一个可以放到任意的FFPGA上面的这样一种软核的解决方案。但是到了我们下一步的话,我们会在FFPGA内部放一个硬核,这个硬核的一个性能是说一个ARM 的Cortex A9作为我们一个CPU的一个解决方案。
所以说对Altera来讲的话,我们对整个的一个嵌入式的特性我们的支持方式有两种。第一种方式的话就是说我们会在FFPGA内部放一些核,但是这个核在2008年的时候我们已经提出了一个Nios的两核,但是现在我们还继续支持着Nios,同时的话我们会在今年的十月份发布一个新的带ARM9,待会儿我会讲讲它的性能。带一个硬核ARM9的一个FPGA。但是这个FPGA我们主要把它应用在中端或者低端的一个器件上面。同时的话Altera还加入了很多嵌入式的联盟,比如说我们也考虑,我们也做过在内部加入一个带MPS32的软核,包括我们也配合英特尔,还有Freescale,在他们的CPU里面去放一个逻辑,这个都是我们的一个思路。[member]
实际上这样,对软件开发人员,或者嵌入式人员来讲的话,他的数据挑战主要就是这么几种。第一种说我怎么样去提高我的系统性能。因为以前分离器件的话,它的瓶颈除了在于CPU的处理性能,还在于器件与器件之间的一个接口的性能。比如说我怎样把我处理的数据,然后无损的或者无丢失的传到我的FPGA这一侧。然后通过我的FPGA通过我的外设传到我的对端系统上面去,这个也是属于系统性的一个考虑,就是说CPU的性能和我的接口性能。第二个的话分离器件在整个单板上面它的器件量是很大的,在功耗上面也是一个很大的挑战,因为现在大家都在说节能,针对我们以前的传统的FPGA的话,我们新的叫Cyclone V,28纳米的Cyclone V的话,它比以前我们40纳米的器件本身在功耗上面就已经降低了40%。同时我们在Cyclone V或者说Arria V里面我们提出了一个双核的ARM9,本身这个ARM9运行在800兆的时候它的功耗是低于2瓦的,当然说仅仅讲电路板的面积的话不是一个新的话题了。同时你做了一个系统提升以后,你本身的一个电路板的面积是可以减小的。所以说总共而言的话,对我们的设计人员,或者说我们的一个项目经理的话,整个以上的一个特性就可以保证你整个系统的成本的一个降低。所以说对Altera而言的话,我们就想到我们能不能在一个FPGA的平台上既可以做到软件的一些工作,有软件的一些平台在里面,当然我们现在在新的器件里面28纳米的器件里面我们即将推出两个,一个双核的ARM9,但是这个特性很多,它的主要的特性就是说我们在ARM9里面我们的时钟频率在100度的情况下,因为大家也知道100度实际上是一个工业级的温度范围,在一个工业级的温度范围里面我们可以运行到800兆,如果考虑到ARM9的一个指标,它实际上一个单核的话800兆乘以2.5的话,单核可以提供200个DMIPS,有可能双核的话总共的性能是4千个DMIPS,同时我们在ARM9里面本身也有一个提供一个单精度或者双精度的浮点运算器,所以说的话,我们ARM9的话对我们的一个浮点运算也是提供一个上G这个级别的指标。同时的话,ARM9里面还有一些其他的,比如说像媒体处理的一些NEON引擎,然后我们还有一些像硬扩,这个硬扩的话可以保证你外部的DDR接口的一个硬扩,包括你PCI的一个硬扩,这样的话你就可以保证你接口性能的一个提升。我们其他的可编程的结构的话是一个28纳米的一个结构,这个28纳米的结构的话是台机电这边一个比较先进的生产技术,它用的是一种低功耗的生产方式。从FPGA来看,采用28纳米的工艺会比以前40纳米的工艺有40%的功耗降低。
所以说应用一个带SOC FPGA的一个系统的话,或者说你可以针对一个单器件系统的话,它的好处是什么呢。首先我们有一个高性能的CPU硬核在里面,同时的话我们还有一个28纳米提供的一种比较先进工艺的一个可编程单元,同时的话不但提供了一个硬的解决方案,我们基于这个硬的解决方案的话我们还有一些软件开发平台,或者我们还有一个系统集成工具。大家如果做过以前的这种片上系统的话可以知道我们第一代的片上集成系统的工艺叫SoC PC,然后在2010年的12月份我们10.1这个版本以后我们把这个Quartus II升级成了一个QCS,这个QCS的话可以帮助大家做很快的完成一个系统集成,比如说可以把大家自己做的一些IT分装成ARM接口,挂在QCS的总线上面,从而加速我们的设计周期。同时的话,我们还有一个很成熟的一个我们叫做虚拟的一个开发方法,为什么呢,因为对整个的一个嵌入式开发来讲的话,它除了一个硬件的开发流程,还有一个软件的开发流程,当你开始一个软件的开发流程的时候你的硬件平台可能还没有完全准备好,所以说的话你可能有这样一种设计思路,就是说我们可以以一种虚拟的方式来开发,就好象我们对比像TI的那种开发方式,我们也是对应着那种思路。
这边的话我会给大家重点讲一下在我们内部我们嵌入的一个硬的CPU它的一个主要的结构。首先我们可以给大家强调的是,我们的嵌入的是一个双核的ARM9的硬核,这个硬核它本身是一个哈佛结构,如果大家对单片机比较熟的话,就是说以前比较老的方式是那种冯诺依曼结构,就是它的指令和数据总线是一起的,这样的话会导致它的执行效率不是很高。在ARM9以后,包括以后的ARM11和ARM15的话它会采用5级流水线的一个叫做哈佛结构,就是说指令总线和它的数据总线完全分隔开。同时的话像ARM9来讲的话,它针对于以前像ARM7和ARM5的话它的执行效率有很大的提升,就在于一个它的流水线周期是5级而不是以前的3级,还有的话它有一种很优化的架构,对它的一些存储的方式做了优化。优化就在于首先它有了一个两级的哈希,这个会把它的这种执行概率最多的一些执行放在这个哈希里面去,这样的话它寻址的时候会从哈希来寻址,而不是P6的指令里面去走。这样的话就提升了一个执行周期。同时的话在硬扩里面的话我们还提供了很多的硬核,包括一些很传统的一些接口。比如说我们提供了两个十兆,百兆,千兆的在里面,同时我们的话还有一个USB接口,同时还有一些GPIO去模仿一些比较特殊的一些接口。同时的话我们还有一些硬的memory接口,比如说在我们的FPGA内部或者在CPU内部我们还有一些DDR上面的硬核,DDR3上面的硬核的话我们是可以400兆时钟,也就是说单根线的话我们应该可以跑到800速率。同时的话对硬的CPU和我们的FPGA的本身的可编辑逻辑单元来讲的话,它提供了一个接口带宽,是最大可以达到125G,所以说我们完全不用担心我们CPU和我们的外部的一个逻辑单元来做的加速引擎的一个带宽的瓶颈。同时的话,我们这边可能我刚才也讲过,就是说在ARM硬核的时候它有一些特性,同时还有一些媒体加速引擎,然后还有一个单精度和双精度的浮点单元,这个的话我们也通过了一个专门去测试它的浮点的指标。同时的话我们有两级的Flash来承载我们的传输指令,同时还有多种的外核来保证它的一个很方便的设计。
对我们SoC FPGA来讲的话,因为这一款除了本身带一个CPU的话,它其他的可编辑逻辑单元也是基于28纳米的,本身这个28纳米它首先功耗降低。28纳米的工艺的话,它会有40%的功耗降低,同时在FPGA本身还有一些硬扩会放在里面。比如说有硬的DDR3的一个扩,还包括PCIE,第二代的PCIE的话单根线可以跑到500兆的字节,所以说对PCIE的话可以跟外部的CPU或者和外部的器件对接的话总共可以提供2个G字节每秒钟的速率。同时在28纳米上面我们也有很多的串行的收发器,这个串行的收发器的话最大的速率可以提供到10-Gbps级别,也就是说我们可以在我们的带实际收发器的速率上面你可以和外面10G的模块去对接。
这个的话就是我们整个的一个设计架构,这个架构的话除了有内部的硬核的一个系统,还有在外部FPGA外面可以通过语言或者逻辑电路来帮你做一些硬件的加速引擎,同时的话我们在FPGA内部还有一个很多的DSP来保证你完成一些数字信号处理方面的工作,同时的话还有一些高速接口,向10G的Service或者3G的Service来完成你的器件对接。
针对我们刚才的一些嵌入式设计的需求的话,我们刚才讲了四点,就是对设计人员最应该考虑的四个需求,首先第一个来讲的话就是他的系统性能的一个需求。对我们Altera SOC FPGA来讲的话28纳米的带硬扩的FPGA本身是提供了4000 DMIPS的性能,功耗不到1.8瓦,同时还提供了一个3000 GFLOPS,就是衡量它的浮点运算的指标。其中300G FLOPS运算性能。还有一个大于125G的一个内部的CPU和内部逻辑的一个接口带宽。同时的话功耗来讲的话,28纳米的FPGA本身也会有40%功耗的降低。同时由于CPU,由于外部的一些外设,包括FPGA都是集成在一个SOC FPGA里面的,所以说它的单板面积会有很好的一个减少,同时系统成本也有一个很可观的降低。应对于我们的一些需求的话,我们发布的这两款带CPU硬核的这种系列的话,一个是Cyclone系列,这个系列的话也是集成了一个ARM9一个双核,从逻辑规模来看的话,它的逻辑规模可以从25K逻辑单元一直到110K的逻辑单元,同时的话我们还提供一个终端的中档的一个APG,它也是带CPU内核的,就是Arria 5,这个是提供两种逻辑规模,分别是360K到440K。
这一页的话就是我们整个SOCAPG的关键的特性的一个列表,针对于我们低档的Cyclone5的一个SOC的一些特性和中档的Arria 5的一个特性,这边需要强调的是不管是中端还是低端,里面集成的都是ARM 9的内核,最高可以跑到800兆,然后屏幕的性能是4000,然后的话对于FPGA本身来讲的话,它采用的是28纳米的工艺,然后它可以提供一个很可观的外部memory接口,包括一个很可观的快速收发器的接口,最快的收发器在Arria 5这个系列的话可以达到一个10G。因为大家也知道快速以太网,输入就是10.3125G,这个是我们完全支持的一个范围。
刚才讲过的只是我们整个的一个开发平台。应对我们开发平台的话我们有一些软件方面的设计流程方面的考虑。比如说我们有传统的关于你的通过你的逻辑开发的话,采用Quartus II来做你的逻辑开发,通过你的Qsys来做你的系统集成,就是把你的利用写的加速引擎和你的CPU的功能集成在一个总线上面。我们Qsys上面仍然采用的是一个ARM的总线。同时我们还有基于这个软件的一个开发环境,包括你的工具。我们在ARM上面也是支持一个多种操作系统,包括支持Linux,包括风河,还包括一些开放式的开发系统。这种都是支持的。同时的话我们在你的开放前期的话我们也提供这样一种叫做模拟的原型开发环境来帮助大家做一个快速的一个开发开始。然后很快的转移到实际的系统平台上面去。这个地方的话我们要强调一下,就是说这个QSC是我们的新的一个系统集成工具,它是替代了以前的工具,这个就是说它能够帮助客户在一个很短的时间内定制你的系统设计。
下面的话我会给大家讲一下我们SOPC的一个系统的目标应用。因为对我们来讲的话,我们SOPC的一个FPGA它的目标器件是应用在中端或者低端器件,所以说它的一个潜在的应用市场主要是在比如说能源和工业上面,我们会推出Cyclone 5来做你的目标的一个器件的解决方案。包括一个高清晰的视频处理,采用一个Cyclone 5来做我们的一个解决方案。同时的话在你的中高端的应用场合来讲的话,比如说是你的无线通信在LTE的基站的处理平台里面,或者是你的射频单元中射频,也可以采用Arria 5的SOC的方案作为你的解决方案。包括你的存储应用上面。
这边的话我跟大家可能讲一个应用,就是说我们在高清晰IP摄像机上面,因为现在大家也知道在视频应用上面有一个很流行的趋势叫做IP,叫做摄像Camera IP。就是我们怎样把我们的摄像的一些真正的数据通过我们的一个很复杂的处理以后,然后通过以太网在我们的IP上面进行传输。因为在我们的传统的IP身份认证的系统里面,首先你需要用DSP,包括完成你的带宽比较窄的一些设计应用,比如说你可以完成一个CMOS的应用,包括里面的编码。但是DSP并不能替代你的FPGA高频视频分析,为什么呢,像你的一个宽频的WDR的一个信号处理的话,你的DSP是不能完成的,因为它需要一个很快的采样点,来导致你在一帧之内完成多次采样。完成多次采样以后保证你在一帧里面最亮的点和最暗的点的信息都不会丢失。所以在你传统的里面,DSP和FPGA是完全不能省掉的,但是因为现在我们一个新的FPGA的一个拼接以后,你完全可以把DSP的功能嵌入到我们的FPGA里面去,同时FPGA里面也加上了一个硬的CORE来帮你做一个单精度和双精度的一个浮点运算,同时的话FPGA内部还有一个可以运行在500兆的DSP。所以说我们可以在FPGA里面完成一个高清晰的视频分析,还包括一个宽频的图象处理,甚至于说我们还可以用ARM核帮你做一些视频协议处理,当然说你可以通过其他的商业套卷或者是其他的FPGA做一个视频处理的协处理器,完成一些非常非常复杂的视频处理,比如说H.265。然后我们在FPGA外面外挂我们以太网的核,通过以太网的核来驱动,然后作为你一个IP层的传输的一个解决方案。所以说的话,我们总而言之我们在这个地方做一个总结,就是说在28纳米的中低端器件上面,它有一个硬core,它有一个双核的硬扩,这个硬扩的话可以帮助客户来做一个基于ARM的处理器的系统,同时的话,FPGA本身也是一个28纳米的一个设计工艺,来帮助客户在功耗上面有一个很显幅的降低,同时还有一些定制系统,包括在我们FPGA内部的话有一些硬核,比如说DDR3的一个硬核。同时在软件这边的话,我们有Quartus II来继续帮助客户来做基于传统FPGA的一个开发,同时有Qsys的一个系统集成工具来帮助客户定制你自己的一个系统解决方案。还有一个叫做Qsys的SOC FPGA虚拟目标,就是客户可以在设计前期的时候就开始你的软件设计,所以整个一个好处的话可以保证我们在SOC FPGA上面,客户可以很快的进行一个开发,很快的完成一个Time To Market。能够保证你的设计能够很快的面向市场。OK,总结的话就是说我们Altera28纳米的FPGA不仅在性能上面,在功耗上面,在你们的成本上面都有一个很快的提升。