{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/a-deep-learning-framework-for-verilog","title":"A Deep Learning Framework for Verilog Autocompletion Towards Design and Verification Automation","arxiv_id":"2304.13840","date":"2023-04-26","proceeding":null,"authors":["Enrique Dehaerne","Bappaditya Dey","Sandip Halder","Stefan De Gendt"],"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 .","url_abs":"https://arxiv.org/abs/2304.13840v2","url_pdf":"https://arxiv.org/pdf/2304.13840v2.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"a-deep-learning-framework-for-verilog","repo_url":"https://github.com/99enriqued/verilog_autocompletion","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2304.13840","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2304.13840"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/99enriqued/verilog_autocompletion","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":8},"by_repo_kind":{"official":{"samples":8,"ran":0,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"0424930d3d2c6731","entry":"condense_spaces","repo":"99enriqued/verilog_autocompletion","repo_kind":"official","path":"verilog_models/evaluate_labeled.py","file_url":"https://github.com/99enriqued/verilog_autocompletion/blob/HEAD/verilog_models/evaluate_labeled.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"0424930d3d2c6731"}},{"code_sha256_prefix":"cabf631a8d61ea88","entry":"count_keywords","repo":"99enriqued/verilog_autocompletion","repo_kind":"official","path":"verilog_dataset_creation/utils.py","file_url":"https://github.com/99enriqued/verilog_autocompletion/blob/HEAD/verilog_dataset_creation/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"cabf631a8d61ea88"}},{"code_sha256_prefix":"4d3d23375d5fbd5e","entry":"custom_split","repo":"99enriqued/verilog_autocompletion","repo_kind":"official","path":"verilog_models/evaluate_labeled.py","file_url":"https://github.com/99enriqued/verilog_autocompletion/blob/HEAD/verilog_models/evaluate_labeled.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"4d3d23375d5fbd5e"}},{"code_sha256_prefix":"e0461379ffda35b5","entry":"custom_split","repo":"99enriqued/verilog_autocompletion","repo_kind":"official","path":"verilog_dataset_creation/sourcerercc_tokenizing.py","file_url":"https://github.com/99enriqued/verilog_autocompletion/blob/HEAD/verilog_dataset_creation/sourcerercc_tokenizing.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"e0461379ffda35b5"}},{"code_sha256_prefix":"f88486b77a948745","entry":"list_is_not_empty","repo":"99enriqued/verilog_autocompletion","repo_kind":"official","path":"verilog_dataset_creation/utils.py","file_url":"https://github.com/99enriqued/verilog_autocompletion/blob/HEAD/verilog_dataset_creation/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f88486b77a948745"}},{"code_sha256_prefix":"0eb67001ef14f5bc","entry":"process_file_contents","repo":"99enriqued/verilog_autocompletion","repo_kind":"official","path":"verilog_dataset_creation/sourcerercc_tokenizing.py","file_url":"https://github.com/99enriqued/verilog_autocompletion/blob/HEAD/verilog_dataset_creation/sourcerercc_tokenizing.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"0eb67001ef14f5bc"}},{"code_sha256_prefix":"eade4e581ae7608e","entry":"read_csv","repo":"99enriqued/verilog_autocompletion","repo_kind":"official","path":"verilog_dataset_creation/utils.py","file_url":"https://github.com/99enriqued/verilog_autocompletion/blob/HEAD/verilog_dataset_creation/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"eade4e581ae7608e"}},{"code_sha256_prefix":"90f63e5f024fe8ac","entry":"tokenize_files","repo":"99enriqued/verilog_autocompletion","repo_kind":"official","path":"verilog_dataset_creation/sourcerercc_tokenizing.py","file_url":"https://github.com/99enriqued/verilog_autocompletion/blob/HEAD/verilog_dataset_creation/sourcerercc_tokenizing.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"90f63e5f024fe8ac"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}