关于可编程逻辑器件的分析和应用

作者:采集侠 发布时间:2019-11-09 02:55:36 点击数:52

为这些应用服务的是高性能FPGA如Altera的Stratix 10系列,其带有400万个逻辑单元,加工在Intel 14nm Tri-Gate处理器上,配合64位ARM Cortex-A53四核处理器。相比它们的处理器,它们有四倍的处理数据吞吐量、四倍的串行收发器带宽、一个28-Gb/s的底板、56Gb/s的片到片/模块速率、超过2.5Tb/s的串行内存带宽、超过1.3Tb/s的并行内存接口带宽,支持DDR4内存,最高速度可达3200Mb/s.为了满足前述浮点计算能力需求,它们提供超过单精度DSP 10倍的TFLOPs。

总体上,它们耗费的能量是上一代单精度浮点型效率为100GFLOPS/W的高端FPGA的70%。Stratix 10设备被Altera的高级开发调试工具如OpenCL和SoC嵌入式设计套件中的Altera SDK所支持。

在中档范围的是Altera的立即启动型MAX 10 FPGA(图3),集成了DSP、带有12位ADC和温度传感器的模拟电路模块、锁相环、低延时全局时钟、嵌入式软处理器支持、内存控制器、达到736KB的双配置flash,允许你进行存储和在单片上的两个图像间动态切换。它们基于TSMC系列的55-nm工艺嵌入式flash技术设计,该技术支持立即启动配置以使它们可以控制系统中其它元件的上电或初始化。器件密度达2000到50000个逻辑元素。其它特点包括多达500个的用户I/O引脚、18路模拟输入通道还有128位AES加密。

关于可编程逻辑器件的分析和应用

图3:评估板上的Altera MAX 10FPGA来源:Altera

特别有意思的是结合了Nios II代处理器内核、片上外设和带有片下内存接口内存的Nios II处理器。相比固化的微控制器,该Nios II代处理器是一个可配置的“软”IP核,这意味着处理器内核是可编程的并且不是固化在芯片里的。当它在FPGA上实现的时候,它允许软硬件工程师协同工作来优化硬件以及测试里边运行的软件。

就连给大众应用服务的FPGA也有令人生畏的性能。例如,Lattice Semiconductor宣称它的MachXO3 FPGA家族是尺寸最小、每I/O成本最低的平台,旨在扩展系统能力和同时利用如MIPI、PCIe及千兆以太网之类的并行和串行I/O来桥接新兴的连接。它们的封装技术消除了连接线,此举减少了成本,增大了I/O密度。基于模型可以看出它们有640到6900个查找表。典型的应用领域包括消费电子、计算及存储、无线通信、工业控制还有汽车。他们的设计工具库包括流行的逻辑综合软件、预先设计的IP、还有专门适合MachXO3L家族产品的免费参考设计。为了让开发更简单化,Terasic,一家专门使用FPGA(还有其它设备)定制子系统的公司,提供了基于Altera Cyclone V代GX FPGA搭建的Cyclone 5代GX开发套件硬件设计平台。该板(图4)包括相关硬件如一个Arduino接头、板载USB Blaster、带有高速收发器的音频视频功能。该公司的目标是简化评估和制造FPGA子系统的任务,而只需额外增加一台基于Windows的PC机而已。

关于可编程逻辑器件的分析和应用

图4:Terasic的Cyclone五代GX开发套件。(来源:Cyclone五代GX开发套件用户指南)

并不是板上的唯一成员

FPGA可能确实很性感(以工程师的说法),但它们并不是唯一的可编程逻辑器件;其它设备也可以用单一设备提供一系列功能。看看来自Cypres半导体公司的“片上可编程系统”(PSoC)架构吧,它是工业上唯一一个在单片上结合了高性能模拟模块、可编程PLD、内存以及微控制器的可编程嵌入式SOC,并且功耗很低。最高级的PSoC变体——PSoC-5家族集成了最新的ARM Cortex-M混合信号解决方案。

例如PSoC-5家族的CY8C56LP系列(图5)在一个CPU子系统中提供可配置的模拟、数字还有互连电路。结合了模拟子系统、数字子系统、路由和I/O的CPU使其在一大片消费者领域、工业领域还有医药领域中很有吸引力。该PSoC的数字子系统通过其数字系统互联电路高效地把任何一个外设与任何一个管脚连接,同时通过小型、快速、低功耗的通用数据模块(UDB)来提供功能灵活性。

关于可编程逻辑器件的分析和应用

图5:CY8C56LP的主要器件是ARM Cortex-M3内核CPU,数字、模拟、可编程、调试还有测试子系统,I/O,时钟还有供电部分。来源:Cypress半导体公司

它支持测试版的PSoC创建库、标准数字外设(UART、SPI、LIN、PRS、CRC、定时器、路由器、PWM、与门、或门等),这些都映射在UDB阵列中。每一个UDB包含可编程逻辑功能,还有一个小型状态机引擎来允许它支持一系列外设。其它可配置的数字模块可以用于特定的功能,如4个16位定时器,路由器,PWM模块,I2C从、主和多-主模式,还有USB和CAN 2.0总线。该设备通常被称为MCU,但是却和FPGA一样有很强的灵活性,并且相对编程容易。

总结