【芯片】FPGA现场可编程门阵列
一、什么是FPGA二、FPGA的特点打个比方三、核心结构可配置逻辑块可编程互连资源输入/输出块嵌入式硬核四、优点和缺点优点缺点五、FPGA 与 CPU、GPU、ASIC 的比较六、FPGA 的主要应用领域
·
一、什么是FPGA
- FPGA 的全称是 Field-Programmable Gate Array,中文名是现场可编程门阵列,是一种主要以数字电路为主的集成芯片。通俗来讲,就是能用代码编程,直接修改FPGA芯片中数字电路的逻辑功能。通过名字可以提现它的特点即:现场可编程、门阵列。(一种可以通过编程来定义硬件功能的芯片,它实现了“软硬件”的完美结合)
二、FPGA的特点
- 现场可编程:这意味着它是在制造出来之后,由用户在现场(比如你的实验室或数据中心)根据需要来配置其功能的。这就像一块空白的“数字橡皮泥”,你可以把它捏成你想要的任何数字电路形态。
- 门阵列:它本质上是一系列基本数字逻辑单元(如与门、或门、非门、触发器等)的集合,这些单元以阵列的方式排列在芯片上,并通过可编程的连线连接起来。
打个比方
- CPU/GPU像是一家已经建好的、有固定流水线的工厂。你给它指令(软件),它按照设计好的流程一步步执行。流程是固定的,但指令可以千变万化。
- FPGA像是一盒乐高积木。你可以根据自己想要的功能(比如造一辆车、一栋房子),用这些积木块搭建出专用的硬件结构。搭建完成后,它就是一个为特定任务量身定做的“硬件机器”。
三、核心结构
可配置逻辑块
- 这是FPGA的基本逻辑单元,是构成各种复杂数字电路的“原子”。每个CLB通常包含查找表、触发器和多路复用器等。查找表是其核心,它本质上是一个小型的静态存储器,其存储的真值表决定了输入和输出的逻辑关系。通过给LUT加载不同的值,就可以实现不同的逻辑功能(如与、或、非等任何组合逻辑)。
可编程互连资源
- 这些是遍布芯片的导线和开关网络,负责将成千上万个CLB连接起来,形成完整的电路。就像城市中的道路网,它决定了“逻辑积木”之间如何通信。
输入/输出块
- 这是FPGA与外部世界(如内存、传感器、网络接口等)通信的接口。它们可以被配置成不同的电压标准和协议(如LVDS, LVCMOS,
PCIe等)。
嵌入式硬核
- 现代FPGA不仅仅是简单的逻辑单元阵列,还集成了许多专用的硬件模块,以提升性能和效率。常见的硬核包括:
a.块存储器:片上的RAM块,用于高速数据缓存。
b.DSP切片:专门用于执行乘法、加法等数学运算,对信号处理、AI计算至关重要。
c.高速串行收发器:用于实现高速通信协议,如PCIe、以太网等。
d.处理器核:有些FPGA甚至直接将ARM等硬核处理器集成进去,形成“片上系统”。
四、优点和缺点
优点
- 并行性:这是FPGA最核心的优势。与CPU的顺序执行不同,FPGA的不同逻辑电路可以同时工作,极适合处理海量数据流。
- 灵活性/可重构性:可以随时更改硬件功能,无需重新设计或制造芯片。今天可以是视频处理器,明天可以变成网络加速器。
- 高性能与低延迟:由于是硬件直接执行,省去了操作系统和指令译码的开销,可以实现极高的吞吐量和纳秒级的延迟。
- 能耗效率高:对于特定的计算任务,专用硬件电路通常比通用处理器(如CPU)能效更高。
缺点
- 开发门槛高:需要数字电路设计和硬件描述语言的知识,开发流程比软件编程复杂。
- 成本高:相比同等级的CPU/GPU,FPGA芯片本身和开发工具的成本都较高。
- 功耗相对ASIC较高:由于存在大量可编程开关,其功耗和速度通常不如为单一任务定制的专用集成电路。
五、FPGA 与 CPU、GPU、ASIC 的比较
| 特性 | FPGA | CPU | GPU | ASIC |
|---|---|---|---|---|
| 架构 | 可编程硬件逻辑单元阵列 | 冯·诺依曼,少量高性能核心 | 大规模并行计算核心阵列 | 为特定应用定制的固定电路 |
| 执行模式 | 真正的并行处理 | 顺序执行(依赖多线程) | 单指令多数据(SIMD)高度并行 | 完全并行,效率最高 |
| 灵活性 | 高(可重复编程) | 极高(通过软件改变) | 高(通过软件改变) | 无(制造后无法改变) |
| 性能/能效 | 高(对特定任务) | 通用性好,但能效较低 | 计算密集型任务性能/能效高 | 最高 |
| 开发成本/周期 | 中等 | 低 | 低 | 极高(数百万美元,周期长) |
| 典型应用 | 原型验证、嵌入式、实时处理、网络加速 | 通用计算、操作系统 | 图形渲染、AI训练、科学计算 | 智能手机主芯片、比特币矿机 |
六、FPGA 的主要应用领域
- 通信与网络:5G基站、网络数据包处理、软件定义网络(SDN),利用其高吞吐量和可重构性。
- 人工智能与加速计算:作为AI推理加速器,在云端和边缘端对神经网络进行低延迟、高效率的推断。
- 工业与汽车:机器视觉、电机控制、自动驾驶的传感器融合与预处理。
- 测试与测量:用于制造高性能的测试设备,如示波器、信号发生器,可以自定义测试逻辑。
- 消费电子:早期用于高清电视、投影仪的视频处理。现在也用于高端VR/AR设备。
- 航空航天与国防:用于雷达、声纳信号处理,以及需要高可靠性和抗辐射的场合。
- ASIC原型验证:在流片制造之前,用FPGA来模拟和验证ASIC设计,是芯片设计流程中的关键一步。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)