众所周知,
FPGA是通过逻辑组合来实现各种功能的器件,几乎可以进行任何类型的处理。过去五年间,为了突破传统的
通信及网络等高端应用市场局限,将FPGA引入更为广阔的嵌入式领域,FPGA厂商已经开始尝试采用多核和硬件协处理加速技术。如今,随着技术的进步,很多芯片厂商开始采用硬核或软核CPU+FPGA的模式。
将FPGA装进集成两个Cortex-A9的微控制器中
从Power内核到Arm内核,赛灵思的转变已经完成。但是请注意,其最新的Zynq-7000 EPP(可扩展式处理平台)不仅仅是在FPGA中增加了一对硬核。Zynq-7000 EPP架构(图1)更像是一种集成了FPGA的多内核微控制器,而不是有多个硬核的FPGA。赛灵思的Zynq-7000 EPP系列芯片(图2)很好的强调了这点。全部4种EPP FPGA都采用相同的双内核微控制器。它们的区别表现在FPGA规模、与FPGA相关的接口数量、DSP模块等逻辑、PCI Express接口和高速串并转换器等方面。
赛灵思的作法并非唯一。事实上,Intel和Altera联合开发的E600C Atom也包含有40nm Arria II FPGA。Altera公司也有使用ARM硬核的计划。
由此可见,目前更大的问题是:向以微控制器为中心的可配置平台的发展趋势,是否会主导FPGA的使用。很多业内人士目前对此表示怀疑。软核在新的FPGA项目中已经占主要地位,但硬核通常更加高效,而且也更容易使用。
那么Zynq-7000微控制器中究竟有什么呢?首先它有一对800MHz的Cortex-A9 MPcore,这种内核除了双精度浮点单元外,还支持NEON SIMD。处理引擎的其它部分比较常见,有32KB的指令与数据缓存以及512KB的二级缓存。
Zynq-7000内有256KB的RAM,还可以通过内存控制器连接片外存储器,片外存储器类型支持DDR2/3、LPDDR2、QSPI、NOR和NAND闪存。系统甚至支持从QSPI器件安全启动。处理器可以装载FPGA配置信息。有个普通的AXI-4接口,用于链接FPGA。目前许多赛灵思和第三方IP都支持AXI-4接口。
模拟方面的支持没有作更多的扩展,但还是有一个16通道、双路12位ADC,处理速度可达1Msample/s。这种ADC还能访问片上传感器,并且同样受FPGA逻辑的控制。
Zynq-7000系列芯片有8个DMA通道,可支持ADC和其它通信外设,包括一对USB 2.0 OTG接口和两个三模千兆以太网接口,还有两个SD/SDIO、UART、CAN、I2C和SPI接口。
看起来这像是一个典型的高性能多内核微控制器,实际上确实如此。
电源管理部分与其它平台相比,丝毫也不逊色。性能以每个内核为基础进行管理。FPGA支持时钟选通,但不能像微控制器或其它外设那样断电。
Zynq-7000系列芯片得到了赛灵思Platform Studio软件开发套件(SDK)中基于Eclipse开发环境的支持。其中的微控制器还得到了ARM Development Studio 5(DS-5)和ARM RealView Development Suite(RVDS)的支持。FPGA开发可以采用赛灵思的ISE Design。
Zynq-7000系列产品适用于广泛的应用。低端的Z-7010可以用于驾驶辅助任务或多功能打印机。Z-7020除此之外还可以支持LTE应用。Z-7030和Z-7040增加了高速串行接口,可访问PCI Express外设,因此是高端路由器的理想之选。所有Zynq-7000系列芯片还能用于航空和军事环境。
FPGA和Atom混合的可配置平台
Intel的E600C是一种业界期待已久的Atom/FPGA混合产品,它将E600系统级芯片和Altera的中等规模40nm Arria II FPGA整合在一起。Intel的E600C(图1)包含全部E600
元件,其中包括Intel高解晰度音频支持
电路和集成的图形媒体加速器(GMA)。E600C的两个PCI Express串并转换器用来与FPGA通信,两个保留给片外连接,还有一个可以连接各种第三方中央控制器或Intel公司自己的EG20T平台控制器中心。
使用PCI Express使得E600可以成为控制FPGA的理想平台,因为带硬件PCI Express串并转换器的FPGA已经很常见。E600和E600C的区别主要有两点:首先,E600将所有功能都集成进了单个封装;其次,E600使用一对x1 PCI Express链路。FPGA和Atom之间的带宽加倍对许多应用来说都有重要的意义。
Atom和FPGA芯片被集成进了外形尺寸为37.5mm x 37.5mm、球间距为0.8mm的单个BGA封装中(图2)。可以通过引脚访问Arria的350个I/O和3.25GHz串并转换器端口。
Atom处理器的TDP与普通E600相同,范围从2.7W至3.6W。整合平台的TDP范围从4W至6W不等,取决于具体平台。Atom支持许多电源管理状态,但FPGA不支持。
Intel提供技术支持,但FPGA工具由Altera提供,其中包括Quartus II开发环境。FPGA架构支持传统Altera FPGA可以处理的所有IP,包括软核处理器,如Altera的NIOS II、Cortex-M1以及飞思卡尔的V1 ColdFire。Altera NIOS II开发工具可用于NIOS II软件的开发。Arm Cortex-M1和Freescale ColdFire也有许多合适的开发工具。现有的x86开发工具可以支持Atom。
E600C代表了Intel和Altera的革新方向。与Intel/Achronix在高性能的21nm FPGA上的合作相比,E600C这种组合是一种完全不同的合作方式。前者是一种使用Intel技术的独立FPGA,后者是将Altera硬件集成到Intel平台上。
总之,Atom和Arria II之间的配合是比较理想的。Arria II不像Stra
tix平台那样要超越Atom,Arria对PCI Express的支持也能很好地匹配Atom的功能。将标准FPGA平台连接到Atom有可能使这种配置比片外FPGA有更高的普及率。这种方法可以更好地简化对FPGA的支持,并从Atom提供标准接口。