搜索
首页科技周边人工智能智能EDA浪潮即将来袭,ChatGPT如何助力设计芯片

提到 ChatGPT,你会想到什么?提到芯片,你又会想到什么?可以把你脑海中浮现的第一个词记下来,看完这篇文章,肯定会改变你的看法。如果你是一个科技爱好者,那么你的第一印象是 ChatGPT 是一个高智能的对话模型,可以和人对话,而芯片产业是个复杂的整体,不止有上层的体系结构设计者,还有底层流片的工程师。你或许不会把两者结合起来,因为两者看起来风马牛不相及。

但实际上,ChatGPT 模型独有的代码生成能力极大地加速了设计芯片的速度。由传统 EDA(电子设计自动化)向智能 EDA 的转型浪潮即将开启,今天这篇文章,我们就来一窥 ChatGPT 驱动下传统 EDA 是如何演变成智能 EDA 的,ChatGPT 是如何驱动芯片设计产业链的创新。

首先我们来看 ChatGPT 在芯片产业前沿上的一个应用:量子控制处理器是量子计算机的核心控制部分。用 ChatGPT 合成的一个量子控制处理器的代码如下所示。

module QuantumControlProcessor (
input clk,
input reset,
input [7:0] instruction,
input [7:0] control,
output reg [7:0] qubit_pulse,
output reg [7:0] timing_pulse
);
// 此处因为篇幅原因省略实现


endmodule

实际上这段代码也许会有些小问题,比如 ChatGPT 并不能很好地实现时序的控制,会出现浪费时钟周期的现象,但是这段代码可以正确编译,并且是一个有效的设计方案。也许你会很惊奇,这是怎么做的呢?这样做有什么前景呢?本文接下来的部分会给你答案。

ChatGPT 可能对芯片设计流程带来的改变

ChatGPT 将为芯片行业提供足够的可复用代码

芯片行业需要的巨大设计代码量亟需一个高效的开发工具。芯片设计是一个需要大量代码堆砌的行业,比如阿里的玄铁 OpenC910 的核心开源代码就有 351KLOC 左右。如图 1 所示,工业界一般从最顶端的 verilog 开始设计,使用 EDA 的前端和后端工具生成版图。verilog 的编写需要设计时序,通常较为复杂,因此 ChatGPT 生成这一块的代码可以降低很大的人力成本。芯片的时序要求较为严格,因此也有大量的功能相对固定的时序相关模块,比如 AXI 接口、FIFO 等。这些模块都可以使用 ChatGPT 来降低人力成本。虽然目前已经有 Chisel、Spatial、MyHDL 等新的硬件设计语言,但是这些语言很大程度上受制于宿主语言的限制,也无法用接近自然语言的方式描述电路。

智能EDA浪潮即将来袭,ChatGPT如何助力设计芯片

图 1:智能 EDA 和传统 EDA 流程图

ChatGPT 在代码生成方面显示出了优秀的表达能力。只需要给它一个任务提示,就可以自动生成对应的代码。相比软件和算法的合成而言,由于硬件设计代码并不像软件业务代码具有场景多样性,并且其参数化和时序控制相对人类的认知能力虽然复杂,但是有固定的模式可以遵循,因此 ChatGPT 做硬件设计代码自动生成的优势更为明显。它对于已经有的硬件具有很好的归纳能力,能够准确地提炼出设计模板中可参数化的配置点。

笔者的指导教师中科院计算所副研究员王颖博士认为,短期内即便是一个完全行业化的 ChatGPT 也无法带来理想中的全自动化设计能力,但是配合云化 EDA 的趋势,有望快作为一个设计助手大幅提升设计验证效率并降低开发门槛,尤其对于教学工作将带来重要改变,此外,ChatGPT 在各项流程中表现出来的自动化水平,eda 领域并非没有比他更好的 SOTA 点技术,只是在完整性和交互自然上 ChatGPT 有天然的优势。最后,ChatGPT 验证了大模型在自动化芯片设计领域的潜力,能够驱动开发者进一步地在此之上设计 Prompt 范式,从而存在进一步提升设计的功能准确度和生成芯片的性能的空间。

ChatGPT 在芯片设计领域的智力水平远超之前的相似工作

ChatGPT 真的有替代人工的准确性吗?

智能EDA浪潮即将来袭,ChatGPT如何助力设计芯片

