R1-Layout-Engine
基于 klayout.db Python API 的 AI 自动版图生成工具。
项目简介
R1-Layout-Engine 是一个探索性质的开源项目,目标是实现无训练样本场景下的模拟版图自动生成。
为什么做这个项目
- 传统版图设计高度依赖工程师经验,耗时且重复
- 现有 AI 方案(如 ALIGN)需要大量训练数据,落地困难
- 探索一条"零数据"也能跑通的实用路线
技术架构
┌─────────────────────────────────────────┐
│ 输入:电路网表 (SPICE) │
└─────────────────┬───────────────────────┘
│
▼
┌─────────────────────────────────────────┐
│ 模块 1:布局(Placement) │
│ - 链式启发式初始化 │
│ - 模拟退火 (SA) 优化 │
│ - 遗传算法 (GA) 全局搜索 │
└─────────────────┬───────────────────────┘
│
▼
┌─────────────────────────────────────────┐
│ 模块 2:布线(Routing) │
│ - A* 搜索算法 │
│ - DRC 实时检查 │
│ - 优化走线路径 │
└─────────────────┬───────────────────────┘
│
▼
┌─────────────────────────────────────────┐
│ 模块 3:ML 优化(可选插件) │
│ - 基于历史数据提质 │
│ - 不依赖 ML 也能跑通 │
└─────────────────┬───────────────────────┘
│
▼
┌─────────────────────────────────────────┐
│ 输出:版图 GDS / OASIS │
└─────────────────────────────────────────┘技术栈
- 核心语言:Python 3.8+
- 版图引擎:klayout.db (KLayout Python API)
- 算法库:NumPy, SciPy
- PDK 支持:Sky130(开源 PDK)
快速开始
安装依赖
bash
pip install klayout numpy scipy运行示例
bash
python r1_engine.py --input examples/simple_opamp.spice --output output.gds项目状态
✅ 已完成
- [x] 技术调研(NVCell、ALIGN、GenLeaf 论文分析)
- [x] 架构设计
- [x] klayout.db API 验证
🚧 开发中
- [ ] SA 布局模块实现
- [ ] 遗传算法优化器
- [ ] A* 布线算法
📋 计划中
- [ ] ML 优化插件
- [ ] Web 界面
- [ ] 更多 PDK 支持
开源协议
MIT License
相关链接
- GitHub 仓库:github.com/ryzee/R1-Layout-Engine
- 技术博客:AI 辅助版图设计
- 参考论文:
- NVCell: Neural Vector Cells
- GenLeaf: Expert-level Leaf Cell Layout
- ALIGN: Automatic Layout Generation
