FPGA 究竟在学什么?真的是硬件工程师的“炼狱”吗?

FPGA,一门让人又爱又恨的技术。有人说它是“硬件界的代码艺术”,也有人吐槽“学 FPGA=自找苦吃”。有人用 FPGA 做 AI 加速,风光无限;也有人熬夜调时序,调到怀疑人生。

那么,FPGA 究竟在学什么?它是硬件工程师的未来,还是一条被软件和 ASIC 挤压的“消亡赛道”?今天,我们就来掰扯掰扯这个问题。

系统核心是什么?

目前不论嵌入式系统还是小家电(小玩具)基本都是CPU(不论是单片机还是SoC)作为系统主控,除特殊领域内应用基本看不到以FPGA(带硬核的除外)为主控进行系统设计,大家有没有想过为什么会出现这种情况呢?

个人认为主要以下几个方面:

  • 成本

  • 系统复杂度

  • 开发周期

  • 世界的核心是“标准”

  • 其他

成本很好理解,一个单片机才几个钱,一片FPGA价格都赶上一个系统的价格了(小系统)。

一个小系统考虑多方面情形,系统分支复杂的情况下,FPGA应对就难很多了,所以以FPGA为主控就对系统的单一性要求很高。

开发周期就更好理解了,FPGA进行开发时,编译、调试、测试等各方面时间周期都是远超其他CPU开发周期的(同等复杂度)。

目前世界的开发都以“标准”运行的,有标准了,这些CPU外扩的外设足以应对90%以上接口的接入和输出,所以在进行同等接口开发时足以剩下85%的时间,比如扩展一个UART接口,CPU几句话搞定,FPGA从零开始的话至少要几个小时甚至几天。

其他方面,领导喜好、产品经理认知、开发人员少等各方面原因。就像我们领导什么项目来了首先想的是用ARM+FPGA,足以应对80%场景的硬件架构。

上面说明的时在正规系统里,FPGA只能演“配角”,主角的戏他还抢不到,那么他的开发角色也就可想而知了。那么接下来我们讨论点有争议的地方:

1. FPGA 是“软件”还是“硬件”?学的是代码还是电路?

如果你学的是软件,那你写的代码是跑在 CPU/GPU 上的,逻辑是顺序执行的;

如果你学的是 FPGA,那你写的代码直接变成了硬件电路,所有逻辑是并行执行的!

FPGA 用 HDL 编写电路,但它并不是软件,这就导致很多新手踩坑:

  • 你用 C 语言的思维写 Verilog,编译不报错,但 FPGA 一运行就“炸”了!

  • 明明代码看起来没问题,但加了时钟后,输出的波形全乱了!

👉 为什么 FPGA 还在坚持用 Verilog/VHDL,而不像 CUDA、Python 那样用高级语言?

其实FPGA厂商一直在致力于用高级语言进行FPGA编程,但是效果一直达不到预期,然后面对的人群很乱,有点伪“田忌赛马”的感觉,FPGA人员对高级语言嗤之以鼻,觉得没有技术含量,写出来的代码占用资源多(我觉得不是缺点,有些东西是需要取舍的);软件人员对FPGA还比较恐惧,我不会硬件不理解FPGA架构,我能用好吗?我写出来的代码在FPGA上不能运行怎么DEBUG?

👉 HLS(高层次综合)能取代 Verilog 吗?用 C++ 直接写 FPGA 会不会更简单?

这个和上面面临的情况一样,目前的发展情况,初学者不建议直接学HLS。

2. FPGA 学的是数字电路,还是 EDA 软件工具?

很多人学 FPGA 以为就是学 HDL,结果发现:

光会 HDL 没用,还要会时序约束、约束文件、综合优化!

不懂 Vivado/Quartus?你根本没法让 FPGA 运行!

不懂时序分析?你的设计跑不好!

实际上,FPGA = 50% 代码 + 50% 工具,EDA 软件(Vivado、Quartus)是 FPGA 工程师的“生存工具”。你不仅要写 HDL,还要:

✅ 理解 FPGA 内部架构(LUT、BRAM、DSP)

✅ 用 Vivado 约束时钟(时序分析 STA)

✅ 调试硬件(SignalTap/ILA)

👉 为什么 FPGA 开发流程这么复杂?为什么不能像 Python 那样一键运行?

这个和FPGA架构有关系,他不像CPU一样有厂商把底层封装好了,需要的就是应用即可,而FPGA是一篇白纸,写什么东西需要一点一点构造。

3. FPGA 是“高端科技”,还是“工程师的体力活”?

FPGA 一度被认为是最前沿的技术,用在 5G、AI、自动驾驶等领域,但实际工作中,很多 FPGA 工程师的日常却是:

调时序,改代码,烧 bitstream,反复试错……

加班到凌晨,只为让时钟约束满足 0.01ns 的误差!

项目进度太赶,代码是拼出来的,没人敢改!

很多人学 FPGA,以为能做 AI 加速,结果天天在调 UART 串口、写 LED 闪烁……

甚至有人调侃:“FPGA 工程师,干的是比软件还细节的活,拿的是比硬件还少的工资(时薪)。”

👉 为什么 FPGA 工程师工资高,但愿意干的人却越来越少?

大家可以评论区讨论一下。

4. FPGA 的未来:它会被淘汰,还是会越来越吃香?

随着 AI 芯片、GPU、ASIC 的发展,FPGA 的处境变得微妙:

在 AI 计算 领域,GPU 统治力强,FPGA 只能抢一小部分市场;

在 通信、5G、网络加速 领域,FPGA 仍然不可替代;

在 ASIC 设计 领域,FPGA 被用作原型验证工具,但 ASIC 芯片量产后,FPGA 设计就被抛弃了。

那么,未来 FPGA 还有前途吗?还是终究会被更高级的 AI 芯片取代?

总结:FPGA 究竟在学什么?

FPGA 不是软件,而是硬件,你学的是硬件思维(并行计算、时序分析)。

FPGA 代码不等于软件代码,你写的 Verilog 是硬件电路,不是程序。

FPGA 设计=代码+工具+时序,光会 Verilog 没用,你还得懂 EDA 工具、时序分析。

FPGA 不是玄学,但很折腾人,你可能会为了 0.01ns 的时序误差加班到凌晨。

FPGA 未来不确定,但在 AI/通信/嵌入式仍然有市场,不会轻易被淘汰。

综合来看,就几个方面:

✅ 学 Verilog/VHDL,写出可综合的硬件逻辑

✅ 学时序分析,让电路满足高频率运行

✅ 学 EDA 工具(Vivado/Quartus),完成综合、布局布线

✅ 学高速接口(DDR、PCIe、SerDes),提高数据传输能力

✅ 学 FPGA 应用(AI、通信、视频),决定你的职业发展方向

💡 FPGA,究竟是硬件工程师的“炼狱”,还是未来科技的“护城河”? 你怎么看?🚀

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值