TB or Not TB: Coverage-Driven Direct Preference Optimization for Verilog Stimulus Generation

Bardia Nadimi, Khashayar Filom, Deming Chen, Hao Zheng
11/19/2025
cs.LGcs.AIcs.PL

No confident code implementation found for this paper.

Abstract

With the rapid advancement of Large Language Models (LLMs), there is growing interest in applying them to hardware design and verification. Among these stages, design verification remains the most time-consuming and resource-intensive phase, where generating effective stimuli for the design under test (DUT) is both critical and labor-intensive. We present {\it TB or not TB}, a framework for automated stimulus generation using LLMs fine-tuned through Coverage-Driven Direct Preference Optimization (CD-DPO). To enable preference-based training, we introduce PairaNet, a dataset derived from PyraNet that pairs high- and low-quality testbenches labeled using simulation-derived coverage metrics. The proposed CD-DPO method integrates quantitative coverage feedback directly into the optimization objective, guiding the model toward generating stimuli that maximize verification coverage. Experiments on the CVDP CID12 benchmark show that {\it TB or not TB} outperforms both open-source and commercial baselines, achieving up to 77.27\% improvement in code coverage, demonstrating the effectiveness of Coverage-driven preference optimization for LLM-based hardware verification.

View on arXivView PDF

Code Implementations

No confident code match yet

We couldn't find an author-owned or strongly-evidenced community implementation for this paper. Any repos shown below are weak matches — verify before relying on them.

No code implementations found yet.

Know of an implementation? Let us know in the comments below!

Similar Papers

Cite this paper

@article{nadimi2025coveragedriven,
  title  = {TB or Not TB: Coverage-Driven Direct Preference Optimization for Verilog Stimulus Generation},
  author = {Bardia Nadimi and Khashayar Filom and Deming Chen and Hao Zheng},
  year   = {2025},
  eprint = {2511.15767},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2511.15767v1}
}

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

Discussion