本文来自微信公众号“中国电子报”,作者/沈丛。
EDA作为芯片设计的工具,被誉为半导体产业“皇冠上的明珠”。随着人工智能的不断发展,传统EDA工具的发展难以跟上日益增长的芯片设计规模和市场需求。业界一直在探索更加有效的方案,来提升芯片设计的效率,降低设计门槛。在EDA工具中采用人工智能技术,成为如今EDA技术创新的关键。
随着ChatGPT的爆火,开始有声音认为,具备独有的代码生成能力的ChatGPT能够加快设计芯片的速度,那么未来,ChatGPT究竟能为EDA带来什么?
给芯片产业带来更高设计效率
在ChatGPT出现之前,EDA领域已经出现许多智能自动化代码生成方式。与之相比,ChatGPT给芯片业带来了更高的设计效率。
新思科技DSO.ai优化芯片PPA
中科院计算所处理器全国重点实验室研究人员常开颜向《中国电子报》记者表示,与自动化代码生成方式相比,ChatGPT能够大大提升芯片设计的效率。首先,ChatGPT能够为芯片设计行业提供足够的可复用代码,同时还能提供更多的创新性的代码模式,缩短设计时间,从而提升设计效率。由于芯片行业需要巨大的代码量进行设计,因此亟需一个高效的开发工具。背靠强大的数据库,ChatGPT在代码生成方面显示出了优秀的表达能力,只需要给它一个任务提示,就可以自动生成对应的代码。此外,与软件代码模式不同,芯片设计的代码模式相对比较固定,一部分代码可以通过自动化来生成。因此传统的自动化代码生成模式往往只能提供固定的代码模式,而ChatGPT在提供固定的代码模式的同时,还能提供更多的创新性的代码模式。
“现有的智能EDA工具,往往关注对已有代码的自动化变换,缺乏自动补全的功能,但是ChatGPT具备很强大的自动补全功能。基于此,设计人员只需要把脑海中的设计蓝图,写进前期的一些代码设计的文档中,将文档导入ChatGPT后,ChatGPT会根据自身的理解能力,自动输出剩余代码,大大节省研发人员的工作效率。”常开颜说。
其次,ChatGPT能够远远超越传统方法,在零样本学习的前提下,通过庞大的数据库信息,生成精准度更高的代码,从而大大提升芯片设计的效率。而传统的芯片敏捷开发方式,需要编程语言的设计者提供明确的设计转换方法,才能生成相应的代码,且开发效率也难以达到使用ChatGPT开发的效果。
“未来,ChatGPT将会逐渐演变为芯片前端设计自动化流程中极为关键的一步,在未来很有可能演变成为继HLS(高层次综合)开创C语言设计芯片后的又一种新的范式。”常开颜说。
中科院计算所副研究员王颖表示,在高层次的体系结构设计中,原有的EDA设计是基于传统编程语言的方案,该方案很难描述体系结构层次的耦合关系和算法流程。比如:现有的Chisel语言最高能够描述的是逻辑设计级别的处理器结构,而不能够清晰地描述数据流层次的信息。从体系结构设计上看,ChatGPT具有更高层次的理解能力,有潜力基于输入的需求和约束,生成不同的高层次体系结构设计方案。
此外,王颖认为,在架构建模评价中,ChatGPT可以帮助EDA工程师快速生成和评估不同的模型和方案,从而加速建模和评估过程,在设计早期就发现体系结构在性能方面的问题,进一步降低EDA设计的迭代周期。ChatGPT还可以根据加速算法的不同特点,选取不同的体系结构建模策略,生成和优化体系结构建模方案。
中科院计算所芯片体系结构研究人员林钢亮表示,与传统的自动化代码生成方式相比,ChatGPT还有一大优势在于,可以成为自然语言和硬件设计语言的桥梁,这是传统的自动化代码生成方式无法实现的功能。
“传统的自动化硬件代码的生成模式,需要先将自然语言转换成C语言等高层次抽象语言,再利用这些语言去生成新的代码模式,在编写高层次抽象语言的同时依然要遵循相应的代码编写规范,因此传统的硬件代码的生成模式本质上并没有达到很好的智能化需求。而ChatGPT可以实现从人类的自然语言,直接生成相应的硬件代码,扩展了从自然语言到硬件代码的自动化生成能力。相比较于传统的自动化硬件代码的生成模式而言,也能减少前期的语言学习成本。”林钢亮向《中国电子报》记者说。
ChatGPT在芯片自动生成各个领域的开创性创新
来源:中科院计算所
ChatGPT是现阶段良好的辅助工具
ChatGPT的出现,未来或许能极大地推动智能EDA的发展,但是现阶段,ChatGPT对于传统EDA设计而言,依旧只能是辅助和加持作用,无法完全替代传统的EDA设计模式。
常开颜向《中国电子报》记者表示,虽然EDA芯片设计的代码模式相对比较固定,但是EDA芯片设计所用的代码属于相对比较专业的代码。ChatGPT属于通用型代码生成的工具,因此在生成EDA芯片设计的代码过程中往往也是从通用代码中来进行生成,对于专用型领域的代码生成,ChatGPT需要一定的时间来进行适应。
此外,常开颜表示,目前,ChatGPT只是对于描述底层简单模块的代码生成比较精致,但是在更复杂的体系结构中,需要更高层次的算法进行优化,这些模块间的组合优化往往比较抽象,ChatGPT难以进行精准的表达。
“无论怎样,ChatGPT给EDA提供了更多的设计选择,充实了处理器编程的界面,给传统EDA的设计模式提供了强大的辅助和加持功能,但是现阶段还无法完全替代传统的设计模式,可以成为一个良好的辅助工具。”常开颜向《中国电子报》记者说。
目前,微软已经尝试在VSCODE中用Copilot相关插件针对Verilog语言进行代码生成,这对于自动化处理器设计而言是一个很大的进步,未来有望进一步推动智能EDA的发展。
王颖认为,即便是一个完全行业化的ChatGPT版本,短期内也无法带来理想中的全自动化设计能力,但是若能配合云化EDA的趋势,二者的结合未来有望快成为一个良好的设计助手,大幅提升设计验证效率并降低开发门槛。