ChatGPT 和之前最好的代码自动生成的方法比起来好了多少呢?

可以把之前的代码生成方法分为三类,一类是以编程语言社区为代表的基于规则 [11,12,13] 的方法,第二类是基于测试用例的生成方法 [5, 6, 7, 8, 9, 10],第三类是以自然语言处理社区为代表的基于文本和模型的生成方法 [1, 2, 3, 4]。

智能EDA浪潮即将来袭,ChatGPT如何助力设计芯片

智能EDA浪潮即将来袭,ChatGPT如何助力设计芯片

表:比较 OpenAI 两种最新模型用于代码生成

智能EDA浪潮即将来袭,ChatGPT如何助力设计芯片

​ChatGPT 和 CodeX 都是 OpenAI 公司基于 GPT-3 研发的模型,从上面的分析中可以看出,ChatGPT 的范围更广,并且 Copilot 的用途单一,仅仅为代码补全。这就为基于 ChatGPT 开发智能代码相关工具提供了更广阔的空间。

ChatGPT 极大地驱动了智能 EDA 技术的发展

在 ChatGPT 出现之前,就有许多自动化代码生成方式,他们为什么不能够驱动智能 EDA 技术呢?

智能EDA浪潮即将来袭,ChatGPT如何助力设计芯片

ChatGPT 在芯片设计代码上有一系列潜在的应用

ChatGPT 能够远远地超越传统方法,并且它可以做到零样本学习(Zero-shot learning),相比传统的程序合成并不需要专门的训练(因为 OpenAI 已经完成了),并且配合细致的功能描述,他庞大的知识储备也可以使能高正确率的代码生成。如表 1 所示,ChatGPT 将会逐渐演变为芯片前端的自动化流程中极为关键的一步,在未来很有可能演变成为继 HLS 开创 C 语言设计芯片后的又一种新的范式。在后文,我们将会介绍如何使用 ChatGPT 做 Verilog 的代码生成。

智能EDA浪潮即将来袭,ChatGPT如何助力设计芯片

表 1:ChatGPT 在芯片自动生成各个领域的开创性创新(以 Hardware Design Language 为例,软件语言可以参照分析)

如何使用 ChatGPT 生成芯片代码

与芯片设计相关的程序合成方法包含两类,高层次程序生成和时序相关硬件描述代码生成。高层次程序生成可以生成 HLS 等不具有显式时序控制的 C/C++ 代码等,而低层次程序生成可以生成具有显式时序控制的 Verilog 代码。由于 HLS 在实际工业界设计芯片时较少采用,因此我们采用 Verilog 作为主要的目标语言。对于 ChatGPT 而言,我们以自然语言描述作为输入,就可以获得符合要求的芯片描述代码。具体来说,应该如何做呢?我们以 Verilog 为例介绍如何用 ChatGPT 生成代码。

基于 ChatGPT 的通用生成步骤

act as a professional verilog programmer

因为 ChatGPT 是个通用的代码生成工具,而 Verilog 是个专用领域,我们需要先 “催眠” ChatGPT,使得它能够生成 Verilog 程序。向 ChatGPT 中输入下面的 prompt,之后的生成都会是以 Verilog 代码为基础的。

我们接下来的部分都是以片上网络 NoC 模块为例阐述代码生成方法的通用步骤。

智能EDA浪潮即将来袭,ChatGPT如何助力设计芯片

由于版面有限,这里就不列举 ChatGPT 生成的完整代码了。但是我们可以看出,On-Chip Network 这个关键字有很多种不同的理解方式,ChatGPT 选取了基于总线的理解方式。如果我们想要其他的语义理解方式,我们就应该探索出不同的输入即提问方式。

组合生成模块步骤

前面只是生成了有限的模块,但是能否把模块组合起来呢?我们的目标是用两个原本不存在的 strange module 组合成一个 no strange module。下面生成一个顶层模块 strange,底层有两个加法器,他们的输出连接着一个减法器,我们把这个东西叫做 strange module。

智能EDA浪潮即将来袭,ChatGPT如何助力设计芯片

智能EDA浪潮即将来袭,ChatGPT如何助力设计芯片

ChatGPT 为什么能在芯片生成领域取得成功

ChatGPT 能够在芯片合成上取得成功应该归功于它对代码的理解和对自然语言语义的准确辨识。

智能EDA浪潮即将来袭,ChatGPT如何助力设计芯片

