RealBench
收藏arXiv2025-07-22 更新2025-07-24 收录
下载链接:
https://github.com/IPRC-DIP/RealBench
下载链接
链接失效反馈官方服务:
资源简介:
RealBench是一个面向真实世界IP级别的Verilog代码生成任务的基准数据集。该数据集包含复杂的开源IP设计,具有多模态和格式化的设计规范,以及严格的验证环境,包括100%行覆盖率的测试平台和一个形式化验证器。它支持模块级和系统级任务,使LLM的能力得到全面的评估。该数据集旨在解决现有基准在真实世界设计工作流程中无法复制的局限性,例如设计简单、设计规范不足、验证环境不严格等。RealBench的创建过程基于对现有基准的不足分析,旨在提供更接近真实世界设计工作流程的评估环境。该数据集的应用领域包括硬件设计自动化,旨在解决LLM在Verilog代码生成任务中的性能问题。
RealBench is a benchmark dataset for real-world IP-level Verilog code generation tasks. This dataset includes complex open-source IP designs, with multimodal and formatted design specifications, as well as a rigorous verification environment comprising a testbench with 100% line coverage and a formal verifier. It supports module-level and system-level tasks, enabling comprehensive evaluation of LLM capabilities. This dataset aims to address the limitations of existing benchmarks that cannot be replicated in real-world design workflows, such as overly simple designs, insufficient design specifications, and non-rigorous verification environments. The development of RealBench is based on an analysis of the shortcomings of existing benchmarks, aiming to provide an evaluation environment that aligns more closely with real-world design workflows. Its application scenarios include hardware design automation, with the goal of addressing the performance issues of LLMs in Verilog code generation tasks.
提供机构:
中国科学院计算技术研究所
创建时间:
2025-07-22
原始信息汇总
RealBench数据集概述
数据集简介
- 名称:RealBench
- 用途:面向真实场景中复杂IP设计任务的基准测试
- 特点:
- 包含更复杂的设计任务
- 支持系统级和模块级任务
- 包含多模态数据
- 提供语法、功能和形式化正确性验证
环境配置
- 依赖工具:
- conda(环境管理)
- Python 3.10.18
- gcc 14.3.0
- verilator(硬件验证工具)
- yosys 0.55(硬件综合工具)
- jaspergold(形式验证工具,需额外安装)
使用说明
文档解密
- 文档采用GPG加密以防止爬虫抓取测试数据
- 解密命令: bash make decrypt make clean_encrypt
问题生成
- 使用
generate_problem.py脚本从项目文件中提取问题描述 - 支持两种任务级别:
module:模块级任务描述system:系统级任务描述
验证流程
- 使用
run_verify.py脚本验证模型生成结果的正确性 - 关键参数:
--solution_name:指定待验证RTL代码的生成方法/模型名称--formal:启用形式验证(需安装jaspergold)--task_level:指定任务类型(module/system)--num_samples:单个任务的样本数量(用于计算pass@k)
解决方案组织规范
-
目录结构:
samples/ ├── solution_name/ │ ├── aes.jsonl │ ├── e203_hbirdv2.jsonl │ └── ...
-
JSONL文件要求:
- 必须包含字段:
task:代码对应的模块名称code:待验证的代码内容
- 必须包含字段:
搜集汇总
数据集介绍

构建方式
RealBench数据集的构建基于真实世界的开源IP设计,包括AES编码/解码器核心、SD卡控制器和CPU核心(Hummingbirdv2 E203)。设计规范通过手动编写,确保其详细性和格式标准化,涵盖功能描述、图表、子模块信息等关键内容。验证环境采用100%行覆盖率的测试平台和形式验证工具,确保生成代码的准确性和可靠性。
特点
RealBench数据集的特点在于其复杂性和结构化设计,包含大量代码行和复杂的层次结构,显著提升了Verilog生成的难度。设计规范采用多模态形式,结合文本、图表和表格,更贴近实际设计流程。此外,严格的验证流程和模块级与系统级任务设置,使其成为首个专注于IP级Verilog生成的基准测试。
使用方法
RealBench数据集的使用方法包括模块级和系统级任务评估。模块级任务要求生成单个模块的Verilog代码,并提供子模块信息;系统级任务则需从零开始实现完整设计。验证过程通过测试平台和形式验证工具进行,确保代码功能正确性。用户可通过标准化去污流程确保训练数据的公平性,从而全面评估不同模型在真实设计场景中的表现。
背景与挑战
背景概述
RealBench是由中国科学院计算技术研究所处理器国家重点实验室的研究团队于2025年提出的首个面向真实IP级Verilog代码生成的基准测试数据集。该数据集旨在解决当前基准测试在评估大型语言模型(LLMs)生成Verilog代码能力时存在的局限性,包括设计过于简化、设计规范不足以及验证环境不够严格等问题。RealBench基于四个开源的真实IP核(包括AES编码/解码核心、SD卡控制器和CPU核心Hummingbirdv2 E203),提供了复杂且结构化的设计实现、多模态和格式化的设计规范,以及严格的验证环境。该数据集的推出为硬件设计自动化领域的发展提供了重要的评估工具,推动了LLMs在真实设计工作流程中的应用研究。
当前挑战
RealBench面临的挑战主要体现在两个方面:领域问题的挑战和构建过程的挑战。在领域问题方面,RealBench旨在解决真实IP级Verilog代码生成的复杂性,包括处理多层次依赖关系、动态约束以及复杂的系统层次结构。当前即使是性能最佳的LLM(如o1-preview)在模块级任务中的通过率仅为13.3%,在系统级任务中则为0%,显示出LLMs在处理真实设计需求时的显著不足。在构建过程方面,挑战包括确保设计规范的准确性和完整性,开发能够实现100%行覆盖率的测试平台,以及建立形式化验证流程以确保生成代码的正确性。此外,数据集还需要处理多模态输入(如自然语言描述、图表和表格)的复杂性,以及确保不同层次任务(模块级和系统级)的评估全面性。
常用场景
经典使用场景
在硬件设计自动化领域,RealBench数据集被广泛用于评估大型语言模型(LLMs)在Verilog代码生成任务中的表现。该数据集通过模拟真实世界的IP级设计工作流程,为研究者提供了一个复杂且结构化的评估环境。其模块级和系统级任务设计,使得研究者能够全面评估LLMs在生成Verilog代码时的能力,特别是在处理复杂模块实例化和多模态设计规范方面的表现。
实际应用
在实际应用中,RealBench数据集被硬件设计公司和研究机构用于验证和优化其LLMs在生成Verilog代码时的性能。例如,在设计复杂的IP核(如AES加密/解密核心、SD卡控制器和CPU核心)时,RealBench的严格验证环境能够确保生成的代码不仅语法正确,还能满足功能性和形式验证的要求,从而显著提高设计效率和可靠性。
衍生相关工作
RealBench数据集的推出激发了多个相关研究方向的进展。例如,基于RealBench的评估结果,研究者们开发了多种改进的LLMs和代理框架(如自我反思代理和多代理系统),以提升Verilog生成的准确性和效率。此外,RealBench还促进了形式验证工具和多模态LLMs在硬件设计自动化中的应用,为未来的研究方向提供了重要参考。
以上内容由遇见数据集搜集并总结生成



