什么是FPGA?和单片机/CPU的本质区别

什么是FPGA?和单片机/CPU的本质区别
本文是《FPGA入门到实战》专栏第1篇,适合完全零基础的同学。读完本篇,你将彻底搞清楚 FPGA 是什么、和 CPU/MCU/ASIC 的本质区别,以及为什么值得学。

什么是FPGA?和单片机/CPU的本质区别


1、先从一个问题开始

你有没有想过,手机里的图像信号处理、5G基站里的实时通信、雷达系统里的高速数据采集,这些对实时性要求极高并行计算量极大的场景,用普通的 CPU 或单片机能做到吗?

答案是:做不到,或者做不好。

这时候,FPGA 就登场了。


2、什么是 FPGA?

FPGA,全称 Field-Programmable Gate Array,中文翻译为现场可编程门阵列

拆开来理解:

  • Field-Programmable(现场可编程):不是在工厂固化,而是可以在实验室、工厂现场随时重新编程
  • Gate Array(门阵列):内部由大量逻辑门构成的阵列

一句话概括:FPGA 是一块可以通过编程,反复配置成任意数字电路的芯片。

你写的不是"程序",而是"电路描述"。你告诉芯片:我要在你内部搭一个什么样的电路。芯片就真的把那个电路搭出来,然后运行它。


3、FPGA vs CPU vs MCU vs ASIC:本质区别

很多人一开始分不清这几个概念,下面一次性说清楚。

3.1 CPU(通用处理器)

CPU 执行的是软件指令,一条一条地取指、解码、执行。

  • 流水线设计,通常一次执行一个操作(现代 CPU 有乱序执行、超标量,但本质还是串行指令流)
  • 灵活,但受限于指令集
  • 不擅长超大规模并行计算
  • 典型代表:Intel i7、ARM Cortex-A 系列

3.2 MCU(微控制器/单片机)

MCU 是 CPU + 片上外设(UART、SPI、ADC等)的集成体。

  • 面向嵌入式控制场景
  • 实时性较好,但计算能力有限
  • 外设固定,无法自定义硬件逻辑
  • 典型代表:STM32、Arduino、ESP32

3.3 ASIC(专用集成电路)

ASIC 是针对特定功能定制的芯片,一旦流片就不能更改。

  • 性能极高、功耗极低
  • 一次性研发成本极高(动辄数百万到数千万)
  • 适合大批量量产
  • 典型代表:苹果 A 系列芯片、比特币矿机芯片

3.4 FPGA

FPGA 是介于 MCU 和 ASIC 之间的存在。

  • 硬件可编程,可以重新配置成任意数字电路
  • 真正的硬件并行,多个模块同时运行不互相干扰
  • 开发成本远低于 ASIC,但性能低于 ASIC、成本高于 MCU
  • 适合算法验证、中小批量产品、高性能实时处理

3.5 四者对比表

维度CPUMCUFPGAASIC
执行方式串行指令串行指令并行硬件电路固定硬件电路
灵活性高(软件层)高(硬件层)
并行能力极高极高
开发成本极高
单价中-高中-高低(量产后)
典型功耗中-高极低
上市周期慢(1-2年)

核心区别只有一句话:CPU/MCU 是用软件控制固定硬件,FPGA 是用代码定义硬件本身


4、FPGA 内部架构:LUT、FF、BRAM、DSP、PLL 是什么

要理解 FPGA,必须知道它内部到底有什么。下面这几个概念贯穿整个 FPGA 学习过程。

4.1 LUT(Look-Up Table,查找表)

LUT 是 FPGA 实现逻辑功能的基本单元。

一个 N 输入 LUT 本质上是一个 2^N 位的存储器,通过查表的方式实现任意 N 输入的逻辑函数。

以 4 输入 LUT(LUT4)为例:

  • 有 4 个输入,输出 1 bit
  • 内部存储 2^4 = 16 个配置位
  • 通过配置这 16 位,可以实现任意 4 变量布尔函数