ChatGPT 生成芯片设计就万事具备了吗

虽然 ChatGPT 模型可以完成芯片设计前端的部分工作,但是还存在如下挑战,需要人工和 EDA 工具链的联合调优才能生成一个符合规范的芯片。

智能EDA浪潮即将来袭,ChatGPT如何助力设计芯片

硅工行业如何应对智能 EDA 危机

ChatGPT 作为一种智能 EDA 流程,既是一个危机,也是一种机遇。它能够替代一部分 EDA 前端的工作,但是由于 EDA 后端很大程度上依赖于确定性和对细节的分析,才能得到更好的优化结构,因此对于支持 EDA 后端优化的工作存在困难。但是它也创造了新的岗位,比如可能出现的模型提示工程师,错误修正工程师。

智能EDA浪潮即将来袭,ChatGPT如何助力设计芯片

图 5:按照工程师岗位区分的可替代

为了更清晰地分类不同岗位上硅工行业的可替代性趋势,我们按照 EDA 的流程自顶向下划分了四个阶段,即体系结构设计阶段 - 芯片代码实现阶段 - 芯片 PPA 调优阶段 - 芯片验证阶段如图 5 所示。注意这里的芯片调优指的是在前端通过改动部分硬件结构和算法实现的调优,因此列举在芯片验证前面。蓝色方框代表很难替代的岗位,黄色方框代表容易被替代岗位,灰色方框代表新增加的岗位。下面分析按照具体流程区分的替代性,揭示为什么有的岗位的工程师容易被 ChatGPT 替代,而有的岗位的工程师很难被 ChatGPT 替代。

中科院计算所智能计算中心主任韩银和研究员认为 ChatGPT 不光能辅助加速芯片设计流程,也对芯片本身带来一系列挑战,也许是当下热点如存算一体、芯粒集成以及大芯片架构等技术带来迫切等待的杀手级应用。

智能EDA浪潮即将来袭,ChatGPT如何助力设计芯片

较难替代的流程

智能EDA浪潮即将来袭,ChatGPT如何助力设计芯片

新增加的流程

  • 错误修正工程师。由于 ChatGPT 生成的程序可能存在细节上的问题,有的地方不符合时序或是模块间的连接标准,因此就需要错误修正工程师对其修正。
  • 模型提示工程师。ChatGPT 生成代码的质量和输入的 prompt 紧密相关,因此需要有一部分熟悉 ChatGPT “脾气” 的人专门设计 prompt 以便生成符合规范的代码。

未来的发展趋势

在智能 EDA 的浪潮下,有些岗位不可避免地会被替代,那么未来会以什么样的次序被替代呢?从前后端分布上看,后端由于有版图设计等精细化的任务,因此不可替代性较强。对于前端来说,最先替代的是芯片实现中的模块工程师,因为从上面生成芯片的实践中可以发现,基本模块代码生成这一部分最为直观。在它之后会出现的替代岗位有组件设计工程师,这一部分会在工程师们熟悉用 ChatGPT 组装模块后替代。对于其他的工程师而言,ChatGPT 更多地只是具有辅助价值,而不能完全地替代。

因而我们可以看到,越是上层的,涉及到架构抽象的部分越不容易替代;越是底层的,涉及正确性的部分也不容易被替代。中间部分的替代顺序将会是自底向上,从基本模块向上层组件逐次地替代。

政策上要抢占智能 EDA 先机

自力更生与充分吸取世界前沿并非不矛盾。传统 EDA 和大模型在 OpenAI 首发而其他公司尚未跟上固然有着复杂的原因。但是政策上仍然需要分出一只手,让部分过热资本从解决传统 EDA 和大模型问题的项目中抽出,鼓励企业抓住智能 EDA 发展初期行业壁垒小的时期,勇敢步入业内,构造出新的技术壁垒。只有这样,才能解决不断被新技术取代的问题。否则,过热资本涌入已经成熟的产业会造成资本回报率下降,同时创新技术无法获得更高的资金支持,导致创新型企业不敢试错,无形中增加了创新型企业的试错成本,使得创新型企业更倾向于市场证明成熟的技术。因此,政策上应该适当鼓励企业基于 ChatGPT 这类大模型做衍生技术,尤其是在大模型已经展示出强大的代码生成能力之上,基于智能 EDA 技术的企业更应该抢占先机。

资本市场的投资目光应该由大模型本身向其衍生技术转向

