LEF 与 DEF:一个说清「积木长啥样」,一个说清「这次摆在哪」(F4)
EDA 数据格式 讲过 LEF/DEF 的基本字段;本篇沿数据流讲它们在物理设计各阶段如何成对出现、逐站补全,以及和网表/GDS 的同源关系。主要服务 S3 布局、S4 布线、S6 拼版。
一、核心抽象:为什么 P&R 不需要晶体管几何
GDS 里一颗标准单元有复杂的扩散区/多晶硅/接触孔多边形,数据量巨大。但布局布线器根本不关心内部怎么造,它只需要回答:
- 这颗单元多大、边界在哪(会不会和邻居重叠);
- 引脚在什么位置、在哪层金属(线要连到哪);
- 哪些区域是障碍物/阻挡层(走线不能穿);
- 它占哪几行 site、对齐网格。
LEF(Library Exchange Format)就是这种「最小必要抽象」——故意丢弃内部几何,只暴露 P&R 需要的接口,换来容量与速度。这是 EDA「抽象—实例」思想最典型的体现。
二、LEF 的两半:tech LEF 与 cell LEF
| 类型 | 描述对象 | 关键内容 |
|---|---|---|
| tech LEF | 工艺本身(与具体设计无关) | site、row、可用金属层及方向、间距/宽度规则、via 阵列、routing track、单位、网格 |
| cell LEF | 每颗标准单元/宏 | SIZE 边界、PIN(名字/层/形状/use)、OBS 阻挡、symmetry、site 行、CLASS(core/pad/ring…) |
大宏(SRAM/IP/PHY)通常另有 macro LEF / FRAM(frame view),同样只给抽象;它们还有完整 GDS 供 S6 拼版。金属层方向(horizontal/vertical layer)和 track 网格定义在 tech LEF 里,用错层方向是 floorplan/布线阶段的常见低级错误。
三、DEF:本次设计的实例化数据
DEF(Design Exchange Format) 承载「用这些 LEF 积木、在这次芯片里怎么摆、怎么连」:
- 设计全局:die/core 面积、row、track、特殊网络(VDD/VSS);
- COMPONENTS:每个网表实例用的是哪颗 LEF cell、放在什么坐标、方向;
- PINS:顶层 IO pin 的位置/层;
- NETS:网络如何连接(floorplan 阶段只有连接关系,布线后逐步带上具体布线几何/特殊走线);
- SPECIAL NETS:电源/地网络(ring/strap/rail);
- BLOCKAGES / FILL:布线阻挡、填充。
四、这对数据怎样逐站「长全」

- S3 初:初始 DEF 只含 die/core、宏位置、电源网;placement 后 DEF 补上所有标准单元坐标。
- S4 后:routed DEF 的 NETS 带上真实金属段/过孔几何——它和布线后网表是「同一次布线的两份描述」,必须同源发布(S4 的核心纪律)。
- S6:stream-out 用 routed DEF 的摆放/连接 + 每颗 cell 的 GDS 几何(LEF 在这一步让位给真实几何)+ layer map,合成整版 GDS。注意抽象层次在此转换:P&R 用 LEF 抽象,拼版用 GDS 实体,两者通过同版库关联。
五、DEF 与网表:分工与同源
初学者常混淆网表和 DEF:
- 网表(Verilog)讲逻辑连接:A 的输出连到 B、C 的输入(有哪些实例、net 的拓扑)。
- DEF讲物理实例与几何:每个实例摆在哪、每条 net 走什么坐标。
二者通过实例名/网络名对应。综合后的网表定义有哪些组件;P&R 在 DEF 里给这些组件坐标与走线。因此:
- 组件集必须一致(网表多一个实例而 DEF 没摆 → unplaced;DEF 摆了网表没有的 → 非法);
- ECO 改了网表,必须同步增量更新 DEF,并让两者 + 由 DEF 提取的 SPEF 成为一个原子版本。
六、典型交接事故
| 事故 | 根因 | 拦截 |
|---|---|---|
| 摆不下/规则错 | cell LEF 与 LIB/GDS 不同版尺寸 | LEF/LIB/GDS 锁同版库基线 |
| 走线违规 | tech LEF 层方向/间距版本错 | tech LEF 与 PDK 规则套同版 |
| LVS 对不上 | routed DEF 与网表不同源/ECO 未同步 | 网表+DEF+SPEF 原子发布 |
| 拼版缺层 | stream-out layer map 错 | map 对拍 + 层清点(见 S6) |
| 宏位置乱 | floorplan 变更未回流前端 | 宏冻结点 + 变更通知(S3) |
相关与延伸
- 库的逻辑/时序视图:F3 Liberty;下游寄生:F5 SPEF/SDF。
- 字段基础:EDA 数据格式;使用现场:S3/S4/S6。
总结
LEF 把工艺(tech)和单元(cell)抽象成 P&R 所需的尺寸/引脚/障碍,DEF 记录这一次设计把它们摆在哪、怎么连;DEF 从 floorplan 到 routed 逐站长全,网表管逻辑拓扑、DEF 管物理几何、二者按实例名对应且必须同源,到 S6 再用同版 cell GDS 替换抽象完成拼版。