举例:实现 Y = A & B & C & D(四输入与门),只需将真值表对应的那一位配置为 1。

Xilinx 7 系列器件使用 LUT6(6输入查找表),一个 LUT6 可以拆分成两个 LUT5 使用,资源利用率更高。

4.2 FF(Flip-Flop,触发器)

FF 是存储 1 bit 数据的基本时序单元,就是我们常说的 D 触发器。

  • 在时钟上升沿(或下降沿)采样输入,并保持输出
  • 所有时序逻辑(寄存器、计数器、状态机)都由 FF 构成
  • 通常每个 LUT 旁边都配有若干个 FF(Xilinx 7系列中每个 Slice 含 8 个 LUT 和 8 个 FF)

4.3 BRAM(Block RAM,块 RAM)

BRAM 是 FPGA 内部专用的存储器资源,相比用 LUT 拼出的分布式 RAM,BRAM 更高效。

  • 容量固定(Xilinx 7系列中每个 BRAM 块为 36Kb)
  • 支持真正的双端口读写
  • 典型用途:缓存、FIFO、ROM(存储常量/系数)

4.4 DSP(Digital Signal Processing Block)

DSP 块是 FPGA 内部的硬件乘加器,专门用于高速数学运算。

  • Xilinx 7系列的 DSP48E1 可以实现 P = A * B + C 运算,单周期完成
  • 如果用 LUT 实现乘法,既慢又耗资源;使用 DSP 块则高效得多
  • 典型用途:FIR滤波器、FFT、矩阵乘法、PID控制

4.5 PLL(Phase-Locked Loop,锁相环)

PLL 是 FPGA 内部的时钟管理电路。

  • 可以对输入时钟进行倍频、分频、相位调整
  • 输出低抖动、高质量的时钟信号
  • 几乎每个 FPGA 设计都需要用到(开发板晶振通常是 50MHz 或 100MHz,实际设计可能需要其他频率)

4.6 可编程互连

除了上面这些功能单元,FPGA 内部还有大量可编程布线资源,负责把 LUT、FF、BRAM、DSP 等连接起来。这些布线资源的质量直接影响时序性能。


5、主流厂商对比:买 Xilinx 还是 Intel?

目前 FPGA 市场主要被两家公司垄断:

5.1 AMD-Xilinx

  • 2022 年被 AMD 收购,原 Xilinx 品牌延续
  • 市场份额第一
  • 主力开发工具:Vivado(本专栏主要使用)
  • 主流入门系列:Artix-7、Spartan-7、Zynq-7000(含 ARM)
  • 中高端系列:Kintex、Virtex、Zynq UltraScale+

5.2 Intel-Altera

  • 2015 年被 Intel 收购
  • 市场份额第二
  • 主力开发工具:Quartus Prime
  • 主流入门系列:Cyclone IV/V、MAX 10
  • 中高端系列:Arria、Stratix

5.3 学哪个?

对于初学者,两家工具都可以,但建议选一家学透:

推荐 Xilinx-Vivado推荐 Intel-Quartus
目标找 Xilinx 相关岗位目标找 Intel/Altera 相关岗位
学习 Zynq SoC学习 Nios II / Qsys
多数高校实验室用 Xilinx通信领域部分公司用 Altera

本专栏使用 Vivado + Xilinx 7系列开发板。


6、FPGA 的典型应用场景

6.1 通信领域

  • 5G 基站:实时基带信号处理(LDPC/极化码编解码)
  • 光纤通信:高速串行接口(SerDes)、前向纠错(FEC)
  • 软件无线电(SDR):波形重配置

6.2 图像与视频处理

  • 工业视觉:实时图像采集、预处理、目标检测
  • 医疗影像:CT/MRI 图像重建加速
  • 视频编解码:H.264/H.265 实时处理

6.3 工业控制

  • 电机驱动:高精度 PWM 生成,实时电流环控制
  • 数控机床:多轴插补运算
  • 工业以太网:EtherCAT 等实时协议

