AnalogCoder: Analog Circuit Design via Training-Free Code Generation

Yao Lai, Sungyoung Lee, Guojin Chen, Souradip Poddar, Mengkang Hu +2 more
5/23/2024
cs.LGcs.ET

No official code found. Best implementation: laiyao1/AnalogCoder (181 stars, last commit 2026-02-22).

Abstract

Analog circuit design is a significant task in modern chip technology, focusing on the selection of component types, connectivity, and parameters to ensure proper circuit functionality. Despite advances made by Large Language Models (LLMs) in digital circuit design, the complexity and scarcity of data in analog circuitry pose significant challenges. To mitigate these issues, we introduce AnalogCoder, the first training-free LLM agent for designing analog circuits through Python code generation. Firstly, AnalogCoder incorporates a feedback-enhanced flow with tailored domain-specific prompts, enabling the automated and self-correcting design of analog circuits with a high success rate. Secondly, it proposes a circuit tool library to archive successful designs as reusable modular sub-circuits, simplifying composite circuit creation. Thirdly, extensive experiments on a benchmark designed to cover a wide range of analog circuit tasks show that AnalogCoder outperforms other LLM-based methods. It has successfully designed 20 circuits, 5 more than standard GPT-4o. We believe AnalogCoder can significantly improve the labor-intensive chip design process, enabling non-experts to design analog circuits efficiently.

View on arXivView PDF

Code Implementations(1)

laiyao1/AnalogCoderCommunity100%

[AAAI 2025 Oral] AnalogCoder: Analog Circuit Design via Training-Free Code Generation

18124PythonMay 23, 20248 months ago

Similar Papers

Cite this paper

@article{lai2024analogcoder,
  title  = {AnalogCoder: Analog Circuit Design via Training-Free Code Generation},
  author = {Yao Lai and Sungyoung Lee and Guojin Chen and Souradip Poddar and Mengkang Hu and David Z. Pan and Ping Luo},
  year   = {2024},
  eprint = {2405.14918},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2405.14918v2}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2405.14918.svg)](https://codeofpaper.com/paper/2405.14918)

Discussion