RTL-Repo: A Benchmark for Evaluating LLMs on Large-Scale RTL Design Projects

Ahmed Allam, Mohamed Shalan
5/27/2024
cs.LGcs.AR

No official code found. Best implementation: AUCOHL/RTL-Repo (35 stars, Apache-2.0, last commit 2024-06-05).

Abstract

Large Language Models (LLMs) have demonstrated potential in assisting with Register Transfer Level (RTL) design tasks. Nevertheless, there remains to be a significant gap in benchmarks that accurately reflect the complexity of real-world RTL projects. To address this, this paper presents RTL-Repo, a benchmark specifically designed to evaluate LLMs on large-scale RTL design projects. RTL-Repo includes a comprehensive dataset of more than 4000 Verilog code samples extracted from public GitHub repositories, with each sample providing the full context of the corresponding repository. We evaluate several state-of-the-art models on the RTL-Repo benchmark, including GPT-4, GPT-3.5, Starcoder2, alongside Verilog-specific models like VeriGen and RTLCoder, and compare their performance in generating Verilog code for complex projects. The RTL-Repo benchmark provides a valuable resource for the hardware design community to assess and compare LLMs' performance in real-world RTL design scenarios and train LLMs specifically for Verilog code generation in complex, multi-file RTL projects. RTL-Repo is open-source and publicly available on Github.

View on arXivView PDF

Code Implementations(1)

AUCOHL/RTL-RepoCommunity100%
Apache-2.0

RTL-Repo: A Benchmark for Evaluating LLMs on Large-Scale RTL Design Projects - IEEE LAD'24

353PythonApr 26, 20242 years agoApache-2.0
llmllm-benchmarkingrtl-designverilog

Similar Papers

Cite this paper

@article{allam2024rtlrepo,
  title  = {RTL-Repo: A Benchmark for Evaluating LLMs on Large-Scale RTL Design Projects},
  author = {Ahmed Allam and Mohamed Shalan},
  year   = {2024},
  eprint = {2405.17378},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2405.17378v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2405.17378.svg)](https://codeofpaper.com/paper/2405.17378)

Discussion