2025-11-12T17:13:10.726463

Faver: Boosting LLM-based RTL Generation with Function Abstracted Verifiable Middleware

Mu, Shi, Wang et al.
LLM-based RTL generation is an interesting research direction, as it holds the potential to liberate the least automated stage in the current chip design. However, due to the substantial semantic gap between high-level specifications and RTL, coupled with limited training data, existing models struggle with generation accuracy. Drawing on human experience, design with verification helps improving accuracy. However, as the RTL testbench data are even more scarce, it is not friendly for LLMs. Although LLMs excel at higher-level languages like Python/C, they have a huge semantic gap from RTL. When implementing the same functionality, Python/C code and hardware code differ significantly in the spatiotemporal granularity, requiring the LLM not only to consider high-level functional semantics but also to ensure the low-level details align with the circuit code. It is not an easy task. In this paper, we propose a function abstracted verifiable middleware (Faver) that streamlines RTL verification in LLM-based workflows. By mixing LLM-friendly code structures with a rule-based template, Faver decouples the details of circuit verification, allowing the LLM to focus on the functionality itself. In our experiments on the SFT model and open-source models, Faver improved the model's generation accuracy by up to 14%.
academic

Faver: Boosting LLM-based RTL Generation with Function Abstracted Verifiable Middleware

基本信息

  • 论文ID: 2510.08664
  • 标题: Faver: Boosting LLM-based RTL Generation with Function Abstracted Verifiable Middleware
  • 作者: Jianan Mu, Mingyu Shi, Yining Wang, Tianmeng Yang, Bin Sun, Xing Hu, Jing Ye, Huawei Li
  • 分类: cs.SE cs.AI
  • 发表时间: 2025年10月9日 (arXiv预印本)
  • 论文链接: https://arxiv.org/abs/2510.08664

摘要

本文针对基于大语言模型(LLM)的RTL代码生成准确性问题,提出了一个功能抽象可验证中间件(Faver)。该方法通过将LLM友好的代码结构与基于规则的模板相结合,解耦了电路验证的细节,使LLM能够专注于功能本身。在SFT模型和开源模型的实验中,Faver将模型的生成准确率提升了高达14%。

研究背景与动机

1. 核心问题

RTL设计是芯片设计中自动化程度最低、最耗费人力的阶段。虽然LLM在RTL生成方面展现出潜力,但由于高级规范与RTL之间存在巨大的语义鸿沟,加上训练数据有限,现有模型在生成准确性方面表现不佳。

2. 问题重要性

  • RTL设计是集成电路设计流程中的关键瓶颈
  • 自动化RTL生成能够显著提升芯片设计效率
  • 现有方法无法有效利用"设计与验证"的人类经验

3. 现有方法局限性

  • 直接LLM判断: 缺乏robust的推理工具来基于规范验证功能
  • RTL testbench生成: testbench数据比设计数据更稀缺,且生成难度与RTL设计相当
  • 简单Python验证: 硬件和软件在时空粒度上差异巨大,导致co-verification困难

4. 研究动机

借鉴人类设计经验中的"设计与验证"方法,但需要解决LLM在硬件验证方面的固有困难,特别是时序相关变量和测试激励生成的挑战。

核心贡献

  1. 提出Faver框架: 允许LLM编写高级语义代码来验证电路,并从设计与验证框架中受益
  2. 设计功能-类抽象模板: 将硬件设计中的时钟和寄存器语义映射到事件驱动的Python/C函数类中,减少硬件和软件验证之间的时空鸿沟
  3. 实验验证: 在多个测试集和LLM上证明Faver将基于LLM的RTL生成准确率提升高达14%
  4. 理论分析: 提供了系统成功率和反馈真实率的数学模型

方法详解

任务定义

输入:自然语言规范描述的硬件功能需求 输出:功能正确且通过验证的RTL (Verilog)代码 约束:生成的RTL必须在语法和功能上都正确

模型架构

Faver框架包含四个关键步骤:

1. 验证规范生成 (Verification Specification Generation)

  • 保持I/O端口: 保留相同的输入输出端口定义
  • 功能抽象: 将RTL的拓扑连接转换为软件的输入输出处理逻辑
  • 边界分析: 分析RTL的边界条件并在验证规范中枚举

2. 基于类模板的参考模型生成

核心设计

class ref_model(Model):
    def __init__(self):
        global state_flag0, state_flag1  # 寄存器映射为全局变量
    
    @driver_hook()
    def reset(self):  # 专用重置函数
        pass
    
    @driver_hook() 
    def step(self):   # 统一功能接口
        pass
    
    def func1(self):  # 其他功能函数
        pass

关键技术

  • 寄存器到全局变量映射: 将硬件寄存器映射为类级全局变量
  • 时钟作为事件: 将时钟上升沿视为"call step"事件
  • 统一接口: 通过step函数统一访问各个模块

3. 分层测试激励生成

LLM-规则协作机制

  • 高级规划: LLM设计测试计划,确保功能空间的全面覆盖
  • 时序数据生成: LLM生成具有强功能相关性的时序输入数据
  • 基于规则的细化:
    • 插入基于规则的重置函数
    • 对数据流进行边界检查和修正

4. 协同仿真与迭代优化

  • 使用Python-Verilog协同仿真进行精确匹配
  • 波形字符级比较,分类错误类型(功能错误、时序不匹配、边界条件问题)
  • 迭代阈值设置为5次,避免无限循环

技术创新点

  1. 语义鸿沟桥接: 通过功能抽象将电路拓扑转换为软件逻辑
  2. 时序变量提取: 创新性地将硬件时序概念映射到软件事件驱动模型
  3. 分层验证策略: 结合LLM的高级语义能力和规则系统的精确性

