跳转至

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)

回归本质:不是单一阶段,而是横跨"代码检查→前仿真→后仿→形式验证→物理验证"的自动化批量重跑+结果比对流水线,防止代码/约束/环境变更引入新缺陷。


四、关键纠错点(对照原始理解)

  1. ⭐门级网表位置:网表是逻辑综合的直接输出(RTL+SDC+库 → Netlist+SDF),STA 是拿网表做分析,网表不在 STA 之后。
  2. 约束(SDC)是综合的输入,不是综合后再改;约束在前端编写、综合与 STA 中反复迭代收敛。
  3. STA 是时序 signoff 主力,门级后仿真( GLS)现代流程已淡化(只抽关键用例)。
  4. 补齐缺失环节:架构/微架构、覆盖率驱动验证、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 同步,请勿在站点侧修改)