Skip to main content
QUICK REVIEW

[论文解读] Evaluating LLMs for Hardware Design and Test

Jason Blocklove, Siddharth Garg|arXiv (Cornell University)|Apr 23, 2024
VLSI and Analog Circuit Testing被引用 4
一句话总结

该论文评估了当前最先进的大语言模型(LLMs),特别是 ChatGPT-4 和 ChatGPT-3.5,在端到端硬件设计与测试中的表现,通过自然语言提示生成功能性的 Verilog 模块和测试平台。结果表明,尽管 LLM 能够生成可工作的设计(经由 Skywater 130nm 工艺的硅片流片验证),但在测试平台生成方面表现持续不佳,需频繁依赖人工反馈才能实现正确性。

ABSTRACT

Large Language Models (LLMs) have demonstrated capabilities for producing code in Hardware Description Languages (HDLs). However, most of the focus remains on their abilities to write functional code, not test code. The hardware design process consists of both design and test, and so eschewing validation and verification leaves considerable potential benefit unexplored, given that a design and test framework may allow for progress towards full automation of the digital design pipeline. In this work, we perform one of the first studies exploring how a LLM can both design and test hardware modules from provided specifications. Using a suite of 8 representative benchmarks, we examined the capabilities and limitations of the state-of-the-art conversational LLMs when producing Verilog for functional and verification purposes. We taped out the benchmarks on a Skywater 130nm shuttle and received the functional chip.

研究动机与目标

  • 探究 LLM 是否能够仅通过自然语言规范自主生成功能性的硬件设计和全面的测试平台。
  • 通过仿真和硅后验证,评估 LLM 生成的 Verilog 代码和测试平台的可靠性和正确性。
  • 评估人工反馈在提升 LLM 执行硬件验证任务性能方面的角色。
  • 提供开源基准、工具链脚本和对话日志,以支持 LLM 辅助 EDA 的可复现性和未来研究。
  • 识别当前 LLM 在硬件设计与验证工作流中的关键失败模式和局限性。

提出的方法

  • 设计了一套包含 8 个代表性硬件基准的测试集(例如:4选1 MUX、8位加法器、有限状态机、掷骰子模块),并提供纯文本形式的规格说明。
  • 采用 LLM 的反馈循环机制:提示生成 Verilog 设计和测试平台,使用 iverilog 编译,进行仿真;若出现错误,则提供工具反馈或人工反馈。
  • 应用三种反馈层级:无需反馈(NFN)、工具反馈(TF)和针对持续错误的简单人工反馈(SHF)。
  • 使用一致的提示对多个运行中的模型(包括 ChatGPT-4、ChatGPT-3.5、HuggingChat 和 Google Bard)进行评估。
  • 通过 Tiny Tapeout 3(一个 130nm 开源流片计划)对表现最佳的设计进行流片,以在硅片上验证其功能。
  • 收集并开源所有对话日志、Verilog 文件和脚本,发布于 Zenodo,以支持可复现性和基准测试。

实验结果

研究问题

  • RQ1LLM 能否直接从自然语言规格说明生成正确且可综合的 Verilog 代码?
  • RQ2LLM 在多大程度上能够生成全面且正确的测试平台,以完全验证功能正确性?
  • RQ3不同反馈机制(工具反馈、人工反馈)在纠正 LLM 生成的设计与测试平台错误方面的有效性如何?
  • RQ4LLM 生成的硬件代码和测试平台中最常见的失败模式是什么?这些模式在不同模型之间有何差异?
  • RQ5LLM 生成的设计是否能够成功流片并在硅片上正常工作,从而验证端到端工作流的可行性?

主要发现

  • ChatGPT-4 在 24 次对话中成功生成了 12 次通过仿真且符合规格的代码,其中 11 次仅需工具反馈即可完成。
  • ChatGPT-4 在测试平台生成方面表现显著不足,24 次对话中有 12 次需要人工反馈,且许多测试平台未能正确验证有限状态机中的状态转换。
  • ChatGPT-3.5 表现更差,大多数对话失败,且因测试平台行为不一致或错误导致大量不符合规范的通过结果。
  • ChatGPT-4 生成的掷骰子模块测试平台存在缺陷,导致输出非随机(例如重复出现 1,或形成小周期),尽管设计代码本身正确。
  • 硅后测试确认,所有流片设计在硬件中均按预期工作,与仿真结果一致,验证了整个端到端流程的可行性。
  • LLM 运行结果的非确定性以及缺乏针对测试平台模式的一致训练数据,被识别为影响可靠性的关键限制因素。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。