EDA 数字芯片设计全流程图(前端 → 后端 → 流片)¶
整理时间:2026-09-09。含完整流程、工具链、回归测试点、Slurm 分区映射。 图中标注 ⭐ 为关键纠错点(门级网表是逻辑综合的输出,非 STA 之后)。 Mermaid 流程图在支持 Mermaid 的 Markdown 查看器(VS Code/Trae/Typora)中可直接渲染。
一、全流程图¶
flowchart TD
A["需求 / 规格 Spec"] --> B["架构设计 Architecture"]
B --> C["微架构规范 Micro-Arch Spec"]
C --> D["RTL 代码编写<br/>Verilog / SystemVerilog"]
D --> E["代码检查(持续)<br/>Lint + CDC跨时钟域 + RDC跨复位域<br/>工具:SpyGlass / Verilator"]
E --> F["功能验证 / 前仿真(RTL仿真)<br/>UVM testbench + SVA断言 + 覆盖率收敛<br/>工具:VCS / Xcelium / Questa + Verdi"]
F -. "大规模SoC仿真跑不动时" .-> F2["FPGA原型 / 硬件仿真 Emulation<br/>Palladium / Veloce / Protium"]
F --> G["逻辑综合<br/>= RTL + SDC约束 + 工艺库.lib<br/>工具:DC(Design Compiler) / Genus"]
G --> G2["DFT 可测性设计<br/>扫描链插入 + ATPG测试向量<br/>工具:DFT Compiler / TestMAX / Tessent"]
G --> H(("⭐ 门级网表 Netlist + SDF延时<br/>【综合的直接输出】"))
H --> I1["形式验证 / 等价性检查<br/>RTL ↔ 网表 逻辑等价<br/>Formality / Conformal"]
H --> I2["门级后仿真 GLS<br/>网表 + SDF反标(带时序)<br/>少量关键用例"]
H --> I3["静态时序分析 STA<br/>时序 signoff 主力<br/>PrimeTime / Tempus(多corner)"]
I1 --> J["进入后端 P&R(布局布线)<br/>Innovus / ICC2"]
I2 --> J
I3 --> J
J --> K1["① 布图规划 Floorplan"]
K1 --> K2["② 电源网络 Power Network"]
K2 --> K3["③ 布局 Placement"]
K3 --> K4["④ 时钟树综合 CTS"]
K4 --> K5["⑤ 布线 Routing"]
K5 --> K6["⑥ RC 参数提取"]
K6 --> L["后端签核 Signoff<br/>STA多模式多corner + 功耗/IR-drop/电迁移<br/>PrimePower / RedHawk / Voltus"]
L --> M["物理验证(流片前必过)<br/>DRC 设计规则 + LVS 版图原理图一致性 + DFM<br/>Calibre"]
M --> N["流片 Tapeout → 晶圆厂"]
%% ===== 回归测试点(红色虚线回流)=====
F -. "🔁回归主战场<br/>海量testcase重跑" .-> RPT["回归测试 Regression<br/>批量重跑+pass/fail比对<br/>自动化/CI/nightly"]
E -. 🔁Lint回归 .-> RPT
I1 -. 🔁等价性回归 .-> RPT
I2 -. 🔁后仿回归(少量) .-> RPT
M -. 🔁物理验证回归 .-> RPT
%% ===== 样式 =====
classDef spec fill:#e8eaf6,stroke:#3949ab,color:#1a237e
classDef rtl fill:#e3f2fd,stroke:#1565c0,color:#0d47a1
classDef verify fill:#e8f5e9,stroke:#2e7d32,color:#1b5e20
classDef synth fill:#e0f7fa,stroke:#00838f,color:#006064
classDef netlist fill:#fff9c4,stroke:#f9a825,color:#f57f17,stroke-width:3px
classDef backend fill:#fff3e0,stroke:#ef6c00,color:#e65100
classDef signoff fill:#ffebee,stroke:#c62828,color:#b71c1c
classDef reg fill:#f3e5f5,stroke:#6a1b9a,color:#4a148c,stroke-dasharray:5 5
class A,B,C spec
class D rtl
class E,F,F2 verify
class G,G2 synth
class H netlist
class I1,I2,I3 synth
class J,K1,K2,K3,K4,K5,K6 backend
class L,M,N signoff
class RPT reg
二、流程阶段 × 工具链 × Slurm 分区映射¶
| 阶段 | 关键活动 | 主流工具 | Slurm 分区 | 作业特征 |
|---|---|---|---|---|
| 需求/架构 | Spec、微架构文档 | - | - | - |
| RTL 编码 | Verilog/SV 编写 | 编辑器/Vim | - | - |
| 代码检查 | Lint + CDC + RDC | SpyGlass、Verilator | regression(批量) | 快、可数组 |
| 功能验证(前仿真) | RTL 仿真 + UVM + 覆盖率 | VCS/Xcelium/Questa + Verdi | regression(回归)/ interactive(Verdi调试) | 海量 testcase、数组、高并发 |
| 硬件仿真 | 大规模 SoC 协同验证 | Palladium/Veloce/Protium | long(长任务) | 超长、专用机 |
| 逻辑综合 | RTL+SDC+库 → 网表 | DC / Genus | compile | 长时单作业、内存大 |
| DFT | 扫描链、ATPG | DFT Compiler/Tessent | compile / long | 长时 |
| ⭐门级网表 | 综合产物(Netlist+SDF) | - | - | 综合输出 |
| 形式验证 | RTL↔网表等价 | Formality/Conformal | regression(版本节点批量) | 快、可批量 |
| 门级后仿真 | 网表+SDF | VCS/Xcelium | compile / regression | 慢、少量用例 |
| STA 时序分析 | 多 corner 时序 signoff | PrimeTime/Tempus | long | 内存大、多 corner |
| 后端 P&R | Floorplan→CTS→Routing | Innovus/ICC2 | long | 超长时、内存极大 |
| 功耗/IR 分析 | 动态功耗、压降 | PrimePower/RedHawk | long | 长时 |
| 物理验证 | DRC/LVS/DFM | Calibre | long | 超长时(72h+) |
| 流片 | GDS 交晶圆厂 | - | - | - |
三、回归测试点分布¶
| 回归点 | 阶段 | 频率 | Slurm 调度特征 |
|---|---|---|---|
| 功能仿真回归(主战场,80%+算力) | 前仿真 | 每次提交/每夜 | --array=0-999 数组、短作业、backfill 回填、QOS=regression |
| Lint 回归 | 代码检查 | 每次提交 | 极快、数组 |
| 等价性回归 | 综合/后端每步 | 版本节点 | 批量比对 |
| 后仿回归 | 综合后 | 抽关键用例 | 慢、少量 |
| 物理验证回归 | 后端 | 版本节点 | Calibre 超长作业(long) |
回归本质:不是单一阶段,而是横跨"代码检查→前仿真→后仿→形式验证→物理验证"的自动化批量重跑+结果比对流水线,防止代码/约束/环境变更引入新缺陷。
四、关键纠错点(对照原始理解)¶
- ⭐门级网表位置:网表是逻辑综合的直接输出(RTL+SDC+库 → Netlist+SDF),STA 是拿网表做分析,网表不在 STA 之后。
- 约束(SDC)是综合的输入,不是综合后再改;约束在前端编写、综合与 STA 中反复迭代收敛。
- STA 是时序 signoff 主力,门级后仿真( GLS)现代流程已淡化(只抽关键用例)。
- 补齐缺失环节:架构/微架构、覆盖率驱动验证、CDC/RDC、形式验证、DFT、硬件仿真、后端 P&R 六步、Calibre 物理验证、功耗/IR 分析。
五、Slurm 4 分区与 EDA 作业对照(本集群实测配置)¶
| 分区 | MaxTime | QOS优先级 | 典型 EDA 作业 |
|---|---|---|---|
| interactive | 4h | 100(可抢占) | Verdi 波形、Innovus GUI、交互调试(OverSubscribe=YES:4 超售) |
| compile(默认) | 24h | 20 | VCS 长编译、DC/Genus 逻辑综合 |
| regression | 8h | 50 | UVM 前仿真回归数组、Lint、形式验证(MaxJobsPerUser=200) |
| long | 72h | 10(可被抢占挂起) | Calibre DRC/LVS、PrimeTime STA、P&R 后端 |
来源:
/home/rain/Documents/slurm/slurm_study/eda_flow/EDA芯片设计全流程图.md| 最后更新:2026-09-09 23:26(由build/sync.py同步,请勿在站点侧修改)