硬件工程师必知必会的 Xilinx FPGA 知识

现场可编程门阵列(FPGA,Field Programmable Gate Array)是一种高性能低延时可重构,拥有高速并行运算能力,并可定制性能与功耗的可编程数字逻辑芯片,最早由 1984 年创立的赛灵思(Xilinx)公司推出,该公司由 Ross H. FreemanBernard V. Vonderschmitt 共同创办。不同于专用集成电路(ASIC,Application Specific Integrated Circuit)固定的内部电路连接和逻辑功能。FPGA 的内部电路连接和逻辑功能,都可以通过编程来灵活的定义。

目前全球 FPGA 的市场份额主要集中在赛灵思(Xilinx,2020 年被 AMD 收购)和阿尔特拉(Altera,2015 年被 Intel 收购)两家美国企业手中,余下的市场份额同样由美国的莱迪思(Lattice)和美高森美(Microsemi)两家公司占据。国产 FPGA 芯片产业起步较晚,产品性能与专利积累较为薄弱,目前主要有 深圳紫光同创上海安路科技广东高云半导体上海复旦微电子西安智多晶深圳易灵思北京京微齐力成都华微电子 等芯片研发厂商。

AMD/Xilinx 产品线介绍

AMD/Xilinx 公司的 现场可编程门阵列(FPGA,Field Programmable Gate Array)产品线,主要可以划分为 7 系列UltraScale 系列UltraScale+ 系列 三个大系列:

  1. 7 系列:采用 28nm 制程工艺,包含 Spartan-7Artix-7Kintex-7Virtex-7 四个子系列;
  2. UltraScale 系列:采用 20nm 制程工艺,包含 Kintex UltraScaleVirtex UltraScale 两个子系列;
  3. UltraScale+ 系列:采用 16nm 制程工艺,包含 Spartan UltraScale+Artix UltraScale+Kintex UltraScale+Virtex UltraScale+ 子系列;

在上述三个大系列的基础之上,面向不同的应用场景,上述每一个系列会被进一步划分为 SpartanArtixKintexVirtex 四个子系列:

  1. Spartan 系列:低成本低功耗,面向消费电子和基础应用;
  2. Artix 系列:平衡成本与性能,适用于低功耗中等算力场景;
  3. Kintex 系列:高性能计算与通信,同时兼顾性价比;
  4. Virtex 系列:旗舰级高性能,用于最苛刻的应用;

AMD/Xilinx 公司也推出了同时集成有 Soc 和 FPGA 的四种自适应 Soc(Adaptive SoCs)产品线:

  • 7000 SoC:采用 28nm 制程工艺,集成有单/双核 ARM Cortex-A9,拥有 12.5G 速率的收发器;
  • UltraScale+™ MPSoC:采用 16nm 制程工艺,集成有双/四核 ARM Cortex-A53、双核 ARM Cortex-R5FARM Mali-400MP2 和 H.264/H.265 视频编解码器。
  • UltraScale+ RFSoC:采用 16nm 制程工艺,集成有四核 ARM Cortex-A53、双核 ARM Cortex-R5F 和数字 RF-ADCRF-DACSD-FEC,广泛应用于 5G 通信、雷达、卫星通信等领域。
  • AMD Versal Adaptive SoC:采用 7nm 制程工艺,集成有双核 ARM Cortex-A72、双核 ARM Cortex-R5F,以及 DSP 和 AI 引擎与可编程片上网络,主要应运用于人工智能场景。

AMD/Xilinx 公司目前力推的 UltraScale+ 系列 多处理器片上系统(MPSoC,Multi-Processor System on Chip)产品,属于集成有多种异构处理核心的高性能片上系统,主要内置有如下的片上计算资源:

  • 应用处理器 APU:多核 64 位 ARM Cortex-A53,可运行 Linux 操作系统,负责通用计算;
  • 实时处理器 RPU:双核 ARM Cortex-R5F,用于处理实时任务;
  • 图形处理器 GPUARM Mali-400MP2 用于处理显示输出任务;
  • 可编程逻辑 PLUltraScale+ FPGA,用于实现硬件加速;
  • 视频编解码:用于支持 H.264/H.265 视频编解码;

