| # AgentIC User Guide | |
| This guide provides detailed instructions on how to switch between LLM backends and use the various commands available in AgentIC. | |
| ## 1. Switching LLM Backends | |
| AgentIC operates with a **Strict Two-Model Policy**: | |
| - **Primary**: NVIDIA Qwen Cloud (High Performance) | |
| - **Fallback**: VeriReason Local (Privacy/Offline) | |
| ### To Use NVIDIA Cloud (Recommended) | |
| Ensure your `NVIDIA_API_KEY` is set in the `.env` file or your environment. | |
| **`.env` file:** | |
| ```bash | |
| NVIDIA_API_KEY="nvapi-..." | |
| ``` | |
| The system will automatically prioritize this if the key is valid. | |
| ### To Use VeriReason (Local/Offline) | |
| To force the system to use the local VeriReason model, simply **unset** or **remove** the `NVIDIA_API_KEY`. | |
| **Option A: Temporarily (Command Line)** | |
| ```bash | |
| # Run with empty key to force fallback | |
| NVIDIA_API_KEY="" python main.py build --name my_chip --desc "..." | |
| ``` | |
| **Option B: Permanently (`.env`)** | |
| Comment out the key in your `.env` file: | |
| ```bash | |
| # NVIDIA_API_KEY="nvapi-..." | |
| ``` | |
| When no NVIDIA key is found, AgentIC safely falls back to the local `VeriReason` model configured at `http://localhost:11434`. | |
| --- | |
| ## 2. Command Reference | |
| All commands are run via `python main.py [COMMAND] [OPTIONS]`. | |
| ### `build` | |
| Automates the entire chip design pipeline: RTL → Verification → Hardening. | |
| ```bash | |
| python main.py build --name [NAME] --desc "[DESCRIPTION]" [OPTIONS] | |
| ``` | |
| **Options:** | |
| - `--name, -n`: Name of the module/project (Required). | |
| - `--desc, -d`: Natural language description of functionality (Required). | |
| - `--skip-openlane`: specificy this flag to stop after verification (skips GDSII hardening). | |
| - `--full-signoff`: Enable rigorous verification (Formal + Coverage + Regression). | |
| - `--max-retries`: Max attempts to auto-fix errors (Default: 5). | |
| - `--show-thinking`: Show LLM reasoning process in console. | |
| **Example:** | |
| ```bash | |
| python main.py build -n spi_master -d "SPI Master with configurable CPOL" --full-signoff | |
| ``` | |
| ### `simulate` | |
| Runs simulation on an existing design, with AI-powered auto-fixing for testbench or RTL errors. | |
| ```bash | |
| python main.py simulate --name [NAME] | |
| ``` | |
| **Options:** | |
| - `--max-retries`: Max auto-fix attempts (Default: 5). | |
| - `--show-thinking`: Show detailed AI analysis of simulation logs. | |
| ### `harden` | |
| Runs the OpenLane flow to turn verified RTL into a GDSII layout file. | |
| ```bash | |
| python main.py harden --name [NAME] | |
| ``` | |
| **Features:** | |
| - Auto-generates `config.tcl` compliant with OpenLane 2.0. | |
| - Runs in background or foreground. | |
| - Performs final signoff checks (STA/Power) upon completion. | |
| ### `verify` | |
| Runs the standalone verification suite (Lint + Simulation + Formal). | |
| ```bash | |
| python main.py verify [NAME] | |
| ``` | |
| --- | |
| ## 3. Configuration Notes | |
| - **PDK Root**: Default `~/.ciel`. Change via `PDK_ROOT` env var. | |
| - **OpenLane Root**: Default `~/OpenLane`. Change via `OPENLANE_ROOT` env var. | |
| - **Local Model**: Defaults to `VeriReason-Qwen2.5-3b`. Update `LLM_MODEL` in `.env` if you have a custom fine-tune. | |