6.4 国防与航天

  • 雷达信号处理
  • 卫星载荷控制
  • 电子对抗系统

6.5 数据中心与 AI 加速

  • 微软 Project Catapult:用 FPGA 加速 Bing 搜索
  • 网络加速:智能网卡(SmartNIC)
  • AI 推理:FPGA 部署轻量级神经网络(低延迟场景)

7、FPGA 的劣势(客观说)

FPGA 不是万能的,以下场景不适合用 FPGA:

  1. 复杂操作系统应用:运行 Linux/Windows 上的应用,CPU 更合适
  2. 算法频繁变更:FPGA 开发周期比软件长,算法不稳定时成本高
  3. 低成本大批量消费品:MCU 成本远低于 FPGA
  4. 纯标量顺序计算:CPU 流水线已经足够高效

8、本专栏学习路线图

本专栏共 30 篇,分 5 个阶段,建议按顺序学习:

第一阶段:基础入门(第1-6篇) ├── 第1篇:什么是FPGA(本篇) ├── 第2篇:Vivado 安装与工程创建 ├── 第3篇:Verilog语法(一)模块结构 ├── 第4篇:Verilog语法(二)运算符与赋值 ├── 第5篇:Verilog语法(三)时序逻辑 └── 第6篇:Testbench 与仿真 第二阶段:项目起步(第7-12篇) ├── 第7篇:LED 闪烁(第一个完整项目) ├── 第8篇:FPGA内部资源详解 ├── ...按键消抖、时序分析、ILA调试 第三阶段:通信协议实战(第13-17篇) ├── UART / SPI / I2C └── 有限状态机 FSM 第四阶段:工程能力提升(第18-25篇) ├── 代码规范、复位设计、流水线 └── 综合实战项目 第五阶段:总结与进阶(第26-30篇) ├── 报错大全、避坑指南 └── 进阶方向:Zynq / HLS / 图像处理 

每篇预计学习时间:1-2 小时(含代码实操)

建议配备

  • 一台安装了 Vivado 的电脑(第2篇有安装教程)
  • 一块 Xilinx 7系列开发板(正点原子/达芬奇/Nexys A7 均可)

9、总结

知识点要点
FPGA 是什么现场可编程门阵列,通过代码定义硬件电路
与 CPU 区别CPU 执行指令,FPGA 实现并行硬件电路
内部资源LUT(逻辑)、FF(寄存器)、BRAM(存储)、DSP(运算)、PLL(时钟)
主流厂商AMD-Xilinx(Vivado)、Intel-Altera(Quartus)
核心优势硬件并行、可重配置、实时性强
适用场景通信、图像处理、工业控制、AI加速

下一篇:第2篇:Vivado 安装与工程创建(详细步骤+常见报错解决)

如果这篇文章对你有帮助,欢迎点赞收藏!学习过程中有任何问题,欢迎在评论区留言。

Read more

AI的提示词专栏:LLaMA-2 与 Mixtral 的提示词调优技巧

AI的提示词专栏:LLaMA-2 与 Mixtral 的提示词调优技巧

AI的提示词专栏:LLaMA-2 与 Mixtral 的提示词调优技巧 本文围绕 LLaMA-2 与 Mixtral 两大模型的提示词调优展开,先分析二者核心特性,再针对性给出适配原则与实战技巧。LLaMA-2 因参数规模差异大、通用领域训练数据为主、指令敏感度低,需按参数分层设计提示词、补充领域知识、强化指令约束,还提供了结构化指令、Few-Shot 示例等 5 个实战技巧;Mixtral 凭借混合专家架构、长上下文窗口、强多语言能力,需引导激活对应专家模块、合理处理长文本、规范多语言输出,配套专家引导指令等 4 个技巧。文章还对比二者调优重点与适用场景,指出常见误区并给出避坑方案,最后总结核心思路并提供后续实践建议,助力开发者优化提示词、发挥模型性能。 人工智能专栏介绍     人工智能学习合集专栏是 AI 学习者的实用工具。它像一个全面的 AI 知识库,把提示词设计、AI 创作、智能绘图等多个细分领域的知识整合起来。