在信息技术领域,先进技术不断从通用走向专用,逐渐走向基于之前技术的衍生技术,以处理器设计领域最为明显。在上个世纪时,CPU 火爆一时,造出了高性能的计算机,本世纪初,GPU 逐步流行,驱动了游戏的开发,最近十年,NPU 开始走上舞台,使能高能效的神经网络训练和推理。由此推知,当大模型成熟以后,其衍生技术也会在之后几年走上舞台。

智能 EDA 技术是大模型技术的衍生技术。虽然衍生技术投资在刚开始看并不占优势,但是从经济上看,直到那种技术首发并形成技术壁垒时其投资回报率会较高。随着 ChatGPT 这一类大模型技术的日渐成熟,对企业的投资会出现边际效应递减的现象。个人投资者和机构投资者应该认识到信息技术的投资规律,渐渐把目光转向大模型的衍生领域,尤其是关注基于大模型的算法在芯片领域的应用问题。产业从业人员应该充分利用我国为人工智能、集成电路领域设立的大基金优势,积极申报人工智能和 EDA 交叉的基金。因此,无论是从产业政策上看,还是从投资规律上看,智能 EDA 领域十分有必要应该成为我国投资者的投资对象。

相关文献

基于文本模型的代码生成

[1] Zhangyin Feng, Daya Guo, Duyu Tang, Nan Duan, Xiaocheng Feng, Ming Gong, Linjun Shou, Bing Qin, Ting Liu, Daxin Jiang, and Ming Zhou. 2020. [CodeBERT: A Pre-Trained Model for Programming and Natural Languages]. In Findings of the Association for Computational Linguistics: EMNLP 2020, pages 1536–1547, Online. Association for Computational Linguistics.

[2] [GRAPHCODEBERT: PRE-TRAINING CODE REPRESENTATIONS WITH DATA FLOW]

[3] [CodeT5: Identifier-aware Unified Pre-trained Encoder-Decoder Models for Code Understanding and Generation]

[4] [UniXcoder: Unified Cross-Modal Pre-training for Code Representation]

基于测试用例的代码生成

[5] Rajeev Alur, Rastislav Bodík, Garvit Juniwal, Milo M. K. Martin, Mukund Raghothaman, Sanjit A. Seshia, Rishabh Singh, Armando Solar-Lezama, Emina Torlak, Abhishek Udupa, [Syntax-guided synthesis], 2013

[6] Peter-Michael Osera, Steve Zdancewic, [Type-and-example-directed Program Synthesis], 2015

[7] John K. Feser, Swarat Chaudhuri, Isil Dillig, [Synthesizing Data Structure Transformations from Input-output Examples], 2015

[8] Armando Solar-Lezama, [Program Synthesis by Sketching], 2008

[9] [Kensen Shi], [Jacob Steinhardt], [Percy Liang], FrAngel: Component-Based Synthesis with Control Structures, POPL, 2019

[10] Yu Feng, Ruben Martins, Yuepeng Wang, Isil Dillig, Thomas W. Reps, Component-based synthesis for complex APIs, [ACM SIGPLAN Notices], 2017

基于逻辑规则的代码生成

[11] Z. Manna and R. Waldinger, "Synthesis: Dreams → Programs," in IEEE Transactions on Software Engineering, vol. SE-5, no. 4, pp. 294-328, July 1979, doi: 10.1109/TSE.1979.234198.

[12] Bernd Finkbeiner and Sven Schewe, Bounded synthesis, in Int J Softw Tools Technol Transfer, (2013), 15:519–539, DOI: 10.1007/s10009-012-0228-z

[13] Peter Faymonville, Bernd Finkbeiner, and Leander Tentrup, BoSy: An Experimentation Framework for Bounded Synthesis,CAV 2017

以上是智能EDA浪潮即将来袭,ChatGPT如何助力设计芯片的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文转载于:51CTO.COM。如有侵权,请联系admin@php.cn删除
您必须在无知的面纱后面建立工作场所您必须在无知的面纱后面建立工作场所Apr 29, 2025 am 11:15 AM

