{"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/autochip-automating-hdl-generation-using-llm","title":"AutoChip: Automating HDL Generation Using LLM Feedback","arxiv_id":"2311.04887","date":"2023-11-08","proceeding":null,"authors":["Shailja Thakur","Jason Blocklove","Hammond Pearce","Benjamin Tan","Siddharth Garg","Ramesh Karri"],"abstract":"Traditionally, designs are written in Verilog hardware description language (HDL) and debugged by hardware engineers. While this approach is effective, it is time-consuming and error-prone for complex designs. Large language models (LLMs) are promising in automating HDL code generation. LLMs are trained on massive datasets of text and code, and they can learn to generate code that compiles and is functionally accurate. We aim to evaluate the ability of LLMs to generate functionally correct HDL models. We build AutoChip by combining the interactive capabilities of LLMs and the output from Verilog simulations to generate Verilog modules. We start with a design prompt for a module and the context from compilation errors and debugging messages, which highlight differences between the expected and actual outputs. This ensures that accurate Verilog code can be generated without human intervention. We evaluate AutoChip using problem sets from HDLBits. We conduct a comprehensive analysis of the AutoChip using several LLMs and problem categories. The results show that incorporating context from compiler tools, such as Icarus Verilog, improves the effectiveness, yielding 24.20% more accurate Verilog. We release our evaluation scripts and datasets as open-source contributions at the following link https://github.com/shailja-thakur/AutoChip.","url_abs":"https://arxiv.org/abs/2311.04887v2","url_pdf":"https://arxiv.org/pdf/2311.04887v2.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":"links_only","authors_date_abstract":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license), from the Kaggle arXiv metadata snapshot of 2026-09-12"},"code_links":[{"paper_slug":"autochip-automating-hdl-generation-using-llm","repo_url":"https://github.com/shailja-thakur/autochip","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok"}}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2311.04887","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2311.04887"}},"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/shailja-thakur/autochip","reach":{"status":"ok"}}],"summary":{"ran":5,"unverified":1},"by_repo_kind":{"official":{"samples":6,"ran":5,"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":6,"samples":[{"code_sha256_prefix":"a2b1ce482a799c83","entry":"format_message","repo":"shailja-thakur/autochip","repo_kind":"official","path":"autochip_scripts/verilog_handling.py","file_url":"https://github.com/shailja-thakur/autochip/blob/HEAD/autochip_scripts/verilog_handling.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"a2b1ce482a799c83"}},{"code_sha256_prefix":"b9ef6fc45fef92ae","entry":"get_prompt_from_editor","repo":"shailja-thakur/autochip","repo_kind":"official","path":"autochip_scripts/config_handler.py","file_url":"https://github.com/shailja-thakur/autochip/blob/HEAD/autochip_scripts/config_handler.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"b9ef6fc45fef92ae"}},{"code_sha256_prefix":"d232348ea60b2422","entry":"get_subdirectories","repo":"shailja-thakur/autochip","repo_kind":"official","path":"verilogeval_prompts_tbs/check_dirs.py","file_url":"https://github.com/shailja-thakur/autochip/blob/HEAD/verilogeval_prompts_tbs/check_dirs.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"d232348ea60b2422"}},{"code_sha256_prefix":"145df9e7e234caf5","entry":"load_config","repo":"shailja-thakur/autochip","repo_kind":"official","path":"autochip_scripts/config_handler.py","file_url":"https://github.com/shailja-thakur/autochip/blob/HEAD/autochip_scripts/config_handler.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"145df9e7e234caf5"}},{"code_sha256_prefix":"3bf9a59d508beeac","entry":"validate_mixed_model_config","repo":"shailja-thakur/autochip","repo_kind":"official","path":"autochip_scripts/config_handler.py","file_url":"https://github.com/shailja-thakur/autochip/blob/HEAD/autochip_scripts/config_handler.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"3bf9a59d508beeac"}},{"code_sha256_prefix":"e30a3b2d8c2710ae","entry":"modify_testbench","repo":"shailja-thakur/autochip","repo_kind":"official","path":"verilogeval_prompts_tbs/extract_tbs.py","file_url":"https://github.com/shailja-thakur/autochip/blob/HEAD/verilogeval_prompts_tbs/extract_tbs.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e30a3b2d8c2710ae"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}