Overview

RTL code generation studies how to turn natural-language requirements, diagrams, or executable references into hardware descriptions that behave correctly and meet physical design goals. Common approaches include prompting or fine-tuning large language models, decomposing designs into reusable modules, and using agents, retrieval, or intermediate representations to guide generation. Simulation, formal verification, synthesis, and timing analysis provide feedback, with benchmarks such as VerilogEval and RTLLM measuring correctness and hardware quality. A central tension is that passing tests does not guarantee good area, delay, or power, while benchmark results can also depend strongly on model settings and may not reflect complex, evolving specifications.

Latest papers

31 papers3 papers in the last four weeks, with none the four weeks before. 0.0% of all new papers.

Nov 6, 2023

Leveraging High-Level Synthesis and Large Language Models to Generate, Simulate, and Deploy a Uniform Random Number Generator Hardware Design

We present a new high-level synthesis methodology for using large language model tools to generate hardware designs. The methodology uses exclusively open-source tools excluding the large language model. As a case study, we use our methodology to generate a permuted congruential random number generator design with a wishbone interface. We verify the functionality and quality of the random number generator design using large language model-generated simulations and the Dieharder randomness test suite. We document all the large language model chat logs, Python scripts, Verilog scripts, and simulation results used in the case study. We believe that our method of hardware design generation coupled with the open source silicon 130 nm design tools will revolutionize application-specific integrated circuit design. Our methodology significantly lowers the bar to entry when building domain-specific computing accelerators for the Internet of Things and proof of concept prototypes for later fabrication in more modern process nodes.