ChatGPT写Python代码写得飞起,写verilog却拉胯得不行。这背后藏着什么秘密?

这年头,程序员们都在担心被AI抢饭碗。GitHub Copilot、ChatGPT写起代码来有模有样,很多简单的功能甚至比新手程序员写得还靠谱。可奇怪的是,同样是写代码,AI到了芯片设计领域就突然"不灵"了

想让AI写好代码,首先得喂它足够多的好代码。程序员把GitHub当作代码仓库,上面躺着几千万个开源项目,质量参差不齐,但总体基数够大。AI就像个勤奋的学徒,看得多了自然就会了

但芯片设计就不一样了。网上能找到的RTL代码少得可怜,质量更是令人捉急。你根本不知道这些代码是学生作业还是工程师的杰作,是能跑的产品还是纸上谈兵的demo。更要命的是,这些代码往往没有对应的验证环境,连好坏都判断不出来。

拿烂数据训练AI,得到的自然是烂结果。这就像让人只看劣质小说学写作,写出来的东西能好到哪里去?换句话说,程序员群体就这么革了自己的命。

芯片设计和软件开发,本质上就是两个物种。对比一下就明白了:

  • 数据量:软件项目数以千万计,芯片项目凤毛麟角
  • 容错率:软件可以边用边改,芯片必须一次成功
  • 标准化程度:软件开发框架相对统一,芯片设计千差万别
  • 质量要求:软件能跑就行,芯片要考虑功耗、面积、时序等多重约束

软件出了bug,大不了更新个补丁,用户重启一下就好了。芯片出了问题?对不起,几千万美元的流片费用打水漂,产品延期,股价暴跌,CEO下台

正因为容错率极低,芯片行业早就形成了一套严格的游戏规则:设计重用才是王道。与其每次都重新造轮子,不如买现成的、经过验证的IP模块。这些模块不便宜,但胜在可靠。

这种商业模式的核心在于质量保证和技术支持。客户花钱买的不只是几行代码,更是买一个承诺:出了问题有人负责,有人解决。AI生成的代码能提供这种保证吗?显然不能。自动驾驶现在最大的问题也是出了事情,厂家不负责啊,你敢用么!

验证才是真正的难题

在芯片设计中,写代码可能只占20%的工作量,验证才是大头。

一个芯片模块的验证工作往往比设计本身更复杂、更耗时。需要搭建测试平台,编写测试用例,跑各种仿真,确保在所有可能的使用场景下都能正常工作。这些工作的技术含量一点都不比设计低,但在网上几乎找不到相关的开源资源

有意思的是,AI在验证领域可能反而更有潜力。现在的验证效率极其低下,大量的测试向量都是无效的,浪费计算资源。如果AI能帮忙找到更有效的测试向量,那价值可比写RTL代码大多了。这在某些领域已经得到应用了,可能不是机器学习,甚至是简单的优化算法。

AI在不同领域的表现差距很大:软件 > 数字后端 > 功能验证 > IC设计。与其指望AI直接生成可用的RTL代码,不如让它在验证、优化、辅助分析等环节发挥作用。比如自动生成测试用例,优化布局布线,或者帮助工程师快速理解复杂的设计。

也许我们需要重新思考芯片设计的方法论。当设计工具足够智能,设计抽象层次足够高的时候,AI才可能真正发挥作用。AI可以写软件,而软件又可以HLS综合成芯片,会怎么样?

现在嘛,芯片设计工程师们还是可以安心睡觉。不是AI不够聪明,而是这个游戏的规则就不一样。在追求极致可靠性的芯片世界里,AI还得慢慢学规矩

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