EDA开发流程中的多模态AI
RTL 编码是半导体开发的关键步骤,但许多人认为这并不是最困难的一步。随着您越来越接近实施,并且系统上下文变得比仅通过文本可以理解的要大,事情会变得更加复杂。在这两种情况下,布局、时间、功率和许多其他因素都会发挥作用,但没有一个是文本更容易表示的,而且它们不遵循相同的规则。
正如流行的格言所说,“一张图片胜过千言万语”,这可能是非常保守的。框图、时序图、波形、状态图、流程图、平面图、布局、热图——用作输入和输出的图形形式列表非常广泛。人工智能需要能够理解并生成它们。
这句格言也可以从另一个角度看待。图片以及所有其他格式都可以用不同级别的文本表示。波形只不过是一个值更改转储文件,而该文件又是一个按时间顺序排列的信号转换列表。同样,图片可以被视为一组像素,也可以被视为以有损抽象格式表示图像的已识别对象。
人工智能模型一直在迅速发展,它的一些最初实际用途不是基于文本的。他们正在解决与手写检测、语音识别和生成相关的问题。当 ChatGPT 第一次进入公众的视野时,它只是文本的。它在其他格式上的表现非常差。
人工智能模型开发已经分散。分离的系统通常被部署用于图像识别、文本处理、音频处理、推理和文本生成。这些的集成带来了挑战,并显着增加了计算负载和功耗,这是业界越来越关注的问题。
第二个问题是当今使用的大多数人工智能系统都不了解物理学。虽然最新的模型应该具备这些知识,但很明显,多物理场推理超出了它们今天的能力范围。物理学与我们使用的许多替代表示交织在一起。布局表示晶体管或 IP 块相对于其他块的位置,但性能受到这些其他块的影响。此外,其他块可能会影响开发流程后期阶段的其他决策。在这两种情况下,它们都会在很长一段时间内被活动修改。
人工智能模型一直在迅速改进,那么今天的人工智能在处理这种多模态、多物理场问题方面处于什么位置?它是否准备好处理电子设计和实现面临的一些问题?
为什么多模态很重要
在理想情况下,我们会有一个清晰明确的规范,可以输入到基于 AI 的流程中,但事实并非如此。“我与许多用户讨论过从设计规范开始的代理工作流程,图像几乎总是会出现,”Cadence 软件工程组总监 Andy Penrose 说。“很明显,架构框图、FSM 流程图和时序图都包含规范文本中可能缺少的重要信息。对于规范驱动的设计和验证自动化来说,图像处理不是可选的。
多模态人工智能是人工智能的新趋势。“在过去的一年里,我们加倍努力将尖端的多模态人工智能研究转化为生产级 EDA 工具,”ChipAgents 首席执行官 William Wang 说。“我们首先完善了一个 PDF 解析引擎,该引擎可以从时序图、架构框图和密集的规格图中提取意图,并在 DAC 上首次推出了我们的新波形代理,它能够在几分钟内摄取和推理超过 GB 甚至 TB 的仿真转储。这种能力基于我领导的 TabFact 工作,其表格理解技术现在支持了大多数前沿法学硕士——在我以前的博士生发明的 Apple 的 MGIE 中,它为语言引导的图像编辑设定了标准,以及我们为 Google 的 Gemini 构建的 VaTeX 评估工具。通过将这些创新与 RTL 验证的特定领域知识相结合,我们可以缩小人性化的视觉工件和机器驱动的设计自动化之间的差距。
这是一个根本性的转变。在某些情况下,开头没有文本。“人类对框图等表示非常满意,”ChipStack 联合创始人兼首席技术官 Hamid Shojaei 说。“事实上,当我们开始在谷歌从事 TPU 项目时,对于第一代产品,我们根本没有任何书面规范。它只是一个框图,显示了 TPU 项目中的不同 IP 以及它们如何相互通信。没有文字,只有一个框图,这就是我们开始的地方。
今天,人们非常关注 RTL 的编码。“前端有很多初创公司,”西门子 EDA IC 验证和 EDA AI 产品主管 Sathish Balasubramanian 说。“他们声称可以进行 RTL 生成,而且他们可以,因为这只是编码。他们什么都不在乎。有很多开源示例可用,有了它,您可以更快地创建原型。它有价值,但很有趣。你得到的是洋葱的外层。但是,当你接近物理领域时,要获得正确的答案,还涉及更多参数。
通过查看流程中的各个功能,用图形增强的文本的价值变得清晰。“对于验证,图像、表格、状态转换图等在两个领域非常有用,”ChipStack 联合创始人兼首席执行官 Kartik Hegde 说。“第一个是设计意图提取,即了解设计的作用。在这个过程中,了解框图和状态转换图非常重要,它们不容易表示为文本。我们需要识别所有这些技术才能理解规范。第二个方面是波形。这很特别,因为它同时捕获了空间和时间。这在调试中非常重要。一旦我们生成了测试计划和测试平台并运行它们,如果某些东西失败了,我们就必须弄清楚为什么某些东西失败了。在此过程中,我们需要了解每个变量随时间变化的状态,为此您需要进入波形。
验证是流程中资源最受限的方面之一,因此受到了很多关注。“多模态人工智能对验证最有价值,因为它可以让工具读取与工程师读取的相同规格,”Normal Computing 机器学习主管 Thomas Ahle 说。“这包括 PDF 文本、计时图、州图和登记地图。然后,您可以将这种理解转化为刺激、覆盖范围和 RTL 代码。
优化通常涉及受多模态约束影响的迭代。“如果你考虑构建一个人工智能代理,它本质上是一组形成流程的单个提示的超级集合,”西门子的 Balasubramanian 说。“他们可以查看结果,获得反馈,采取许多行动。例如,一个简单的平面图到整个布局和布线流程,要求代理能够理解设计的所有抽象、不同的数据库、所有不同的信息源。这包括日志文件、PDF、带图像的 PDF、GDSII 和拥堵图。代理需要了解更多,并且需要能够理解所有错综复杂的内容,从编写 RTL 断言或编写时序约束 (SDC),到能够理解它们及其对综合的影响。反过来,合成意味着能够选择正确的单元,为此它需要能够理解 .lib,并根据时序和功率属性选择单元。
在实施方面还有很多工作要做。“在更广泛的行业中,大多数非文本人工智能都专注于物理设计,”Normal Computing 的高级人工智能工程师 Doyun Kim 说。“这是布局可以表示为图像的地方,布局是不同层中数十亿个矩形的集合。但物理设计的人工智能开发通常仅限于预测任务,例如功率或拥塞估计,其普遍性受到可用训练数据的多样性和数量的限制。
生成非纹理输出
在可预见的未来,人类将继续参与设计和验证,在许多情况下,人类对图形的理解比对文本的理解更好。图形输出至关重要,因为它有助于理解,并且可以提供高于 RTL 的抽象水平。
在 1990 年代,EDA 公司试图从 Verilog 生成状态图。他们是一次糟糕的失败。状态图从来都不是按照人类想要的方式布置的。设计师会花太多时间试图摆弄已经生成的东西,以至于不值得。
“让法学硕士原生生成有助于理解的图像或图形并不是一个可行的方法,因为它们无法以非常精确的方式做到这一点,”ChipStack 的 Hegde 说。“他们真正擅长的是编写代码。LLM 可以直接摄取图像,但不擅长非常精确地生成图像。因此,我们重新生成代表这些图像的代码,然后需要找到渲染它们的方法。
这种帮助程序需要良好的接口。“API 可以提供巨大的帮助,使我能够读写,”Balasubramanian 说。“例如,FSDB 是一种非常流行的波形格式。FSDB 有一个读取器和写入器。代理需要同时访问读取器和写入器 API。信息的解释相当简单。一旦我有了这些规则,它就类似于我们的学习方式。我们知道信号的 FSDB 语法。当过渡发生时,我们知道它位于时间轴上的位置。这相当简单。
但这是关于一种独立方式的格式。“FSDB 不能孤立无援,”Balasubramanian 补充道。“FSDB 需要设计上下文。假设我正在加载一个 RISC-V 内核并进行顶级性能模拟。加载后,您将拥有输入,其中包括设计参数、测试台架,并且您拥有包含日志文件的整个会话。如果我查询任何信号,它会给你该特定会话的答案。有了人工智能代理,事情可以走得更远。他们可以访问整个内存进行验证。也许有人请求在此特定模式下以 1GHz 的速度执行特定运行。我可以轻松地再次运行它。或者我可能知道它之前尝试过,但由于架构不够好而存在一些问题。
推理
:人类和人工智能希望研究不同的表示形式。“我不确定人工智能是否应该在图形数据上运行,”弗劳恩霍夫 IIS 自适应系统工程部门小芯片卓越中心负责人安迪·海尼格 (Andy Heinig) 说。“人类通常需要图形解释才能看到模式。但人工智能可以非常有效地处理底层数据,也许我们只是通过这种图形表示丢失了一些信息。人工智能还可以学习底层数据并找出底层数据(例如波形)上的模式。他们没有理由绘制波形,因为人工智能可以直接使用数据点并对这些数据点进行推理。对于布局,一切都由点表示,这是人工智能真正可以在底层数据结构上学习的东西。
不过,这些模型确实必须与它们试图解决的问题保持一致。“LLM 是广义推理引擎,”Hegde 说。“如果你以这种方式使用它们并解决任何复杂的问题,你可以将其分解成更细粒的部分。将有一个抽象层,广义的法学硕士非常擅长做某事。现在让我们举一个波形的例子。您必须了解给定波形中发生的情况。法学硕士尚未接受过高质量波形的培训。他们没有看到这些数据。但你可以以一种问题和子问题是法学硕士可以解决的方式构建这个问题。
这导致了几种方法。“数据访问对于 LLM 推理至关重要,”AllSpice 首席技术官兼创始人 Kyle Dumont 说。“但是,如果法学硕士无法理解它所呈现的数据,那么用途就会受到限制。这个问题有两种解决方案:
构建一个转换器以转换为易于理解的模式(更容易),以及
微调模型以在特定编码(硬)上训练它。
一些法学硕士对常见格式(例如 PDF 解析)采用了上述解决方案。然而,特定于硬件的推理需要翻译人员来获取必要的数据。图像解析非常昂贵,并且可能会提供有缺陷的推理。输入层的错误会对输出响应的质量产生放大的影响,因此最好在通用模式(例如 XML 或 CSV)中提供文本接口。
工作仍有待完成。“在芯片设计和验证过程中,除了文本之外,我们还会遇到许多不同类型的数据——原理图、门级网表、布局和图表,”Normal 的 Kim 说。“它们通常以其原始格式具有语义意义,并且可以表示为文本。如果我们想出一种好的文本表示,可以很好地捕获其原始语义,类似于化学中分子的 SMILES 表示,它允许使用基于文本的处理来处理下游任务,从而减少对额外、昂贵的计算层的需求。
培训和专业化
在半导体行业之外,通过最大限度地使用数据量来改进培训。“每个设计团队,甚至公司内的设计团队,都有自己的设计风格和设计指南,而这些通常与他们想要设计的产品有关,”弗劳恩霍夫的海尼格说。“我预计我们在这里需要不同的风格,而这只能根据公司内部数据进行训练。混合和匹配来自不同公司的数据不是一个好方法,因为这不是公司真正想要的。我预计每家公司都希望有自己的风格。例如,如果您正在设计一个高能效的边缘处理器,这与高性能 CPU 有很大不同。如果将所有训练数据混合在一起,就会得到混合数据。但不是很具体。
对此有不同的方法。“有两种方法可以制定这种指导,”Balasubramanian 说。“一种本质上是通过微调使其成为法学硕士的一部分。试图让 LLM 更多地了解特定架构,例如 RISC-V。第二种方法是创建一个复杂的 RAG 框架。当你输入一个标识符说我正在使用 AMBA 总线协议进行 RISC-V 验证时,它应该能够返回并查看,“它是否有任何关于 RISC-V 的先验信息,以及 RISC-V 的 AMBA 总线协议?我们制定所有规则并不断添加到知识数据库中。
在验证中,可以创建大量数据集。“我们有潜力生成庞大的合成数据集,”Normal 的人工智能工程师 Hrolfur Eyjolfsson 说。“验证中的大部分视觉信息,如时序图和状态空间,实际上都是从一些代码开始生成的。这意味着我们可以创建自己的训练数据,而不是依赖稀缺的现实世界示例。
“可以训练模型以独立于代码来理解文本信息、图表和波形,”Normal 的 Ahle 补充道。“这对代码数据的需求更小。但是,代码数据非常稀疏。这也意味着我们必须采取强化学习方法,系统可以通过与现有工具和系统的交互来学习,而不仅仅是直接对代码进行微调。
进步
该行业发展迅速,但并非所有行业都在同步发展。这可能会产生一些问题。“最新的前沿模型可以非常擅长多种模式,但此类模型可能无法在安全的设计环境中使用,”Cadence 的 Penrose 说。“这是我们从研发原型到生产所面临的挑战之一。”
它还需要 EDA 行业内不同的思维方式。“我们过去看到的非常闭环系统的日子已经一去不复返了,”Balasubramanian 说。“它需要更加灵活,更能适应用户的需求。如果你在三个月后和我谈谈,我会有一套不同的问题,一套不同的意见,因为我们仍在学习。我们都在学习,包括我们作为供应商或客户。当我们尝试部署它时,我们每天都在学习。
评论