1000多万次播放背后的AIGC方法论:从爆款视频《牌子》开始思考

这篇深度分析文章,基于《牌子》(SIGN)这部现象级AIGC短片的全面拆解,构建一套完整的AIGC内容创作方法论。将分章节系统性地展开,涵盖技术解析、创作方法论、产业影响和未来展望等多个维度。 引言:一个内容事件的诞生 2026年初,中国视频平台Bilibili上出现了一条名为《牌子》(SIGN)的7分钟短片。这部由独立创作者使用AI工具制作的奇幻短片,在一周内获得了超过1000万次播放、80多万点赞、30多万投币,被著名导演郭帆转发点赞,在YouTube上引发国际观众的热议,甚至专业影视后期团队都在上班时间逐帧分析其制作技术。 这不是一次简单的"技术展示",而是一个内容事件的诞生——它标志着AIGC(人工智能生成内容)从"实验室玩具"正式迈入"大众审美"的领域。更重要的是,它证明了一件事:在正确的创作方法论指导下,单个创作者借助AI工具,可以产出媲美专业团队的内容。 本文将从《牌子》的逐帧技术解析出发,深入探讨其背后的创作逻辑,提炼出一套可复用的AIGC内容创作方法论,

高通机器人AI硬件使用上手指导(基于RB5开发套件)

本指导基于高通机器人RB5开发套件,围绕AI开发工作流、开发套件快速上手、嵌入式Linux环境配置、硬件板卡初始化、多媒体与ROS生态开发核心环节,提供全流程实操步骤,助力开发者快速完成高通机器人AI硬件的部署与开发调试。 一、核心AI开发工作流 高通机器人RB5的AI开发遵循模型训练-集成-部署的标准化流程,适配不同角色开发者的工作环节,核心依托高通神经处理SDK for AI实现模型优化与端侧部署,整体流程如下: 1. 模型训练:在开发工作站完成离线训练,生成包含静态权重、学习偏差的AI模型,支持主流机器学习框架; 2. 模型集成:基于高通神经处理SDK for AI对训练模型进行优化,生成端侧可运行的优化版AI模型; 3. 应用部署:将优化后的模型集成到应用流水线,最终在RB5目标硬件上实现AI推理与应用运行。 适配角色:数据科学家(模型训练)、ML推理工程师(模型优化)、应用开发者(应用集成)、DevOps工程师(部署运维)。 二、开发套件开箱与快速起步 2.1 前期准备 1. 开箱后核对套件组件,确保RB5核心板、外设、

面向电力线场景下无人机返航任务的尺度不变逼近检测器

点击蓝字 关注我们 关注并星标 从此不迷路 计算机视觉研究院 公众号ID|计算机视觉研究院 学习群|扫码在主页获取加入方式 https://pmc.ncbi.nlm.nih.gov/articles/PMC11852856/pdf/biomimetics-10-00099.pdf 计算机视觉研究院专栏 Column of Computer Vision Institute 无人机为电网维护提供了高效解决方案,但返航过程中的避障问题面临跨越电力线的挑战,尤其对于计算资源有限的小型无人机而言更为突出。传统视觉系统难以检测纤细、复杂的电力线,常出现漏检或误判。尽管深度学习方法提升了图像中静态电力线的检测效果,但在动态场景下仍难以实时识别碰撞风险。 PART/1      概述    受视叶巨运动检测器(LGMD)通过检测逼近目标的连续、聚集运动轮廓,从而区分背景中稀疏、非相干运动的机制启发,本文提出一种尺度不变逼近检测器(SILD)。SILD通过视频帧预处理实现运动检测,利用注意力掩码增强运动区域,并模拟生物唤醒机制识别逼近威胁、抑制噪声;同时可预测高速飞行中