综合数据交接:RTL+SDC+LIB 怎样变成门级网表(S2)
上一站 S1 冻结了 golden RTL 及其伴随数据;本站第一次把它落到具体工艺。下一站 S3 floorplan/布局 吃网表做物理。工具命令层面见 综合器怎样变网表,本篇只讲综合站的数据进出、版本基线与交接契约。
一、本站在数据总图上的位置

综合是整条链上表示发生质变的一站:此前数据与工艺无关(布尔逻辑/RTL),此后每一个单元都是某颗工艺库中真实存在、有面积有延迟有功耗的器件。正因为「落了地」,本站开始引入 PVT 角(process/voltage/temperature) 这一贯穿后续所有签核的数据维度。
二、输入清单(上游交接面)
| 输入 | 格式 | 来源 | 版本/成熟度要求 |
|---|---|---|---|
| golden RTL + filelist/宏配置 | SV/V | S1 | 已冻结打 tag、视图一致 |
| SDC 时序合同 | .sdc | 时序/前端负责人 | 时钟/IO/例外/mode 分层完整 |
| Liberty 时序库 | .lib/.db | 晶圆厂/库团队 | 多 PVT 角、与 PDK 同版 |
| LEF(物理综合用) | .lef/.tlef | 库团队 | 单元物理抽象、与 LIB 同版 |
| UPF 低功耗意图 | .upf | S1/低功耗 | 电源域冻结 |
| 切换/活动信息(可选) | SAIF | S1 | 早期功耗估计 |
SDC 在本站第一次成为「可执行合同」。它的分层与生命周期在 F2 专讲;本站只需强调:综合读到的 SDC 必须与后续 STA 签核用的 SDC 同源,否则「综合过了」毫无意义。
三、本站变换:保功能 + 加物理
综合器对数据做三件事:①elaborate/link,把 RTL 展开并解析所有引用(此时任何 unresolved module 都是硬伤,禁止带黑盒进后端);②technology mapping,在真实单元空间里做逻辑/时序/功耗优化与映射;③插入时钟门控、按 MMMC 做多角优化。全过程保持功能等价——这一承诺由 LEC 形式验证背书,而不是靠再仿一遍。
四、输出清单(下游交接面)
| 输出 | 格式 | 下游消费者 | 签收标准 |
|---|---|---|---|
| 功能门级网表 | 门级 Verilog/EDIF | S3 P&R | link 干净、与 RTL 形式等价 |
| 综合后 SDF | .sdf | 门仿(早期) | 角标注清楚 |
| QoR 报告 | timing/area/power/DRC | 前端/架构决策 | WNS/TNS、面积、功耗、DRC 达标或有结论 |
| 更新/传播的 SDC | .sdc | S3/S5 | 例外经评审、mode 齐全 |
| LEC 等价证据 | 报告 | 流程门禁 | RTL↔网表 proven equivalent |
| 综合日志/版本清单 | 日志/manifest | 数据治理 X1 | 库+SDC+RTL 版本可追溯 |
读 QoR 时记住:WNS 为正不代表能交付。还要看 TNS(是否一大批路径贴着极限)、未约束端点(unconstrained endpoint,说明有路径根本没被检查)、面积里 SRAM/IP 宏与随机逻辑分开看、design rule(max_fanout/cap/transition)。
五、关键交接点:为什么会有「不止一份网表」
这是本站最容易把版本搞乱的地方。沿流程会衍生多份网表:
- 功能网表(functional netlist):综合直接产物。
- DFT 网表(test-ready netlist):插入扫描链/测试逻辑后的网表——结构被改动了,必须重新做一次 LEC(RTL↔DFT 网表,借助 DFT rule)。
- 后续 S3/S4 还会有 placed netlist、routed netlist、ECO netlist。
每份网表都要有明确的主从关系与命名(见 F1 RTL 与四级网表)。交接事故往往是:把功能网表给了后端,却以为 DFT 已插入;或 DFT 改了网表但没补 LEC 就往下走。
六、本站的数据契约(签核基线四元组)
本站第一次需要锁定「库 + corner + 约束 + 工具版本」基线:
- 综合角 ≠ 签核角是常见坑:综合常用典型角求性能/可布线性,但 STA 必须在 slow/fast 等极端角签。若综合库与签核库不是同一 PDK 版本,时序数字没有可比性。
- mode(func/scan/test、多时钟模式)必须在 SDC 里齐备;漏一个 mode,那个模式下的违例就是盲区。
- 库的 timing/power 视图要同版(Liberty 三视图详见 F3)。
七、典型交接事故
| 事故 | 根因 | 在本站如何拦住 |
|---|---|---|
| 综合过、签核爆 | 综合角/库与签核不一致 | 锁定同 PDK 基线,manifest 记录四元组 |
| 整片路径没人查 | SDC 漏 mode/漏 generated clock | 查 unconstrained endpoint,例外评审 |
| 功能网表当 DFT 网表 | 多份网表命名/主从不清 | 网表版本命名规范 + owner 签收 |
| DFT 后功能不等价 | 插扫描链后没重做 LEC | DFT 插入强制作为 LEC 重跑门禁 |
| 带黑盒进后端 | link 有 unresolved | link 零 unresolved 才放行 S3 |
相关与延伸
- 上一站 S1 RTL 单一事实源,下一站 S3 floorplan/布局。
- 本站核心输入的生命周期:F2 SDC、F3 Liberty、F4 LEF/DEF。
- 工具命令视角:综合器怎样变网表、EDA 工具全矩阵。
总结
S2 用同版的 RTL、SDC、多角 Liberty 把工艺无关逻辑映射成门级网表,并同时交付 SDF、QoR 与 LEC 等价证据;本站最大的交接风险是「角/库/模式不同源」和「功能网表与 DFT 网表不分家」。