╭────────╮
◉───┤ ◕ ◕ ├───◉
│ ◇ │
╰──┬──┬──╯
◜──◝
EDA Pilot 是一个面向集成电路设计流程的 AI 驱动 EDA 助手框架。当前版本优先实现 CLI 闭环原型,用自然语言描述电路任务,生成结构化规格、任务规划、参数化模板、仿真任务与报告。
它不是 Cadence Virtuoso、Spectre、ngspice 等专业 EDA 工具的替代品,而是运行在这些工具之上的智能编排层。
当前已实现:
- TypeScript CLI,可通过
edapilot启动 - LLM 规格解析器,支持 OpenAI-compatible 接口
- provider preset:
openai、qwen、zai、custom - mock 闭环设计流程
- 电路任务规划 JSON
- 参数化模板变量填充
- netlist / OCEAN / SKILL / simulation task 产物生成
- grid search 参数搜索
- mock 仿真指标评估
- JSON run history 与 Markdown 报告
尚未实现:
- 真实 ngspice 执行
- 真实 Cadence Virtuoso / Spectre / OCEAN 执行
- PDK、商业工艺库、license 集成
自然语言设计需求
↓
结构化规格 JSON
↓
电路任务规划 JSON
↓
参数化电路模板 + 变量填充
↓
生成 netlist / OCEAN / SKILL / 仿真任务
↓
仿真后端
↓
指标分析 / 参数优化 / 报告生成
安装依赖:
npm install构建:
npm run build本地运行:
npm run cli链接为全局命令:
npm link之后可以直接运行:
edapilot
edapilot doctor
edapilot templates取消全局链接:
npm unlink -g eda-pilot自然语言规格解析必须使用 LLM,不再使用正则解析作为主路径。
通用配置:
$env:EDAPILOT_LLM_PROVIDER="qwen" # openai | qwen | zai | custom
$env:EDAPILOT_LLM_API_KEY="你的 API Key"
$env:EDAPILOT_LLM_MODEL="模型名称"$env:EDAPILOT_LLM_PROVIDER="openai"
$env:OPENAI_API_KEY="你的 OpenAI API Key"
$env:OPENAI_MODEL="gpt-4o-mini"默认 base URL:
https://api.openai.com/v1
$env:EDAPILOT_LLM_PROVIDER="qwen"
$env:DASHSCOPE_API_KEY="你的 DashScope API Key"
$env:DASHSCOPE_MODEL="qwen-plus"默认 base URL:
https://dashscope.aliyuncs.com/compatible-mode/v1
也可以使用统一变量:
$env:EDAPILOT_LLM_API_KEY="你的 DashScope API Key"
$env:EDAPILOT_LLM_MODEL="qwen-plus"$env:EDAPILOT_LLM_PROVIDER="zai"
$env:ZAI_API_KEY="你的 Z.ai API Key"
$env:ZAI_MODEL="glm-5.1"默认 base URL:
https://api.z.ai/api/paas/v4
也兼容:
$env:ZHIPUAI_API_KEY="你的 API Key"
$env:ZHIPUAI_MODEL="glm-5.1"$env:EDAPILOT_LLM_PROVIDER="custom"
$env:EDAPILOT_LLM_API_KEY="你的 API Key"
$env:EDAPILOT_LLM_BASE_URL="http://localhost:8000/v1"
$env:EDAPILOT_LLM_MODEL="你的模型名"交互模式:
edapilot环境检查:
edapilot doctor查看电路模板:
edapilot templates运行一次 mock 任务:
edapilot --mode mock --task "Design a C-to-F readout circuit for a 1pF to 8pF capacitive sensor."查看历史:
edapilot history查看最近报告:
edapilot report交互模式下支持:
/init 初始化本地 EDA Pilot 目录
/run 运行设计任务
/templates 查看可用电路模板
/doctor 检查 Node、Python、ngspice、Spectre、Virtuoso 与 LLM 配置
/report 查看最近报告
/history 查看历史运行记录
/help 查看帮助
/exit 退出
不带 / 的自然语言输入会被视为 /run。
edapilot --mode mock
edapilot --mode ngspice
edapilot --mode virtuoso| 模式 | 当前状态 | 说明 |
|---|---|---|
mock |
已实现 | 无需外部 EDA 工具,用分析模型模拟指标 |
ngspice |
预留 | 后续接开源 SPICE 仿真 |
virtuoso |
预留 | 后续接 Cadence Virtuoso / Spectre / OCEAN |
每次运行会写入:
outputs/runs/<runId>/
task_plan.json
filled_template.json
simulation_task.json
netlist.sp
run.ocn
update_vars.il
raw/
同时生成:
outputs/runs/run_<runId>.json
outputs/reports/run_<runId>.md
src/
cli/
commands/ CLI 命令
ui/ banner、主题色、日志、交互 prompt
core/
spec/ LLM 规格解析
planning/ 电路任务规划
templates/ 模板选择与变量填充
optimizer/ 参数搜索
simulation/ 仿真后端接口与 mock backend
eda/ netlist / OCEAN / SKILL 产物生成
storage/ run history 与报告落盘
report/ Markdown 报告生成
shared/
config.ts 配置与 provider preset
types.ts 核心类型
类型检查:
npm run check单元测试:
npm test构建:
npm run build- 已完成
edapilotCLI - 已完成 mock 模式
- 已完成基础命令与报告
- 已完成 LLM 规格解析
- 已完成任务规划与模板填充
- 已完成 mock 参数搜索和仿真指标评估
- 已完成可审计运行产物
- 生成可执行 ngspice netlist
- 调用 ngspice
- 解析 transient / ac / dc 输出
- 将 mock 指标替换为真实仿真指标
- 生成 OCEAN 脚本
- 批量运行 Spectre
- 解析日志、CSV、PSF 导出结果
- 加入
/doctor中的真实 Cadence 环境检查
- 随机搜索、网格搜索、Bayesian optimization
- 多目标优化
- 设计记忆与失败区域规避
- 历史案例检索
Cadence® 和 Virtuoso® 是 Cadence Design Systems, Inc. 的注册商标。EDA Pilot 是独立研究原型,不隶属于 Cadence,也不提供 Cadence 软件、license、PDK 或商业工艺库。
用户需要自行确保对第三方 EDA 工具、模型 API、工艺库和 license 的使用符合对应协议。
当前项目处于研究原型阶段。正式开源前会选择明确 license,候选包括 MIT、Apache-2.0 或 GPLv3。