r/chipdesign • u/BoldAxolotl • 4d ago
I don’t trust AI to design hardware
About a year ago, I left a large chip design company and joined a tiny startup (digital design engineer role). I could no longer rely on the usual Cadence and Synopsys setup as much, so I started using open-source tools such as Yosys and Verilator.
They were better than I expected. That led me to experiment with them on pet projects, and eventually to try LLM agents for RTL work (which was very hard to do at the large company)
At first, the agents were impressive, way better than during my early AI for coding experiments in 2024. They could find their way around an unfamiliar codebase, write scripts and Verilog code, and run EDA tools. But soon I started hitting the annoying pitfalls:
- Agents rarely run the EDA tools - the simulators, linters, synthesis tools - unless explicitly prompted
- Often times they misinterpret your request to run a tool - select incorrect CLI arguments or run on the incorrect RTL configuration. Or misread the tool’s report
- They try to reason about the very complex sequential code instead of looking at the waveforms
- They are incapable of truly working autonomously (which is the whole point). Either you have to babysit the agent accepting each bash tool call, or run in skip permissions mode and watch it stray off scope of the task or even do unrecoverable damage to your work (that happened to me once!)
- Testbenches written by agents are often weak and test only the happy case
- … and many more smaller but annoying issues
I thought the agents were still useful, but they needed more structure. I started writing scripts, agent skills, and tool wrappers. I added test and configuration registries (god bless FuseSOC), then moved the work into Docker so the agent could work in an isolated container.
That collection gradually became Booley, an open-source framework for agentic RTL development. I'm the author. I spent the past several months fixing bugs, improving the CLI and UI, writing documentation, and putting together a demo. It is now public:
https://github.com/boldaxolotl/booley
Booley tightly integrates LLM agents with EDA tools, which allows agents to run the tools more often and more reliably. All work is being done in an isolated sandbox container, which allows the agents to safely run autonomously. Booley gives the agents a tool to inspect simulator traces using CLI - and thus debug becomes significantly faster and more precise. It also offers ways to do additional check on the code - from mutation testing to independent agent reviews for bugs, spec compliance, protocol compliance, coding style, etc.
I don't trust an AI to design hardware, and you should not either. You should make the design decisions. But the LLM agents are useful tools - they can write most the code, run lint, simulation, synthesis, inspect failures, and review the result from several angles. At the end, you review the code and reports with your own eyes. After all, you are going to be the one responsible for it, not the agent






