“最佳处理解决方案常常是由RISC、CISC、图形处理器与FPGA的组合提供,或由FPGA单独提供,或以硬处理器内核作为部分结构的FPGA提供。然而,许多设计人员不熟悉FPGA的功能、其发展脉络以及如何使用 FPGA。
”作者:Clive "Max" Maxfield
编者按:
最佳处理解决方案常常是由RISC、CISC、图形处理器与FPGA的组合提供,或由FPGA单独提供,或以硬处理器内核作为部分结构的FPGA提供。然而,许多设计人员不熟悉FPGA的功能、其发展脉络以及如何使用 FPGA。
现场可编程门阵列 (FPGA) 具有诸多特性,无论是单独使用,抑或采用多样化架构,皆可作为宝贵的计算资产;但是许多设计人员并不熟悉FPGA,也不清楚如何将这类器件整合到设计中。
解决办法之一是深入研究主要供应商提供的FPGA架构及相关工具。本文将介绍Microchip Technology的产品系列。
高级FPGA选型概览
市场上有许多不同类型的FPGA,每种类型都有不同的功能和特性组合。可编程结构是所有FPGA的核心,它以可编程逻辑块阵列的形式呈现,也称为逻辑元件 (LE)(图1a)。FPGA结构可进一步扩展,以包括SRAM块(称为块RAM (BRAM))、锁相环 (PLL) 和时钟管理器之类的东西(图1b)。此外,还可以添加数字信号处理 (DSP) 块(称为DSP切片)和高速串行器/解串器 (SERDES)(图1c)。
图1:最简单的FPGA仅包含可编程结构和可配置通用IO (GPIO) (a);不同架构是在此基本结构上增加其他元件而形成:SRAM块、PLL和时钟管理器 (b);DSP块和SERDES接口 (c);以及硬处理器内核和外设 (d)。(图片来源:Max Maxfield)
外设接口功能(如CAN、I2C、SPI、UART和USB)可以作为可编程结构中的软内核来实现,但许多FPGA将其作为硬内核在硅片中实现。同样,微处理器也可以实现为可编程结构中的软内核,或作为硬内核在硅片中实现(图1d)。具有硬处理器内核的FPGA称为片上系统 (SoC) FPGA。不同FPGA针对不同的市场和应用提供不同的功能、特性和容量集合。
FPGA供应商有很多,包括Altera(被Intel收购)、Atmel(被Microchip Technology收购)、Lattice Semiconductor、Microsemi(也被Microchip Technology收购)和Xilinx。
所有这些供应商都提供多个FPGA系列;有的提供SoC FPGA,有的则针对航天等高辐射环境提供耐辐射器件。由于产品系列众多,每个系列提供不同的资源,因此为眼前的任务选择最佳器件可能很棘手。
Microchip Technology的FPGA概览
Microchip Technology的FPGA产品范围覆盖中低端,以具有优异可靠性的低功耗、高安全性器件为主。Microchip的FPGA广泛部署于有线和无线通信、国防和航空、工业嵌入式应用,拥有强大的DSP和存储器资源,并在硬件加速、人工智能、图像处理、边缘计算等应用中展示出了一定价值。
Microchip推出了三个主要FPGA系列:
• IGLOO®2 FPGA:具有大量资源的低密度器件
• SmartFusion®2 SoC FPGA:具有大量资源和32位硬处理器内核的低密度器件
• PolarFire™ FPGA 和 SoC FPGA:成本经过优化的高性能器件,并采用28纳米 (nm) 工艺技术实现
所有FPGA都有配置单元,它们决定了每个可编程逻辑块的功能,以及逻辑块彼此之间和逻辑块与外部的连接方式。这些单元还可用于配置GPIO的接口标准、输入阻抗、输出压摆率等。
有些FPGA使用基于SRAM的配置单元,但这些是易失性存储器,当系统断电时,其内容会丢失。而且,当系统上电时,必须从外部来源(通常是闪存器件)加载配置数据。这些FPGA需要花费非常长的时间来完成上电和使用前的准备工作。
有些FPGA使用片上闪存来存储配置数据,但仍有基于SRAM的配置单元。在这种情况下,当上电时,片上控制器将配置数据从闪存配置存储器复制到SRAM配置单元。这些FPGA的上电速度比纯SRAM产品要快。
Microchip的IGLOO2 FPGA和SmartFusion2 SoC FPGA采用不同的机制,片上配置存储器和片上配置单元均采用闪存技术实现。在PolarFire器件中,配置单元基于硅氧化氮氧化硅 (SONOS) 非易失性存储器 (NVM) 技术,可以将其视为“类似闪存,但更好”。
由于配置数据存储在非易失性闪存(或SONOS)单元中,因此Microchip的FPGA和SoC FPGA可以“即时启动”。也就是说,它们的上电速度比任何其他类型的FPGA都要快。这些器件也包含闪存配置存储器的原因是,在将新配置加载到此配置中的同时,FPGA可以使用其配置单元中的现有配置继续运行。一旦新配置下载完成并得到了验证(配置可以加密并附带循环冗余校验 (CRC)),便可将器件置于安全状态,同时使用配置存储器中存储的新配置覆盖配置单元中存储的原始配置。
传统器件:IGLOO2 FPGA
IGLOO2是出色的综合型中低端FPGA。许多设计人员认为这些器件是“传统”FPGA器件。这些闪存FPGA器件非常适合执行通用功能,例如千兆位以太网或双PCI Express控制平面、桥接功能、输入/输出 (I/O) 扩展和转换、视频和图像处理、系统管理以及安全连接。应用范围非常广泛,包括通信、工业、医疗、国防和航空。
图2:IGLOO2 FPGA非常适合执行通用功能,例如千兆位以太网或双PCI Express控制平面、桥接功能、I/O扩展和转换、视频和图像处理、系统管理以及安全连接。(图片来源:Microchip Technology)
IGLOO2 FPGA提供5,000至150,000个LE(逻辑单元),具有高性能存储子系统、高达512KB 的嵌入式闪存、2 x 32KB的嵌入式静态随机存取存储器 (SRAM)、两个直接存储器访问 (DMA) 引擎以及两个双倍数据速率 (DDR) 控制器。这些器件还有多达16个收发器通道、集成DSP处理器块和抗/耐单粒子翻转 (SEU) 的存储器。为了安全起见,器件进行了差分功率分析 (DPA) 加固,并使用AES256和SHA256加密以及按需NVM数据完整性检查。
IGLOO2器件的典型例子是M2GL025-FGG484I,它有27,696个LE、1,130,496位RAM和267 个I/O。为使设计人员能够研究和试验IGLOO2 FPGA系列的特性,Microchip还推出了相应的IGLOO2评估套件M2GL-EVAL-KIT(图3)。
图3:M2GL-EVAL-KIT是用于IGLOO2的评估套件,功能集成度高,具有低功耗、高可靠性、高级安全性等特性。(图片来源:Microchip Technology)
M2GL-EVAL-KIT有助于轻松开发嵌入式应用,涉及电机控制、系统管理、工业自动化和高速串行I/O应用、PCI Express和千兆位以太网。该套件具有很高的功能集成度,并提供低功耗、高可靠性、高级安全性等特性。该板也采用小巧尺寸、兼容PCIe的结构,开发人员利用任何带有PCIe槽的台式PC或笔记本电脑即可进行原型设计。
入门级SoC:SmartFusion2 SoC FPGA
SmartFusion2 SoC FPGA基于IGLOO2器件的传统可编程结构,并增加了32位硬处理器核。由于该处理器是Arm® Cortex®系列的主打产品,因此SmartFusion2系列为进入SoC FPGA世界提供了一个很好的切入点。
这些SoC FPGA提供5,000至150,000个LE和一个166兆赫兹 (MHz) Arm Cortex-M3处理器,并且包括嵌入式跟踪宏单元 (ETM) 和指令缓存并带有片上eSRAM与嵌入式NVM (eNVM);还包括完整的微控制器子系统,并且配有CAN、TSE、USB等丰富的外设。
图4:SmartFusion2 SoC FPGA提供5,000至150,000个LE和一个166MHz Arm Cortex-M3处理器,并且包括ETM和指令缓存并带有片上eSRAM与eNVM;还包括完整的微控制器子系统,并且配有CAN、TSE、USB等丰富的外设。(图片来源:Microchip Technology)
这些闪存SoC FPGA器件非常适合执行通用功能,例如千兆位以太网或双PCI Express控制平面、桥接功能、I/O扩展和转换、视频和图像处理、系统管理以及安全连接。应用范围同样很广,包括通信、工业、医疗、国防和航空。
SmartFusion2器件的典型例子是M2S025-FCSG325I,它有25,000个LE、256KB闪存、64KB RAM和一个166MHz 32位Arm Cortex-M3处理器子系统。为使设计人员能够研究和试验SmartFusion2 SoC FPGA系列的特性,Microchip还推出了相应的SmartFusion2创客开发板M2S010-MKR-KIT(图5)。
图5:SmartFusion2创客开发板是用于SmartFusion2 SoC FPGA的低成本评估套件,它将Arm Cortex-M3处理器与基于闪存的FPGA结构结合在一个芯片上,另有许多由SoC用户惯常使用的外设,例如RAM和DSP块。(图片来源:Microchip Technology)
低成本SmartFusion2创客开发板由Digi-Key Electronics独家销售,为设计人员使用SmartFusion2系列提供了便利。这一特别的设备提供了一个基于闪存的FPGA架构,具有12,000个LE、一个32位166MHz Arm Cortex-M3处理器、DSP块、SRAM、eNVM和GPIO接口,所有元件全都集成在单个芯片上。
SmartFusion2创客开发板附加了以太网接口、环境光传感器、SPI闪存、八个用户LED和两个用户按钮。该板还有两个无载但已布局好的连接,支持ESP32和ESP8266Wi-Fi/蓝牙模块(不包括在内)。它支持通过USB端口进行JTAG编程、UART通信和为电路板供电。此外,该板还有SPI闪存、50MHz时钟源和Microchip的VSC8541物理层 (PHY),后者支持100Mbps或1Gbps以太网。
高性价比器件:PolarFire FPGA和SoC FPGA
PolarFire FPGA是成本经过优化且采用28nm工艺技术实现的高性能器件。这些器件提供中等密度,但功耗最低,并具有高度的安全性和可靠性。
该产品系列涵盖100,000到500,000个LE,具有12.7Gb收发器,设计功耗最多比同类中端FPGA低50%。这些器件非常适合有线接入网络和蜂窝基础设施、国防和商业航空航天市场以及工业自动化和物联网市场中的广泛应用。
图6:PolarFire FPGA具有100,000到500,000个LE和12.7Gb收发器,设计功耗最多比同类中端FPGA低50%。(图片来源:Microchip Technology)
PolarFire FPGA的总功耗比同类FPGA降低多达50%的主要原因是,片上配置存储器和片上配置单元均采用NVM技术。这使得配置单元之间的漏电流非常低。另外,这也意味着这些器件在上电时也能真正地“即时启动”,从而不会产生浪涌电流,配置电流也为零。
网络安全是网络边缘互连器件的首要考虑因素,因此对于开发人员而言,仅满足设计的功能要求是不够的,还要确保安全。安全性始于芯片制造,并一直持续到系统部署和运行。Microchip推出的PolarFire FPGA是业界最先进的安全可编程FPGA。
许多针对复杂电子设备的应用在设计中都有一定程度的安全要求。PolarFire FPGA专为高可靠性、高可用性的安全和任务关键型系统而设计,适用于工业、航空、军事、通信等应用。PolarFire 之所以适合这些应用,是因为具有如下特性:
• 零失效率 (FIT) FPGA配置
• 抗SEU存储器
• 具有单错误纠正、双错误检测 (SECDED) 功能的存储控制器
• 内置自检
• 无需外部配置器件
PolarFire器件的典型例子是MPF100T-FCSG325I,它有109,000个LE、7,782,400位RAM和170个I/O。为使设计人员能够研究和试验PolarFire FPGA系列的特性,Microchip还推出了相应的PolarFire FPGA评估套件MPF300-EVAL-KIT(图7)。
图7:为使设计人员能够研究和试验PolarFire FPGA系列的特性,Microchip还推出了相应的MPF300-EVAL-KIT FPGA评估套件。(图片来源:Microchip Technology)
MPF300-EVAL-KIT可针对各类应用提供高性能评估。它非常适合用于高速收发器评估、10Gb以太网、IEEE1588、JESD204B、SyncE、CPRI以及其他应用。套件连接包括高引脚数 (HPC) FPGA夹层卡 (FMC)、大量SMA、PCIe、双千兆位以太网RJ45、SFP+和USB。PolarFire FPGA具有300,000个LE、DDR4、DDR3和SPI闪存,可用于开发广泛的高性能设计。
PolarFire产品线仍在进一步发展。在撰写本文时,Microchip Technology披露了有关即将推出的PolarFire SoC FPGA系列的详细信息。该系列将拥有经过强化且支持Linux、基于开源64位RISC-V的实时微处理器子系统。
使用Microchip Technology的FPGA进行设计与开发
最常用的FPGA开发技术之一是语言驱动设计 (LDD)。这涉及使用Verilog、VHDL或SystemVerilog等硬件描述语言 (HDL),在抽象级别(即寄存器传送级 (RTL))上捕获设计意图。通过逻辑仿真进行验证之后,该表达式将连同目标FPGA类型、引脚分配和时序约束(例如最大输入到输出延迟)等其他信息一并传输至合成引擎。合成引擎输出配置文件,对于Microchip FPGA或SoC FPGA,配置文件直接加载到FPGA中,而对基于SRAM的器件而言,配置文件则是加载到外部存储器件中(图6)。
图8:通过逻辑仿真进行验证之后,RTL设计描述将与FPGA类型、引脚分配和时序约束等其他设计细节一并传输至合成引擎。合成引擎输出的配置文件直接加载到FPGA中。(图片来源:Max Maxfield)
Microchip的Libero SoC设计套件属于此类工具。该软件提供了一套全面的易学易用的集成开发工具,支持使用Microchip的IGLOO2和PolarFire FPGA以及SmartFusion2和PolarFire SoC FPGA进行设计。该套件将行业标准Synopsys Synplify Pro综合、Mentor Graphics的ModelSim仿真与约束管理、编程和调试工具、安全生产编程支持集成在一起。
除了使用Verilog、VHDL或SystemVerilog以文本格式捕获设计之外,该套件还包含图形输入功能,可以将系统定义为连接块的层次结构,较低级的块以用户定义的HDL或第三方IP表示。
另外,还有System Builder,它是一种易于使用的设计工具,可引导用户解决一系列高级问题来定义目标系统。System Builder首先询问有关目标系统架构的问题,然后添加需要在可编程结构中作为软内核实现的所有其他外设,最后创建一个“设计即正确”的完整系统。
最后但并非最不重要的一点是SoftConsole集成开发环境 (IDE);对于Microchip的FPGA和SoC FPGA中实例化的32位软处理器,以及SmartFusion2和PolarFire SoC FPGA中的32位和64位硬处理器内核来说,该IDE有利于快速开发裸机和基于RTOS的C/C++软件。
总结
最佳处理设计解决方案常常是由处理器与FPGA的组合提供,或由FPGA单独提供,或以硬处理器内核作为部分结构的FPGA提供。作为一项技术,FPGA多年来发展迅速,能够满足灵活性、处理速度、功耗等多方面的设计需求,非常适合智能接口、机器视觉和AI等众多应用。
如本文所述,Microchip Technology的FPGA和SoC FPGA产品范围覆盖中低端,以具有优异可靠性的低功耗、高安全性器件为主。这些FPGA具有强大的信号处理和存储器资源,是在通信、工业、军事、航空等行业中开发硬件加速、人工智能、图像处理、边缘计算等应用的出色平台。
分享到:
猜你喜欢