AI-原生EDA的曙光:大型电路模型的机遇与挑战
24年5月来自港中文、北大、东南大学、华为诺亚、华为海思、宁波大学、港科大、深圳鹏城实验室、上交大和复旦的论文“The Dawn of AI-Native EDA: Opportunities and Challenges of Large Circuit Models”。
在电子设计自动化 (EDA) 领域,人工智能驱动的解决方案已成为强大的工具,但它们通常只是对现有方法的补充,而非重新定义。这些解决方案通常将来自其他领域(例如视觉、文本和图分析)的深度学习模型重新应用于电路设计,而没有针对电子电路的独特复杂性进行调整。这种“AI4EDA”方法无法实现整体设计综合和理解,忽略了电路数据中电气、逻辑和物理方面错综复杂的相互作用。本文主张从 AI4EDA 向 AI -原生 EDA 转变,将人工智能集成到设计流程的核心。实现这一愿景的关键在于开发一种多模态电路表示学习技术,该技术能够协调和提取来自各种数据源(例如功能规范、RTL 设计、电路网表和物理布局)的洞见,从而提供全面的理解。
其倡导创建本质上具有多模态特性的大型电路模型(LCM),旨在解码和表达电路数据的丰富语义和结构,从而促进更具弹性、效率和创新性的设计方法。秉持这种人工智能原生理念,可预见EDA领域的创新将超越当前的瓶颈,引发电子设计方法论的深刻“左移”。这些设想的进步不仅预示着现有EDA工具的演进,更是一场革命,催生出全新的设计工具,有望大幅提升设计效率,并开启一个全新的时代——在这个时代,电路性能、功耗和面积(PPA)的优化不再是渐进式的,而是通过飞跃式的突破来实现,重新定义电子系统能力的基准。
近年来,大型基础模型的出现深刻地改变了人工智能 (AI) 的格局。这些模型以其庞大的规模和广泛的适用性为特征,展现出惊人的能力,能够理解、预测和生成内容,其复杂程度此前一直只有人类智能才能达到。
基础模型的崛起
大型基础模型代表人工智能领域的一次重大飞跃。这些模型通常使用自监督技术在网络规模的数据集上进行预训练 [1],并已被应用于各种下游任务中,表现出色。在自然语言处理 (NLP) 和计算机视觉 (CV) 领域,这些模型不仅树立了新的标杆,而且从根本上重新定义了可能性。
在自然语言处理领域,BERT [2] 及其衍生模型(包括 RoBERTa [3] 和 T5 [4])彻底革新了语言理解,尤其是在文本上下文解释方面,从而增强了复杂语言任务的处理能力。与此同时,仅包含解码器的GPT系列[5]展现出了卓越的通用性,在从创意写作到代码生成等各种任务中均表现出色,预示着通用人工智能(AGI)的巨大潜力。在计算机视觉(CV)领域,自监督基础模型[6][7][8]在图像理解任务中取得了与全监督方法相媲美的优异性能。
近年来,多模态基础模型的出现开启了充满无限可能的新时代,它们能够整合文本、图像和音频等多种数据类型。CLIP模型[9]就是一个开创性的例子,它通过对比学习有效地连接了语言和视觉数据。这一创新为DALL-E[10]和稳定扩散[11]等生成模型奠定了基础,这些模型展现了从文本描述生成复杂图像的能力,并将视觉和语言理解无缝融合。此外,近期推出的可提示计算机视觉系统(例如 SAM [12])在图像分割方面展现出卓越的零样本泛化能力,能够实现精确的目标识别和提取。GPT-4V [13] 和 Gemini [14] 的出现进一步体现了人工智能的演进,它们能够无缝地导航和合成多模态信息,从而为从创意内容生成到工程设计中复杂问题解决等各个领域的创新开辟了新的途径。
尽管取得了这些进展,电路设计领域对基础模型的应用仍只是冰山一角。这种谨慎的态度与这些模型在该重要领域所蕴含的变革潜力形成了鲜明的对比。
电路数据的独特挑战
在电路设计领域,一个值得注意的现象是许多新设计与以往版本之间存在固有的相似性。尽管存在这些相似之处,但设计人员经常面临从零开始重新创建或重新设计电路的挑战,这是因为要满足雄心勃勃的性能、功耗和面积 (PPA) 目标,需要关注一些微妙而关键的细节。这种重复性的过程凸显了开发一种能够有效借鉴历史成功和失败经验的学习型解决方案的必要性。
面向电子设计自动化的人工智能 (AI4EDA) 解决方案 [15] 的出现,标志着将机器学习 (ML) 技术集成到电路设计中的一次尝试。这些进展代表着显著的进步,但通常只是对现有方法的增强,而非重新定义。通常,AI4EDA 会将其他领域的深度学习模型重新用于 EDA 任务,例如 PPA 估算和优化、验证或故障检测。然而,在传统设计框架的限制下,这些模型更像是独立的分析工具,而不是设计过程的组成部分,往往无法充分应对电路数据的独特复杂性。
具体而言,电路数据的独特性质给机器学习带来了独特的挑战。与文本、图像或常规图数据不同,电路设计将计算与结构紧密交织在一起。微小的结构变化可能导致显著的功能影响,反之亦然。这种相互依赖性使得电路建模任务变得极其复杂且微妙。如果不考虑上述因素,现有的AI4EDA解决方案往往难以全面综合和理解电路数据的电气、逻辑和物理特性之间错综复杂的相互作用,而这对于真正创新的设计综合至关重要。
近年来,AI-原生电路表示学习技术取得了显著进展,例如文献[16]和[17]中提出的技术,这些进展已开始着手解决这些独特的挑战。多模态学习的集成为进一步提升其有效性提供了重要契机。通过采用相关原理和能力,可以更好地应对这些挑战。通过采用现有基础模型在各种类型数据上所展现的原则和能力,构想从 AI4EDA 到 AI -原生 EDA 的范式转变。
实现这一愿景的关键在于开发复杂的大型电路模型(LCM)。LCM 被设想为能够整合和解读电路设计中各种特定数据类型的模型,有望彻底革新电子电路的设计、优化和验证流程。如图所示LCM:创建专用的电路基础模型,与其他类型的数据(例如文本和图像)不同,电路模型将计算与结构紧密结合。具体而言,EDA流程的每个设计阶段都被视为一个独立的模态,需要特定的表征学习策略来嵌入可用的电路特性。设计层级越高,需要表征的语义就越多;设计层级越低,需要表征的细节就越多。大型电路模型(LCM)的核心优势在于其能够融合和对齐整个设计过程中不同的表征,从而创建一个统一的叙事,涵盖从高级功能规范到详细物理布局的各个层面。这种统一的方法有望简化EDA流程,缩短产品上市时间,并提高设计性能和可用性。
人工智能原生 LCM 的可行性和前景
在半导体设计领域,利用大型电路模型的潜力并非遥不可及,而是植根于深厚的技术发展历史。
数十年的研发积累海量的电路数据。尽管存在专有技术壁垒,但公共领域 [18]、[19]、[20] 的数据足以支持开发稳健、智能的模型。行业悠久的历史提供了大量富含领域专业知识的数据,能够深入洞察电路设计的复杂性。
此外,尽管电路类型繁多,但其共性超越了单个设计本身。处理器、域加速器(例如数字信号处理器 (DSP) 和 AI 加速器)、通信模块和其他核心组件都呈现出设计模块重用的模式。这些可重用模块的例子包括算术单元、各种解码器和密码核心。这种一致性提供了一种可预测的模式——类似于一种归纳偏置——有利于机器学习模型的应用。
神经网络架构的进步,特别是Transformer [21] 和图神经网络 (GNN) [22],非常适合捕捉电路原理图复杂的图状结构。它们提供一个将错综复杂的设计元素网络转化为可操作见解的机会,这是以前无法实现的。来自其他领域的 AI 进步,例如具有多模态机器学习能力的 CLIP 模型 [23] 和用于代码生成的大语言模型 [24],进一步凸显了 LCM 中变革性应用的潜力。这些功能可以进行调整,以应对各种电路设计中的独特挑战,从而实现前所未有的精细化和全面建模。
总之,尽管挑战不容小觑,但LCM的开发建立在坚实的历史数据、普遍存在的模式以及尖端计算技术的基础之上。LCM有望彻底改变EDA领域,这不仅是理论上的可能性,更是一个切实可行的目标,其驱动力源于历史知识与现代人工智能技术的融合。通过处理和解读各种数据源和格式,包括原理图、文本规范、寄存器-传输级(RTL)设计、电路网表、物理布局和性能指标,LCM可以促进设计方法论的“左移”。这种主动的、原生于人工智能的方法能够及早识别潜在的性能问题和设计瓶颈,从而简化测试和重新设计流程,并最终实现更明智、更高效的开发周期。
EDA的历史发展历程,包括前沿EDA工具、方法和理念的演变。
EDA的核心目标和复杂性
EDA的发展历程是一部人类智慧和技术进步的编年史。它反映了半导体行业的指数级增长,而摩尔定律正是推动这一增长的动力,其特点是对更小、更快、更高效的电子设备的不懈追求。从简单的逻辑电路到如今拥有数十亿晶体管的集成电路(IC),这一发展历程需要借助复杂的EDA工具集,采用分层式设计方法。这种层级结构以规范、架构设计、高级算法设计、RTL 设计、逻辑综合和物理设计等阶段为标志,允许电路设计逐步完善,每个阶段都增加一层细节,在确保功能性的同时力求优化。
EDA 的发展历程不仅体现在其工具的复杂性上,也体现在其驱动其演进的根本目标上。两个核心目标始终贯穿于 EDA 解决方案的开发:
• 转换过程中的等效性和一致性:确保从行为描述到门级实现,以及从逻辑表示到物理表示的每一次转换都保持原始设计意图至关重要。C-RTL 等效性检查、基于断言的验证 (ABV)、逻辑等效性检查 (LEC)、时序等效性检查 (SEC) 以及各种类型的仿真工具在这方面发挥了不可或缺的作用,使设计人员确信,尽管设计经历了无数次转换,最终结果在功能上仍然与原始规范等效。在架构设计、逻辑综合、工艺映射和布局布线等各个阶段保持设计完整性,是构建可靠电子设计的基石。
• 性能、功耗和面积 (PPA) 及其他设计因素的优化:不断追求性能、功耗和面积的优化是电子设计自动化 (EDA) 的核心。随着设计规模的扩大和复杂性的增加,这三者之间的平衡变得越来越难以实现。专门用于 PPA 优化的工具采用多种技术,包括预测建模、启发式算法和迭代优化,以在设计的各个层面提高效率。与此同时,传统的 PPA 三要素不再是唯一关注点。随着超深亚微米技术的出现,新的问题也随之出现。电路可靠性成为关注焦点,电迁移和热效应等问题变得至关重要。可制造性是另一个日益受到关注的问题,因为制造工艺的差异会显著影响良率和性能。
在竞争激烈的电子产品开发领域,缩短产品上市时间 (TTM) 至关重要。消费电子产品的快速发展,例如智能手机和可穿戴设备的年度更新周期,凸显了加快产品上市速度以抢占市场份额并满足消费者期望的紧迫性。这种压力对 EDA 流程产生了显著影响,对 TTM 的需求有时会损害设计的完整性,从而导致潜缺陷。例如,在发布下一代微处理器的压力下,团队可能会为了赶上发布窗口而忽略详尽的验证,从而导致最终产品中引入缺陷。当这些问题无法通过工程变更单 (ECO) [25] 进行修改时,就需要耗费大量成本和时间进行重新设计,进一步加剧上市时间的压力。因此,这一周期凸显了 EDA 解决方案的迫切需求,这些解决方案不仅能够简化设计和验证流程,还能从一开始就确保设计的准确性。
前端设计的EDA
20世纪80年代,半导体行业的发展受到大型原理图手工绘制的阻碍,这极大地限制了设计效率[26]。前端EDA工具的发展历程见证了该领域从手绘原理图时代到如今自动化逻辑综合的演变。这一演变得益于硬件描述语言(HDL)的引入,例如Verilog和VHDL,它们已成为数字设计表示、仿真和验证的基石。
典型的前端设计流程(也称为逻辑设计)如图a所示,其中设计规范被转换为逻辑网表。前端设计流程始于设计规范,然后进行架构探索。随后,创建HDL将设计转换为适合实现的形式,通常是在RTL抽象级别。硬件构造语言(例如 Chisel [27])和 C/C++ 高级综合 (HLS) 的引入,为前端设计增添了新的维度,并使其在应对现代前端设计的复杂性方面更具灵活性和效率。
在创建或使用 HLS 工具生成 RTL 之后,设计人员首先使用静态分析工具(例如 Lint [28])来识别潜在错误,然后应用各种验证技术,包括逻辑仿真、模拟和各种形式化方法(例如模型检查)。这些技术共同作用,确保 RTL 设计的功能与设计规范完全一致。验证和测试过程涵盖各种转换和阶段,是设计流程不可或缺的组成部分,通常消耗 60% 到 70% 的工程总投入。如此巨大的投入凸显了它们在确保电路设计的功能性和可靠性方面的关键作用。针对各种不同的电路设计抽象,设计人员采用了大量的验证技术,这反映了每个开发阶段遇到的细微需求和挑战。例如,C-RTL 等效性检查严格地将 RTL 实现与基于 C 的规范模型进行比较。这种验证方法已被 [29]、[30] 等研究证实,并被广泛应用,尤其是在数据通路密集型设计中,正如 Synopsis 的 Hector [31] 所强调的那样。鉴于这种抽象的电路设计主要封装硬件行为而抽象化具体的物理细节,定理证明器和 SMT 求解器成为提高验证效率的关键工具 [32]、[33]。
接下来,RTL 实现进入设计流程的下一个阶段,逻辑综合工具彻底改变 HDL 代码转换为门级表示的方式。逻辑综合通常包含三个主要步骤:细化、逻辑优化和技术映射。逻辑综合的主要目标是在可接受的时间范围内,将 RTL 代码转换为满足特定设计约束的门级网表,同时优化功耗效率、最大化性能并最小化所需的芯片面积。逻辑综合中一个不可或缺的环节是对优化后的网表与其初始对应网表进行逻辑和时序等效性检查,这一点已在[34]、[35]、[36]等研究中得到强调。此外,定制的等效性检查技术也已针对特定的电路设计需求进行了定制,例如与时钟门控相关的需求[37]。
这些前端设计和验证工具的共同进步不仅简化了设计流程,也拓展了数字电路设计的可能性。随着应对日益复杂的设计环境,这些工具已成为在数字系统创新和优化道路上不断追求的不可或缺的一部分。
用于后端设计的EDA
对于现代芯片设计,后端设计流程(也称为布局设计)如上图 b)所示,它从门级或通用技术(GTech)网表过渡到最终布局[38]。
这一复杂流程始于工艺映射,即应用工艺库将综合后的门级网表适配到指定的工艺库中,重点在于优化PPA约束。为了提高批量生产的可测试性,设计中融入扫描链、内置自测试(BIST)电路和边界扫描等可测试性功能。接下来的物理设计阶段,其任务是确定芯片的物理布局,包括布局规划、电源分配网络(PDN)设计、布局、时钟树综合(CTS)和布线。
• 布局规划:布局规划通过优化主要模块的布局,确定芯片的物理布局,从而最大限度地缩短互连线长度并确保高效的硅面积利用率。它涉及考虑时序、功耗和散热约束的战略性布局,为设计奠定基础。
• 电源分配网络 (PDN) 设计:PDN 设计确保芯片的稳定供电,旨在最大限度地减少电压降并保持电源完整性。电源和接地网络的设计对于高效供电至关重要,需要考虑 IR 压降、电流密度和电迁移。
• 布局:布局优化布局规划中标准单元或 IP 模块的排列,以提高性能、降低功耗并减少面积。它通过战略性地放置组件来减少导线长度和拥塞,并考虑时序和散热影响,利用算法找到最佳配置。
• 时钟树综合 (CTS):CTS 分配时钟信号,以最小的偏移和抖动同步电路的运行。设计均衡的时钟分配网络可确保芯片上各环节性能的可靠性和同步性。
• 布线:布线根据已建立的布局和网表连接各个组件,旨在完成互连,且不违反设计规则或造成信号完整性问题。它优化最短路径,最大限度地减少串扰和延迟,并管理层分配和拥塞。
随着芯片设计复杂性的增加,后端EDA工具的功能已不再局限于简单的布局创建和布线,而是涵盖了多方面的优化挑战。例如,热分析工具使设计人员能够预测和解决热热点问题,从而保证芯片在各种环境条件下都能可靠运行。此外,还需要各种良率设计(DfY)策略来最大限度地提高制造良率,这些策略包括识别和缓解潜在的良率影响因素,以及进行布局调整以应对工艺偏差、缺陷概率和其他制造缺陷。先进的面向制造的设计 (DfY) 工具和方法能够分析关键区域,应用光刻友好的设计原则,并优化布局,从而增强对制造工艺变化的鲁棒性,确保最终产品更高的良率和可靠性 [39]。
物理验证是后端设计阶段的关键最后步骤,确保芯片布局在进入制造阶段之前符合所有必要的规范和标准。该过程涉及一系列检查,包括设计规则检查 (DRC)、电气规则检查 (ERC) 和布局与原理图验证 (LVS)。DRC 对于根据一组预定义的规则验证布局至关重要,以确保其可制造性,重点关注物理尺寸和电路元件之间的间距,以防止制造错误。ERC 更进一步,检查设计的电气完整性,识别信号完整性、电源分配问题等,并确保电路满足其功能要求。最后,LVS 验证确认布局准确反映了原始原理图设计,保证物理表示与预期的电路行为相符。这些验证步骤共同作用,可以识别并纠正潜在的布局问题,从而保证最终芯片的正确性。
总而言之,后端EDA工具从根本上改变了芯片设计的格局,使设计人员能够打造复杂的集成电路,在单个芯片上集成数十亿个协同工作的晶体管。随着半导体技术的进步,EDA工具在后端设计阶段的重要性必将日益凸显,持续推动创新,并提升芯片设计研发和工程实践的效率。
专用电路的EDA
除了用于常规数字电路设计的EDA工具之外,该领域还出现了显著的专业化工具集,旨在满足标准单元、数据通路单元和模拟电路的独特需求。这种发展凸显了EDA的成熟,为设计人员提供了量身定制的解决方案,以高效地优化这些基本组件。专用EDA工具已成为应对每种组件类型所带来的细微挑战的不可或缺的工具,从而提高了芯片设计的精度和性能。
标准单元的EDA
标准单元是数字集成电路的基本构建模块,它们遵循与库规范一致的预定义结构,从而能够在各种设计中重复使用。标准单元设计中EDA工具的重点主要在于自动化布局生成过程,包括布局和单元内布线等关键步骤,如图所示。
布局过程旨在确定单元内晶体管的最佳位置,以最大限度地利用空间,同时保持功能和性能的完整性。布局的常用算法包括动态规划、强化学习和模可满足性理论。如[40]和[41]中所述,布局策略的创新引入多种方法,旨在加快这一复杂过程,同时确保布线性和设计效率。相比之下,单元内布线则着重于在单元内部建立连接的复杂任务,而标准单元严格的面积限制使得这一过程更加复杂。单元内布线通常采用A*算法、整数线性规划和模可满足性理论求解。这一阶段需要专门的布线解决方案,这些方案不同于应用于更广泛的数字电路的方案,以应对单元布局的严格限制。[42]和[43]的研究成果为单元内布线提供了针对性的方法,以应对标准单元设计的独特挑战。
数据通路电路的EDA
数据通路电路的演进,从加法器、乘法器、乘加器 (MAC) 等单个组件发展到整个数据通路,充分体现了EDA技术的持续进步。多年来,EDA工具不断发展,以满足这些关键组件日益增长的复杂性和性能需求。
加法器:加法器是数字电路中算术运算的基石。从简单的行波进位加法器到更高级的超前进位加法器和前缀加法器,加法器的设计都受益于EDA工具的显著发展。这些工具采用优化算法来降低延迟、节省面积并最大限度地降低功耗,这对于提升数字系统的整体性能至关重要。EDA工具能够模拟各种加法器配置,使设计人员能够为特定应用选择最合适的架构,从而在速度和资源利用率之间取得平衡。
特别是,前缀树加法器因其在并行进位计算方面的高效性而备受认可,并通过EDA解决方案得到了显著的发展和优化。早期设计主要集中于基本的并行前缀加法器,例如 Kogge-Stone 加法器和 Brent-Kung 加法器,这为理解速度和面积之间的平衡奠定了基础 [44]。近年来,技术进步引入更复杂的设计,例如稀疏 Kogge-Stone 加法器和生成树加法器,这些设计兼顾功耗效率和芯片面积 [45]。数据通路编译器在权衡不同前缀树配置的优劣方面发挥了重要作用,它们采用算法和启发式方法为给定的应用场景选择最佳结构。
乘法器:乘法器在执行快速算术运算中至关重要,对于从通用计算到信号处理和机器学习等专用任务的各种应用都至关重要。EDA 技术通过探索 Booth 编码和 Wallace 树乘法等创新架构,促进了高性能乘法器的设计。
Wallace树技术将乘法运算产生的局部积分组,然后分阶段对这些组求和,从而降低加法树的整体高度,进而减少传播延迟。这种架构尤其适用于对快速数学运算要求极高的数字信号处理 (DSP) 和图形处理器 (GPU)。多年来,Wallace树架构的改进旨在优化其布局,以最大限度地减少面积和功耗,同时最大限度地提高速度,这反映了EDA工具的不断进步,以满足半导体技术不断发展的需求。
MAC单元:MAC单元的设计对于数字信号处理和深度学习应用至关重要,而EDA工具的创新也同样促进了MAC单元的发展。将优化的加法器设计与高效乘法器集成到MAC单元中,对于实现高吞吐量和低延迟至关重要。EDA工具现在利用分析模型和基于仿真的方法来探索各种MAC单元架构,包括在一次运算中执行乘法和加法的融合乘加(FMA)配置以及流水线设计,以满足特定的性能目标[46]。
浮点单元(FPU):浮点单元对于执行浮点数的算术运算至关重要,这在需要宽动态范围的应用中必不可少,例如科学计算、图形和机器学习算法。
在EDA工具的指导下,FPU的演进凸显业界致力于解决浮点运算固有的精度、性能和能效挑战的决心。流水线和并行处理等技术在提高FPU吞吐量方面发挥了重要作用,使得多个浮点运算能够同时执行。 EDA 方法的进步促进了新型 FPU 设计的探索,例如在 MAC 单元设计中采用 FMA 单元。
数据通路电路:除了单个组件之外,包含加法器、乘法器、MAC 单元和其他逻辑元件的整个数据通路电路的设计是一项复杂的挑战,而 EDA 工具可以有效应对这一挑战。
这些工具采用全面的策略来优化数据通路电路,确保组件之间的无缝集成和最高效率。如图所示,设计过程始于确定目标应用及其相应的架构设计,从而定义一个广泛而复杂的设计空间。例如,该空间可能包括 CPU 任务(如 SPEC2017 基准测试)或 GPU 任务(如矩阵乘法),并分别针对 CPU 或 GPU 架构。设计空间分为两大主要领域:应用空间,概述特定于应用的参数,例如数据流模式或神经网络映射策略;以及架构空间,详细描述结构和资源参数,例如 CPU 指令集宽度或神经处理单元 (NPU) 中的 MAC 数量。
这两个领域参数的交集构成一个“设计点”,在编译后进行应用映射后,该设计点将通过尖端的EDA 工具进行全面评估和验证。这一严谨的过程会迭代地探索和评估新的设计点,直至达到探索目标。
向新设计点的推进通常由优化算法驱动,这些算法已经取得了显著进步。这些优化算法分为两类:黑盒优化,它不预设任何关于设计空间的前提,通常利用贝叶斯优化 (BO) 来有效地探索数据通路电路设计空间;以及其他黑盒方法,例如模拟退火 (SA)、遗传算法 (GA) 和爬山算法。相反,融入领域知识的优化需要对架构有深入的理解,旨在通过对数据通路进行精确、有针对性的调整来提升性能。瓶颈分析等技术通过专注于数据通路架构中需要改进的特定区域,已被证明优于传统的黑盒方法。
模拟电路的EDA
模拟和混合信号集成电路的设计过程与数字设计显著不同,展现了模拟电路特有的挑战和复杂性。
如图展示一个典型的模拟集成电路设计流程,首先是一套详细的电路规格,涵盖面积、功耗和性能要求。前端设计阶段至关重要,它通过精细的拓扑设计和器件尺寸确定,建立预布局电路网表,从而定义电路的功能。该阶段为电路的运行特性和优化标准奠定了基础。
进入后端,关注点转向物理布局实现。模拟物理设计(包括布局布线阶段,与数字方法类似)由于模拟电路对寄生效应的敏感性,需要采用精细的方法。该阶段还需考虑寄生效应、元件匹配以及其他与布局相关的因素,这些因素对于保持电路的完整性和性能至关重要[47]。
模拟设计面临的主要挑战之一是性能优化,其特点是非线性和缺乏清晰的功能表达式。尽管存在这些障碍,但多年来,EDA(电子设计自动化)领域已显著推进了模拟集成电路设计的自动化。这些努力涵盖了拓扑选择或探索[48]、模拟尺寸调整[49]、模拟布局布线[50]等多个领域。
总之,专业电路设计的历程体现了艺术与科学的动态互动。随着技术的进步和设计要求的日益严格,EDA工具在促进高效、精确和创新设计方案方面的作用仍然至关重要。
深度学习的强大功能,特别是其从历史设计数据中识别模式的能力,为EDA流程带来了显著的改进。这一现代发展趋势的驱动力在于,人们希望利用数十年来积累的大量设计知识,来推动更卓越、更高效的设计方法。
EDA中的监督学习
在EDA中应用监督学习是人工智能融入设计目标优化和评估的重要一步。根据其在标准设计流程中的应用阶段,对各种监督式AI4EDA解决方案进行分类,并重点介绍每个类别中的开创性工作,以便进行深入概述。
预RTL机器学习方法
在架构层面,监督式机器学习方法主要分为两类:用于快速系统建模的机器学习和作为设计方法的机器学习。
• 用于快速系统建模的机器学习:该方法利用机器学习快速估计电路和系统的性能和功耗指标。
• 机器学习作为一种设计方法:在微架构设计中,机器学习技术有助于创新解决方案。
在高级综合中,利用机器学习模型快速估算设计指标的应用日益普遍。这些研究凸显了机器学习在涵盖广泛设计指标方面的多功能性,并强调了其在设计过程早期提供全面洞察的能力。
此外,机器学习的作用还延伸到促进高层次综合(HLS)中的设计空间探索(DSE)。这种方法无需进行详尽的综合运行即可更有效地评估设计方案。
在张量计算领域,HASCO [78] 将机器学习应用于设计系统工程 (DSE)。该方法优化了软件程序和硬件加速器,展现了机器学习弥合软件和硬件领域差距、实现系统性能优化的能力。
RTL 阶段的机器学习方法
在 RTL 阶段,涌现出许多创新的机器学习解决方案,无需进行逻辑综合即可预测性能参数 (PPA)。此外,人们还致力于将机器学习应用于精确的时序或逻辑估计 [83]、[84]。
RTL阶段的功耗建模也备受关注。主要分为两大类:设计时功耗估算和运行时片上功耗建模。
在 RTL 测试和验证领域,Fine 等人 [94] 探索的贝叶斯网络提供了一种基于概率模型的覆盖率测试生成方法,强调了机器学习在优化测试计划方面的潜力。Design2Vec [95] 通过学习 RTL 设计的语义抽象进一步推进了这一发展,从而促进了功能预测和高效测试生成,显著缩短了验证周期。Katz 等人 [96] 基于决策树的微架构行为学习方法则体现了机器学习在提高测试激励质量方面的实用性。
网表(Netlist)-阶段的机器学习方法
在网表阶段,监督学习方法已被用于应对一系列挑战,包括逻辑综合、结果质量 (QoR) 预测、验证支持和安全问题。
基于机器学习的模型在评估综合质量和影响优化过程方面尤为有效。近期的一些进展,例如 AlphaSyn [100],将蒙特卡洛树搜索与定制学习策略相结合,用于面积缩减,展现了将机器学习与启发式搜索技术相结合进行综合优化的潜力。此外,SLAP [101] 旨在通过识别和利用候选切割方案来提升设计时序,从而在工艺映射过程中获得更优的综合结果。他们后续的工作 [102] 进一步证明了机器学习模型能够精确定位布线后的时序关键路径,并将工艺映射工作集中在这些区域以最大限度地减少延迟。DeepGate2 [17] 开发了一个预训练模型,用于预测网表中逻辑门的行为相关性,并优先执行 SAT 扫描过程以加速帧优化操作。
在逻辑综合之后,人们正在开发创新的机器学习解决方案,以预测先前未知的电路网表的物理后设计质量。 此外,机器学习方法在从位级网表中提取高级抽象方面展现出了卓越的能力,从而在 EDA 的各个领域释放了新的潜力。这些高级抽象对于增强功能验证、逻辑最小化、数据通路综合以及检测电路中的恶意逻辑至关重要。这些方法的成功主要归功于图神经网络 (GNN) 能够识别网表中复杂的结构模式和关系,凸显了机器学习 (ML) 在提升 EDA 流程效率和智能性方面的变革性影响。
布局阶段的机器学习方法
布局阶段是一个关键阶段,机器学习方法已被越来越多地应用于预测或优化各种设计指标,例如线长、可布线性、时序和 IR 压降。
机器学习在布局阶段的增强 布局阶段决定了宏单元和标准单元在布局中的最佳位置,对于实现所需的设计指标至关重要。机器学习的早期应用旨在增强传统的布局策略。
机器学习还有助于预测后期布线阶段的设计指标,从而有利于迭代改进和早期优化。许多研究探索了早期布线可布线性预测。
时序是布局的另一个重要指标。在布局阶段的预布线时序预测领域,已经涌现出多种利用不同特征和机器学习技术的建模方法。
机器学习在签核(sign-off)增强中的应用:在布线和签核阶段,签核时序的精度,特别是使用基于路径的静态时序分析 (PBA) 时序的精度,变得至关重要。然而,PBA 过程耗时较长,因此需要应用机器学习模型,基于更快速的基于图的分析 (GBA) 结果来预测基于路径的时序。
此外,IR压降分析是最终验收阶段的关键组成部分。已有若干研究利用机器学习技术探索快速IR压降估计方法,并根据不同的需求,分别侧重于静态或动态分析。
机器学习在可制造性提升中的应用:在面向制造的设计 (DFM) 领域,利用机器学习 (ML) 已成为增强光刻和制造工艺可靠性的关键,布局模式通常以图像形式进行分析。为了识别容易出现短路或开路等印刷故障的布局模式,许多研究探索了机器学习增强的光刻热点检测方法。
跨阶段机器学习方法
除了特定阶段的应用外,机器学习在设计流程优化(ML4EDA)方面也产生了显著影响,引起了广泛关注。验证是整个设计过程中的关键环节,机器学习也被应用于验证电路设计的正确性。
强化学习在EDA中的应用
强化学习(RL)在EDA领域已成为一种强大的方法,能够有效应对逻辑综合和物理设计中固有的庞大解决方案空间,并常常能够发现超越传统直觉方法的创新解决方案。Synopsys.ai [152] 等创新成果凸显了这一趋势,展示了人工智能驱动的方法,从而提升了整个设计流程中的PPA指标。
在逻辑综合方面,Liu等人提出的PIMap框架[153]通过图划分和迭代综合操作选择来优化基于查找表(LUT)的FPGA,并利用并行化提高效率,从而展示了强化学习的应用。Yu等人提出的FlowTune[154]则采用多阶段多臂老虎机(MAB)策略来限制搜索空间并简化综合过程。 Pei等人提出的AlphaSyn[100]利用了领域特定的蒙特卡洛树搜索(MCTS),而Zhu等人提出的方法[155]则将逻辑综合建模为基于图卷积网络(GCN)的马尔可夫决策过程(MDP),两者都展现了强化学习(RL)在深入探索综合策略方面的能力。Hosny等人提出的DRiLLS[156]以及Peruvemba等人[157]等后续工作进一步扩展了这一探索,在RL模型中引入了约束和优化目标,以微调综合结果。RL也被应用于逻辑优化挑战。例如,Haaswijk等人[158]和Timoneda等人[159]利用策略梯度方法和GCN优化多数反相器图(MIG),展示了RL对各种逻辑结构的适应性。
在物理设计领域,强化学习的应用范围十分广泛,从Mirhoseini等人[160]所展示的芯片布局规划自动化,到GoodFloorplan[161]等布局规划流程中最小化面积和线长,均有涉及。Agnesina等人[162]利用强化学习优化物理设计流程以提升PPA指标,以及Lu等人[163]开发的RL-Sizer用于门尺寸优化,都凸显了强化学习在改进物理设计流程方面的潜力,包括时序优化[164]和RL-OPC流程中的掩模优化[165]。对于时钟树综合,研究工作主要集中在预测时钟网络的质量,并通过利用时钟偏移来增强时序优化。
在EDA中利用大语言模型
将生成式人工智能(尤其是大语言模型 (LLM))集成到集成电路 (IC) 设计中正成为一种变革性趋势。通过利用专有数据集,IC设计公司可以开发人工智能助手来增强和加速设计流程。这些工具能够提供深入的洞察,并自动化和改进传统的手动任务,例如设计概念化和验证。因此,越来越多的研究探索LLM在EDA中的应用,涵盖了包括RTL代码生成、任务规划、脚本生成和缺陷修复在内的广泛任务。尽管仍处于早期阶段,但这些研究凸显了LLM在提高EDA工具效率和效能方面的巨大潜力。
LLM在RTL代码生成中的应用是一个重点关注的领域。它将研究分为LLM辅助的RTL设计生成和验证两类。此外,还有LLM在生成EDA脚本和高层架构设计方面的应用。
基于大语言模型的RTL生成
大语言模型的出现开启RTL代码生成的新时代,其解决方案有望重新定义传统方法。
该领域的早期探索主要集中于针对简单设计任务评估模型,但由于缺乏标准化的基准测试,这一探索受到限制。近年来,随着RTLLM [167] 和VerilogEval [168] 等综合基准测试的引入,这一挑战得到了解决,从而能够更稳健地比较大语言模型在复杂设计任务中的能力。RTLLM 的突出之处在于,它提供了一个包含30个详细设计任务的开源基准测试,并附带用于功能验证的真实RTL代码。它强调三个核心目标:语法正确性、功能准确性和设计质量,并通过诸如自规划等创新的快速工程技术,实现了性能的显著提升。同样,VerilogEval 通过收集来自不同来源的Verilog代码来构建100多个测试用例,从而扩展了评估框架。该方法通过收集额外的RTL代码进行模型训练,其性能与GPT-3.5等先进模型相当,但其训练数据和模型仍未公开。
商业化的LLM被用于RTL生成,最初尝试使用GPT-2进行代码补全,结果令人鼓舞[169]。后续发展引入了ChipGPT[170]和AutoChip[171]等工具,这些工具利用GPT-3.5通过快速工程和反馈循环来改进代码生成,进一步减少了人工干预的需求。Chip-Chat[172]利用GPT-4设计微处理器的成就凸显了LLM自主生成硬件描述语言的潜力。
近年来,转向微调开源LLM为定制模型开发提供一种可行的替代方案,解决了VLSI设计中的隐私问题。 Chip-NeMo [173]、RTLCoder [174] 和 BetterV [175] 等项目已展现出显著的进步,它们采用领域自适应技术和自动化训练数据集生成来提高 LLM 在 RTL 代码生成方面的效率和性能。
利用 LLM 增强验证
LLM 的应用不仅限于 RTL 代码生成,还扩展到验证过程。这些模型有助于功能正确性和安全性分析,展现了其在增强设计验证方面的多功能性和深度。
通过 LLM 进行功能验证:LLM 通过将自然语言规范转换为 SystemVerilog 断言 (SVA),在功能验证方面取得了显著进展。此过程确保 RTL 实现符合其预期规范。值得注意的是,[176] 和 [177] 利用人工编写的规范语句以及 RTL 设计来生成精确的 SVA。AssertLLM [178] 采取了一种主动方法,甚至在 RTL 设计阶段之前,就直接从全面的规范文档中生成断言。该方法辅以基准测试集,该测试集将自然语言规范与黄金 RTL 实现相匹配,从而为评估断言生成提供了一个强大的框架。此外,LLM 在解决布尔可满足性 (SAT) 问题 [179] 方面取得了成功,该问题可用于验证算术电路。
利用LLM进行安全验证:安全验证对于识别和缓解常见漏洞枚举(CWE)至关重要,而LLM的集成也使其受益匪浅。Ahmad等人[180]证明了LLM能够修复硬件安全漏洞,前提是已知漏洞的位置。进一步的研究包括利用ChatGPT推荐安全的RTL代码[181]以及在硬件安全断言生成中使用LLM[182]。后者开发了一个评估框架和基准测试套件,涵盖了真实世界的硬件设计,展示了LLM在安全验证工作中做出重大贡献的潜力。
EDA脚本生成和架构设计
基于LLM的解决方案在EDA领域的通用性还体现在EDA脚本生成和高级架构设计等任务上。
EDA脚本生成:ChatEDA[183]引入了一种基于LLM的智体,旨在通过自然语言实现EDA工具控制,为传统的TCL脚本提供了一种替代方案。该智体支持从RTL代码到图形数据系统版本II (GDSII) 的一系列操作,涵盖自动化任务规划、脚本生成和任务执行,使EDA工具更易于使用且效率更高。
架构设计:GPT4AIGChip [184] 利用LLM生成用于AI加速器高级综合的C代码。类似地,Yan等人[185]研究了LLM在优化内存计算(CiM)深度神经网络加速器中的应用,展示了该模型在提高计算效率方面的潜力。Liang等人[186]进一步拓展了研究范围,深入探索量子架构设计,探索量子计算的前沿领域。SpecLLM [187]通过提供不同抽象级别的架构规范数据集,研究LLM在生成和审查这些规范方面的能力,为这一日益增长的研究领域做出了贡献。
人工智能在专用电路中的应用
AI4EDA 的出现也为重新定义专用电路(包括标准单元、数据通路组件和模拟电路)的设计和优化提供了独特的机会。
人工智能在标准单元中的应用
由于标准单元的高密度和严格的布线要求,人工智能在标准单元设计(尤其是在布局布线方面)的应用面临着一系列独特的挑战。研究表明,利用强化学习的人工智能辅助方法可以改进布局顺序和布线性能,从而提供更好的线长性能 [188]。此外,强化学习方法还被用于解决布线后的 DRC 违规问题 [189],简化布线过程,并支持使用 A* 或迷宫布线以获得最优解决方案。机器学习技术也促进了 DRC 规则的适配,简化了标准单元布局在不同工艺节点间的迁移 [190]。人工智能应用的一个显著领域是标准单元布局的评估,机器学习模型可以快速评估性能,而无需进行详细的仿真。
人工智能在数据通路电路中的应用
基于机器学习的方法正逐渐成为优化数据通路电路设计的强大工具,能够显著提升效率和性能。通过利用数据通路电路独特的功能和结构,人工智能可以促进更有效的设计优化过程。
人工智能在模拟电路中的应用
人工智能与模拟集成电路设计自动化的融合标志着一项关键性的进步,它提高了算法的效率和有效性。这种融合利用了图和图像数据表示,镜像了电路拓扑和布局[195],以应对模拟设计固有的挑战——即性能评估缓慢和搜索复杂度高。
人工智能在模拟拓扑生成中的应用:人工智能与模拟拓扑生成技术的融合正在革新该领域,它能够加快评估过程,聚焦于更高效的搜索空间,并改进优化技术。在众多方法中,变分图自编码器(VGAE)已被用于电路拓扑的生成。这些进展表明,人工智能在简化复杂拓扑的生成方面具有巨大的潜力,包括包含多个子电路的大型电路的拓扑生成。
人工智能在模拟电路尺寸优化中的应用:人工智能在模拟电路尺寸优化领域发挥着关键作用,尤其是在机器学习(ML)作为代理模型和强化学习(RL)用于直接优化方面。机器学习模型,特别是前馈神经网络,已被训练得非常出色,能够精确地逼近电路性能指标。这些模型在推理模式下运行时,能够预测新的、未知的设计点,从而提高搜索过程的效率[203]。另一方面,强化学习(RL),特别是通过 GCL-RL 算法,将强化学习技术与图神经网络相结合,从而能够巧妙地优化不同技术领域中的模拟电路尺寸。这种协同作用利用了图神经网络强大的能力,将电路拓扑结构封装在优化框架内 [204]。此类方法以及其他以强化学习为中心的方法,都旨在实现全局探索和局部利用之间的微妙平衡,这种平衡对于在模拟电路尺寸优化任务中实现采样效率至关重要。创新策略,例如使用 Voronoi 树分解设计空间和使用蒙特卡洛树搜索 (MCTS) 来缩小局部搜索范围,凸显了为更高效地驾驭庞大的高维优化空间而采用的复杂策略 [205]。该领域的进展和所采用的各种方法在专门的章节中得到了全面的回顾,深入探讨了机器学习在模拟电路尺寸优化应用中的重大进展和技术 [206]。
人工智能在模拟电路布局自动化中的应用:人工智能在模拟电路布局自动化中的应用显著增强了约束提取、布局和布线等流程,相关内容已在文献[207]中进行了详尽的综述。
对于模拟电路布局中的约束提取,基于图的方法对于识别网表中的对称性至关重要。这些方法包括图相似性分析、编辑距离计算和用于器件匹配的无监督学习,以及用于预测布局约束的卷积图神经网络[208]。文献[209]对这些技术进行了详细的综述。
机器学习在模拟电路布局中的作用还体现在自动化模仿专家设计、电路性能建模以及优化布局流程等方面。GeniusRoute[210]利用变分自编码器进行布线预测,模拟人类的专业知识,从而影响布局设计的各个方面,包括阱生成[211]、布局策略[212]和单元生成流程[213]。卷积神经网络(CNN)和图神经网络(GNN)被用于预测设计性能,从而优化布局并最大限度地减少对大量仿真的依赖[214][215]。机器学习(ML)对模拟布局中性能驱动的布局和优化的显著影响在[216]中得到了深入探讨。
最后,解决模拟集成电路设计中布局前和布局后仿真之间的差距至关重要。机器学习可以直接从原理图预测布局后的寄生参数,从而提高仿真精度并加快设计速度。例如,ParaGraph[217]采用GNN进行精确的寄生参数预测,并使用集成模型来预测特定值范围的寄生参数。利用CNN[218]进行早期性能断言以及利用BagNet[219]进行布局感知优化,结合深度神经网络和进化算法,可以简化设计流程。TAG结合了文本、自注意力网络和GNN,以实现全面的电路表示,从而辅助进行各种预测[195]。
AI4EDA解决方案展现出巨大的潜力,在各种任务中都取得了令人瞩目的成果。然而,这些解决方案大多侧重于特定任务,虽然在特定应用领域有效,但往往限制了其可扩展性和对各种设计挑战的适应性。
进军大型电路模型(LCM)领域标志着与以往AI4EDA解决方案的重大突破,迈向更加集成化和AI原生化的设计流程。大型电路模型(LCM)中的“大型”一词既指模型规模庞大,也指从各种EDA阶段收集的用于电路预训练的大量电路数据。这种基础模型概念有望构建一个超越任务导向限制的统一框架,确保LCM具有鲁棒性、通用性,并且能够在有限的微调下处理现代电路设计的各种任务。
研究动机
尽管人工智能辅助设计自动化(AI4EDA)领域取得了长足进步,但由于其主要依赖于将来自不同领域的机器学习模型重新应用于EDA挑战,因此仍存在固有的局限性。这种方法需要为每个特定的EDA任务开发不同的模型。虽然这些模型在基准数据集上已展现出有效性,但它们对新设计的泛化能力仍然令人担忧。电路数据固有的计算和结构的独特组合需要更深入的理解,而这超越了通用人工智能解决方案的能力范围。例如,如果对电路设计的细微差别缺乏深刻理解,就将LLM模型应用于RTL生成,通常无法获得最佳的PPA结果。
大型基础模型(例如BERT[2]、GPT[5]和MAE[8])的出现重新定义了人工智能的格局,提供了一种分阶段的方法:首先在多样化的数据上进行广泛的预训练,然后针对特定任务进行有针对性的微调。这种方法论在各种数据类型的突破性进展中发挥了关键作用,预示着人工智能应用的新时代。GPT-4V [13] 和 Gemini [14] 等多模态基础模型的引入进一步印证了这一趋势,它们通过协调不同类型的数据,实现了以前难以想象的应用。
受这些发展的启发,其提出通过采用大型电路模型(LCM)来实现向人工智能原生EDA的范式转变。LCM专注于学习全面的电路表示,旨在封装电路在每个设计阶段的复杂细节和独特特性。借鉴CLIP模型在连接文本和视觉方面的成功经验,LCM旨在EDA领域实现类似的融合,将高级功能规范与物理布局的细节相结合。这种整体方法不仅有望优化EDA工作流程,而且旨在显著缩短产品上市时间,并提高整体设计质量,例如PPA和电路可靠性。
通过推广 LCM(逻辑编码模型),正站在 EDA(电子设计自动化)革命的风口浪尖,超越特定任务的限制,拥抱一个由 AI 原生解决方案驱动电路设计创新、效率和卓越性的未来。
LCM 概述
EDA 工作流程涵盖从初始规范到最终详细布局的各个阶段,涉及多种电路设计格式,每种格式都需要 LCM 中不同的编码器。这些编码器旨在处理特定的模式——规范、架构设计、高级算法、RTL 设计、电路网表和物理布局——它们是 LCM 的核心组件。为了有效利用每种设计模式固有的各种数据,LCM 必须经过预训练,重点关注通用而全面的设计知识。这不仅涉及对每种模式中细微差别的浅层理解,更需要对其进行深度编码。例如,在电路网表模式中,编码后的表示必须同时包含电路的功能意图和物理结构。这种深入的理解有助于为后续的设计任务奠定更准确、更连贯的基础。
利用 LCM 的下一步是将这些单模态表征融合并对齐,形成一个连贯的多模态表征 [23]。这一过程对于弥合设计过程中不同阶段之间的差距至关重要,它采用了共享表征空间、跨模态预训练和创新融合策略等先进技术。这些方法旨在将各个模态中捕获的信息综合成一个统一的、可操作的框架,从而指导从概念到完成的设计过程。
由于规范、RTL 代码、网表和布局设计是前端和后端流程中的代表性格式,概述三个主要的对齐挑战:
• 规范-高级逻辑系统-RTL 表示对齐:利用 Transformer 固有的转换自注意力机制,该方法旨在协调架构设计、高级 C/C++ 原型和 RTL 设计的表示。这个统一的空间使得这些模式能够共存和交互,从而促进设计阶段之间的无缝过渡。
• RTL-网表表示对齐:受突破性 CLIP 模型的启发,该挑战利用对比学习和掩码预测训练策略。目标是将 RTL 设计和电路网表的嵌入映射到一个共享的潜在空间,从而确保从逻辑设计到物理实现的连贯性。
• 网表-布局表示对齐:最终的对齐挑战聚焦于确保物理布局能够精确反映网表中详细设计的关键步骤。这种对齐对于设计的物理实现至关重要,它体现了从理论模型到可制造的实际电路的转变。
通过正面应对这些对齐挑战,LCM有望彻底革新EDA工作流程,实现以往无法企及的全新应用和方法。
机遇与潜力
通过积累从各种电路类型中获得的知识,并将跨阶段学习应用于各种设计模式,LCM 的潜力可以扩展到设计和验证的各个方面:
• 增强验证:LCM 有望通过利用对电路设计的深入跨阶段理解来革新验证方式。这使得验证流程更加精简,显著减少迭代次数,并增强在设计周期早期发现设计缺陷的能力。
• 早期且精确的 PPA 估算:LCM 对设计数据的全面洞察使其能够提供早期且准确的 PPA 预测。这种能力确保关键设计决策从一开始就基于充分的信息和战略考量,并与最佳设计目标保持一致。
• 简化优化:通过精确定位影响 PPA 的真正瓶颈,LCM 可以促进有针对性的优化。这不仅加快了设计优化过程,而且确保改进措施在不同的设计阶段得到有效实施,从而提高整体设计质量。
• 创新设计空间探索:LCM 所蕴含的智能为广阔的设计空间探索打开了大门。设计人员能够发现巧妙平衡 PPA 权衡的新型架构,从而促进电路设计的创造力和创新。
• 生成式设计方案:LCM 最具革命性的方面或许在于其能够支持生成式模型,从而自主构建高效且创新的电路。这有望大幅缩短新芯片设计的上市时间,在快速发展的半导体行业中获得竞争优势。
本质上,LCM 不仅代表着技术进步,更代表着电路设计和验证方法的范式转变。然而,LCM 潜力的充分发挥取决于用于电路表示学习的复杂 AI -原生技术的开发,这促使 EDA 社区探索并利用这些尚未开发的潜力。
迈向人工智能原生EDA范式的征程始于稳健的单模态电路表示学习的必要发展。这些基础表示是构建预期多模态LCM的基石。
前端设计的表示学习
电路设计始于规范和架构设计阶段,在此阶段,高层功能意图得以明确。此时,源自自然语言处理的技术至关重要,它们可以将规范转换为结构化的、机器可解释的表示。
随着深入设计层次,表示学习必须能够巧妙地适应日益精细的细节。在 SystemC 和 RTL 阶段,表示的重点转移到涵盖电路的逻辑和行为细节。在此领域,诸如写代码的LLM、图神经网络和混合模型等机器学习范式变得至关重要,它们能够巧妙地捕捉复杂的逻辑结构及其相互关系。
面向架构设计的表示学习
架构的性能和功耗本质上依赖于特定的应用场景。为了优化目标应用的功耗、性能和功耗之间的权衡,架构设计人员通常会使用详细的仿真工具,并辅以丰富的领域专业知识。这种传统方法虽然全面,但往往耗时且容易出现人为错误。LCM的出现提供了一种新的范式,它通过深入了解应用工作负载和架构配置之间微妙的交互作用,促进了对架构设计空间的快速探索。因此,LCM 必须封装能够适应各种架构设计的应用工作负载表示。
在架构设计相关的任务中,人们已经开展了多项研究。另一方面,一些研究深入探讨了架构表示。然而,现有研究在工作负载和架构表征方面仍然面临挑战:
• 许多模型难以解释诸如分支预测错误和缓存未命中等对性能至关重要的因素,这些因素与更广泛的历史状态相关,难以通过静态执行快照捕获。有效的LCM必须掌握这些长期且复杂的关系,才能准确地表示应用程序工作负载。
• 应用程序工作负载与功耗之间的复杂关系尚未得到充分研究。理想的 LCM 不仅应整合针对不同应用程序工作负载定制的功耗相关因素(例如翻转率和动态电压波动),还应概括功耗和性能之间复杂的相互作用,从而确保对这两个方面进行统一建模。
• 当前方法主要集中于直接分析源代码或仿真轨迹,忽略了经验丰富的架构设计师多年积累的大量领域知识。LCM应旨在融合这些分散的知识,从而在准确性和可解释性方面促进更高效的表征学习。
在架构探索阶段,重点应放在开发能够精确反映硬件设计多维特性的表示方法上,不仅要捕捉静态特征,还要捕捉系统内部的动态交互。为了实现这一点,应该采用先进的机器学习技术,处理并整合来自各种数据源的信息,包括代码结构、运行时行为和架构参数。这一过程涉及构建多层嵌入,以反映硬件系统的层次结构,从单个组件到整个架构。这些表示方法应通过监督学习和非监督学习任务相结合的方式进行学习,旨在突出硬件性能和运行特性的不同方面。通过这种方式,LCM 可以提供对设计空间的丰富而细致的理解,引导设计人员找到能够同时优化性能、功耗和面积的解决方案。
HLS/RTL 的表示学习
HLS 和 RTL 代表了数字电路设计过程中的两个关键阶段。 HLS 提供了一种更高层次的抽象,它利用 C、C++ 或 SystemC 等高级编程语言来描述硬件系统的功能和行为。相反,RTL 提供了一种更细粒度的视图,它使用 Verilog 或 VHDL 详细描述寄存器之间的数据流以及对这些数据的操作。从 HLS 过渡到 RTL 时,设计人员通常使用 HLS 工具将更高层次的表示综合成其对应的详细 RTL 代码。
为了将深度学习融入到对 HLS/RTL 表示的理解和优化中,可以探索两种创新方法。一种方法将代码解释为一系列token,类似于自然语言中的单词,从而可以将 NLP 技术应用于 HLS/RTL 代码。掩码语言建模 (MLM) 是该领域一种特别有效的策略,它在模型训练期间隐藏某些token,从而促使基于 Transformer 的编码器(例如 BERT)推断出缺失的token。这种自监督学习方法能够生成蕴含硬件设计语义本质的丰富表示,捕捉HLS和RTL层面的功能细微差别。另一种方法是将HLS/RTL设计表示为控制数据流图(CDFG),从而提供图形化的视角,映射出设计中的控制和数据依赖关系。在此,高级图神经网络(GNN)发挥作用,从CDFG中描绘的复杂交互和依赖关系网络中学习。这种方法能够提取体现设计复杂结构和运行逻辑的全面表示,为后续的优化和综合任务奠定坚实的基础。
前一种token视图更符合高层规范,并包含更多语法信息。通过应用擅长捕捉全局关系的语言模型,可以获得涵盖设计整体行为和功能的表示。此外,学习的表示将有助于提高基于注意机制的模型的泛化能力和可扩展性。另一方面,图视图更接近底层门级表示,包含更多结构和语义信息。与语言模型相比,图神经网络 (GNN) 更侧重于提取局部信息。
为了增强学习的表示有效性,可以考虑采用多视图学习技术来融合这两种视图。融合这些视图有多种策略。最简单的方法是将从每个视图获得的表示连接起来,并将它们输入到多层感知器 (MLP) 中。这允许融合来自两个视图的信息,从而发挥它们各自的优势。另一种更复杂的方法是跨模态预测,它促进了两个视图之间更深层次的交互。通过跨模态预测,模型被训练成基于一个视图预测另一个视图,从而鼓励探索表示之间共享的信息和依赖关系。通过采用多视图学习技术,可以最大限度地发挥学习的表示潜力,并创建更统一、更丰富的 HLS/RTL 表示。
学习的HLS/RTL表示可为各种下游任务提供广泛的应用。例如,它们可用于直接从HLS/RTL预测PPA,从而高效地估计这些关键的设计指标。此外,学习的表示还可用于形式化验证,以验证设计的正确性和功能行为。
电路网表表示学习
在网表层面,设计扮演着连接前端设计阶段和后续后端流程的关键角色。将机器学习集成到逻辑综合、物理设计或验证中,需要对网表的图拓扑结构以及门电路功能有深入的理解。这种双重关注确保网表既包含前端设计中至关重要的高级行为,也包含对后端设计中性能、性能和精度 (PPA) 产生深远影响的复杂结构。
DeepGate Family [16]、[17] 等项目处于构建通用门级表示的前沿。第一个版本 [16] 针对与反相器图 (AIG) 格式的电路,并创新性地采用随机仿真结果来预训练电路网表,其中逻辑 1 概率作为标签,封装了关键的功能和结构信息。这种预训练策略使 DeepGate 能够捕捉门级电路设计的核心属性,从而可以在各种前端应用(例如逻辑验证 [224] 和可测试性设计 [225])中进行后续的微调。
DeepGate2 [17] 通过解耦网表中的功能和结构表示,并利用专门的标签学习每种表示的独特嵌入,进一步改进了这种方法。功能嵌入利用成对真值表相似性进行监督,将功能相似的网表在功能嵌入空间中紧密排列。这种排列有助于区分行为上的相似性和差异。同时,结构嵌入预测成对重收敛,反映网表中逻辑单元之间的拓扑细微差别和复杂互连关系。除了 DeepGate 系列之外,FGNN [226] 引入了一种新颖的对比学习任务,该任务专注于区分功能等效电路和功能不等效电路,并通过策略性扰动来生成逻辑等效的电路变体,从而丰富数据集。如图所示:
技术映射之后,网表被转换为针对目标技术优化的形式,这为表示学习带来了新的挑战和机遇。这一阶段至关重要,因为它直接影响设计的最终 PPA 结果。虽然我们仍然可以将映射后的网表表示为有向图,并利用类似于 DeepGate 的基于 GNN 模型来学习通用表示,但映射后网表的复杂性(其特征在于其特定于技术的原语和配置)需要复杂的表示学习技术来准确捕捉这些转换的细微差别。
虽然逻辑综合的主要重点一直是优化组合逻辑,但电路的时序行为也是需要表示的关键方面。 DeepSeq [106] 在 DeepGate 技术的基础上进行了扩展,阐明了时序网表中的时间相关性。这一进步得益于对每个逻辑门和存储单元同时利用转换概率和逻辑 1 概率进行监控。其中,转换概率揭示了电路的状态转换行为,而逻辑 1 概率则阐明了电路的功能和拓扑特性。这种细致入微的方法使得 DeepSeq 能够巧妙地编码时序电路的复杂动态和行为,这对于下游应用(例如网表级功耗估算和可靠性分析)至关重要。
后端设计的表征学习
进入物理设计阶段后,表征学习将面临电路布局的几何和空间复杂性。卷积神经网络 (CNN) 和视觉Transformer (ViT) 在此阶段尤其擅长捕捉空间关系和关键拓扑结构。其目标是将物理设计的本质提炼成一种表征,该表征不仅反映布局的复杂性,还能提供可操作的见解,以进行进一步的优化和改进。
在每个设计阶段精心构建单模态表征,可以编织出丰富的电路知识图谱。现有研究已探索了单模态学习在预测各种因素方面的应用,例如可布线性、IR压降和光刻热点 [114]、[135]、[227]。尽管后端设计包含许多具有不同几何抽象级别的设计阶段,但现有研究大多集中于单个阶段。在将后端表示学习应用于实际设计应用之前,还有一些关键问题需要解决。为了便于理解,将布局表示学习任务与图像计算机视觉任务进行比较。
现代布局由具有层属性的直线形状组成,用于表示布局和布线信息。这些形状需要遵循最小宽度、间距、面积等设计规则。形状的细节至关重要。布局表示编码器需要捕捉布局中的这些细节变化。此外,布局中的每个形状都位于一个层上。层类似于图像的 RGB 通道,因此一种直接的方法是将每一层的形状编码到一个通道中。然而,现代布局通常包含 20 多个层,包括金属层和过孔层,这远远超出了图像的典型情况。
与计算机视觉中可以调整大小而不丢失主要信息的图像不同,布局的尺寸会随着设计比例的变化而变化,例如 256 × 256、1024 × 1024、4096 × 4096 以及更大的尺寸。简单地调整布局(例如图像)的大小会丢失大量信息,因为不同设计比例的布局中的单个像素可能对应于制造工艺定义的相同几何分辨率。布局表示编码器需要以通用的方式处理各种布局尺寸,以便在不同的设计上进行训练。
芯片设计的布局包含几何信息和拓扑信息(例如互连),其表示也需要与其电路图对齐。例如,如果相邻层(例如金属层和过孔层)的两个几何形状位于相同位置,则它们被视为连接在一起。布局表示编码器应该能够识别形状之间的这种拓扑相关性。同时,后端设计包含多个阶段,布局中的几何信息从抽象到具体不断演变,细节也越来越多,每个阶段的表示也应该彼此对齐。
这些问题给学习后端设计的通用表示带来了挑战,也需要LCM所特有的多维对齐。
在电路设计领域,从单模态表征学习转向多模态融合方法,为创新提供了沃土。该策略旨在将每个设计阶段的不同表征融合为一个连贯统一的叙事,确保设计阶段之间的无缝过渡。这种融合不仅保持了信息的一致性,还通过增强设计的连贯性丰富了设计过程。
实现多模态电路对齐
多模态电路学习概念的核心在于理解所有设计阶段,尽管形式各异,但都具有共同的功能目标。通过应用复杂的特征提取和对齐技术,可以克服表征学习中通常出现的语义脱节。这确保了原始设计意图不仅得以保留,而且在整个设计生命周期中得到强化。机器学习模型的应用,特别是那些利用可扩展自注意力机制和联合嵌入空间的模型,有望引领电路设计朝着更加集成和整体化的方法发展。
实现这种一致性的一个潜在解决方案是在不同模态中使用掩码建模。这项技术借鉴了自然语言处理领域的成功应用[228],其原理是选择性地隐藏输入数据的部分模态信息,然后训练模型预测这些被隐藏的部分。通过将此方法应用于电路设计的各种表示形式——从自然语言规范、高级算法和RTL实现到详细的物理布局——模型可以学习到一种联合表示,这种表示能够捕捉不同抽象层次的设计过程的本质。这种联合表示对于模型理解从高级规范到详细实现的过渡至关重要,使其能够更精确、更高效地应对电路设计的复杂性。
然而,如何将高级设计映射到具有不同PPA特性的多个低级实现形式,是一个巨大的挑战。为了解决这个问题,模型需要具备识别和评估不同设计选择所带来的权衡取舍的能力。将强化学习技术与多模态学习框架相结合可以提供解决方案。通过将 PPA 指标的优化设置为奖励函数,该模型可以学习在各种可能的实现方案空间中导航,识别出最符合指定标准的解决方案。此外,引入注意力机制可以增强模型跨模态关注相关特征的能力,从而提高其预测实现方案的能力,这些方案不仅满足功能需求,还能优化 PPA 目标。通过这些方法,电路设计中的多模态对齐不再仅仅是一个理论概念,而是可以成为推动该领域发展的实用工具。
考虑到不同设计模态之间的巨大差异,一步完成对齐是一项艰巨的挑战。为了解决这个问题,其提出一种分阶段的多模态对齐方法,将过程划分为三个不同的阶段:“规范-HLS-RTL 表示对齐”、“RTL-网表表示对齐”和“网表-布局表示对齐”。由于 RTL 设计包含高级语义,而网表更适合与后续后端设计对齐,因此该策略采用这两种设计作为中间媒介,从而简化对齐过程,提高工作效率。通过将对齐过程分解为多个阶段,可以专注于设计流程中的特定转换,从而针对每个阶段更精准地应用机器学习技术。这种分阶段的方法不仅使对齐任务更易于实现,而且确保设计过程的每个阶段都能得到最佳对齐,最终获得更连贯、更高效的设计成果。通过精心实施该策略,旨在弥合各种设计模式之间的差距,最终构建一个更加集成、无缝的电路设计环境。
规范-HLS-RTL 表示对齐
从概念规范到 RTL 实现的过渡是一个复杂的过程,涉及自然语言规范、架构探索、SystemC 等高级语言以及 Verilog 和 VHDL 等硬件描述语言。在多模态框架内利用LCM能够显著优化不同阶段的设计转换,从而提升设计流程的质量、效率和速度。LCM构建了一个统一的表示空间,确保前端设计元素在各种格式下的和谐集成。这种统一的方法不仅简化了电路元件间复杂关系的捕获,还加速了设计生成,增强了优化效果,并简化了验证流程,实现了电路设计方法论的飞跃。
在此阶段对齐表示形式的一个重要应用是显著提升RTL生成效率。如前所述,现有的RTL生成技术仅仅是对HDL代码上的大语言模型进行微调,而这一过程缺乏对电路特定性的理解。借助对齐的表示形式,可以为HDL代码设计更精细的token化策略,从而更深入地理解和表示硬件设计的复杂性。该方法超越了现有方法的能力,生成的RTL代码不仅语法准确,而且语义丰富,与初始规范和高层设计意图紧密契合。这些进步有望提升自动生成RTL代码的精度和适用性,确保设计从一开始就兼具优化性和可验证性。
此外,C2RTL验证过程受益于LCM提供的对齐表示,解决了从高级规范到RTL转换的关键挑战。该验证阶段需要对自然语言规范、C/C++等高级编程语言以及RTL实现中的功能行为进行全面比较。传统上,在EDA框架内,这种比较既费时又容易出错,这主要是由于高级抽象功能描述与低级详细硬件特定实现之间的脱节。弥合高级和低级电路表示之间的这种差距一直是EDA领域长期面临的挑战。
将具有多模态对齐功能的LCM引入到该过程中,为C2RTL验证引入了一种变革性的方法。通过协调电路功能在不同阶段的表示,这些模型显著简化了验证过程。LCM能够通过仔细比较生成的RTL表示与其对应的高级表示,来识别并解决差异。Transformer技术增强了这一能力,该技术以其能够根据相关性选择性地关注输入的不同部分而闻名。这种聚焦式关注使得模型能够集中精力于预期功能与其RTL实现之间差异最显著的区域,从而为设计人员提供精确的洞察和解决方案。该方法不仅减少了传统C2RTL验证所需的时间和精力,而且提高了验证过程的准确性和可靠性,标志着在确保电路设计完整性和性能方面取得了显著进步[182],[229]。
RTL-网表表示对齐
RTL-网表表示对齐阶段对于弥合RTL、AIG网表和映射后网表之间的差距至关重要。这种对齐为众多应用铺平了道路,显著影响早期PPA估算、设计优化和验证过程。
RTL-网表对齐的主要优势之一是增强了早期功耗、性能和面积 (PPA) 估算。通过将 RTL 设计阶段到网表级别的表示进行对齐,设计人员可以在开发周期的早期阶段深入了解其设计的潜在功耗、性能和面积特性。这种早期洞察有助于做出更明智的决策,从而对设计进行调整,最终实现最佳的 PPA 结果。这种主动调整可以显著减少后期耗时耗力的修改,从而简化设计流程并加快产品上市速度。
除了早期 PPA 估算之外,RTL-网表对齐还为更复杂的设计优化策略打开了大门。通过清晰地了解 RTL 设计如何转换为网表实现,设计人员可以更深入地识别和解决效率低下的问题。这种洞察力使得应用针对性优化成为可能,从而提高设计的整体质量和效率。此外,利用在对齐数据集上训练的机器学习模型可以实现某些优化任务的自动化,进一步提高设计的效率和效果。
最后,RTL 和网表表示的一致性显著提升了验证过程。通过全面理解设计意图如何在网表中体现,验证团队可以制定更准确、更高效的测试策略。这种一致性不仅确保了验证过程更快,而且更彻底,从而降低了错误进入后续阶段的可能性。基于对一致性表示的深入理解,及早发现并解决潜在问题的能力对于维护设计的完整性和可靠性至关重要。
网表-版图表示一致性
将电路网表与其物理版图保持一致,这不仅仅是一个愿景,更是 EDA 领域的一项变革性举措。在传统的 EDA 工作流程中,代表电路逻辑抽象的网表和代表电路具体几何形状的物理版图被视为独立的实体。然而,现代集成电路日益增长的复杂性凸显了逻辑域和物理域之间更紧密集成的必要性。
通过将网络表与物理布局对齐,设计人员可以更深入地理解电路的逻辑功能和物理形式之间的关系。这种对齐方式能够提供统一的设计视角,将逻辑和物理方面结合起来考虑,而不是孤立地看待它们。
此外,逻辑信息和物理信息的集成为设计优化开辟了新的可能性。通过呈现整个设计空间的集成图景,设计人员可以探索更广泛的可能性并做出更明智的决策。这种全面的视角使设计人员能够在设计过程的早期识别并解决潜在的瓶颈或问题,从而提高质量和效率。集成网表-布局信息的重要意义的一个具体例子是布线前时序预测。布线前时序预测旨在设计过程的早期阶段准确评估潜在的签核时序违例,从而减少设计周期并避免代价高昂的迭代。传统的布线前时序评估方法(例如静态时序分析)主要关注网表信息,即表示设计中单元之间互连的信息。然而,这些方法通常忽略了布局信息在时序预测中的关键作用。由于大多数时序优化技术需要空间来插入或调整门电路的大小,因此反映空间信息的电路布局对签核时序性能有很大的影响。忽略布局信息会导致时序预测不准确和设计决策欠佳。通过网表布局表示的对齐,LCM 可以提供更精确的签核时序性能估算。这使得设计人员能够在设计过程早期识别并解决时序问题,从而降低签核违例的可能性,并减少耗时的迭代次数。
总之,电路设计中向多模态融合的演进不仅代表着技术进步,更代表着对如何优化设计流程以提高效率、创新性和一致性的重新构想。这种方法具有革新该领域的潜力,在于它能够将不同的数据类型和设计阶段整合到一个统一的框架中,从而为设计方法和实现方面的突破铺平道路。
尽管目前尚缺乏大量的实证数据,但LCM的潜在应用可以通过假设场景和概念框架生动地展现出来。
- 用于布尔可满足性 (SAT) 的电路学习
- 用于逻辑综合的大型电路模型 (LCM)
- 用于等效性检查的大型电路模型 (LCM)
- 用于物理设计的大型电路模型 (LCM)
探索专业电路领域揭示了各种独特的电路设计,这些设计超越 EDA 工作流程中常见的标准数字电路。标准单元设计、数据通路电路、存储器宏和模拟电路都具有独特的特性,需要定制化的方法。将大型电路模型 (LCM) 扩展到这些专业领域,预示着设计效率和优化将得到显著提升。
- 用于标准单元的大型电路模型
- 用于数据通路电路的大型电路模型
- 用于模拟电路的大型电路模型
模拟 EDA 与数字 EDA 既有相似之处,也有不同之处。与数字工作流程一样,模拟 EDA 也包含前端网表设计和后端版图设计。模拟大型电路模型 (LCM) 也需要跨越不同设计流程阶段的整体解决方案。相反,与主要由逻辑驱动的数字电路相比,模拟电路具有不同的数据结构和性能评估方式。在模拟电路中,器件级拓扑结构和物理实现至关重要。晶体管、电容器和电阻器的子结构决定了电路的功能,因此,详细的图结构(例如网络基元)和器件参数对于模拟逻辑电路模型(LCM)的捕获至关重要。此外,模拟电路涉及各种类型和评估,不同的性能评估需要特定的电路实现。
模拟电路设计是一门艺术,它将对器件物理的复杂知识与预期应用的微妙之处相结合。模拟电路的LCM必须捕捉这种深度知识,并将其转化为能够驾驭具有连续变量和严格性能指标的模拟设计空间的模型。这些模型可以预测从器件级到系统级规范的模拟行为,辅助布局生成,并自动执行繁琐的模拟参数调整过程。通过这样做,LCM可以大幅缩短设计时间并提高模拟电路的性能,而模拟电路的性能一直是混合信号芯片设计的瓶颈。
TAG [195] 代表早期开发用于模拟EDA的电路表示模型的尝试。它引入一种网表嵌入机制和“预训练后微调”策略,将嵌入向量应用于各种应用场景。然而,它缺乏跨所有设计阶段的统一、对齐的表示,其有效性受限于初始预训练目标——布局距离。与用于模拟电路的综合大型电路模型(LCM)相比,其潜在应用范围较为有限。
如图展示其对未来模拟大型电路模型的愿景。这些模型本质上是多模态的,能够处理来自不同设计阶段的各种数据结构。文本和图结构可以表示网表,而图像可以用于布局设计。模拟 LCM 将这些输入转换为向量,并将设计映射到统一的嵌入空间。生成的电路嵌入向量可以支持不同电路类型(例如放大器、锁相环和模数转换器)的各种下游任务,从而满足从拓扑设计到布线的各种应用需求。

探索LCM的过程充满挑战与机遇。这条道路上布满荆棘,例如数据稀缺、可扩展性问题以及与现有探索性数据分析 (EDA) 工具的互操作性问题,但每克服一个挑战,都将为新的机遇铺平道路。
- 数据问题
- 可扩展性和互操作性
- 新机遇
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐
所有评论(0)