ChipBench
收藏github2026-01-29 更新2026-02-11 收录
下载链接:
https://github.com/zhongkaiyu/ChipBench
下载链接
链接失效反馈官方服务:
资源简介:
该仓库提供了一个全面的AI辅助芯片设计基准,包含多个数据集:1) Verilog生成数据集,包括自包含模块、非自包含设计和CPU IP级别问题;2) Verilog调试数据集,包含不同类型的错误(时序错误、赋值错误、算术错误、状态机错误)和不同的调试设置(0-shot和1-shot);3) 参考模型生成数据集,用于生成Python、CXXRTL和SystemC的功能参考模型。
This repository provides a comprehensive AI-assisted chip design benchmark that includes multiple datasets:
1) Verilog generation dataset, covering self-contained modules, non-self-contained designs, and CPU IP-level tasks;
2) Verilog debugging dataset, containing various types of errors (timing errors, assignment errors, arithmetic errors, finite state machine (FSM) errors) and different debugging settings (0-shot and 1-shot);
3) Reference model generation dataset, used to generate functional reference models in Python, CXXRTL, and SystemC.
创建时间:
2026-01-29
原始信息汇总
ChipBench 数据集概述
数据集地址
https://github.com/zhongkaiyu/ChipBench
数据集简介
这是一个端到端的评估框架,涵盖Verilog生成、Verilog调试、参考模型生成和实用工具。框架概念上分为四个主要组件。
主要组件与目录结构
1. Verilog生成
目录:Verilog Gen/
dataset_self_contain/- 每个问题是一个自包含模块,具有单个顶层模块(例如
TopModule),无外部子模块依赖。 - 包含具有挑战性的组合逻辑和时序逻辑问题,适用于评估从规范到RTL的生成。
- 每个问题是一个自包含模块,具有单个顶层模块(例如
dataset_not_self_contain/- 每个问题是一个非自包含设计,其中
Top Module实例化了多个Sub‑Module。 - 评估模型处理层次化设计和模块接口的能力。
- 每个问题是一个非自包含设计,其中
dataset_cpu_ip/- 包含更复杂的CPU IP级别问题,例如ALU、寄存器文件、分支和控制逻辑。
- 对应于高级别图中的“CPU IP / ALU / Reg File / Branch / Control ...”区域,针对高难度RTL生成。
2. Verilog调试
目录:Verilog Debugging/
每个子目录对应特定的调试设置(0-shot / 1-shot)和错误类型(状态机 / 时序 / 算术 / 赋值),与图中的“Verilog Debugging”块匹配。
- 错误类型:
- 时序错误:与时序相关的问题。
- 赋值错误:不正确的阻塞/非阻塞或组合逻辑赋值。
- 算术错误:不正确的算术运算。
- 状态机错误:错误的状态转换或输出逻辑。
- 调试设置:
dataset_debug_zero_shot_*:0-shot调试,无上下文示例。dataset_debug_one_shot_*:1-shot调试,带有一个上下文示例问题。
- 典型问题文件三元组:
*_prompt.txt:提供给LLM的提示(自然语言+代码上下文),用于生成或修复Verilog。*_ref.sv:参考Verilog实现(无错误)。*_test.sv:用于自动仿真和检查的测试平台。
3. 参考模型生成
目录:Ref Model Gen/
此组件生成功能参考模型,对应于图中的“Ref Model Gen”块。
gen.py:使用data.jsonl中的规范生成多种后端(Python / CXXRTL / SystemC)的参考模型。gen_python_prompt.txt/gen_cxxrtl_prompt.txt/gen_systemc_prompt.txt:每种后端的提示模板。data.jsonl:问题和规范的统一描述。key.cfg:示例API密钥配置(请勿提交真实密钥)。- 生成的参考模型示例位于
Tool Box/下:Tool Box/python/dut.pyTool Box/cxxrtl/dut.ccTool Box/systemc/dut.cc这些参考模型可用于交叉检查Verilog设计。
4. 工具箱
目录:Tool Box/
此组件对应于“Tool Box”块,主要提供:
- 跨语言一致性检查
crosslang_verify.py:验证同一任务的多个实现(Python / CXXRTL / SystemC / Verilog)行为是否一致,并报告结果。verilog/:包含dut.sv(被测设计)和ref.sv(参考RTL)。python/,cxxrtl/,systemc/:特定语言的参考模型。
- 测试平台/数据生成
- 通过结合参考模型和脚本,可以为不同问题批量生成测试平台和训练数据。
脚本(评估入口点)
目录:scripts/
sv-generate:统一的LLM Verilog生成/调试脚本。- 支持多种后端(OpenAI, DeepSeek, Gemini, Claude, Together, 本地vLLM服务器)。
--task选择高级提示风格,例如:code-complete-iccad2023:完成TopModule的主体。spec-to-rtl:直接从问题规范生成RTL。
--examples和--rules控制少样本示例和编码规范。
- 其他文件如
verilog-example-prefix_*.txt和prompt-example-prefix.txt为不同任务/调试设置提供前缀示例。
搜集汇总
数据集介绍

构建方式
在硬件描述语言评估领域,ChipBench数据集通过系统化方法构建,以支持对Verilog生成与调试能力的全面测评。其构建过程围绕四个核心模块展开:Verilog生成模块依据设计复杂度与结构差异,划分为自包含模块、非自包含模块及CPU IP级问题三类子集,每类均包含自然语言描述与参考实现;Verilog调试模块则精心植入了时序、赋值、算术及状态机等典型错误类型,并区分零样本与单样本调试场景,为每个问题提供提示文本、参考设计与测试平台;参考模型生成模块基于统一的问题描述文件,利用模板化提示词自动生成Python、CXXRTL与SystemC等多语言功能模型;工具集模块进一步整合了跨语言一致性验证脚本与测试生成工具,确保了数据集的完整性与实用性。
使用方法
使用ChipBench数据集进行模型评估遵循一套清晰、可配置的流程。研究人员首先通过Docker容器搭建统一的评估环境,确保依赖项与运行条件的一致性。核心评估通过`scripts/`目录下的`sv-generate`脚本驱动,该脚本支持连接多种主流大语言模型后端,并允许通过`--task`参数灵活选择代码补全或规格到RTL生成等不同任务模式。用户可通过`configure`脚本便捷地设置评估参数,包括指定模型类型、任务名称、上下文示例数量、采样次数以及温度等生成超参数。评估过程利用Makefile进行并行化构建与执行,显著提升效率。最终,系统将自动调用数据集内嵌的测试平台与跨语言验证工具,对模型生成的Verilog代码进行功能仿真与一致性检查,并输出结构化的评估结果。
背景与挑战
背景概述
ChipBench数据集由研究团队于近年推出,专注于硬件描述语言Verilog的自动化生成与调试评估。该数据集旨在构建一个端到端的评估框架,涵盖从规范到寄存器传输级代码的生成、错误调试、参考模型构建及工具链支持等多个维度。其核心研究问题聚焦于提升大型语言模型在数字电路设计领域的代码生成能力,特别是针对复杂组合逻辑、时序逻辑以及CPU知识产权模块的准确性与可靠性。通过提供多层次、多难度的任务设置,ChipBench为硬件设计自动化与人工智能交叉领域的研究提供了标准化基准,推动了智能电子设计自动化工具的发展。
当前挑战
在领域层面,ChipBench致力于应对硬件描述语言生成与调试中的核心挑战,包括确保生成代码的功能正确性、时序一致性以及模块接口的精确匹配。这些挑战源于数字电路设计对严谨性与可靠性的极高要求,任何细微的逻辑错误都可能导致电路失效。在数据集构建过程中,研究人员面临多重困难:一是需要设计涵盖不同复杂度与结构(如自包含模块、非自包含层次设计、CPU IP模块)的多样化任务,以全面评估模型能力;二是需创建高质量的参考实现与测试平台,确保评估结果的准确性与可复现性;三是需处理跨语言(如Python、CXXRTL、SystemC)的功能一致性验证,以支撑多后端验证流程。这些挑战共同塑造了数据集的严谨架构与实用价值。
常用场景
经典使用场景
在硬件描述语言自动化生成与验证领域,ChipBench数据集为评估大型语言模型在Verilog代码生成与调试任务中的性能提供了标准化基准。该数据集通过自包含模块、非自包含模块及CPU IP级别问题,系统性地覆盖了从简单组合逻辑到复杂时序设计的全谱系难度,使得研究人员能够精准衡量模型在规格到RTL转换、层次化设计理解以及高级硬件组件合成等方面的能力。其经典应用场景在于为学术竞赛和工业级工具测评提供可重复、可比较的实验平台,推动硬件设计智能化的技术演进。
解决学术问题
ChipBench有效应对了硬件设计自动化研究中长期存在的基准缺失问题,为Verilog生成与调试任务的量化评估建立了统一框架。该数据集通过提供多难度层级、多错误类型的标准化测试用例,使得学术界能够系统探究神经网络模型在理解硬件规范、纠正时序错误、修复状态机逻辑缺陷等方面的极限性能。其意义在于将硬件设计评估从依赖人工编撰的分散案例,转向基于结构化数据集的科学实验范式,显著提升了研究成果的可复现性与横向可比性,加速了智能电子设计自动化(EDA)技术的理论突破。
实际应用
在工业实践中,ChipBench数据集被广泛应用于电子设计自动化工具的智能化升级验证。芯片设计企业可利用其提供的CPU IP级问题与多语言参考模型,对内部代码生成助手进行回归测试,确保其在算术逻辑单元、寄存器文件等关键组件的设计准确性。同时,数据集中的时序错误与赋值错误案例能够辅助构建企业级Verilog静态检查工具的增强训练集,提升其对边缘案例的检测覆盖率。这些应用切实降低了芯片设计流程中的人力验证成本,并为高可靠硬件系统的自动化合成提供了质量保障基石。
数据集最近研究
最新研究方向
在硬件描述语言自动生成与验证领域,ChipBench数据集正推动着前沿研究向更复杂的系统级设计扩展。当前研究聚焦于利用大语言模型处理非自包含模块与CPU IP核等分层设计,探索模型在理解模块接口与系统架构方面的能力。同时,Verilog调试任务中的零样本与少样本设置,结合时序、状态机等多样化错误类型,成为评估模型逻辑推理与代码修复能力的热点。该框架通过跨语言参考模型生成与一致性检查工具,为硬件设计自动化提供了可靠的基准测试平台,显著加速了智能电子设计自动化工具的研发进程。
以上内容由遇见数据集搜集并总结生成



