Skip to content

ajn313/ROME-LLM

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Recurrent Optimization via Machine Editing: ROME

The ROME tool automates hardware design with minimal human input. A large language model (LLM) is utilized to generate Verilog and fix errors in the resultant modules within a multi-stage design pipeline.

ROME-flowchart

We provide a Colab notebook which implements the tool. ChatGPT is used by default which will require an OpenAI API Key, but most major frontier models are supported, just uncomment the relevant lines of code & comment out the corresponding OpenAI lines.

The necessary inputs include the names of a series of simpler submodules which can be built up into a more complex target modules, as well as unit testbenches for each submodule. We include testbenches for a few hierarchical arcitectures, and more will continue to be added.

GitHub still under construction.

Citation

Paper on arXiv:

Link

BibTeX:

@misc{nakkab2024romebuiltsinglestep,
      title={Rome was Not Built in a Single Step: Hierarchical Prompting for LLM-based Chip Design}, 
      author={Andre Nakkab and Sai Qian Zhang and Ramesh Karri and Siddharth Garg},
      year={2024},
      eprint={2407.18276},
      archivePrefix={arXiv},
      primaryClass={cs.AR},
      url={https://arxiv.org/abs/2407.18276}, 
}

Acknowledgements

Special thanks to Jason Blocklove for his work on error correction feedback loops for hardware design

About

Tools for Recurrent Optimization via Machine Editing and related benchmarks

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors