论文
VSpector:RISC-V CPU 规范驱动的错误检测
VSpector: Specification-Driven Bug Detection for RISC-V CPUs
摘要
检测开源 RISC-V CPU 实现中的 RTL 设计错误对于确保系统可靠性至关重要。传统的检测方法本质上依赖于预定义的工件。在本文中,我们利用官方的自然语言 RISC-V 规范作为错误检测的有效信息源。我们提出了 VSpector,一种规范驱动的错误检测管道,可直接检查 CPU 寄存器传输级 (RTL) 实现是否遵守官方规范规则,而不需要专门构建参考模型、形式属性或自定义错误模式。为了解决使用大型语言模型 (LLM) 时广泛上下文范围和模型推理准确性之间的关键技术权衡,VSpector 在四阶段管道中采用了逐步上下文细化方案:规则提取、实现本地化、候选者识别和顺序违规审核。我们在两种工业级 RISC-V CPU(CVA6 和香山)上评估 VSpector。在 217 名举报候选人中,人工检查确认了 148 名真实违规行为,准确率为 68.2%。这些违规行为对应于 73 个不同的错误,其中包括 42 个以前未知的错误。在我们的比较实验中,最先进的 CPU 模糊器 DiveFuzz 在每个 CPU 24 小时运行期间没有检测到这些新错误。所有 42 个新错误均已向上游报告,开发人员已经修复了 19 个并确认了另外 11 个(总共 30 个),这表明规范驱动的审核是 CPU 错误检测的一种实用且补充的策略。