📈 GH Trending Explorer 🎲 Surprise me

← all repos

kjsz / digital-ic-make-flow

git clone https://github.com/kjsz/digital-ic-make-flow.git

面向数字 IC 的 Make/Python/Tcl 流程框架:覆盖仿真、综合、布局布线与签核,支持进度展示、输入检查、Git ECO 版本管理及交付打包。配合 AI 使用效果更佳。

—
stars, 24h
+25
stars, 7 days · #1,505
+25
stars, 30 days · #9,927
25
★ total · +25% this week
0
forks · 0 open issues

Star history starts 2026-10-20; the chart appears after the second daily snapshot.

LanguagePython
LicenseMIT
Created2026-10-18 (2d ago)
Last push1d ago
Watchers0
OwnerUser

Links

README excerpt
> 配合AI食用效果更佳
# IC Make Flow
面向数字 IC 模块实现与学习的 Make / Python / Tcl 流程框架。用统一 Make 入口串起 RTL 仿真、综合、等价验证、布局布线、手工 ECO、物理验证和交付打包;一个工程维护一套当前工艺,阶段脚本集中、可直接修改。
## 为什么使用
- **看得见的进度**:`make summary` 按细分阶段显示完成、失败、运行中及未完成状态,同时保留时序和几何 DRC 提示。绿色表示执行成功且结果齐全,不代替签核。
- **简洁的准备检查**:`make check` 检查重要名称、文件列表、库文件、形状和 pin 配置。整个 Innovus 合并检查;不要求人工审核声明,不解析 Tcl 正确性,不限制电源拓扑。
- **可以回退的手工 ECO**:每版同时保留 finish 前的 editable 与 finish 后的结果。工作区可直接改网表、先验证后提交;Git 支持备注、历史、父版本回退、指定版本恢复和分支保留。
- **清楚的职责**:Make 管依赖,Python 管输入/状态/归档,Tcl 管工具实现;DC、Formality、PT 和各 Innovus 阶段有明确编辑入口。
- **报告集中查看**:按阶段、corner、ECO 版本归集,自动解压报告,保留来源信息与原始压缩文件,不触碰 Innovus 数据库内部压缩文件。
- **交付无需重跑**:`make output` 无依赖,只收集当前最终版本已存在文件,缺项跳过,生成文件夹、ZIP 与含 SHA-256 的清单。
- **选择性重跑**:`FORCE_STAGE` 指定重跑阶段;普通编辑或 touch 不会自动将完整结果标为过期。显式重跑和版本切换会使相关下游待更新。
## 效果展示
> 上图是终端风格的功能示意,名称、版本与状态均为示意数据,不是真实设计截图或签核证明。
- `summary` 一眼查看细分阶段进度,同时展示当前最终版本和未解决问题。
- `check` 集中提示重要配置/库缺项,避免逐条审核声明和大量参数噪声。
- ECO 在 `editable → finish → final` 间保存成套数据,回退按父版本,不丢弃其它分支。
- `output` 独立打包当前已存在交付物,文件夹与 ZIP 同时生成,缺项写入清单。
版本关系示意(可回退后继续形成分支):
 [code] 
## 环境和适用范围
实际流程需要 Linux、GNU Make、Bash、Python 3、Git,以及合法可用的 VCS / Verdi、Design Compiler、Formality、Innovus、Calibre、StarRC、PrimeTime。只运行框架测试不需要 EDA,部分测试需要 Git/Tcl。Python 实现使用标准库;CI 配置覆盖 Python 3.9 和 3.12,但本次公开整理尚未执行该 CI。
框架曾在单一实际项目中完成模块级流程验证,工具入口主要沿用 Innovus 18.10、Calibre 2019、Synopsys 2018 一类环境。公开版移除了所有工艺库、Calibre 规则、供应商模型、真实报告和项目源码;自带 Tcl 中的 GF180 单元/层名是需适配的参考设置。其它工具版本与工艺需要自行调整。
## 快速开始
 [code] 
空白模板初始 `check` 不通过是预期行为。若只想先体验 RTL 仿真,可备份自己的 config 后将 `examples/counter/config.mk` 复制到根目录,再执行 `make sim`;该自写 counter 示例不含完成的综合约束或物理方案。
## 文档
- 目录与逐文件用途:配置、脚本、内部模块、测试、示例和生成目录。
- 全部 Make 命令与参数:包括 STAGE、FORCE_STAGE、GUI、REV、输出与清理语义。
- 典型完整流程(含 ECO):从配置到签核、ECO、回退与交付。
- 工作区 ECO 与迁移:chipfinish 工作区、直接改文件、验证后提交。
- 工艺接入说明:库路径、corner、规则入口和私有资料管理。
- 贡献说明、变更记录、发布准备记录、发布内容检查记录。
## 目录概览
 [code] 
详细目录树见 structure.md。
## 常用后续操作
 [code] 
**清理语义**:不带 STAGE 的 `make clean` 会删除当前设计/工艺的全部工作结果、ECO Git 历史和报告。`output/` 的独立交付包保留。先使用 `make clean-preview` 查看范围。
## 许可证与发布边界
框架代码和自写示例使用 MIT License。许可证不授予任何 EDA 软件、PDK、标准单元库或 foundry 规则的使用与再分发权。本仓库不包含这些资料。请只将本项目目录作为 Git 仓库根目录,不要把外部迁移备份或私人工作区一起上传。