UltraScale+ MPSoC 主要涵盖了 CGEGEVRF 如下四个子系列:

  • CG 子系列:入门级器件,主要集成有 双核 1.3 GHz ARM Cortex-A53双核 ARM Cortex-R5F,系统逻辑单元数量在 81K ~ 600K 范围;
  • EG 子系列:资源较为丰富,主要集成有 四核 1.5 GHz ARM Cortex-A53双核 600 MHz ARM Cortex-R5FARM Mali-400MP2,系统逻辑单元数量在 81K ~ 1143K 范围;
  • EV 子系列:内置视频编解码器,主要集成有 四核 1.5 GHz ARM Cortex-A53双核 600 MHz ARM Cortex-R5FARM Mali-400MP2H.264/H.265 视频编解码器,系统逻辑单元数量在 192K ~ 504K 范围;

MPSoC 命名规则

UltraScale+ MPSoC 系列产品的命名由 设备名称 + 设备属性 + 封装信息 构成,例如对于命名为 XCZU7EV-2FFV C1156I 的 MPSoC 芯片:

设备名称 部分是 XCZU7EV

  • 商品级别XC 表示 Xilinx Commercial 公司;
  • 产品系列ZU 表示 Zynq UltraScale+ 系列;
  • 价值索引:该数值越大,片上资源就越丰富,价格也就越高;
  • 处理器系统标识符C 代表双核 APU 和双核 RPU,E 代表四核 APU、双核 RPU、单个 GPU;
  • 引擎类型G 表示通用,V 表示带有视频解码器;

制造工艺 部分是 -2FFV

  • 速度等级-1/2/3 表示最慢/中等/最快,-L1/L2 表示低功耗;
  • 倒装封装F 表示球距 1.0 mm 的 Flip-chip 封装,S 表示球距 0.8 mm 的 Flip-chip 封装,U 表示球距 0.5 mm 的 InFO 封装;
  • 封装技术F 表示 Lid 封装技术,B 表示 Lidless 封装技术;
  • 电气标准V 表示符合 RoHS 六项检测;

封装信息 部分是 C1156I

  • 封装标识符:例如 A 或者 C 等;
  • 封装引脚数量:例如 1156 等;
  • 温度等级E 表示工作在 0°C ~ +100°CI 表示工作在 –40°C ~ +100°C

处理系统 PS / 可编程逻辑 PL

AMD/XilinxMPSoC 系列 FPGA 芯片主要由 处理系统(PS,Processing System)和 可编程逻辑(PL,Programmable Logic)两个核心部分组成(两者可以分别独立供电与断电),下图展示了 XCZU7EV 的系统架构图:

  • 处理系统(PS,Processing System):基于 ARM Cortex 架构,类似于传统的 CPU 中央处理器,可以直接运行嵌入式 Linux 操作系统;
  • 可编程逻辑(PL,Programmable Logic):传统的 FPGA 可编程逻辑资源,支持硬件并行处理,可通过 Verilog 或者 VHDL 进行编程;

注意PSPL 之间通过 FPGA 片内的高级可扩展接口(AXI,Advanced eXtensible Interface)总线进行高速数据传输。

可编程逻辑 PL

简化的 FPGA 基本结构分别由 可编程输入/输出单元基本可编程逻辑单元嵌入式块 RAM布线资源底层嵌入功能单元内嵌专用硬核 六个部分组成:

FPGA 的输入/输出单元被设计为可编程模式,可以通过开发工具灵活的进行配置,从而适配不同的电气标准与 I/O 物理特性(可以调整匹配阻抗特性、上下拉电阻、驱动电流的大小等)。

处理系统 PS

串行解串器 SerDes

FPGA 内置的串行解串器SerDes,Serializer/Deserializer)用于进行串行数据与并行数据的相互转换:

  1. 当 FPGA 作为接收端的时候,用于将串行数据,转换为 FPGA 内部能够处理的并行数据。
  2. 当 FPGA 作为发送端的时候,用于将 FPGA 内部的并行数据,转换为便于传输的串行数据。

