Vibe Coding正在制造大量垃圾RTL
AI写代码的速度确实快,但最近看到的一些代码,只能说是灾难现场。
工具变快了,垃圾产出的速度也变快了。Vibe Coding的氛围感很足,但代码质量的"粪围感"更浓。
速度不等于效率
见过最离谱的案例:一个团队用AI工具在两周内生成了五个版本的DMA控制器RTL。每个版本都能跑基础testcase,但没有一个版本真正满足项目需求。
第一版没考虑burst传输的边界对齐。第二版加了对齐逻辑,但descriptor链表处理有bug。第三版修了链表,但AXI握手时序不对。第四版改了握手,但功耗超标。第五版降了功耗,但面积又爆了。
两周生成五个版本,听起来很高效。实际上是在用高速度掩盖低质量,最后还是要推倒重来。
快速迭代的前提是方向正确,否则只是在错误的路上狂奔。
工具是用来辅助思考的
AI写代码快,这是优势。但这个优势应该用来快速验证设计想法,而不是替代设计本身。
正确的流程应该是:先想清楚架构,画出状态机,定义好接口时序,然后让AI帮忙生成框架代码。生成之后还要仔细review,检查边界条件,补充约束,优化关键路径。
现在很多人反过来了:直接让AI生成代码,然后看着代码反推需求。这就像先盖房子再画图纸,能不出问题吗?
质量标准不能降低
有种很危险的倾向:因为AI生成代码快,就降低了对代码质量的要求。反正改起来也快,先跑起来再说。
这种想法在芯片开发里是致命的。RTL不是Web前端,改个样式刷新一下就行。每一次修改都要重新综合、布局布线、时序分析。如果是流片后发现问题,代价更是天文数字。
代码生成速度提升了,但验证标准、时序要求、功耗指标这些硬约束一个都没变。
看到AI生成的代码能跑,不代表它就是对的。看到仿真通过,不代表综合没问题。看到综合成功,不代表流片能用。
工具再强大,也只是工具。真正决定项目成败的,还是工程师对需求的理解、对架构的把控、对质量的坚持。
别让时代赐予的高效工具,变成批量生产垃圾代码的流水线。
