A Deep Learning Framework for Verilog Autocompletion Towards Design and Verification Automation

Enrique Dehaerne, Bappaditya Dey, Sandip Halder, Stefan De Gendt
4/26/2023
cs.LGcs.SE

Official code: 99EnriqueD/verilog_autocompletion (8 stars, MIT, last commit 2026-04-27).

Abstract

Innovative Electronic Design Automation (EDA) solutions are important to meet the design requirements for increasingly complex electronic devices. Verilog, a hardware description language, is widely used for the design and verification of digital circuits and is synthesized using specific EDA tools. However, writing code is a repetitive and time-intensive task. This paper proposes, primarily, a novel deep learning framework for training a Verilog autocompletion model and, secondarily, a Verilog dataset of files and snippets obtained from open-source repositories. The framework involves integrating models pretrained on general programming language data and finetuning them on a dataset curated to be similar to a target downstream task. This is validated by comparing different pretrained models trained on different subsets of the proposed Verilog dataset using multiple evaluation metrics. These experiments demonstrate that the proposed framework achieves better BLEU, ROUGE-L, and chrF scores by 9.5%, 6.7%, and 6.9%, respectively, compared to a model trained from scratch. Code and data are made available at: https://github.com/99EnriqueD/verilog_autocompletion .

View on arXivView PDF

Code Implementations(1)

MIT

Code implementation for "A Deep Learning Framework for Verilog Autocompletion Towards Design and Verification Automation"

82Shell, PythonJun 6, 20235 months agoMIT
autocompletecode-generationhdlverilog

Similar Papers

Cite this paper

@article{dehaerne2023deep,
  title  = {A Deep Learning Framework for Verilog Autocompletion Towards Design and Verification Automation},
  author = {Enrique Dehaerne and Bappaditya Dey and Sandip Halder and Stefan De Gendt},
  year   = {2023},
  eprint = {2304.13840},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2304.13840v2}
}

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

Discussion