Skip to content

flyingrtx2333/EDAPilot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EDA Pilot

        ╭────────╮
    ◉───┤ ◕    ◕ ├───◉
        │   ◇    │
        ╰──┬──┬──╯
           ◜──◝

EDA Pilot 是一个面向集成电路设计流程的 AI 驱动 EDA 助手框架。当前版本优先实现 CLI 闭环原型,用自然语言描述电路任务,生成结构化规格、任务规划、参数化模板、仿真任务与报告。

它不是 Cadence Virtuoso、Spectre、ngspice 等专业 EDA 工具的替代品,而是运行在这些工具之上的智能编排层。

当前状态

当前已实现:

  • TypeScript CLI,可通过 edapilot 启动
  • LLM 规格解析器,支持 OpenAI-compatible 接口
  • provider preset:openaiqwenzaicustom
  • 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 配置

自然语言规格解析必须使用 LLM,不再使用正则解析作为主路径。

通用配置:

$env:EDAPILOT_LLM_PROVIDER="qwen"   # openai | qwen | zai | custom
$env:EDAPILOT_LLM_API_KEY="你的 API Key"
$env:EDAPILOT_LLM_MODEL="模型名称"

OpenAI

$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

Qwen / 阿里云百炼

$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"

Z.ai / GLM

$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"

自定义 OpenAI-compatible 服务

$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

CLI 内置命令

交互模式下支持:

/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

路线图

Phase 0:CLI 骨架

  • 已完成 edapilot CLI
  • 已完成 mock 模式
  • 已完成基础命令与报告

Phase 1:Mock 闭环

  • 已完成 LLM 规格解析
  • 已完成任务规划与模板填充
  • 已完成 mock 参数搜索和仿真指标评估
  • 已完成可审计运行产物

Phase 2:ngspice 后端

  • 生成可执行 ngspice netlist
  • 调用 ngspice
  • 解析 transient / ac / dc 输出
  • 将 mock 指标替换为真实仿真指标

Phase 3:Cadence / Spectre 后端

  • 生成 OCEAN 脚本
  • 批量运行 Spectre
  • 解析日志、CSV、PSF 导出结果
  • 加入 /doctor 中的真实 Cadence 环境检查

Phase 4:优化与记忆

  • 随机搜索、网格搜索、Bayesian optimization
  • 多目标优化
  • 设计记忆与失败区域规避
  • 历史案例检索

法律说明

Cadence® 和 Virtuoso® 是 Cadence Design Systems, Inc. 的注册商标。EDA Pilot 是独立研究原型,不隶属于 Cadence,也不提供 Cadence 软件、license、PDK 或商业工艺库。

用户需要自行确保对第三方 EDA 工具、模型 API、工艺库和 license 的使用符合对应协议。

License

当前项目处于研究原型阶段。正式开源前会选择明确 license,候选包括 MIT、Apache-2.0 或 GPLv3。

About

AI驱动的EDA设计Agent CLI工具

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors