综合和布局布线(P&R)有什么区别?
更新时间:2026-09-21。问题驱动短答页。综合见 什么是综合 与 综合入门,P&R 见 布局布线入门,FPGA 流程见 设计流程,物理设计见 物理设计。
一句话回答
综合(Synthesis)解决「用哪些逻辑单元、怎么连」,它把 RTL 翻译、优化并映射成工艺标准单元(ASIC)或 LUT/FF/BRAM/DSP(FPGA)的网表,此时还没有物理位置,连线延迟只是预估;布局布线(Place & Route)解决「这些单元摆到哪个坐标、信号沿哪条金属走线」,有了真实布线才能算出准确延迟,是时序真正收敛的阶段。
核心对照
| 维度 | 综合 Synthesis | 布局布线 P&R |
|---|---|---|
| 回答问题 | 用什么逻辑、怎么连(逻辑结构) | 摆在哪、怎么走线(物理实现) |
| 输入 | RTL + 库 + 约束(SDC/XDC) | 综合网表 + 物理库 + 约束 + floorplan |
| 输出 | 门级/LUT 级网表、初步时序面积报告 | 布线后网表/比特流、真实寄生与时序、版图 |
| 延迟来源 | 线延迟用统计模型估计(不准) | 真实布线/寄生提取(签核依据) |
| 主要优化 | 布尔化简、资源映射、retiming | 布局拥塞、CTS、布线、时序驱动优化 |
| ASIC 工具 | Design Compiler / Genus | ICC2 / Innovus |
| FPGA 阶段 | Vivado/Quartus 的 synthesis(综合) | implementation(opt+place+route+bitstream) |
两者的关系
- 是串行又反复迭代的:先综合看大致面积/时序是否离谱,再进 P&R 拿真实结果。
- 综合阶段「时序通过」不代表最终通过——估计线延迟往往偏乐观,布线后可能冒出 setup/hold 违例,需回到 P&R 优化甚至改 RTL/重综合,见 时序违例怎么修。
- ASIC 里综合后还有 DFT 插入、时钟树综合 CTS、物理综合;签核以布局布线后寄生提取的 STA 为准,见 STA 是什么。
- FPGA 里
route_design完成后才生成比特流下载,见 FPGA 设计流程。
常见误解
- 把「综合通过/综合频率」当成芯片能跑的频率:真实频率以布线后 STA 为准。
- 以为 P&R 只是机械连线:现代 P&R 是时序驱动的,会重排、缓冲、做物理 ECO。
- 综合网表面积小就以为后端轻松:物理拥塞、宏单元摆放、时钟树可能让后端很痛苦。
- 忽略约束一致性:综合和 P&R 要用同一套时钟/例外约束,否则前后结果对不上。
总结
综合把 RTL 映射成网表、决定逻辑构成但只有估计线延迟,布局布线给单元定位并实际走线、拿到真实寄生后做时序收敛;综合看「逻辑对不对、大概多大」,P&R 才决定「物理上快不快、造不造得顺」;综合时序过不等于最终过,必须以布线后 STA 签核,二者在同一套约束下反复迭代。