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.
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:待验证的代码内容
- 必须包含字段:




