FPGA 入门 08:FPGA vs CPU/GPU/ASIC/MCU——什么时候选 FPGA
更新时间:2026-09-12。本文是
fpga/入门层第 10 篇。FPGA 是什么见 为什么学 FPGA,SoC 融合形态(CPU+FPGA 一颗芯片)见进阶 Zynq SoC 入门。相比第 00 篇的「认识 FPGA」,本篇是决策导向的:给你一个需求,你该如何在 CPU/GPU/FPGA/ASIC/MCU 之间做工程与商业上的取舍。
本文要回答的问题
- CPU/GPU 的「软件可编程」和 FPGA 的「硬件可编程」,在执行模型上到底差在哪?
- 吞吐量、延迟、延迟抖动(确定性)、能效,四种平台各自的强项和短板是什么?
- ASIC 的 NRE 是什么、为什么小批量不能流片?FPGA 与 ASIC 的成本交叉点怎么理解?
- 什么是「数据面 vs 控制面」,为什么真实产品大量是 CPU+FPGA / Zynq 组合?
- 拿到一个具体需求,按什么步骤判断该不该上 FPGA?
〇、先立一个分析框架:四个维度
脱离具体维度空谈「谁更强」永远吵不清。评价计算平台,至少要把目标拆成四个可量化的维度,本篇所有对比都围绕它们展开:
- 吞吐量(throughput):单位时间能处理多少数据(样本/秒、帧/秒、TOPS)。
- 延迟(latency):一个输入从进入到产出结果的时间;以及更关键的延迟抖动(jitter)/确定性——同样的请求,最坏情况和最好情况差多少。
- 能效(perf/watt)与单位成本:每瓦、每块钱能买到多少算力。
- 灵活性与开发成本:改功能难不难、生态/人才、一次性投入(NRE)和上市时间。
同一个平台可能在某维度极强、另一维度很弱:GPU 吞吐量极高但单请求延迟和抖动大;FPGA 单精度浮点峰值未必高,但确定性延迟和自定义接口无敌;ASIC 量产后一切都最优,但前期 NRE 和不可更改是硬门槛。选型本质是按你需求里权重最高的维度做取舍,而不是找「全面最强」的芯片——那样的芯片不存在。
一、一张图看分工

