作者:Clive Maxfield
关键词 : FPGA, 开发工具, 方案
编者按:
最佳处理解决方案常常是由RISC、CISC、图形处理器与FPGA的组合提供,或由FPGA单独提供,或以硬处理器内核作为部分结构的FPGA提供。然而,许多设计人员不熟悉FPGA的功能、其发展脉络以及如何使用 FPGA。
现场可编程门阵列 (FPGA) 具有诸多特性,无论是单独使用,抑或采用多样化架构,皆可作为宝贵的计算资产;但是许多设计人员并不熟悉FPGA,也不清楚如何将这类器件整合到设计中。解决办法之一是深入研究主要供应商提供的FPGA架构及相关工具。
FPGA选型高级概述
市场上有许多不同类型的FPGA,每种类型都有不同的功能和特性组合。可编程结构是任何FPGA的核心,它以可编程逻辑块阵列的形式呈现,也称为逻辑元件 (LE)(图1(a))。FPGA结构可进一步扩展,以包括SRAM块(称为块RAM (BRAM))、锁相环 (PLL) 和时钟管理器之类的东西(图1(b))。此外,还可以添加数字信号处理 (DSP) 块(称为DSP切片)和高速串行器/解串器 (SERDES)(图1(c))。
外设接口功能(如CAN、I2C、SPI、UART和USB)可以实现为可编程结构中的软内核,但许多FPGA将其作为硬内核在硅片中实现。同样,微处理器也可以实现为可编程结构中的软内核,或作为硬内核在硅片中实现(图1(d))。具有硬处理器内核的FPGA称为片上系统 (SoC) FPGA。不同FPGA针对不同的市场和应用提供不同的功能、特性和容量集合。
FPGA供应商有很多,包括Intel(收购了Altera)、Efinix、Lattice Semiconductor、Microchip Technology(收购了Atmel和Microsemi),以及 Xilinx。
所有这些供应商都提供多个FPGA系列:有的提供SoC FPGA,有的提供面向人工智能 (AI) 和机器学习 (ML) 应用的器件,有的则提供适用于航天应用的耐辐射器件。由于产品系列众多,每个系列提供不同的资源,因此为眼前的任务选择最佳器件可能很棘手。
Intel FPGA和SoC FPGA介绍
Intel提供各种各样的可编程器件产品,性能和功能从中等到极高都有,并涵盖传统FPGA到SoC FPGA(即,将FPGA可编程结构和一种或多种强化处理器内核结合在一起的器件)。
Intel的产品系列当前有五个主动FPGA系列,包括Max 10、Cyclone 10,和Arria 10(图2)。Intel还提供极高端的Stratix 10及其更新的最先进Agilex器件。
Intel的Max 10 FPGA集成片载NOR闪存,以提供FPGA配置。其他产品系列有基于SRAM的配置单元,并且会在上电时从板载外部存储器件或系统的其他位置(如在外部处理器的控制之下)加载配置。除MAX 10系列以外,所有其他Intel FPGA系列都可作为FPGA或SoC FPGA的形式提供,并与强化微处理器系统集成。
MAX 10 FPGA的集成功能包括模数转换器 (ADC) 和双通道配置闪存,后者可提供在单个芯片上存储与动态切换两张图像的功能。MAX 10 FPGA还具有Nios II软核心处理器支持、DSP块和软双倍数据速率3 (DDR3) 存储控制器。
MAX 10产品组合中的代表性器件是10M16SCU169I7P。该产品具有16,000个逻辑单元和130个输入/输出 (I/O),而且总RAM位数为562,176。Intel的EK-10M08E144是适用于MAX 10的评估板,另一个是HINJKIT,这是Alorium Technology, LLC的FPGA物联网传感器集线器开发套件(图3)。尤其值得关注的是,HINJKIT的MAX 10 FPGA包括Alorium Technology的AVR兼容8位微控制器,使HINJKIT能与Arduino IDE配合使用。该板还可为第三方物联网载板、模块和配件提供高度的接口灵活性。
Intel的Cyclone 10 GX FPGA提供12.5GB基于收发器的功能、1.4Gbit/s低压差分信号 (LVDS),以及适用于最高1,866 Mbits/s数据速率的高达72位宽DDR3 SDRAM接口。Cyclone 10 GX FPGA针对机器视觉、视频连接和智能视觉相机等高带宽性能应用进行了优化。
与之相比,Cyclone 10 LP FPGA则针对低静态功耗、低成本应用进行了优化,例如I/O扩展、传感器融合、电机/运动控制、芯片到芯片桥接以及控制应用。GX和LP器件系列都支持垂直迁移,使设计人员从一个器件开始着手设计,然后在未来迁移到相邻密度。
Cyclone 10产品组合中的代表性器件是10CL006YU256A7G。该产品具有6,272个逻辑单元和176个I/O,而且总RAM位数为276,480。相关的开发和评估板及模块还有很多,包括P0496 DE10-NANO Cyclone V SE SoC套件(图4)、P0553 TSoM Cyclone V SE评估板(也基于Cyclone V SoC FPGA)和P0581 TSoM Cyclone V SE FPGA评估板,它们都是Terasic Inc的产品。(注意,这些板上的Cyclone V FPGA是Cyclone 10系列的较早期产品。)
Arria 10器件基于TSMC的20纳米 (nm) 工艺技术,将双核Arm Cortex-A9 MPCore硬处理器系统 (HPS) 与可编程结构组合在一起,该结构还包括强化浮点DSP块。Arria 10还装载了嵌入式高速收发器、硬存储控制器,以及协议知识产权 (IP) 控制器,全都包含在单个高度集成的封装中。
Arria 10产品组合中的代表性器件是10AX022C4U19E3SG。该产品具有220,000个逻辑单元和240个I/O,而且总RAM位数为13,752,320。Intel的DK-DEV-10AX115S-A Arria 10 GX FPGA评估板(图5)是开发此FPGA的合适平台。该板让设计人员能够开发与测试基于Arria 10的PCI Express (PCIe) 3.0设计;开发与测试由DDR4、DDR3、QDR IV和RLDRAM III存储器组成的存储器子系统;并且通过使用FPGA夹层卡 (FMC) 连接器连接到由Intel合作伙伴提供的FMC夹层卡,来开发模块化的可扩展设计。
Intel的Stratix 10 FPGA和SoC FPGA采用Intel Hyperflex FPGA架构。此器件产品线中的FPGA可应对高吞吐量系统的需求,其具有最高10 TFLOPS的浮点性能,并支持从28.3Gbits/s (GX) 到57.8Gbits/s收发器,后者在最多144个收发器通道中,能够满足5G通信、云计算、网络虚拟化和光纤传输网络的带宽要求。产品变体包括PCIe Gen4接口,最高能以每秒传输16GB的速度 (GT/s) 提供x16配置,以及一种可支持特定Intel Optane DC永久性存储器的全新存储控制器。
使用Intel的FPGA和SoCs FPGA进行设计和开发
在本FPGA系列文章的第1部分中,我们指出这些器件的传统设计方法是让工程师使用Verilog或VHDL等硬件描述语言 (HDL),在抽象级别(即寄存器传送级 [RTL])上捕获设计意图。首先可以对这些RTL描述进行仿真,以验证其是否符合要求,然后将其传送给综合工具,生成用于对FPGA进行配置(编程)的配置文件。
抽象的下一步是捕获设计意图,主要是使用C/C++之类的编程语言或SystemC这样的特殊实现工具;后者是一组C++类和宏,可提供事件驱动的仿真接口。这些方法有助于并发进程的仿真,每个进程都使用简单的C++语法进行描述。对于此类描述,可以通过像常规程序一样运行来进行分析和配置,然后传递给高级综合 (HLS) 引擎,由该引擎输出RTL,而RTL会传输至常规综合引擎。
Open CL(开放运算语言)在概念上更加抽象,该框架适用于编写可跨异构平台执行的程序。除了FPGA,这些平台还包括中央处理单元 (CPU)、图形处理单元 (GPU)、数字信号处理器 (DSP),以及其他处理器或硬件加速器。OpenCL指定用于为这些器件进行编程的编程语言(基于C99和C++11),并且指定应用程序编程接口 (API),以对平台进行控制并在运算设备上执行程序。
对于Intel FPGA和SoC FPGA,用户使用Intel的Quartus Prime设计软件为所有产品系列开发设计。该软件分为三个版本:Quartus Prime Pro Edition、Quartus Prime Standard Edition 和 Quartus Prime Lite Edition。Pro和Standard Edition需要付费许可证,而Lite Edition可供免费下载。
Pro Edition经过优化,可借助Agilex、Stratix 10、Arria 10和Cyclone 10 GX器件系列支持下一代FPGA和SoC FPGA中的高级功能;Standard Edition广泛支持Cyclone 10 LP器件系列及其他更早期的器件系列;而Lite Edition可免费下载而无需许可证文件,为大容量器件系列提供理想的切入点。
Intel提供各式各样的其他设计工具和资源,包括Intel DSP Builder、Intel高级综合 (HLS) 编译器,以及Intel FPGA SDK for OpenCL。
Intel Distribution of the OpenVINO Toolkit也非常实用,可帮助开发人员构建人工智能 (AI)、计算机视觉、音频、语音和语言应用程序,实现从边缘至云的深度学习推理。除了FPGA,该工具套件还支持使用常见的API,跨Intel架构和AI加速器(CPU、iGPU、Intel的Movidius视觉处理单元 (VPU) 和Intel的Gaussian & Neural Accelerator (GNA))异构执行。该工具套件由基于Cyclone V GT FPGA的OpenVINO入门套件提供支持。
总结
最佳处理设计解决方案常常是由处理器与FPGA的组合提供,或由FPGA单独提供,或以硬处理器内核作为部分结构的FPGA提供。作为一项技术,FPGA多年来发展迅速,能够满足灵活性、处理速度、功耗等多方面的设计需求,非常适合智能接口、机器视觉和人工智能等众多应用。
Intel提供从低到极高范围、从传统FPGA到SoC FPGA的可编程器件产品。如上所述,要使用此类器件进行设计,Intel和其他第三方都提供强大的开发套件和工具,以满足硬件开发人员、软件开发人员以及人工智能和计算机视觉系统构建者的需求。
拓展阅读
- FPGA 基础知识:什么是 FPGA?为何需要 FPGA?
- FPGA 基础知识 — 第 2 部分:Lattice Semiconductor 的 FPGA 使用入门
- FPGA 基础知识 — 第 3 部分:Microchip Technology 的 FPGA 使用入门
- FPGA 基础知识 — 第 4 部分:Xilinx 的 FPGA 使用入门
- FPGA 101:入门指南
- 使用 Efinix 已启用 Quantum 的 FPGA 实现低功耗、高性能的边缘计算
———————————————————–
如有任何问题,欢迎联系得捷电子Digi-Key客服团队。
中国(人民币)客服
- 400-920-1199
- service.sh@digikey.com
- QQ在线实时咨询 |QQ号:4009201199
中国(美金)/ 香港客服
- 400-882-4440
- 8523104-0500
- china.support@digikey.com
到微信搜寻“digikey”或“得捷电子”
关注我们官方微信
并登记成会员,
每周接收工程师秘技,
赚积分、换礼品、享福利