电子设计自动化(Electronic Design Automation, EDA)是全球范围内极具专业化和技术密集度的行业。长期以来,全球EDA市场由Cadence、Synopsys和Siemens EDA等几家国际巨头主导。EDA工具通过实现高层次综合、逻辑综合、逻辑仿真、电路布局与布线、时序分析等一系列功能,将芯片设计流程划分为多个精细阶段。现如今,由于高性能芯片的短生命周期和对于性能、功耗、面积(Performance Power Area, PPA)的严格要求,如在后端阶段才发现设计存在缺陷或不满足PPA约束,就导致工程师必须回溯至前面的阶段进行修改,这会延误产品上市时间,有时甚至需要重启整个项目。所以EDA在科研、产品设计与制造等各方面都发挥着巨大的作用。
AI技术的发展为解决这些挑战带来了新的机遇,AI能够分析大量设计案例,在广阔的设计空间中进行预测和分析,这有望对EDA工具产生革命性的影响。如图所示,尽管目前“AI4EDA”已经成为EDA领域的研究热点之一,但这些方法大多专注于单一任务的优化,未能充分考虑电路设计的整体连贯性和多阶段复杂性,这就限制了“AI4EDA”对设计流程的整体提升。现如今,AI已经进入“大模型时代”, 相对于传统的监督学习,大模型的训练不针对特定任务,而是通过自监督学习在海量数据上进行训练,通过学习通用的“压缩数据表征”,从而在多个任务上泛化。受这些模型成功案例的启发,学术界和工业界开始尝试将其扩展应用于多模态领域,包括文本、图像、音频等多种数据类型的综合理解和生成。
近期也有不少学者提出将大语言模型直接应用于电路设计与分析,但由于无法精准捕捉到电路设计中的细节和深层次规律,效果并不理想。此外,电路设计的错误或不足可能会导致昂贵的返工成本,甚至项目失败。因此,设计过程中的准确性和可靠性至关重要,现有大模型的固有“幻觉”问题带来的影响也更严重。这就需要我们开发专门针对电路设计优化的AI模型,能够深入理解电路的功能和行为,从而在设计阶段就预则和避免潜在的问题。
本文提出构建一个专为电路设计与优化的大模型:大电路模型(Large Circuit Model, LCM)。本文将EDA设计流程视为一个多模态转换过程:从自然语言规格说明到模块化架构设计,再到硬件描述语言编写的RTL代码,直至最终的物理设计布局,每个阶段都以不同的模态表达同一功能,但实现层次和细节各有侧重,即:层次越高,包含更多功能语义信息;层次越低,包含更多实现细节。
如下图所示,构建大电路模型的基础是收集海量电路设计数据。本文团队已经收集开源电路、人工设计电路与自动生成电路中累计超1亿行设计代码,并基于完整的EDA工具链搭建电路多模态数据生成框架。团队计划设计编码器在各个阶段学习通用表征,并通过弱监督以及自监督学习深入理解单一模态的数据。最终,团队将利用不同阶段的功能等价性这一关键性约束来对齐和整合各种模态的表征。
大电路模型将专注于解决EDA流程中最为重要的优化与验证问题,推动EDA工具的能力向前迈进一大步。例如,工程师希望能够在设计早期阶段预估最终电路的PPA,以便及时调整电路设计。大电路模型将通过学习海量电路的多模态设计,能够在不运行EDA工具的情况下,在设计早期,甚至RTL阶段预测逻辑综合和布局后的PPA,帮助工程师做出更明智的决策。此外,团队计划开发基于大电路模型的智能验证系统,通过数据驱动的方式,能够精准识别并定位电路设计中可能出现的错误,包括那些传统验证方法难以发现的细微缺陷,进而可以大幅缩短设计验证周期,提高设计团队的工作效率,加速产品的上市进程。
采用这种创新方法,如图所示「AI原生」的大电路模型不仅将为电路设计各个环节带来精细化的洞见,还将实现信息的有效整合和跨阶段的智能转换,从而实现数据驱动的设计优化。尤其值得注意的是,当前国产EDA工具与国际领先企业之间的主要差距在于那些难以言传的know-how,而这一点正是AI原生大电路模型的强项。通过利用大数据驱动的训练,大电路模型有潜力自动化地发掘和学习大量有意义的know-how,有望缩短与国际领先企业之间的技术差距,甚至实现技术跨越,推动国产EDA工具达到国际先进水平。
本文作为Position Paper旨在探究大电路模型的动机与可行性,虽然目前尚未实现完整的大电路模型,作者在文中提供了一些潜在的应用与初步结果。
大电路模型学习在电路网表这一单模态上可以通过分析历史验证数据来识别SAT求解过程中的模式和瓶颈,进而指导求解器更高效地搜索求解空间。例如,我们可以基于大电路模型中预训练的网表编码器训练一个强化学习Agent,寻找最优综合流将一个CircuitSAT问题实例变换成另一个等价但更容易求解的电路,实现CircuitSAT问题的预处理。试验中,作者收集了300个CircuitSAT问题,包括逻辑等价性验证(LEC)和自动测试向量生成(ATPG)。如下图所示,与不经过预处理的求解流程(Baseline)和传统的电路预处理流程(Comp.)相比,本文策略(Ours)能明显降低总的求解时间。
大电路模型在物理后端设计中可以通过预测后续步骤的结果来指导当前步骤做出优化,替代传统物理设计需要跑完全部流程才能获得最终结果的方式,从而减少迭代时间并加快设计流程。例如,我们基于大电路模型对版图布局结果进行表征,使用预训练的方式设计一种的多目标预测模型,从而跨阶段评估版图布局之后各个阶段的质量。试验中,我们选取了三个子目标,即布线拥塞预测,设计违例预测和线长估计作为预测任务。我们在各自子任务中与当前的sota方法进行对比,我们的多目标预测模型能实现10%的预测性能提升。
除此以外,大电路模型也有希望针对某一类特定电路来生成优化的设计。例如,高性能加法器采用前缀树结构加速进位计算,高性能乘法器或乘加单元采用并行累加树加速部分积求和过程,优化树结构可以显著提高整体系统的性能和效率。大电路模型可通过分析海量历史设计,以数据驱动的方式学习合法树结构的数据分布。针对特定的应用需求(如最小化延迟或功耗),预训练的大电路模型可通过隐空间采样算法,生成最佳适配结构。通过“数据增强-拟合分布-条件采样”的自举流程,大电路模型有望在现有最优设计基础上实现进一步优化。如下图所示,我们将首次采样得到的电路(蓝色)作为增强数据再次训练,从而获得更优的电路设计(红色)。截至目前,团队在基于大电路模型的运算电路自动生成上已收集上万条训练数据,上述方案已经成功生成面积和延时更优的8位/16位运算电路,超过了已有最先进的运算电路生成方案。
为了根据设计代码,自动化设计更好的电路,EDA过程往往需要高效求解预测、优化等问题。相比AI4EDA算法,大电路模型在预测、优化和设计空间探索方面具有惊人的性能,同时也为许多 NP 完全(NPC)问题生成高质量解决方案上具有巨大潜力。后续团队将继续围绕“如何学习不同模态的电路数据,将不同模态的电路数据在表征空间上按照功能对齐、并学习与电路结构和功能相关的先验知识”、“如何将大电路模型学到的先验知识应用在逻辑验证中,并提升验证工具的效率”、“如何将大电路模型学到的先验知识应用在逻辑综合中,实现设计左移、保证自动电路生成的准确率”三个关键科学技术问题和技术路线,进一步对大电路模型进行研究。预期成果包括但不限于面向设计左移的电路指标预测与优化工具和多模态电路改写技术,电路SAT求解引擎、基于大电路模型的跨模态逻辑等价性验证工具。
文章以“Large circuit models: opportunities and challenges”为题发表在SCIENCE CHINA Information Sciences 2024年第10期大模型芯片与系统专题“Special Topic: AI Chips and Systems for Large Language Models”上,欢迎关注!
本文转自:中国科学信息科学公众号
原文链接:https://mp.weixin.qq.com/s/q-HwkFwaq44yzAZLwDQNCA