Submission - CABAgent: A Comprehensive Layout-Aware Analog Benchmark Generation Framework Driven by Self-Evolving LLM Agents for Analog Circuit Design Automation#183
Open
HUJH511 wants to merge 25 commits into
Conversation
Add the AnalogAgent agentic circuit design system to src/analogagent/: - main_run.py: entry point with SKY130 testbench builder, enhanced netlist checker (9 static checks), and ngspice simulation runner - agents.py: CodeGenerator + DesignOptimizer (OpenAI-compatible API) - curator.py: ExperienceCurator with Self-Evolving Memory (SEM) - playbook.py: Playbook management for cross-task knowledge transfer - prompt_template.md: unified SKY130 prompt with generic guidelines - retrieval_prompt.md: RAG-style topology selector - sky130_stub.lib: Level-1 MOSFET stub for ngspice DC validation - execution_error.md / simulation_error.md: error feedback templates - problem_set.tsv: task definitions (5T OTA + Telescopic OTA) Tested: both OTA tasks pass with Gemini 2.5 Flash, generating correct SKY130 subcircuit netlists with proper bias references via SEM learning.
- Add src/analogagent/__init__.py: clean generate_netlist() API that encapsulates LLM generation, static checking, ngspice validation, SEM learning, and iterative retry loop - Add src/analogagent/postprocess.py: device renaming (XM1-XMn) and netlist/param file splitting for CABGen compatibility - Update CABAgent.ipynb: insert AnalogAgent generation cells (Step 1) before CABGen pipeline (Step 2), showing runtime output Flow: natural language → AnalogAgent → ckt_netlist.spice → CABGen pipeline
- main_run.py: move argparse into _parse_args(), only called in CLI mode - main_run.py, agents.py, curator.py: use try/except for relative imports so modules work both as standalone scripts and as package imports
…ep 2 descriptions
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Dear All,
This submission includes our work on CABAgent, a training-free self-evolving LLM-agent framework for analog IC design automation and benchmark generation. CABAgent translates natural-language circuit descriptions into PDK-compatible SPICE netlists, and further expands validated designs into physically verified, layout-aware benchmark packages through pre-layout simulation, automatic layout generation, DRC/LVS verification, parasitic extraction, and post-layout evaluation. As with our previous submissions, we have organized the materials clearly to improve readability and reproducibility, and we include the required folders together with documentation to support review and rerunning of the workflow.
This work reflects our effort to explore how agentic AI can support physically grounded analog design automation. We would greatly appreciate any feedback, comments, or questions that can help us further improve the framework and its presentation. Working on this project has been both exciting and rewarding, and we are thankful for the opportunity to participate in this challenge.
Thank you.
Best regards,
Jinhai Hu and the Team behind CABAgent