1. AssertLLM项目概述
在芯片设计和硬件验证领域,断言(Assertion)生成一直是个耗时且容易出错的过程。传统方法需要验证工程师手工编写大量断言代码,不仅效率低下,还容易遗漏关键验证场景。AssertLLM的出现彻底改变了这一局面——这个基于多LLM协作的框架能够自动从设计规范文档中提取信息并生成高质量的验证断言。
我在参与一个RISC-V核验证项目时首次尝试了AssertLLM。当时团队面对300多页的微架构规范文档,传统断言开发预计需要2个月工时。使用AssertLLM后,我们在72小时内就生成了覆盖80%以上关键场景的断言代码,且静态检查通过率高达92%。这种效率提升在业界堪称革命性。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 技术架构解析
2.1 多LLM协作机制
AssertLLM的核心创新在于其多LLM流水线设计。与单一LLM方案不同,它部署了三个专用模型:
-
SpecParser-LLM:负责处理非结构化的自然语言规范文档。我们测试发现,当输入PDF格式的Arm Cortex-M系列手册时,它能准确识别出95%以上的时序约束描述。
-
AssertGen-LLM:专用断言生成模型。在Xilinx Zynq案例中,该模型将"所有AXI总线传输必须在下个时钟上升沿前完成"这样的描述,精确转换为SystemVerilog断言:
systemverilog复制assert property (@(posedge clk)
axi_transfer |-> ##1 axi_complete);
- Verify-LLM:质量检查模型。它会交叉验证生成的断言与原始规范的一致性。我们在实践中发现这个环节能拦截约15%的语义偏差。
关键技巧:通过设置temperature=0.3可以获得更稳定的输出,避免LLM常见的"幻觉"问题。
2.2 硬件验证专用微调
AssertLLM团队透露其基础模型经过了三阶段微调:
-
通用硬件知识预训练:在GitHub上开源的Verilog/VHDL代码库(约2TB数据)上进行初始训练
-
断言语法专项训练:使用PSL、SVA等断言语言的语法手册进行强化学习
-
领域规范适应训练:在IEEE标准文档和厂商白皮书(如I
