FPGA工程师的未来之问:AI挑战下的生存之道
最近好几个朋友私信我,语气里多少带点焦虑: “哥们,现在AI都能自动写Verilog了,我看它写的代码还挺规范,咱这饭碗还能端多久?” 说实话,这种问题我也问过自己。特别是看到那些AI自动生成RTL、自动做时序优化的demo,说不慌是假的。 但慌完以后,我翻了翻手头正在调的一块板子,又觉得这事儿没那么简单。
我们先摆事实。目前那些所谓的AI FPGA Agent,确实能干一些活了: · 写个简单的状态机、流水线,甚至能根据一句“做一个AXI接口的DMA控制器”生成模板代码。 · 跑仿真的时候,帮你看一眼报错日志,分析可能的原因。 · 在综合布局布线的设计空间里瞎转悠,试着找找更优的参数。 说白了,就是在重复劳动、信息检索、参数试探这些低层次工作上,AI表现得像个手脚麻利但没什么主见的实习生。 它能写代码,但写出来的东西你敢直接拿去上板吗?反正我不敢。时序违例、跨时钟域、毛刺、亚稳态……这些东西,AI见过训练数据里的理论,但没见过你板子上那个不听话的电源、那根串扰的走线、那个温度升高后时序就变脸的芯片。
说句可能不太中听的话:我们的护城河,恰恰是AI最不擅长的事情。
写Verilog只是FPGA工作的表面。真正值钱的是你知道:这个算法为什么要用定点而不是浮点?那个接口为什么非得用Serdes而不是并行总线?系统掉电的时候,怎么保证关键状态不丢失? 这些东西,没写在文档里,也没在代码库里。它们藏在长期的debug经历里、藏在硬件和软件撕扯的交界处、藏在“我觉得这里会出问题”的直觉里。 我一个老同事,看一眼RTL就能大致说出这个模块编译完会占多少逻辑资源,布通会不会有困难。这不是玄学,是千百次跑完编译后拿眼睛瞪出来的经验。AI能学统计数据,但学不了这种“因为之前三次掉坑,所以这次我提前预留了余量”的思维方式。
写代码只是20%的工作,剩下80%是让代码在硬件上正确跑起来。 信号抓下来,波形图上有个毛刺,它是采样位置不好,还是时钟抖动,还是代码里有一个不明显的glitch?示波器戳上去,某个管脚电平不对,是焊盘虚焊还是FPGA内部驱动没打开? 这些需要动手接探头、调电压、翻数据手册、甚至闻一闻板子有没有烧焦的味道。AI没有手臂,没有鼻子,也没有那种“这里不合理,但芯片就是这么规定的”的认命感。
FPGA归根结底是物理器件。它有时序要求,有温度特性,有功耗墙,有信号完整性约束。你写的每一行代码,最终都要变成实实在在的电流和电磁场。 AI可以在数学上完美,但它不理解为什么一个LUT的输入脚翻转太快会把隔壁通道串扰出错误。它也不理解为什么寒冷环境下PLL锁定会变慢。这些是物理世界给硬件工程师出的题,而AI现在连考卷都还没领到。
AI在做设计空间探索时,往往是在一个给定的目标函数下暴力搜索。但真正的工程项目里,目标函数是活的:这周要赶演示,功耗多一点没关系;下个月要过认证,时序裕量必须留够。 什么时候用CPU+软件做,什么时候必须用FPGA硬件加速,什么时候干脆砍掉需求——这些决策需要理解软件工程师的进度、项目经理的脸色、客户的隐性要求。AI可以把一个子问题优化到极致,但它看不懂会议室里的微表情。
也不是所有岗位都稳如泰山。我觉得下面这几种会越来越难: · 只会写简单接口逻辑,比如I2C、SPI、UART。这些太标准了,AI生成的代码直接复用没问题。 · 只会跑工具,不懂原理。把综合布线当黑盒,出了问题只会重启重跑。AI比你还擅长按按钮。 · 脱离硬件只写仿真。从来没有拿着示波器调过一块板子,这样的“纯仿真工程师”价值在缩水。
焦虑没有用,行动才有。我给自己列了几条,分享出来: 1. 往上走,理解系统和算法。不只是做模块,试着去看懂整个信号链、整个控制回路。AI能写RTL,但写不了系统架构——因为架构需要懂业务。 2. 往下走,死磕硬件物理特性。时序分析、信号完整性、电源完整性、高速接口设计。这些东西又麻烦又难学,但正因为如此,护城河才深。 3. 把AI当工具使。让它帮你生成模板代码、检查语法、搜索文档,省下来的时间用来做它做不了的事:去实验室调板子,去和同事吵架(划掉)讨论方案。 4. 练好“人设”。沟通能力、文档能力、甩锅能力(不是),能让你的经验被团队看见。AI再强,你也得让别人相信你的判断比AI的建议更靠谱。
从我入行第一天起,就有人跟我说FPGA要被取代了。先是ASIC,然后是GPU,现在是AI。 但这么多年过去了,FPGA不但没死,反而在通信、工业、航天、医疗这些领域活得越来越滋润。为什么?因为这个世界需要确定性、低延迟、可重构、抗辐射、能摸能测的硬件。 AI来了,它会让懒人先被淘汰,会让只会跑流程的人难受,但它无法替代一个能对着波形图沉思五分钟,然后指着某个角落说“问题在这”的工程师。 你手里那块板子,比你电脑里的AI模型更真实。 别怕。 共勉。 --- (欢迎留言聊聊你的想法。你觉得FPGA工程师最不可替代的能力是什么?)