HiPilot——VLSI物理设计复制品
HiPilot是一个面向EDA工程师的5-Agent AI团队。它创建了一个tmux工作区,专门的代理在其中协作运行RTL到GDS流:
- 主管:流程协调和验证
- 知识:拥有全部3个大脑(ASIC+EDA+项目)
- 规划师:通过查询知识创建执行策略
- 执行者:通过知识生成Tcl,通过EDA MCP执行
- 档案管理员:将QoR指标和学习记录到Project Brain
工程师在“主管”窗格中键入命令。代理通过知识代理(中心辐射模式)进行通信,以生成Tcl、控制EDA工具(Innovus、ICC2、PrimeTime)并管理流。
核心价值观: 34项技能代表高级工程师的专业知识。代理团队阅读这些技能并协作生成Tcl、执行Tcl、检查错误并报告结果。工程师无需记忆EDA工具命令即可获得高级工作流程。
快速开始
# Install dependencies (root + 3 MCP servers)
npm run install:all
# Launch HiPilot (creates the 5-agent + EDA workspace)
bin/hipilot这将打开一个有6个窗格的终端:
- 顶行(4个窗格): 主管、知识、计划、执行代理
- 中间窗格: 档案管理员
- 底部窗格: EDA工具(Innovus/ICC2/PrimeTime)
类型 /synthesis 在“监控器”窗格中启动流,然后 /floorplan, /placement, /cts, /routing, /chipfinish 对于每个阶段。或使用 /timing 检查时间。
代理架构
┌──────────────┬──────────────┬──────────────┬──────────────┐
│ 🎯 Supervisor│ 📚 Knowledge │ 📋 Planner │ ⚡ Executor │
├──────────────┴──────────────┴──────────────┴──────────────┤
│ 💾 Archivist Agent (records QoR, learns from history) │
├────────────────────────────────────────────────────────────┤
│ 🔧 EDA Tool Pane (Innovus / ICC2 / PrimeTime) │
└────────────────────────────────────────────────────────────┘沟通模式:
- 所有代理都向知识代理查询信息
- 知识代理拥有全部3个大脑(ASIC大脑、EDA大脑、项目大脑)
- 中心对话:代理人之间不直接对话,只通过知识
代理人职责
| 代理人 | 角色 | 主要职责 |
|---|---|---|
| 主管 | 协调员 | 验证先决条件,协调流程阶段,与用户沟通 |
| 知识 | Brain Hub | 拥有ASIC Brain(Tcl-gen)、EDA Brain(工具命令)、Project Brain(内存) |
| 规划师 | 战略家 | 查询知识以获取流程定义,创建执行计划 |
| 执行者 | 操作员 | 从知识中获取Tcl,通过EDA MCP执行,监控输出 |
| 档案管理员 | 记录器 | 记录QoR指标,存储错误模式,分析趋势 |
3-Brain系统(知识代理所有)
知识代理封装了所有设计知识:
| 大脑 | 类型 | 目的 | 范围 |
|---|---|---|---|
| ASIC大脑 | 静态 | Tcl生成、流编排、输出解析 | 通用ASIC设计知识 |
| EDA大脑 | 静态 | 工具命令、错误模式、最佳实践 | 通用EDA工具知识 |
| 项目大脑 | 动态的 | 设计记忆、QoR跟踪、错误历史 | 每个项目,根据实际设计构建 |
主要区别:
- ASIC大脑和EDA大脑 是静态的——它们包含所有项目共享的通用知识(Tcl模式、工具命令、错误模式)
- 项目大脑 是动态的——它是根据正在进行的实际设计(QoR数据、错误历史、特定于设计的学习)构建的。每个项目都有自己的项目大脑。
其他代理查询知识代理;他们从不直接接触大脑。
任务包系统
HiPilot遵循 任务包 --一个人写的Markdown文档,用自然语言描述HiPilot应该为特定设计做什么。
什么是任务包?
任务包是一个Markdown文件(hipilot-mission.md)由一位真正的人类工程师准备。工程师们不写僵化的YAML,而是自然地写:
- 项目概述:什么设计,什么PDK,什么目标
- 设计文件:RTL源、约束、库
- 流量要求:运行哪个阶段,目标QoR
- 技术设置:工艺节点、拐角、特殊说明
任务包示例
# Mission Pack: Ibex RISC-V Core
## Project Overview
I want to implement a physical design flow for the **Ibex RISC-V Core**
using the **Skywater 130nm PDK**. This is a 32-bit RISC-V CPU with
approximately 7000 cells. The target frequency is 100 MHz.
## Design Files
### RTL Source
The RTL is written in SystemVerilog. The top module is `ibex_core`:
- `rtl/ibex_core.sv` - Top level core
- `rtl/ibex_alu.sv` - ALU
- `rtl/ibex_decoder.sv` - Instruction decoder
- Plus other supporting modules...
Use `SYNTHESIS` define during synthesis.
### Constraints
Timing constraints are in: `constraints/ibex_core.sdc`
### Libraries
- **Tech LEF**: `lef/sky130_fd_sc_hd.tlef` (must be first!)
- **Cell LEF**: `lef/sky130_fd_sc_hd.lef`
- **Liberty**: `lib/sky130_fd_sc_hd__tt_025C_1v80.lib`
## Flow Requirements
Run the full RTL-to-GDS flow:
1. **Synthesis** with Design Compiler - enable DFT scan insertion
2. **Design Init** in Innovus - load the synthesized netlist
3. **Floorplan** - target 68% core utilization
4. **Placement** - timing-driven placement
5. **CTS** - target skew under 100ps
6. **Routing** - enable antenna fixing
7. **Chip Finish** - export GDS
## Target QoR
Target frequency: 100 MHz. WNS should be 0 or positive.
Core utilization around 68%. Die area approximately 450x450 microns.
## Special Instructions
For CTS, use ccopt and set target max transition to 0.15ns.
Use 8 CPUs for multi-threading.看 examples/mission-packs/ibex-mission.md 对于完整的示例。
特工如何使用任务包
| 代理 | 使用任务包 |
|---|---|
| 主管 | 总体流程定义、阶段排序、验证 |
| 知识 | 库位置、PDK设置、工具版本、加载到大脑中 |
| 规划师 | 阶段配方、目标指标、约束、执行策略 |
| 执行者 | 工具命令、Tcl代码段、文件路径、阶段特定配方 |
| 档案管理员 | 设计标识、检查点位置、QoR目标比较 |
加载优先级
HiPilot按以下顺序查找任务包:
HIPILOT_MISSION_PACK环境变量${HIPILOT_DESIGN_DIR}/hipilot-mission.md${HIPILOT_DESIGN_DIR}/hipilot-mission.yaml(遗产)- 自动检测(如果不存在任务包)
项目结构
hipilot/
├── bin/hipilot # The product: launches 5-agent tmux workspace
├── bin/hipilot-simple # Legacy 2-pane mode (for comparison/debug)
├── bin/review-test # Test Review Board: independent verification
├── src/team/ # 5-Agent team module
│ ├── index.js # Team registry and coordinator
│ └── agents/ # Agent implementations
│ ├── SupervisorAgent.js
│ ├── KnowledgeAgent.js # Owns all 3 brains
│ ├── PlannerAgent.js
│ ├── ExecutorAgent.js
│ └── ArchivistAgent.js
├── servers/ # 3 MCP servers (eda, tmux, knowledge)
├── skills/ # 34 expert workflow guides (.md files)
├── templates/ # 22 Tcl templates (Synopsys + Cadence)
├── src/hitestbot/ # HiTestBot: tests HiPilot like a human
├── deploy/eda-server/ # HiPilot identity files for the EDA server
├── test/ # Unit tests (vitest, 118 tests)
└── docs/ # Reference documentation发展
npm run install:all # Install dependencies (root + 3 servers)
npm test # Unit tests (118 tests)
bin/hipilot # Launch 5-agent team workspace (default)
bin/hipilot --simple # Launch legacy 2-pane mode
node src/cli.js status # TUI status dashboard
node src/cli.js skills # List 34 skills
node src/cli.js templates # List 22 templates测试与验证
HiTestBot (E2E测试):
bin/hitestbot-eda "/synthesis" # Run E2E test on EDA server
bin/hitestbot-pull # Download evidence to local
bin/review-test latest # Independent third-party review测试评审委员会 (独立验证):
# Review specific test evidence
bin/review-test test-evidence/20260315_121030/
# Review most recent test
bin/review-test latest审查委员会是一个 独立第三方 独立验证HiTestBot结果:
- 直接读取证据文件(不信任HiTestBot评分)
- 重新实现验证逻辑(与HiTestBot分开)
- 检测索赔与实际证据之间的不匹配
- 不能被欺骗(使用自己的CheatDetector实例)
看 docs/tests/TEST_PLAN.md 完整的9阶段测试计划。
在本地测试MCP服务器:
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | node servers/eda/index.js
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | node servers/tmux/index.js
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | node servers/knowledge/index.js文档
| 文件 | 目的 |
|---|---|
| CLAUDE.md | 开发者章程——一切如何运作,所有规则 |
| docs/architecture.md | 系统设计 |
| docs/mcp-servers.md | MCP工具参考(74+8+17工具) |
| docs/skills-guide.md | 全部34项技能 |
| docs/deploy-guide.md | 部署到EDA服务器 |
| docs/tests/TEST_PLAN.md | 5-Agent团队的9阶段测试计划 |
| 文档/测试/测试_RULES.md | 测试原理和规则 |
技术
Node.js v20+(ES模块)、纯JavaScript、MCP SDK、Nunjucks模板、React/Ink TUI、Vitest。
许可证
麻省理工学院——见 许可证.