在约翰·罗尔斯1971年具有开创性的著作《正义论》中,他提出了一种思想实验,我们应该将其作为当今人工智能设计和使用决策的核心:无知的面纱。这一理念为理解公平提供了一个简单的工具,也为领导者如何利用这种理解来公平地设计和实施人工智能提供了一个蓝图。 设想一下,您正在为一个新的社会制定规则。但有一个前提:您事先不知道自己在这个社会中将扮演什么角色。您最终可能富有或贫穷,健康或残疾,属于多数派或边缘少数群体。在这种“无知的面纱”下运作,可以防止规则制定者做出有利于自身的决策。相反,人们会更有动力制定公

决策,决策……实用应用AI的下一步决策,决策……实用应用AI的下一步Apr 29, 2025 am 11:14 AM

许多公司专门从事机器人流程自动化(RPA),提供机器人以使重复性任务自动化 - UIPATH,在任何地方自动化,蓝色棱镜等。 同时,过程采矿,编排和智能文档处理专业

代理人来了 - 更多关于我们将在AI合作伙伴旁边做什么代理人来了 - 更多关于我们将在AI合作伙伴旁边做什么Apr 29, 2025 am 11:13 AM

AI的未来超越了简单的单词预测和对话模拟。 AI代理人正在出现,能够独立行动和任务完成。 这种转变已经在诸如Anthropic的Claude之类的工具中很明显。 AI代理:研究

为什么同情在AI驱动的未来中对领导者更重要为什么同情在AI驱动的未来中对领导者更重要Apr 29, 2025 am 11:12 AM

快速的技术进步需要对工作未来的前瞻性观点。 当AI超越生产力并开始塑造我们的社会结构时,会发生什么? Topher McDougal即将出版的书Gaia Wakes:

用于产品分类的AI:机器可以总税法吗?用于产品分类的AI:机器可以总税法吗?Apr 29, 2025 am 11:11 AM

产品分类通常涉及复杂的代码,例如诸如统一系统(HS)等系统的“ HS 8471.30”,对于国际贸易和国内销售至关重要。 这些代码确保正确的税收申请,影响每个INV

数据中心的需求会引发气候技术反弹吗?数据中心的需求会引发气候技术反弹吗?Apr 29, 2025 am 11:10 AM

数据中心能源消耗与气候科技投资的未来 本文探讨了人工智能驱动的数据中心能源消耗激增及其对气候变化的影响,并分析了应对这一挑战的创新解决方案和政策建议。 能源需求的挑战: 大型超大规模数据中心耗电量巨大,堪比数十万个普通北美家庭的总和,而新兴的AI超大规模中心耗电量更是数十倍于此。2024年前八个月,微软、Meta、谷歌和亚马逊在AI数据中心建设和运营方面的投资已达约1250亿美元(摩根大通,2024)(表1)。 不断增长的能源需求既是挑战也是机遇。据Canary Media报道,迫在眉睫的电

AI和好莱坞的下一个黄金时代AI和好莱坞的下一个黄金时代Apr 29, 2025 am 11:09 AM

生成式AI正在彻底改变影视制作。Luma的Ray 2模型,以及Runway的Gen-4、OpenAI的Sora、Google的Veo等众多新模型,正在以前所未有的速度提升生成视频的质量。这些模型能够轻松制作出复杂的特效和逼真的场景,甚至连短视频剪辑和具有摄像机感知的运动效果也已实现。虽然这些工具的操控性和一致性仍有待提高,但其进步速度令人惊叹。 生成式视频正在成为一种独立的媒介形式。一些模型擅长动画制作,另一些则擅长真人影像。值得注意的是,Adobe的Firefly和Moonvalley的Ma

Chatgpt是否会慢慢成为AI最大的Yes-Man?Chatgpt是否会慢慢成为AI最大的Yes-Man?Apr 29, 2025 am 11:08 AM

ChatGPT用户体验下降:是模型退化还是用户期望? 近期,大量ChatGPT付费用户抱怨其性能下降,引发广泛关注。 用户报告称模型响应速度变慢,答案更简短、缺乏帮助,甚至出现更多幻觉。一些用户在社交媒体上表达了不满,指出ChatGPT变得“过于讨好”,倾向于验证用户观点而非提供批判性反馈。 这不仅影响用户体验,也给企业客户带来实际损失,例如生产力下降和计算资源浪费。 性能下降的证据 许多用户报告了ChatGPT性能的显着退化,尤其是在GPT-4(即将于本月底停止服务)等旧版模型中。 这

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

WebStorm Mac版

WebStorm Mac版

好用的JavaScript开发工具

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )专业的PHP集成开发工具