LLM 智能体在 3 个 RTL 设计上实现 100% 功能覆盖率
Independent Data-Integrity Verification for LLM-Driven Functional Coverage Closure in Hardware Design
用 LLM 自动写测试把硬件覆盖率拉满,还靠独立记分板查数据对不对,作者连自己代码里的 bug 都揪出来了。
论文描述了一个 LLM 覆盖率闭环智能体,通过读取 cocotb-coverage YAML 仿真报告而非模型自述来获取覆盖率,并用独立记分板检查数据完整性。在异步 FIFO、UART 发送器和 AHB2APB 桥三个 RTL 设计上,该智能体将覆盖率从 91.7%、88.9% 和 67.4% 提升到 100%,8 次迭代内完成。附加的记分板监视器还在作者自己的激励代码中发现一个跨时钟域 bug。论文也承认局限:仅三个设计、无基线对比、无消融实验,且监视器尚未接入 LLM 生成的测试。
Independent Data-Integrity Verification for LLM-Driven Functional Coverage Closure in Hardware Design
LLM agents can write directed tests that close functional coverage, but coverage only shows that a state was reached, not that the data on the way there was correct. This is a long-known point in verification and we do not claim it as new. We describe a small coverage-closure agent that applies it to an LLM loop: coverage is read from the report that the simulation itself exports (cocotb-coverage YAML) and never taken from the model's account, and data integrity is checked by scoreboards that are separate from the model. On three architecturally distinct RTL designs (an asynchronous FIFO, a UART transmitter and an AHB2APB bridge) the agent raised coverage from 91.7%, 88.9% and 67.4% to 100% within its 8-iteration budget in every logged run, using one design-agnostic agent. A reactive scoreboard monitor attached to the FIFO's base testbench also found a clock-domain-crossing bug in the author's own stimulus code. The monitor is not yet attached to the LLM-generated tests, so their data integrity is not independently checked; one manual check on a single FIFO test is reported as preliminary. We list the weaknesses of this evidence: three designs, no baseline, no ablation, and logged runs that come from several agent checkpoints.