一般来讲,“一个好汉三个帮”,一个完好的嵌入式体系中由独自一个FPGA运用的状况较少。一般由多个器材组合完结,例如由一个FPGA+CPU来构成。一般为一个FPGA+ARM,ARM担任软件装备管理,界面输入外设操作等操作,FPGA担任大数据量运算,能够看做CPU的专用协处理器来运用,也常会用于扩展外部接口。常用的有ARM+FPGA,DSP+FPGA,或许网络处理器+FPGA等种种架构方式,这些架构方式构成整个高速嵌入式设备的处理形状。
不得不说的是,跟着技能的前进,现在CPU中集成的单元也随之添加,例如TI的“达芬奇”架构的处理器内部一般由ARM+DSP构成。一起异构的处理器形状业逐步盛行,如ARM9+ARM7的结构。这类一个首要处理体系(ARM9)外带辅佐处理体系(ARM7)的规划,相同成为现在处理器规划的盛行方向。主处理体系运转嵌入式操作体系,而辅佐处理单元则专心某一些的专用范畴的处理。这些体系的使用减少了FPGA作为CPU协处理单元的范畴。由于究竟FPGA比较ARM等盛行嵌入式处理器价格要相对较高。
在这种景象下,FPGA的厂商好像也感触到了压力,不谋而合推出了带ARM硬核的FPGA,例如ALTERA的 和XILINX的ZYNQ和ALTERA的SOC FPGA。这是便是相互竞赛的需求,也是同很多CPU厂商一掰手腕的杰总。即便在这两种在趋势下,经典的处理器+FPGA的规划依然可看做为高功能嵌入式体系的典型装备。
经典的处理器+FPGA的装备中有多种的架构方式,即多个处理器单元,或许是ARM,MIPS,或许DSP,FPGA也或许是多片的装备,详细架构方式于详细处理的事务相关和方针设备的定位也相关。由于FPGA作为简略事务流大数据量的处理形状依然是CPU无与伦比的优势,FPGA内部能够开发很多事务数据并行,然后完成高速的数据处理。
在完成高速处理方面,CPU的另一个发展趋势是多核,多核处理器也能处理大数据量的事务的并行,例如业界TERILA已推出64核的多核处理器,选用MIPS处理器,经过二维MASH网络连接在一起,构成NOC的结构。在功能上现已和现有的高速FPGA的处理才能上平起平坐。可是多核处理器的不得不说的问题便是,同一事务流分配到多核处理上后,如需交互,例如拜访同一资源,就会形成读写的缓存共同的问题,处理的这一问题的天然思路是加锁,即在变量拜访上加自旋锁,可是带来的问题便是处理功能的急剧下降。而FPGA不管并行处理和同一变量的拜访,都能够变成工程师的规划水平的问题,没有原理性的应战。
没有一种器材能够满意全人类的很多需求,因而不必忧虑FPGA没有用武之地。必定是一系列产品的组合。下面首要介绍一下FPGA能够作为如今抢手场景的几种使用。
(1)网络存储产品,特别是现在的NAS,或许SAN设备上,其存储的时刻、接口、安全性等都要求较高,而FPGA不管处理功能仍是扩展接口的才能都使其在这一范畴大有作为。现在高端FPGA单片就能够扩展32个或许更多4G或许8G的FC接口。而且其协议处理相对的固定,也使FPGA在这一范畴有很多的或许使用。
(2)高速网络设备,现在高速网络设备10G、40/100G以太网设备范畴,相同FPGA也是要害的处理部件。特别是IPv6的商用化及大数据关于基础设施的高要求,都使这一范畴的处理使用会逐步广泛,这一范畴一般是高速网络处理器(NP)+FPGA的典型架构。
(3)4G等通讯设备,关于新一代通讯基站的信号处理,FPGA+DSP阵列的架构便是绝配。特别是在专用处理芯片问世之前,这样的架构能够确保新一代通讯基础设施的敏捷研制和布置。
没有完美的架构,只要适宜的组合,各种芯片和架构都是为使用服务,相互的浸透是趋势,也是必定。FPGA相对处理器的可编程范畴,依然归于小众(尽管人数也不少)。可是正像一则笑话所说:大腿尽管比根命根子粗,但决没有命子重要。这算开个打趣。FPGA的完成为今后的芯片化留下了许多或许和幻想空间,然后在使用很多迸发时经过芯片化来大幅降低成本,这这也正是其他可编程器材所不能比较的。