实验设置

数据集

  • RTLLM: 学术界RTL代码生成基准测试集
  • VerilogEval: 另一个广泛使用的Verilog代码生成评估数据集
  • 自收集SFT数据: 超过5000个自然语言描述与RTL代码配对的数据集

评价指标

  • Pass@1: 单次生成的通过率
  • Pass@5: 五次生成中至少一次通过的成功率
  • sys_sel_pass@1: 设计与验证系统输出单个设计的通过率
  • sys_inner_pass@5: 五次内部迭代中任一设计通过的成功率

对比方法

基础模型:

  • DeepSeek-R1-0528, Kimi K2, GPT-4O, QWQ-32B
  • Qwen2.5-Coder-32B-Instruct

SFT模型:

  • CodeV系列, RTLCoder-Mistral-7B, CraftRTL-SC2-15B
  • Qwen2.5-7B-SFT (自训练)

验证基线:

  • baseline-V: LLM生成Verilog testbench
  • baseline-L: LLM作为判断器
  • baseline-P: LLM生成Python testbench (无Faver)

实现细节

  • 使用Toffee (基于Verilator的Python-Verilog协同仿真平台)
  • 连续失败阈值设置为5
  • 采用LoRA方法进行SFT训练以降低计算开销

实验结果

主要结果

显著性能提升:

  • DeepSeek-R1-0528在RTLLM上:Pass@1从74%提升到sys_sel_pass@1的83%
  • Qwen2.5-7B-SFT:sys_inner_pass@5比原始模型提升14%
  • 基础模型普遍获得约10%的通过率提升

跨模型一致性: 所有测试模型在两个数据集上都显示出consistent的改进,证明了Faver的通用有效性。

消融实验

组件贡献分析:

  • Faver-(无测试激励生成):平均提升2.75%
  • 完整Faver:提升高达12%
  • 证明了参考模型生成和分层测试激励生成都对性能提升有重要贡献

验证器性能分析

准确性指标:

  • True Positive显著高于False Positive
  • True Negative显著高于False Negative
  • 验证了理论分析中a > b和c > d的条件

迭代改进效果:

  • Faver-DeepSeek-R1-0528在迭代过程中显示稳定的准确率提升
  • 原始DeepSeek-R1-0528的准确率呈随机波动模式

案例分析

以卷积核设计为例:

  1. 功能抽象: 将乘法器和加法器的拓扑连接抽象为卷积操作
  2. 边界处理: 识别8位数据宽度约束和维度匹配问题
  3. 时序映射: 将时钟驱动的位流转换为step函数调用序列

相关工作

主要研究方向

  1. LLM-based RTL生成: ChipGPT, ChipNeMo, BetterV等专门模型
  2. 设计与验证方法: VerilogCoder, MAGE等采用验证反馈的方法
  3. RTL验证: VerilogReader等专注于测试向量生成

本文优势

  • 首次系统性地解决了Python-RTL协同验证的时空鸿沟问题
  • 提供了完整的端到端验证框架,而非依赖手工测试平台
  • 通过功能抽象避免了简单的输出预测方法的局限性

结论与讨论

主要结论

  1. Faver成功桥接了软件验证实践与硬件设计的时序状态依赖特性
  2. 功能级精确验证反馈对改进硬件设计环境中的LLM输出至关重要
  3. 分层验证策略有效结合了LLM的语义能力和规则系统的精确性

局限性

  1. 迭代阈值限制: 设置固定的5次迭代阈值可能不适用于所有复杂度的设计
  2. 规则系统依赖: 边界检查和重置逻辑仍需要预定义规则
  3. 数据集局限: 评估主要在相对简单的学术基准上进行

未来方向

  1. 扩展到更复杂的硬件设计(如处理器、SoC)
  2. 自适应迭代阈值和更智能的错误分类
  3. 与现有EDA工具链的集成

深度评价

优点

  1. 技术创新性: 首次系统性地解决LLM在硬件验证中的时序问题,通过类模板和事件驱动模型实现了有效的语义映射
  2. 实验充分性: 在多个模型、数据集上进行了全面评估,包括消融实验和理论分析
  3. 实用价值: 提供了完整的开源实现,具有良好的可复现性
  4. 理论支撑: 提供了系统成功率的数学模型,增强了方法的理论基础

不足

  1. 评估范围: 主要在学术基准上评估,缺乏工业级复杂设计的验证
  2. 规则系统: 仍然依赖预定义的规则进行边界检查,自动化程度有限
  3. 扩展性: 对于非常复杂的硬件设计,方法的扩展性尚未充分验证

影响力

  1. 学术贡献: 为LLM-based硬件设计领域提供了新的验证范式
  2. 实用价值: 可直接应用于现有的RTL设计流程,具有immediate impact
  3. 可复现性: 基于开源工具实现,便于研究社区复现和扩展

适用场景

  • 中等复杂度的数字电路设计
  • 需要快速原型验证的硬件开发
  • 教育和研究环境中的RTL代码生成
  • 作为现有EDA工具的辅助验证工具

参考文献

论文引用了该领域的重要工作,包括:

  • ChipGPT, ChipNeMo等专门的硬件设计LLM
  • VerilogCoder, MAGE等设计与验证方法
  • RTLLM, VerilogEval等标准评估基准
  • Toffee, Verilator等协同仿真工具

总体评价: 这是一篇在LLM-based RTL生成领域具有重要贡献的高质量论文。通过创新的功能抽象中间件设计,有效解决了软硬件验证之间的语义鸿沟问题,实验结果convincing,具有良好的实用价值和学术影响力。