Intel的FPGA产品你了解多少?本文帮你查遗补漏~

Intel的FPGA产品你了解多少?本文帮你查遗补漏~

作者: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))。


图 1:最简单的 FPGA仅包含可编程结构和可配置通用 IO (GPIO) (a);不同架构是在此基本结构上增加其他元件而形成:SRAM块、PLL和时钟管理器 (b);DSP块和 SERDES接口 (c);以及硬处理器内核和外设 (d)。(图片来源:Max Maxfield)


外设接口功能(如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 10Cyclone 10,和Arria 10(图2)。Intel还提供极高端的Stratix 10及其更新的最先进Agilex器件。


图 2:在 Intel的五个 FPGA系列中,其中三个(从成本最低 (Max 10) 到最高容量及性能 (Arria 10))的目标应用和市场覆盖从板卡管理和 I/O扩展,一直到嵌入式视觉和军事/国防。Stratix 10和更新的 Agilex器件进一步提升了性能。(图片来源:Max Maxfield)


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配合使用。该板还可为第三方物联网载板、模块和配件提供高度的接口灵活性。


图 3:HINJKIT是Alorium的 MAX 10 FPGA开发平台,可为第三方物联网载板、模块和配件提供高度的接口灵活性。(图片来源:Alorium Technology)


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系列的较早期产品。)


图 4:低成本 P0496 DE10-NANO开发套件拥有强大的硬件设计平台,让用户可以试验与评估Cyclone FPGA。(图片来源:Terasic Inc.)


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夹层卡,来开发模块化的可扩展设计。


图 5:DK-DEV-10AX115S-A Arria 10 GX FPGA开发套件提供一个完整的设计环境,包括开发与测试基于 PCIe的设计、存储器子系统和基于 FMC卡的系统所需的全部硬件和软件。
(图片来源:Intel)


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 10Cyclone 10 GX器件系列支持下一代FPGA和SoC FPGA中的高级功能;Standard Edition广泛支持Cyclone 10 LP器件系列及其他更早期的器件系列;而Lite Edition可免费下载而无需许可证文件,为大容量器件系列提供理想的切入点。

Intel提供各式各样的其他设计工具和资源,包括Intel DSP BuilderIntel高级综合 (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和其他第三方都提供强大的开发套件和工具,以满足硬件开发人员、软件开发人员以及人工智能和计算机视觉系统构建者的需求。


拓展阅读

  1. FPGA 基础知识:什么是 FPGA?为何需要 FPGA?
  2. FPGA 基础知识 — 第 2 部分:Lattice Semiconductor 的 FPGA 使用入门
  3. FPGA 基础知识 — 第 3 部分:Microchip Technology 的 FPGA 使用入门
  4. FPGA 基础知识 — 第 4 部分:Xilinx 的 FPGA 使用入门
  5. FPGA 101:入门指南
  6. 使用 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 WeChat QR Code

到微信搜寻“digikey”或“得捷电子
关注我们官方微信
并登记成会员,
每周接收工程师秘技,
赚积分、换礼品、享福利

头像
得捷电子

评论已关闭。

Copyright©DigiKey Electronics