注意:现代 FPGA 通常集成了专用的 SerDes 外设,例如 AMD/XilinxGTX/GTH/GTY 收发器,以及 Intel/AlteraTransceiver 收发器。

查找表 LUT

查找表(LUT,Look-Up Table)是现场可编程门阵列 FPGA 当中的基本逻辑单元,用于实现组合逻辑功能。

简单的来说,就是将某个简单逻辑功能的全部可能结果写到一个存储单元中,并根据输入的变化直接查找结果并输出。

MIO/EMIO 多路复用 IO

AMD/Xilinx FPGA 提供了多路复用(MIO,Multiplexed IO)和扩展多路复用(EMIO,Extended Multiplexed IO)两种 I/O 管理机制:

  • MIO:由处理系统 PS 直接管理的物理引脚,无需经过 PL 可编程逻辑单元,可以控制 PS 的各种外设;
  • EMIO:由处理系统 PS 通过 PL 可编程逻辑扩展的 I/O 接口,当 PS 的 MIO 数量不足时,可通过 PL 路由出更多的 EMIO(会引入额外延迟);

I/O Bank

FPGA 的器件管脚按照 Bank 进行划分,通过为每个 Bank 独立供电(通过接口电压 VCCO 进行配置),适配不同的信号电平标准,从而增强 I/O 设计的灵活性。每组用户 Bank 可以包括 52HP 或者 HR 的 I/O 引脚,或者 24HD 的 I/O 引脚(由 48 个差分引脚和 4 个单端引脚组成):

  • 高性能HP,High Performance):应用于高速场景,工作电压通常在 1.0V ~ 1.8V 范围(电平的电压越低,通信速率就会越快);
  • 宽范围HR,High Range):应用于宽范围电压场景,可以支持 1.2V ~ 3.3V 的宽范围工作电压;
  • 高密度HD,High Density):每个 Bank 通常由 24 个 I/O 构成,可以支持 1.2V ~ 3.3V

串行解串器 SerDes

FPGA 内置的串行解串器SerDes,Serializer/Deserializer)用于进行串行数据与并行数据的相互转换:

  1. 当 FPGA 作为接收端的时候,用于将串行数据,转换为 FPGA 内部能够处理的并行数据。
  2. 当 FPGA 作为发送端的时候,用于将 FPGA 内部的并行数据,转换为便于传输的串行数据。

注意:现代 FPGA 通常集成了专用的 SerDes 外设,例如 AMD/XilinxGTx 收发器,以及 Intel/AlteraTransceiver 收发器。

吉比特收发器 GTx

AMD/Xilinx 的 FPGA 产品当中集成的 SerDes 外设被称作吉比特收发器(GT,Gigabyte Transceiver),基于不同的数据传输速率及其所具备的高级特性,规格书当中会分别以 GTx 格式进行命名,例如 GTPGTXGTHGTZGTY。对应于 AMD/Xilinx 的不同产品系列,GTx 的传输速率也会有所不同:

7 系列 UltraScale 系列 UltraScale+ 系列
GTP = 6.6 Gb/s GTH = 16.3Gb/s GTH = 16.3Gb/s
GTX = 12.5 Gb/s GTY = 30.5Gb/s GTY = 32.75Gb/s
GTH = 13.1 Gb/s - -
GTZ = 28.05 Gb/s - -

赛灵思 FPGA 最小系统

插入损耗(IL,Insertion Loss)是指由于元器件插入传输线路之前与之后,信号传输功率损耗的差值,通常使用单位分贝 dB 来进行表示。

下面的图片展示了 XCZU5EG 的系统架构框图:

基本的数字逻辑门

门电路是数字集成电路当中,最为基本的逻辑单元,用于实现基本逻辑运算 ,以及复合逻辑运算 与非或非异或同或,对应的逻辑运算门电路有 与门或门非门与非门或非门异或门同或门,其电路符号如下图所示:

硬件工程师必知必会的 Xilinx FPGA 知识

http://www.uinio.com/Electronics/FPGA/

作者

Hank

发布于

2025-07-02

更新于

2025-07-03

许可协议