二、决策对照表
| 需求特征 | 选择 | 理由 |
|---|---|---|
| 控制流程、轻处理、要软件生态 | MCU/CPU | 便宜、开发快 |
| 大算力批处理(训练/渲染/矩阵) | GPU | 众核吞吐、CUDA 生态 |
| 超大批量、功能固定 | ASIC | 摊薄 NRE 后单位成本最低 |
| 超低延迟、硬实时 | FPGA | 流水线拍数固定、亚微秒 |
| 自定义/高速接口(LVDS/SerDes/视频) | FPGA | 引脚协议自己搭 |
| 小批量、需求会变、要快上市 | FPGA | 无流片费、可反复烧写 |
| 控制+高速数据面 | CPU+FPGA / Zynq SoC | 各取所长 |
三、关键直觉
- CPU/GPU 是"软件在固定硬件上跑",FPGA 是"把硬件本身搭出来";
- FPGA 的并行是电路级流水线:每级逻辑每个时钟都处理新数据,不靠时间片;
- FPGA 单价高买的是"可重构"——省的是流片费和时间;
- 真实系统常组合:CPU 管控制面/软件,FPGA 管数据面实时。
四、执行模型:同样「并行」,层次完全不同
这一节把「为什么」讲透,这是选型争论的根源。
CPU:时间并行(分时)+ 少量核并行。 几颗复杂乱序核,靠缓存、分支预测、超标量让一条指令流跑得飞快。对你来说同一时刻仿佛在做很多事,其实是操作系统在快速切换线程,单个逻辑任务的执行会被中断、抢占、缓存失效打断,延迟由「平均很快、最坏不确定」决定。
GPU:海量同构核的数据并行(SIMT)。 几千个小核在锁步的 warp/线程块里执行同一条指令、处理不同数据。它为「一大批规则、相互独立、可向量化的数据」而生:矩阵乘、像素、卷积。吞吐可以堆到极高,但前提是你得先攒够一大批数据喂饱它,调度、显存搬运、warp 启动都有开销,所以单个小请求的延迟和抖动并不小,且强依赖 CUDA 这类生态和浮点。
FPGA:空间并行(电路级)+ 流水线。 没有指令、没有取指译码。你的 RTL 综合成一条(或很多条)实实在在的数据通路,数据在寄存器之间每个时钟沿向前推进一级。它的并行有两种叠加:流水线让不同数据在同一时刻处于不同处理阶段(填满后每拍出一个结果);复制通路让多个通道完全同时工作。更关键的是没有任何运行时调度,从输入到输出经过多少级寄存器、多少纳秒是编译期就定死的,每个样本都一样。
CPU : 请求→[排队/调度/缓存]→核处理→[可能被抢占]→响应 (快均值,抖动大)
GPU : 攒一批→[启动warp]→众核并行算整批→回传显存 (高吞吐,批延迟)
FPGA: 数据进→[级1]→[级2]→[级3]→结果出 (固定拍数,逐拍一致)这个差异直接决定了三者的甜区:要「平均吞吐巨大、能容忍批处理和延迟波动」选 GPU;要「每一个独立事件都在确定的、极短的时间内响应,且接口非标准」选 FPGA;要「复杂分支、丰富软件栈」选 CPU。
五、吞吐量 vs 延迟:别用一个指标打架
新手常拿 GPU 的 TOPS 和 FPGA 比「算力」,得出「FPGA 弱」的错误结论,因为混淆了吞吐和延迟。
- 吞吐是「批量处理能力」:GPU 在大规模并行、高占用率时吞吐碾压;FPGA 通过加宽通路、多通道复制和提高频率,也能达到很高的持续吞吐,尤其在定点、低精度推理、流处理上能效常更优。
- 延迟是「单个事务的响应时间」:FPGA 数据通路一旦建好,单事务延迟就是若干时钟周期(亚微秒到微秒级),且最坏约等于最好;GPU/CPU 的单事务延迟受批量、调度、中断、缓存影响,最坏情况可能比均值高一个数量级。
- 硬实时看的是最坏延迟而非平均延迟。高频交易、实时控制、精密触发、5G 前传这类系统,宁可平均吞吐略低,也要保证「每个事件都在截止期内」,这正是 FPGA 的不可替代之处。
一个工程判断口诀:问题受限于「数据量算不过来」且规则可并行,先想 GPU/CPU 优化;受限于「单个事件必须在确定的极短时间内响应」或「信号在标准接口接进来之前就要处理」,先想 FPGA。
六、ASIC 的账:NRE、成本交叉点与风险
为什么存在 ASIC 选项时还要用 FPGA?核心是一笔经济账。
NRE(Non-Recurring Engineering,一次性工程费用):流片前的设计、验证、掩膜、封测开模、EDA 授权等一次性投入。先进工艺 NRE 可达数百万到数千万甚至更高,且不随出货量摊薄之前,每一颗都背着这笔钱。加上流片周期长(以月/年计)、一次做死(bug 要么重新流片、要么天价补救),风险极高。
单颗
总成本
高 │● ASIC(量小:NRE 摊不薄,单颗天价)
│ ╲
│ ╲● FPGA(单价较贵、≈零 NRE,小批量总成本低)
│ ╲_______ 成本交叉点
│ ╲
│ ╲● ASIC(量足够大,NRE 摊薄后单颗碾压)
低 └──────────────────────────────→ 出货量- 交叉点之前(小批量、需求会变、要赶上市、先验证架构):FPGA 没有流片费、周级开发、可反复改,综合成本和风险都低。
- 交叉点之后(几十万颗以上、功能冻结、对 BOM 成本/功耗/面积敏感):ASIC 单颗成本、性能、功耗全面占优,值得付 NRE。
- 经典路径:FPGA 原型验证 → 小批量 FPGA 出货试探市场 → 成熟后做 ASIC 量产量销。网卡芯片、矿机、很多专用加速器都走过这条路。
FPGA 单颗价格之所以比同规模 ASIC 贵,正是你在为「可重构」这个能力和 FPGA 厂商的 NRE 买单——贵的是单价,省的是流片费、时间和「做错」的风险。
七、数据面与控制面:为什么现实里总是「CPU + FPGA」
纯 FPGA 或纯 CPU 的系统其实不多,更多是分工:
- 控制面(control plane):不频繁、分支多、需要协议栈/文件系统/人机交互/管理策略——跑操作系统和软件,交给 CPU/MCU(好写、生态全)。
- 数据面(data plane):高带宽、时间严格、对每一包/每一帧做固定处理——交给 FPGA 的流水线(快、确定、并行)。
典型例子:智能网卡里 FPGA 在线速处理每个数据包(解析、过滤、校验、DMA),CPU 跑路由表管理和配置;软件无线电里 FPGA 做采样/滤波/上下变频,CPU 做协议栈和界面;机器视觉里 FPGA 接摄像头做实时预处理,CPU/GPU 做高层识别。Zynq 这类 SoC FPGA 把 ARM 核(PS,处理系统)和 FPGA(PL,可编程逻辑)做进一颗芯片、用 AXI 高速互联,就是把这种分工做成单芯片方案。理解了数据面/控制面的切分,就不会再问「为什么不都用一个」——它们解决的本来就是正交的两类问题。
八、拿到需求怎么做选型:一个可操作的判断流程
把前面的分析落成步骤,拿到需求按顺序问:
- 本质是控制还是数据流? 主要是读传感器、跑状态机、协议栈、界面、管理 → MCU/CPU,先排除 FPGA。
- 有 CPU 没有的接口或时序要求吗? 多路并行 LVDS/SerDes、JESD204、4K 视频、自定义电平、纳秒级触发——标准芯片接不上,FPGA 几乎必选。
- 算力瓶颈是「批量吞吐」还是「单事件确定延迟」? 前者优先评估 GPU(看 CUDA 生态、浮点、批量),后者优先 FPGA。
- 出货量与需求稳定性? 量小/会变/赶时间 → FPGA;量大且冻结 → 评估 ASIC 的 NRE 与交叉点。
- 功耗/体积/散热约束? 边缘、嵌入式、每瓦性能敏感 → 定点 FPGA 或 ASIC 常优于 GPU。
- 团队与生态? 有没有会写 RTL/做时序收敛的人、IP 是否齐备、供货周期(FPGA 交期常以十到数十周计)。
- 最后画出数据面/控制面边界,能放软件的放软件、必须硬件确定的放 FPGA,形成 CPU(+GPU)+FPGA 的混合方案,而不是非此即彼。
一个反例自查:如果你选 FPGA 的理由只是「听起来更快/更高级」,但任务其实是跑业务逻辑、连数据库、显示网页,那几乎一定是过度设计——能用一块钱 MCU 解决的,不要用几百块的 FPGA。
九、性能与成本之外:功耗、供应链与生态维度
前八节的选型框架主要围绕性能、延迟、单位成本展开,但真实项目里还有三股力量经常成为决定性因素,提前理解能避免选型在最后一公里翻车。
第一股是功耗与散热预算。 同样算力下,FPGA 的能效通常远好于 CPU/GPU——它没有取指译码开销,数据通路按需要宽度定制,不翻转的时钟可以关掉;但和 ASIC 相比,FPGA 的功耗要高一个数量级,原因是可编程互连网络的巨大寄生电容、永远上电的配置存储、以及未使用资源仍在消耗的静态功耗。做边缘端、机载、密闭设备的选型时,功耗不是性能问题而是物理约束:一块 75W 的 FPGA 需要多大散热片、能不能无风扇、机箱进风温度上限多少,这些往往在逻辑还没写完时就由机械团队定死了。评估方法是用厂商功耗估算工具按资源利用率和翻转率先算,再留 30% 余量,最后上板用电源实测——估算值偏差 20% 很常见,不能拿估算当合同。
第二股是供应链与生命周期。 FPGA 不是随时能买到的通用芯片:高端器件交期可能数十周,单一厂商封装,停产(EOL)节奏由厂商决定;地缘和贸易因素还会让某些器件在特定地区无法采购。量产产品选 FPGA 要问:这颗料的生命周期承诺还有几年?有没有引脚兼容的降级/升级型号?第二供应商方案是否现实(跨厂商移植几乎等于重做)?国产替代器件的资源、工具链、IP 生态成熟度能否接住?相比之下 CPU/GPU 是海量现货、多板卡厂商竞争,供应风险结构完全不同。很多项目技术选型正确,却栽在料号上。
第三股是工具链与人才生态。 FPGA 的隐性成本里,最贵的是会用工具链、懂时序收敛和硬件调试的工程师——这样的人比软件工程师稀缺得多,招聘周期长、薪资高。工具链本身(综合实现、IP 授权、调试器)也按年收费,且与厂商绑定;开源工具链近年进步明显,但对高端器件和复杂 IP 的覆盖仍有差距。选型时要诚实地问:团队有没有维护这套栈五年的能力?文档、社区问答、可咨询的 FAE 是否充足?一个只有一名「懂 FPGA 的人」能维护的系统,在他离职后就是公司的单点故障。
这三股力量的共同点是:它们都不出现在「峰值 TOPS」对比表里,却决定项目能不能量产、能不能交付、能不能活过五年。成熟的选型矩阵会把功耗瓦数、散热方式、交期与 EOL、工具与人力成本都列成行,和性能指标并排打分。
十、把选型框架用一次:三个微型案例
最后用三个小型案例把前面的框架串起来,体会「同一套维度、不同答案」的含义。
案例一:实验室里的协议验证研究。 需求是验证一个新的缓存一致性协议在 16 核规模下的死锁自由,算法每年大变,没有量产计划。这里量极小、变化极快、成本不敏感、上市压力为零。ASIC 直接出局(NRE 无法摊薄);固定功能 GPU 也不适合(协议是不规则控制逻辑)。真正的候选是 CPU 软件仿真、FPGA、或 Emulation 租用:软件仿真可见性最好但速度不够跑长场景;FPGA 单卡可承载且可反复重构,一次平台投入能服务多个课题;Emulator 短期租用适合超大规模抽查。结论是 FPGA 为主、仿真和租用 Emulator 为辅——选型由「变化率 + 规模 + 无量产」三个事实推出,与性能表无关。
案例二:量产的工业视觉检测盒。 需求是固定流水线:图像采集、滤波、若干检测核、结果上报,年出货几万台,功耗要求低于 15W,供货周期五年。功能稳定后变化少,ASIC 在这个量级的成本优势开始显现,但 NRE 和流片风险要求初创公司有足够把握;中端 FPGA 可以在 10W 内完成全部处理,单价在 BOM 可接受范围,且规避流片风险、允许出货后升级检测算法。现实答案往往是「第一代 FPGA 量产、站稳量价后再评估 ASIC」,并在 FPGA 阶段就按第九节的供应链要求选定生命周期长的料号、预留余量。GPU 因功耗和 BOM 出局,CPU 因算力余量不足出局。
案例三:数据中心的可配置加速卡。 需求是为多种客户工作负载(压缩、数据库算子、加密)提供可重配置加速,云厂商部署、追求总拥有成本最优。单 ASIC 无法覆盖多变负载,GPU 通用性好但能效低,FPGA 卡在中间:能效显著优于 GPU、可按租户/工作负载动态烧录不同逻辑,代价是编程门槛高,需要云平台提供 Shell 和编译服务(见专家层 FPGA 云化相关篇目)。决策的关键不是峰值性能,而是「负载多样性 × 能效收益」是否覆盖 FPGA 的工程成本。
三个案例的共同启示:没有最好的平台,只有与批量、变化率、功耗、延迟、风险承受力最匹配的平台;而所谓选型能力,就是把需求里的这些事实逐一问清楚,再让框架替你做排除题。
十一、常见坑对照
| 坑 | 后果 | 正确认识 |
|---|---|---|
| 用 FPGA 做纯控制逻辑 | 大材小用、贵 | 控制交给 MCU/CPU |
| 指望 FPGA 跑 Linux 应用 | 写 RTL 不是写软件 | 软件放 CPU,算法流水线放 FPGA |
| 小批量却去流片 ASIC | NRE 拖垮项目 | 量不够用 FPGA |
| 高频交易用 GPU 拼延迟 | 抖动达不到 | 确定性延迟选 FPGA |
| 以为 FPGA 一定比 GPU 快 | 大算力训练 GPU 赢 | 看延迟/吞吐/接口分别选 |
十二、典型行业场景对照
把抽象维度落到真实行业,能帮助建立直觉:
| 场景 | 主要矛盾 | 常见选择 | FPGA 在其中的角色 |
|---|---|---|---|
| 高频/低延迟交易 | 最坏延迟、纳秒级触发 | FPGA | 网卡到策略的线速流水线,绕过内核与缓存抖动 |
| 高速数据采集/仪器 | 多通道严格同步、自定义接口 | FPGA + CPU | FPGA 采集、打时间戳、预处理;CPU 存储与交互 |
| 视频/图像实时处理 | 线速流水、低延迟、接口杂 | FPGA/ASIC | 摄像头接入、缩放、滤波、编码前段 |
| 软件无线电/通信 | 可重构协议、严格时序 | FPGA | 调制解调、滤波、帧处理,标准演进就改比特流 |
| 深度学习训练 | 海量规则浮点、生态 | GPU/ASIC | FPGA 多在早期原型或低精度推理边缘场景 |
| 智能网卡/网络加速 | 每包都处理、线速 | FPGA→ASIC | 先 FPGA 验证,量产后转 ASIC |
| 电机/电源控制、家电 | 成本、功耗、控制 | MCU | 一般不需要 FPGA |
| 芯片研发 | 流片太贵太慢、软硬联调 | FPGA 原型 | ASIC 前的硬件原型验证(专题 09–69 系列) |
注意同一个大类里选型也会变:AI 训练几乎是 GPU/专用 ASIC 的天下,而低延迟、低批量、低精度的边缘推理(传感器旁、功耗受限、批量小)反而是 FPGA 的常见甜点。没有「这个行业一定用谁」,只有「这个需求权重最高的维度是什么」。
十三、把五个平台摆到同一张表里
下面这张表把关键工程指标集中起来(数字只作量级直觉,具体随工艺/型号/年份变化):
| 维度 | CPU | GPU | FPGA | ASIC | MCU |
|---|---|---|---|---|---|
| 执行模型 | 串行取指+多核 | SIMT 众核数据并行 | 空间并行流水线 | 固化电路 | 小 CPU 取指 |
| 峰值浮点吞吐 | 中 | 极高 | 低~中(看结构) | 按任务极高 | 极低 |
| 定点/定制位宽 | 一般 | 一般(近几代改善) | 极强,任意位宽 | 量身定制 | 弱 |
| 单事务延迟 | 微秒~毫秒,抖动 | 批处理,延迟高 | 亚微秒~微秒,确定 | 最低最确定 | 低但算力弱 |
| 自定义 IO/协议 | 受芯片接口限制 | 受限 | 引脚级任意,极强 | 设计时定死 | 标准外设 |
| 功耗/能效 | 中 | 高功耗、吞吐能效好 | 定点流处理能效好 | 最优 | 极省 |
| 灵活性 | 极高(软件) | 高(软件) | 中(重构硬件) | 无(出厂定死) | 高(软件) |
| 一次性成本 | 低 | 低 | 低(无流片费) | 极高 NRE | 低 |
| 单颗成本 | 中 | 中高 | 中高 | 量产后极低 | 极低 |
| 开发难度/人才 | 低、人多 | 中、CUDA 人多 | 高、RTL/时序人才少 | 极高、全链条团队 | 低 |
| 上市时间 | 最快 | 快 | 周~月 | 月~年 | 快 |
读这张表要避免两个误区。其一,「峰值算力」不等于「你的负载上的有效性能」:拿分支密集、数据强相关、需要逐包立即响应的负载去喂 GPU,占用率上不去,实际有效性能和延迟都很差;而规则的大批量张量运算正是 GPU 的主场。其二,灵活性也分层次:CPU/GPU 的灵活是「不改硬件、改软件即可」,迭代以分钟计;FPGA 的灵活是「可以重构硬件,但每次重构要综合布局布线、以分钟到小时计」;ASIC 量产之后几乎没有硬件灵活性(只能靠固件/软件预留)。灵活性越高,单位性能/能效通常越差,这就是整条「CPU→GPU→FPGA→ASIC」取舍轴的本质。
能效再深入:为什么定点流水线省电
在边缘、数据中心功耗受限的场景,FPGA 常以更低功耗完成同等的流处理工作,原因在第 00 篇基础上再量化一点:①没有取指译码/分支预测/寄存器重命名这些「通用开销」,每个翻转的触发器基本都在为数据工作;②可用任意定点位宽——一个信号只需 12 位精度,就不必像 CPU/GPU 那样被迫用 32/64 位通路,LUT/DSP 和翻转电容都省;③数据在相邻寄存器间流动,减少对大容量 cache/显存的访问,而访存往往是最耗能的环节。代价是这些省电都要靠人工设计数据通路、位宽和时序换取,开发与维护成本高。这也解释了为什么 FPGA 在「传感器附近的低精度实时推理、网络/金融的线速处理」上能效亮眼,却不适合通用双精度科学计算。
开发成本、团队与供货:容易被忽视的隐性维度
选型不只是技术,也是工程和商业决策,三个隐性维度常被新手忽略:
- 人才与开发周期:会写高质量 RTL、能做时序收敛和高速接口的工程师远比应用程序员少、贵;一个 FPGA 数据通路的开发和调试周期通常长于等价的 GPU 软件方案。除非 FPGA 的确定性/接口/能效是刚需,否则 GPU 的软件敏捷性可能整体更省。
- 工具与 IP 生态:DDR、PCIe、高速以太网、编解码等都依赖成熟 IP 和器件支持,选型时要确认目标家族的 IP 完备性、license、参考设计;主流家族生态最好,这也是学习选 Artix/Zynq/Cyclone 的原因之一。
- 供货与生命周期:FPGA 交期常以十到数十周计,工业/汽车/军工级器件寿命长但采购需提前规划;产品设计里把器件相关部分(IP、约束、原语)隔离,有助于在缺货或国产化时迁移(见 厂商与器件家族)。
一个务实的建议:做方案时先用 CPU/GPU 把算法和系统跑通、量出真实的吞吐/延迟/功耗需求,再用数据决定是否、以及把哪一部分下沉到 FPGA,而不是一开始就全押 FPGA。很多团队的最终架构是「软件原型 → 找出真正吃紧的数据面 → 只把这部分做成 FPGA 流水线」,这样既拿到了确定性和能效,又把昂贵的硬件开发量控制在最小。
几个高频追问
FPGA 能跑操作系统吗? FPGA 逻辑本身不「跑」OS,但可以在 FPGA 里例化一个软核/硬核处理器(MicroBlaze、RISC-V 软核,或 Zynq 里的 ARM 硬核),由它跑 Linux/RTOS、FPGA 做加速外设。这又回到「控制面在核上、数据面在逻辑里」的分工。
同一件事 FPGA 一定比 CPU 省电吗? 不一定。若数据率低、模块大部分时间空闲,CPU 可以休眠唤醒,平均功耗反而低;FPGA 的时钟网络和静态功耗在极低负载时不划算。FPGA 的能效优势要在「持续的高吞吐流处理」下才充分体现。
学了 FPGA 会不会被 HLS/高层综合取代? HLS(用 C/C++ 综合电路)降低了上手门槛,在算法原型和某些领域很高效,但时序收敛、接口、资源控制、CDC 等仍需底层理解;手写 RTL 在高性能/高资源利用率场景依然主流。把 HLS 当工具而非替代品最稳妥(见 HLS 入门)。
为什么很多规范「既不用最强也不用最弱」的器件? 因为要在资源余量、功耗、成本、供货和工具 license 间平衡:太小会拥塞、装不下后续功能;太大浪费成本、编译更慢、散热和封装也更麻烦。工程上通常选「满足需求并留约 20%~30% 余量的最小家族」,这和软件「不够再升配」的弹性不同。
记住本篇的落脚点:选型不是选出「最强芯片」,而是针对你最在乎的那一两个维度(通常是确定延迟、自定义接口、能效或 NRE/上市时间),用数据选出「最合适且总成本最低」的平台,并默认复杂系统是 CPU/GPU/FPGA/ASIC 各归其位的混合体。 能把一个模糊需求拆成吞吐、延迟、能效、成本、灵活性五本账再做决定,你就已经具备了比「哪个火用哪个」高一个层次的工程判断力。
十四、自测要点与学习地图
自测:① 用「时间并行 / 数据并行 / 空间并行」区分 CPU、GPU、FPGA 的执行模型;② 区分吞吐量与单事务延迟,说明硬实时为什么看最坏延迟;③ 解释 GPU 强却仍需 FPGA 的三类场景;④ 画出 FPGA 与 ASIC 的成本-出货量曲线,说明交叉点含义;⑤ 什么是 NRE,它为什么让小批量 ASIC 不可行;⑥ 区分数据面与控制面,各举两个该放 FPGA / CPU 的功能;⑦ 用第八节的流程对一个给定需求做出选型并说明理由。
学习地图:先复习 FPGA 是什么 建立基础直觉;想知道 FPGA 为什么能做到这些,看 FPGA 架构原理 和 LUT/FF;选具体芯片看 厂商与器件家族;看 CPU+FPGA 单芯片形态读进阶 Zynq SoC 入门;确定性延迟的真实系统可参考 量化 FPGA 架构。
相关与延伸
概念:为什么学 FPGA、FPGA 架构基础。 融合形态:进阶 Zynq SoC 入门;加速应用见专家层《FPGA 加速架构》(后续)。
一句话总结
五种芯片的本质区别:CPU/MCU 是固定硬件跑软件、灵活生态好但延迟抖动;GPU 是数千核批处理、吞吐量之王但单任务延迟高功耗大;ASIC 为单一功能流片、性能成本功耗最优但 NRE 几百万起且做死改不动;FPGA 则是"现场把硬件搭出来"——RTL 综合成专用流水线电路,没有指令和操作系统,电路级并行、延迟按拍数确定、引脚协议可自定义。选型口诀:控制轻量找 MCU/CPU,大算力批处理找 GPU,海量固定功能找 ASIC,超低延迟/自定义高速接口/小批量且需求会变找 FPGA;现实产品最多是 CPU+FPGA 组合(如 Zynq),软件生态和实时数据面各归其位。