Skip to content

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

相关链接 ​