Automatically Improving LLM-based Verilog Generation using EDA Tool Feedback Article Swipe
YOU?
·
· 2024
· Open Access
·
· DOI: https://doi.org/10.48550/arxiv.2411.11856
Traditionally, digital hardware designs are written in the Verilog hardware description language (HDL) and debugged manually by engineers. This can be time-consuming and error-prone for complex designs. Large Language Models (LLMs) are emerging as a potential tool to help generate fully functioning HDL code, but most works have focused on generation in the single-shot capacity: i.e., run and evaluate, a process that does not leverage debugging and, as such, does not adequately reflect a realistic development process. In this work, we evaluate the ability of LLMs to leverage feedback from electronic design automation (EDA) tools to fix mistakes in their own generated Verilog. To accomplish this, we present an open-source, highly customizable framework, AutoChip, which combines conversational LLMs with the output from Verilog compilers and simulations to iteratively generate and repair Verilog. To determine the success of these LLMs we leverage the VerilogEval benchmark set. We evaluate four state-of-the-art conversational LLMs, focusing on readily accessible commercial models. EDA tool feedback proved to be consistently more effective than zero-shot prompting only with GPT-4o, the most computationally complex model we evaluated. In the best case, we observed a 5.8% increase in the number of successful designs with a 34.2% decrease in cost over the best zero-shot results. Mixing smaller models with this larger model at the end of the feedback iterations resulted in equally as much success as with GPT-4o using feedback, but incurred 41.9% lower cost (corresponding to an overall decrease in cost over zero-shot by 89.6%).
Related Topics
- Type
- preprint
- Language
- en
- Landing Page
- http://arxiv.org/abs/2411.11856
- https://arxiv.org/pdf/2411.11856
- OA Status
- green
- Related Works
- 10
- OpenAlex ID
- https://openalex.org/W4404573312
Raw OpenAlex JSON
- OpenAlex ID
-
https://openalex.org/W4404573312Canonical identifier for this work in OpenAlex
- DOI
-
https://doi.org/10.48550/arxiv.2411.11856Digital Object Identifier
- Title
-
Automatically Improving LLM-based Verilog Generation using EDA Tool FeedbackWork title
- Type
-
preprintOpenAlex work type
- Language
-
enPrimary language
- Publication year
-
2024Year of publication
- Publication date
-
2024-11-01Full publication date if available
- Authors
-
Jason Blocklove, Shailja Thakur, Benjamin Tan, Hammond Pearce, Siddharth Garg, Ramesh KarriList of authors in order
- Landing page
-
https://arxiv.org/abs/2411.11856Publisher landing page
- PDF URL
-
https://arxiv.org/pdf/2411.11856Direct link to full text PDF
- Open access
-
YesWhether a free full text is available
- OA status
-
greenOpen access status per OpenAlex
- OA URL
-
https://arxiv.org/pdf/2411.11856Direct OA link when available
- Concepts
-
Verilog, Computer science, Computer architecture, Embedded system, Field-programmable gate arrayTop concepts (fields/topics) attached by OpenAlex
- Cited by
-
0Total citation count in OpenAlex
- Related works (count)
-
10Other works algorithmically related by OpenAlex
Full payload
| id | https://openalex.org/W4404573312 |
|---|---|
| doi | https://doi.org/10.48550/arxiv.2411.11856 |
| ids.doi | https://doi.org/10.48550/arxiv.2411.11856 |
| ids.openalex | https://openalex.org/W4404573312 |
| fwci | |
| type | preprint |
| title | Automatically Improving LLM-based Verilog Generation using EDA Tool Feedback |
| biblio.issue | |
| biblio.volume | |
| biblio.last_page | |
| biblio.first_page | |
| topics[0].id | https://openalex.org/T12423 |
| topics[0].field.id | https://openalex.org/fields/17 |
| topics[0].field.display_name | Computer Science |
| topics[0].score | 0.7527999877929688 |
| topics[0].domain.id | https://openalex.org/domains/3 |
| topics[0].domain.display_name | Physical Sciences |
| topics[0].subfield.id | https://openalex.org/subfields/1712 |
| topics[0].subfield.display_name | Software |
| topics[0].display_name | Software Reliability and Analysis Research |
| topics[1].id | https://openalex.org/T10703 |
| topics[1].field.id | https://openalex.org/fields/14 |
| topics[1].field.display_name | Business, Management and Accounting |
| topics[1].score | 0.6837999820709229 |
| topics[1].domain.id | https://openalex.org/domains/2 |
| topics[1].domain.display_name | Social Sciences |
| topics[1].subfield.id | https://openalex.org/subfields/1404 |
| topics[1].subfield.display_name | Management Information Systems |
| topics[1].display_name | Business Process Modeling and Analysis |
| topics[2].id | https://openalex.org/T10260 |
| topics[2].field.id | https://openalex.org/fields/17 |
| topics[2].field.display_name | Computer Science |
| topics[2].score | 0.6725000143051147 |
| topics[2].domain.id | https://openalex.org/domains/3 |
| topics[2].domain.display_name | Physical Sciences |
| topics[2].subfield.id | https://openalex.org/subfields/1710 |
| topics[2].subfield.display_name | Information Systems |
| topics[2].display_name | Software Engineering Research |
| is_xpac | False |
| apc_list | |
| apc_paid | |
| concepts[0].id | https://openalex.org/C2779030575 |
| concepts[0].level | 3 |
| concepts[0].score | 0.7093293070793152 |
| concepts[0].wikidata | https://www.wikidata.org/wiki/Q827773 |
| concepts[0].display_name | Verilog |
| concepts[1].id | https://openalex.org/C41008148 |
| concepts[1].level | 0 |
| concepts[1].score | 0.4516826570034027 |
| concepts[1].wikidata | https://www.wikidata.org/wiki/Q21198 |
| concepts[1].display_name | Computer science |
| concepts[2].id | https://openalex.org/C118524514 |
| concepts[2].level | 1 |
| concepts[2].score | 0.357826292514801 |
| concepts[2].wikidata | https://www.wikidata.org/wiki/Q173212 |
| concepts[2].display_name | Computer architecture |
| concepts[3].id | https://openalex.org/C149635348 |
| concepts[3].level | 1 |
| concepts[3].score | 0.22187960147857666 |
| concepts[3].wikidata | https://www.wikidata.org/wiki/Q193040 |
| concepts[3].display_name | Embedded system |
| concepts[4].id | https://openalex.org/C42935608 |
| concepts[4].level | 2 |
| concepts[4].score | 0.08763393759727478 |
| concepts[4].wikidata | https://www.wikidata.org/wiki/Q190411 |
| concepts[4].display_name | Field-programmable gate array |
| keywords[0].id | https://openalex.org/keywords/verilog |
| keywords[0].score | 0.7093293070793152 |
| keywords[0].display_name | Verilog |
| keywords[1].id | https://openalex.org/keywords/computer-science |
| keywords[1].score | 0.4516826570034027 |
| keywords[1].display_name | Computer science |
| keywords[2].id | https://openalex.org/keywords/computer-architecture |
| keywords[2].score | 0.357826292514801 |
| keywords[2].display_name | Computer architecture |
| keywords[3].id | https://openalex.org/keywords/embedded-system |
| keywords[3].score | 0.22187960147857666 |
| keywords[3].display_name | Embedded system |
| keywords[4].id | https://openalex.org/keywords/field-programmable-gate-array |
| keywords[4].score | 0.08763393759727478 |
| keywords[4].display_name | Field-programmable gate array |
| language | en |
| locations[0].id | pmh:oai:arXiv.org:2411.11856 |
| locations[0].is_oa | True |
| locations[0].source.id | https://openalex.org/S4306400194 |
| locations[0].source.issn | |
| locations[0].source.type | repository |
| locations[0].source.is_oa | True |
| locations[0].source.issn_l | |
| locations[0].source.is_core | False |
| locations[0].source.is_in_doaj | False |
| locations[0].source.display_name | arXiv (Cornell University) |
| locations[0].source.host_organization | https://openalex.org/I205783295 |
| locations[0].source.host_organization_name | Cornell University |
| locations[0].source.host_organization_lineage | https://openalex.org/I205783295 |
| locations[0].license | cc-by-nc-sa |
| locations[0].pdf_url | https://arxiv.org/pdf/2411.11856 |
| locations[0].version | submittedVersion |
| locations[0].raw_type | text |
| locations[0].license_id | https://openalex.org/licenses/cc-by-nc-sa |
| locations[0].is_accepted | False |
| locations[0].is_published | False |
| locations[0].raw_source_name | |
| locations[0].landing_page_url | http://arxiv.org/abs/2411.11856 |
| locations[1].id | doi:10.48550/arxiv.2411.11856 |
| locations[1].is_oa | True |
| locations[1].source.id | https://openalex.org/S4306400194 |
| locations[1].source.issn | |
| locations[1].source.type | repository |
| locations[1].source.is_oa | True |
| locations[1].source.issn_l | |
| locations[1].source.is_core | False |
| locations[1].source.is_in_doaj | False |
| locations[1].source.display_name | arXiv (Cornell University) |
| locations[1].source.host_organization | https://openalex.org/I205783295 |
| locations[1].source.host_organization_name | Cornell University |
| locations[1].source.host_organization_lineage | https://openalex.org/I205783295 |
| locations[1].license | |
| locations[1].pdf_url | |
| locations[1].version | |
| locations[1].raw_type | article |
| locations[1].license_id | |
| locations[1].is_accepted | False |
| locations[1].is_published | |
| locations[1].raw_source_name | |
| locations[1].landing_page_url | https://doi.org/10.48550/arxiv.2411.11856 |
| indexed_in | arxiv, datacite |
| authorships[0].author.id | https://openalex.org/A5024964362 |
| authorships[0].author.orcid | https://orcid.org/0009-0005-5619-4654 |
| authorships[0].author.display_name | Jason Blocklove |
| authorships[0].author_position | first |
| authorships[0].raw_author_name | Blocklove, Jason |
| authorships[0].is_corresponding | False |
| authorships[1].author.id | https://openalex.org/A5031485134 |
| authorships[1].author.orcid | https://orcid.org/0000-0001-9590-5061 |
| authorships[1].author.display_name | Shailja Thakur |
| authorships[1].author_position | middle |
| authorships[1].raw_author_name | Thakur, Shailja |
| authorships[1].is_corresponding | False |
| authorships[2].author.id | https://openalex.org/A5069388936 |
| authorships[2].author.orcid | https://orcid.org/0000-0002-7642-3638 |
| authorships[2].author.display_name | Benjamin Tan |
| authorships[2].author_position | middle |
| authorships[2].raw_author_name | Tan, Benjamin |
| authorships[2].is_corresponding | False |
| authorships[3].author.id | https://openalex.org/A5053148078 |
| authorships[3].author.orcid | https://orcid.org/0000-0002-3488-7004 |
| authorships[3].author.display_name | Hammond Pearce |
| authorships[3].author_position | middle |
| authorships[3].raw_author_name | Pearce, Hammond |
| authorships[3].is_corresponding | False |
| authorships[4].author.id | https://openalex.org/A5010950688 |
| authorships[4].author.orcid | https://orcid.org/0000-0002-6158-9512 |
| authorships[4].author.display_name | Siddharth Garg |
| authorships[4].author_position | middle |
| authorships[4].raw_author_name | Garg, Siddharth |
| authorships[4].is_corresponding | False |
| authorships[5].author.id | https://openalex.org/A5059648257 |
| authorships[5].author.orcid | https://orcid.org/0000-0001-7989-5617 |
| authorships[5].author.display_name | Ramesh Karri |
| authorships[5].author_position | last |
| authorships[5].raw_author_name | Karri, Ramesh |
| authorships[5].is_corresponding | False |
| has_content.pdf | True |
| has_content.grobid_xml | True |
| is_paratext | False |
| open_access.is_oa | True |
| open_access.oa_url | https://arxiv.org/pdf/2411.11856 |
| open_access.oa_status | green |
| open_access.any_repository_has_fulltext | False |
| created_date | 2024-11-21T00:00:00 |
| display_name | Automatically Improving LLM-based Verilog Generation using EDA Tool Feedback |
| has_fulltext | True |
| is_retracted | False |
| updated_date | 2025-11-06T06:51:31.235846 |
| primary_topic.id | https://openalex.org/T12423 |
| primary_topic.field.id | https://openalex.org/fields/17 |
| primary_topic.field.display_name | Computer Science |
| primary_topic.score | 0.7527999877929688 |
| primary_topic.domain.id | https://openalex.org/domains/3 |
| primary_topic.domain.display_name | Physical Sciences |
| primary_topic.subfield.id | https://openalex.org/subfields/1712 |
| primary_topic.subfield.display_name | Software |
| primary_topic.display_name | Software Reliability and Analysis Research |
| related_works | https://openalex.org/W4391375266, https://openalex.org/W2899084033, https://openalex.org/W2748952813, https://openalex.org/W2390279801, https://openalex.org/W1761969858, https://openalex.org/W2391854357, https://openalex.org/W3114194214, https://openalex.org/W1748531671, https://openalex.org/W4206948312, https://openalex.org/W2132512458 |
| cited_by_count | 0 |
| locations_count | 2 |
| best_oa_location.id | pmh:oai:arXiv.org:2411.11856 |
| best_oa_location.is_oa | True |
| best_oa_location.source.id | https://openalex.org/S4306400194 |
| best_oa_location.source.issn | |
| best_oa_location.source.type | repository |
| best_oa_location.source.is_oa | True |
| best_oa_location.source.issn_l | |
| best_oa_location.source.is_core | False |
| best_oa_location.source.is_in_doaj | False |
| best_oa_location.source.display_name | arXiv (Cornell University) |
| best_oa_location.source.host_organization | https://openalex.org/I205783295 |
| best_oa_location.source.host_organization_name | Cornell University |
| best_oa_location.source.host_organization_lineage | https://openalex.org/I205783295 |
| best_oa_location.license | cc-by-nc-sa |
| best_oa_location.pdf_url | https://arxiv.org/pdf/2411.11856 |
| best_oa_location.version | submittedVersion |
| best_oa_location.raw_type | text |
| best_oa_location.license_id | https://openalex.org/licenses/cc-by-nc-sa |
| best_oa_location.is_accepted | False |
| best_oa_location.is_published | False |
| best_oa_location.raw_source_name | |
| best_oa_location.landing_page_url | http://arxiv.org/abs/2411.11856 |
| primary_location.id | pmh:oai:arXiv.org:2411.11856 |
| primary_location.is_oa | True |
| primary_location.source.id | https://openalex.org/S4306400194 |
| primary_location.source.issn | |
| primary_location.source.type | repository |
| primary_location.source.is_oa | True |
| primary_location.source.issn_l | |
| primary_location.source.is_core | False |
| primary_location.source.is_in_doaj | False |
| primary_location.source.display_name | arXiv (Cornell University) |
| primary_location.source.host_organization | https://openalex.org/I205783295 |
| primary_location.source.host_organization_name | Cornell University |
| primary_location.source.host_organization_lineage | https://openalex.org/I205783295 |
| primary_location.license | cc-by-nc-sa |
| primary_location.pdf_url | https://arxiv.org/pdf/2411.11856 |
| primary_location.version | submittedVersion |
| primary_location.raw_type | text |
| primary_location.license_id | https://openalex.org/licenses/cc-by-nc-sa |
| primary_location.is_accepted | False |
| primary_location.is_published | False |
| primary_location.raw_source_name | |
| primary_location.landing_page_url | http://arxiv.org/abs/2411.11856 |
| publication_date | 2024-11-01 |
| publication_year | 2024 |
| referenced_works_count | 0 |
| abstract_inverted_index.a | 34, 59, 73, 185, 195 |
| abstract_inverted_index.In | 77, 179 |
| abstract_inverted_index.To | 103, 132 |
| abstract_inverted_index.We | 145 |
| abstract_inverted_index.an | 108, 237 |
| abstract_inverted_index.as | 33, 67, 222, 225 |
| abstract_inverted_index.at | 212 |
| abstract_inverted_index.be | 20, 162 |
| abstract_inverted_index.by | 16, 244 |
| abstract_inverted_index.in | 6, 51, 98, 188, 198, 220, 240 |
| abstract_inverted_index.of | 84, 136, 191, 215 |
| abstract_inverted_index.on | 49, 152 |
| abstract_inverted_index.to | 37, 86, 95, 126, 161, 236 |
| abstract_inverted_index.we | 80, 106, 139, 177, 183 |
| abstract_inverted_index.EDA | 157 |
| abstract_inverted_index.HDL | 42 |
| abstract_inverted_index.and | 13, 22, 57, 124, 129 |
| abstract_inverted_index.are | 4, 31 |
| abstract_inverted_index.but | 44, 230 |
| abstract_inverted_index.can | 19 |
| abstract_inverted_index.end | 214 |
| abstract_inverted_index.fix | 96 |
| abstract_inverted_index.for | 24 |
| abstract_inverted_index.not | 63, 70 |
| abstract_inverted_index.own | 100 |
| abstract_inverted_index.run | 56 |
| abstract_inverted_index.the | 7, 52, 82, 119, 134, 141, 172, 180, 189, 201, 213, 216 |
| abstract_inverted_index.5.8% | 186 |
| abstract_inverted_index.LLMs | 85, 117, 138 |
| abstract_inverted_index.This | 18 |
| abstract_inverted_index.and, | 66 |
| abstract_inverted_index.best | 181, 202 |
| abstract_inverted_index.cost | 199, 234, 241 |
| abstract_inverted_index.does | 62, 69 |
| abstract_inverted_index.four | 147 |
| abstract_inverted_index.from | 89, 121 |
| abstract_inverted_index.have | 47 |
| abstract_inverted_index.help | 38 |
| abstract_inverted_index.more | 164 |
| abstract_inverted_index.most | 45, 173 |
| abstract_inverted_index.much | 223 |
| abstract_inverted_index.only | 169 |
| abstract_inverted_index.over | 200, 242 |
| abstract_inverted_index.set. | 144 |
| abstract_inverted_index.than | 166 |
| abstract_inverted_index.that | 61 |
| abstract_inverted_index.this | 78, 209 |
| abstract_inverted_index.tool | 36, 158 |
| abstract_inverted_index.with | 118, 170, 194, 208, 226 |
| abstract_inverted_index.(EDA) | 93 |
| abstract_inverted_index.(HDL) | 12 |
| abstract_inverted_index.34.2% | 196 |
| abstract_inverted_index.41.9% | 232 |
| abstract_inverted_index.LLMs, | 150 |
| abstract_inverted_index.Large | 27 |
| abstract_inverted_index.case, | 182 |
| abstract_inverted_index.code, | 43 |
| abstract_inverted_index.fully | 40 |
| abstract_inverted_index.i.e., | 55 |
| abstract_inverted_index.lower | 233 |
| abstract_inverted_index.model | 176, 211 |
| abstract_inverted_index.such, | 68 |
| abstract_inverted_index.their | 99 |
| abstract_inverted_index.these | 137 |
| abstract_inverted_index.this, | 105 |
| abstract_inverted_index.tools | 94 |
| abstract_inverted_index.using | 228 |
| abstract_inverted_index.which | 114 |
| abstract_inverted_index.work, | 79 |
| abstract_inverted_index.works | 46 |
| abstract_inverted_index.(LLMs) | 30 |
| abstract_inverted_index.GPT-4o | 227 |
| abstract_inverted_index.Mixing | 205 |
| abstract_inverted_index.Models | 29 |
| abstract_inverted_index.design | 91 |
| abstract_inverted_index.highly | 110 |
| abstract_inverted_index.larger | 210 |
| abstract_inverted_index.models | 207 |
| abstract_inverted_index.number | 190 |
| abstract_inverted_index.output | 120 |
| abstract_inverted_index.proved | 160 |
| abstract_inverted_index.repair | 130 |
| abstract_inverted_index.89.6%). | 245 |
| abstract_inverted_index.GPT-4o, | 171 |
| abstract_inverted_index.Verilog | 8, 122 |
| abstract_inverted_index.ability | 83 |
| abstract_inverted_index.complex | 25, 175 |
| abstract_inverted_index.designs | 3, 193 |
| abstract_inverted_index.digital | 1 |
| abstract_inverted_index.equally | 221 |
| abstract_inverted_index.focused | 48 |
| abstract_inverted_index.models. | 156 |
| abstract_inverted_index.overall | 238 |
| abstract_inverted_index.present | 107 |
| abstract_inverted_index.process | 60 |
| abstract_inverted_index.readily | 153 |
| abstract_inverted_index.reflect | 72 |
| abstract_inverted_index.smaller | 206 |
| abstract_inverted_index.success | 135, 224 |
| abstract_inverted_index.written | 5 |
| abstract_inverted_index.Language | 28 |
| abstract_inverted_index.Verilog. | 102, 131 |
| abstract_inverted_index.combines | 115 |
| abstract_inverted_index.debugged | 14 |
| abstract_inverted_index.decrease | 197, 239 |
| abstract_inverted_index.designs. | 26 |
| abstract_inverted_index.emerging | 32 |
| abstract_inverted_index.evaluate | 81, 146 |
| abstract_inverted_index.feedback | 88, 159, 217 |
| abstract_inverted_index.focusing | 151 |
| abstract_inverted_index.generate | 39, 128 |
| abstract_inverted_index.hardware | 2, 9 |
| abstract_inverted_index.increase | 187 |
| abstract_inverted_index.incurred | 231 |
| abstract_inverted_index.language | 11 |
| abstract_inverted_index.leverage | 64, 87, 140 |
| abstract_inverted_index.manually | 15 |
| abstract_inverted_index.mistakes | 97 |
| abstract_inverted_index.observed | 184 |
| abstract_inverted_index.process. | 76 |
| abstract_inverted_index.resulted | 219 |
| abstract_inverted_index.results. | 204 |
| abstract_inverted_index.AutoChip, | 113 |
| abstract_inverted_index.benchmark | 143 |
| abstract_inverted_index.capacity: | 54 |
| abstract_inverted_index.compilers | 123 |
| abstract_inverted_index.debugging | 65 |
| abstract_inverted_index.determine | 133 |
| abstract_inverted_index.effective | 165 |
| abstract_inverted_index.evaluate, | 58 |
| abstract_inverted_index.feedback, | 229 |
| abstract_inverted_index.generated | 101 |
| abstract_inverted_index.potential | 35 |
| abstract_inverted_index.prompting | 168 |
| abstract_inverted_index.realistic | 74 |
| abstract_inverted_index.zero-shot | 167, 203, 243 |
| abstract_inverted_index.accessible | 154 |
| abstract_inverted_index.accomplish | 104 |
| abstract_inverted_index.adequately | 71 |
| abstract_inverted_index.automation | 92 |
| abstract_inverted_index.commercial | 155 |
| abstract_inverted_index.electronic | 90 |
| abstract_inverted_index.engineers. | 17 |
| abstract_inverted_index.evaluated. | 178 |
| abstract_inverted_index.framework, | 112 |
| abstract_inverted_index.generation | 50 |
| abstract_inverted_index.iterations | 218 |
| abstract_inverted_index.successful | 192 |
| abstract_inverted_index.VerilogEval | 142 |
| abstract_inverted_index.description | 10 |
| abstract_inverted_index.development | 75 |
| abstract_inverted_index.error-prone | 23 |
| abstract_inverted_index.functioning | 41 |
| abstract_inverted_index.iteratively | 127 |
| abstract_inverted_index.simulations | 125 |
| abstract_inverted_index.single-shot | 53 |
| abstract_inverted_index.consistently | 163 |
| abstract_inverted_index.customizable | 111 |
| abstract_inverted_index.open-source, | 109 |
| abstract_inverted_index.(corresponding | 235 |
| abstract_inverted_index.Traditionally, | 0 |
| abstract_inverted_index.conversational | 116, 149 |
| abstract_inverted_index.time-consuming | 21 |
| abstract_inverted_index.computationally | 174 |
| abstract_inverted_index.state-of-the-art | 148 |
| cited_by_percentile_year | |
| countries_distinct_count | 0 |
| institutions_distinct_count | 6 |
| citation_normalized_percentile |