⏶2
Spec2RTL-Agent:使用大型语言模型代理系统从复杂规范自动生成硬件代码
发表
由
Zhongzhi Yu 提交
作者:
Zhongzhi Yu, Mingjie Liu, Michael Zimmer, Yingyan Celine Lin, Yong Liu, Haoxing Ren
摘要
尽管最近在使用大型语言模型(LLMs)生成硬件RTL代码方面取得了进展,但现有解决方案在实际应用场景与真实世界RTL代码开发需求之间仍存在巨大差距。先前的方法要么侧重于过度简化的硬件描述,要么依赖大量人工指导来处理复杂规范,这限制了它们的可扩展性和自动化潜力。在本文中,我们提出一个名为Spec2RTL-Agent的LLM代理系统来解决这一差距,该系统旨在直接处理复杂的规范文档并生成相应的RTL代码实现,从而推动基于LLM的RTL代码生成走向更实际的应用环境。为实现这一目标,Spec2RTL-Agent引入了一个新颖的多代理协作框架,该框架集成了三个关键使能器:(1)一个推理和理解模块,将规范转换为结构化的分步实施计划;(2)一个渐进式编码和提示优化模块,通过多重表示迭代细化代码,以增强RTL转换的正确性和可综合性;以及(3)一个自适应反射模块,在生成过程中识别并追溯错误的来源,确保更稳健的代码生成流程。我们的系统并非直接从自然语言生成RTL,而是策略性地生成可综合的C++代码,然后针对HLS进行优化。这种代理驱动的精炼与朴素的直接RTL生成方法相比,确保了更高的正确性和兼容性。我们在三个规范文档上评估了Spec2RTL-Agent,结果显示它生成的RTL代码比现有方法减少了高达75%的人工干预。这凸显了它作为首个从非结构化规范生成RTL的全自动多代理系统的作用,从而减少了硬件设计中对人力的依赖。
尽管基于LLM的RTL代码生成取得了进展,但现有方法通常依赖于简化输入或大量人工干预,限制了实际应用。我们提出Spec2RTL-Agent,一个自动化的LLM智能体系统,它直接处理复杂的规格文档以生成RTL代码。它具有一个多智能体框架,包含三个关键组件:(1) 一个推理模块,将规格转化为结构化的实现计划;(2) 一个渐进式编码模块,用于迭代细化;以及 (3) 一个自适应反射模块,用于错误追踪和修正。该系统不直接生成RTL,而是生成可综合的C++代码用于HLS,提高了正确性和兼容性。Spec2RTL-Agent在三个真实世界规格上进行评估,将人工干预减少了高达75%,使其成为首个从非结构化规格生成RTL的全自动化系统。