我做了两年FPGA,主要用Vivado的IP核拼系统,比如DDR、PCIe、FFT这些,RTL水平停留在能看懂和改参数的程度。现在公司开始推HLS和Chiplet,感觉只调IP核的路子越来越窄。想问下2026年这个节点,FPGA工程师的核心竞争力到底在哪?是死磕RTL还是学HLS?被自动化工具替代是早晚的事吗?
2026年了,FPGA工程师做AI加速,只会调Vivado IP核不懂底层RTL,是不是迟早被HLS和Chiplet淘汰?
6 个回答

先说结论:你担心的“被淘汰”大概率不会以“突然失业”的形式出现,而是以“岗位含金量被稀释”的方式慢慢发生。我见过太多只调IP的工程师,五年后还在调IP,只是从Vivado换成了Vitis,从AXI接口换成了Chiplet的die-to-die接口——工具在变,但思维模式没变,这才是真正的风险。
你现在的状态其实是很多FPGA工程师的典型阶段:能拼系统、能跑通功能,但遇到时序违例只能调约束,遇到资源瓶颈只能换更大的片子。这并不丢人,但确实到了分水岭。我的建议很直接:RTL必须死磕,但不是为了让你去写一个比IP核更好的DDR控制器——那没有意义,Xilinx的IP核已经足够优秀。死磕RTL的目的是建立“硬件直觉”:知道一个乘法器在FPGA里是DSP48拼出来的,知道一段for循环综合出来是状态机还是移位寄存器,知道为什么HLS写的流水线在吞吐率上总差那么一点。这些直觉,才是你判断“这个IP核为什么这么慢”“这个Chiplet接口为什么带宽上不去”的基础。
HLS要不要学?要,但别当成救命稻草。HLS适合做算法探索和快速原型,适合把C++的矩阵运算映射成数据流,但它解决不了架构问题。你用HLS写一个卷积层,如果不懂底层的乒乓缓冲、数据复用、DRAM带宽瓶颈,综合出来的性能照样烂。而且HLS生成的RTL可读性差,出问题后调试难度比手写RTL高一个量级——到时候你反而更依赖工具,更被动。
Chiplet这块,我的看法是:它改变的是系统集成方式,不是单个FPGA工程师的技能栈。你不需要去设计UCIe物理层,那是模拟工程师的事;但你需要理解“为什么把DDR和HBM拆成不同die”“为什么die-to-die接口的延迟比片内总线高这么多”,这会影响你的架构设计。换句话说,Chiplet是给系统架构师准备的舞台,而你想站上那个舞台,前提还是RTL功底扎实。
所以我的路线建议是:未来一年,70%精力补RTL,重点放在时序收敛和资源优化上,拿你现在的DDR/PCIe工程开刀,尝试自己写一个简化版的AXI桥接逻辑;20%精力学HLS,但只学数据流优化和流水线指令,别陷进C++模板里出不来;10%精力看Chiplet的公开资料,理解封装层次和接口协议即可。别急着跳槽,先把手头的项目做出一个“我能讲清楚每个关键IP内部大致原理”的水平,那时候你自然就知道下一步怎么走了。
你现在手头用的Vivado是哪一版?如果是2023以上的,其实自带不少分析工具,可以先从时序报告里的关键路径看起。

其实核心就一句话:工具越自动,懂硬件的人越值钱。HLS和Chiplet只是把“怎么连”变得更简单,但“为什么这么连”还是得靠RTL功底。你现在的状态是能看懂参数,下一步应该是能看懂综合后的原理图,再下一步是能对着时序报告说出“这条路径慢是因为LUT级数太多”而不是“我加个约束试试”。建议直接拿你现有的FFT IP核,看看它的数据路径是怎么在DSP48和BRAM之间流动的,搞懂一个就够。学HLS可以,但别把它当替代品,当成一种“快速验证想法”的手段就行。另外Chiplet不用太焦虑,那是架构师的事,你先把单片FPGA吃透。你平时调试时序违例,是直接加约束还是真的去看关键路径的网表?

先说个个人观察:这两年AI加速项目里,真正卡进度的往往不是“不会用HLS”,而是“不知道这个循环该不该流水线化、那个数组该放BRAM还是URAM”。工具自动化程度越高,这种“硬件直觉”的溢价反而越明显。你现在的状态,能拼系统、能调参,其实已经比很多只写仿真的人强了,但瓶颈也确实在RTL这块——不是要你手写一个比Xilinx更好的DDR控制器,那没意义;而是你得能看懂综合后的原理图,能在时序报告里判断“这条路径慢是因为LUT级数太多”而不是“我加个约束试试”。我的建议很直接:RTL继续死磕,但目标不是“替代IP”,而是“理解IP”。拿你手头那个FFT核,把它的数据路径在DSP48和BRAM之间怎么流动画出来,搞懂一个就够。HLS可以学,但当成“快速验证想法的草稿纸”,别当成主武器。至于Chiplet,那更多是架构师和封装厂的事,你先把单片FPGA吃透再说。另外提醒一句:2026年这个节点,会HLS的人不少,但能在HLS生成的RTL里找出资源浪费点的人很少,那才是你的差异化。你平时调试时序违例,是直接加约束还是真的去看关键路径的网表?

其实把问题反过来想就通了:HLS和Chiplet只会让“拼系统”这件事越来越廉价,但“为什么这么拼”的判断力不会自动产生。你担心被替代,不如担心自己五年后还在调IP,只是从Vivado换成了Vitis,从AXI换成了die-to-die接口——工具在变,思维没变才是真风险。所以别纠结学哪个,先把RTL的“硬件直觉”补上:知道一个乘法器在FPGA里是DSP48拼出来的,知道一段for循环综合出来是状态机还是移位寄存器。有了这个底子,HLS上手很快,Chiplet也吓不住你。个人感觉,你缺的不是新工具,而是对现有工具背后那层硬件的敬畏。

先说个身边例子吧。我前同事也是调了三年IP,RTL基本靠复制粘贴,去年被调去搞Chiplet集成,天天对着UCIe的PHY层寄存器发懵,最后又转回做传统板级验证了。不是说他能力不行,而是工具链越往上走,越需要你理解底下那层东西怎么工作。HLS确实能帮你快速搭流水线,但你看不懂综合出来的RTL,就不知道为什么吞吐量上不去、为什么BRAM爆了。Chiplet也一样,die-to-die接口的协议栈再完善,你总得知道哪条链路延迟是硬伤、哪条可以靠重传兜底。所以我个人感觉,你现在的状态不用慌,但得把RTL从『能看懂』推进到『能改通』。具体做法是挑一个你常用的IP,比如FFT,把它的数据流手工画出来,标注每个DSP48和BRAM的占用,然后试着把其中一个蝶形运算改成并行结构,看时序和资源怎么变。这个练完,HLS对你来说就是个语法糖,Chiplet也就是个封装话题。反过来,如果你只追新工具,大概率三年后还是那个对着时序报告加约束的人,只是界面换了个颜色。你平时有没有试过把某个IP的源码展开来看过?哪怕只看顶层端口。

我觉得你这个问题问反了。不是『RTL还是HLS』,而是『你要解决什么问题』。如果目标是AI加速里的算法验证,那HLS确实快,写个矩阵乘比手撸RTL省一半时间;但如果目标是让这个加速器在板子上跑出稳定频率,那不懂底层时序就是寸步难行。我见过太多人用HLS写出功能正确的模块,一综合频率只有100M,问就是『我加了流水线啊』,实际是循环里存在跨层依赖,编译器没法重排。这种问题,没有RTL直觉的人根本定位不了。再说Chiplet,它解决的是规模问题,不是替代问题——你把一个FPGA拆成四个die,不等于你不需要懂每个die内部的时序收敛。所以我的建议很明确:RTL是主修,HLS是选修,Chiplet是视野。主修课的目标不是手写DDR控制器,而是能对着综合报告说清『这条路径慢是因为LUT级数多,还是布线拥塞』。你已经有两年IP拼装经验,这其实是很好的起点,因为你知道IP能干什么,现在补的是它为什么能干。可以试试拿你手头的PCIe核,把它的AXI接口时序图画一遍,标出每个信号什么时候有效、什么时候该等ready,然后对比HLS生成的接口代码,你会突然明白很多。至于被淘汰,说实话,纯调IP的岗位确实在变少,但会调IP又懂原理的人,反而更抢手。你现在的焦虑其实是信号——说明你在往上走,只是还不知道走哪条路。要不你先说说你手头最常用的IP是哪个?我帮你想想怎么拆开看。
发表回答
登录后可在本页底部提交回答