MetRex: A Benchmark for Verilog Code Metric Reasoning Using LLMs

Manar Abdelatty, Jingxiao Ma, Sherief Reda
11/5/2024
cs.ARcs.CL

No official code found. Best implementation: scale-lab/MetRex (12 stars, last commit 2025-01-24).

Abstract

Large Language Models (LLMs) have been applied to various hardware design tasks, including Verilog code generation, EDA tool scripting, and RTL bug fixing. Despite this extensive exploration, LLMs are yet to be used for the task of post-synthesis metric reasoning and estimation of HDL designs. In this paper, we assess the ability of LLMs to reason about post-synthesis metrics of Verilog designs. We introduce MetRex, a large-scale dataset comprising 25,868 Verilog HDL designs and their corresponding post-synthesis metrics, namely area, delay, and static power. MetRex incorporates a Chain of Thought (CoT) template to enhance LLMs' reasoning about these metrics. Extensive experiments show that Supervised Fine-Tuning (SFT) boosts the LLM's reasoning capabilities on average by 37.0\%, 25.3\%, and 25.7\% on the area, delay, and static power, respectively. While SFT improves performance on our benchmark, it remains far from achieving optimal results, especially on complex problems. Comparing to state-of-the-art regression models, our approach delivers accurate post-synthesis predictions for 17.4\% more designs (within a 5\% error margin), in addition to offering a 1.7x speedup by eliminating the need for pre-processing. This work lays the groundwork for advancing LLM-based Verilog code metric reasoning.

View on arXivView PDF

Code Implementations(1)

scale-lab/MetRexCommunity100%

A Benchmark for Verilog Code Metric Reasoning (ASPDAC'25)

121Python, VerilogSep 30, 20241 years ago

Similar Papers

Cite this paper

@article{abdelatty2024metrex,
  title  = {MetRex: A Benchmark for Verilog Code Metric Reasoning Using LLMs},
  author = {Manar Abdelatty and Jingxiao Ma and Sherief Reda},
  year   = {2024},
  eprint = {2411.03471},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2411.03471v2}
}

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/2411.03471.svg)](https://codeofpaper.com/paper/2411.03471)

Discussion