Preface#
简单来说,LIB/LEF/DEF 为一种包含特定信息的,供 EDA 工具使用的文件格式。
这篇文章将讨论:
- 这些文件的作用是什么?
- 为什么需要这些文件?
不会讨论:
- 文件细节,每个字段含义
LIB#
Timing Library Format
描述标准单元 timing 和 power 信息的 .lib
文件。
如:delay time (input 到 output 的时间)、transition time (讯号在改变过程 (ex: 0 → 1) 中花的时间)、requirement of setup time (讯号到来之前要维持稳定的时间,才能保证讯号有被正确接收)、requirement of hold time (讯号进入之后要维持稳定的时间,才能保证往下一层传是正确的)。
LEF#
wiki: Library Exchange Format
在集成电路设计中,库交换格式(LEF)是一种规范,用于以 ASCII 格式表示集成电路的物理布局。它包括设计规则和标准单元的抽象信息。
LEF 仅包含该级别所需的基本信息,以满足相关 CAD 工具的目的。它只提供抽象视图,因此内存开销较少,有助于节省宝贵的资源。LEF 与 Design Exchange Format (DEF) 结合使用,可在设计过程中表示集成电路的完整物理布局。
对 LEF 的一种通俗理解:
LEF 描述单元的物理属性,包含大小、端口位置、各层定义、通孔定义等,简单想成这个单元的外框,要跟别的单元能够互相连接的那些讯息,至于里面有什么内容先不管。LEF 包含的资讯大概可以这么理解:A 大楼建地 200 坪共 10 层楼高,一楼有 5 个出入口,五楼有保留天桥空间,顶楼有空中花园,B 大楼建地 200 坪共 15 层楼高,一楼有 8 个出入口,同样在五楼有保留天桥空间,顶楼有空中花园,两栋地下室停车场完全相连共用。
根据 Wikipedia 描述,可知 LEF 分类为包含设计规则的 Tech LEF 和包含标准单元抽象信息的 Cell LEF
Tech LEF#
Tech LEF 是描述工艺技术规则的文件,提供制造工艺相关的物理设计约束和参数。
- 作用:定义芯片设计中可用的层、规则和布线资源。
- 内容:
- 图层信息:定义金属层、过孔层、掩膜层等(如宽度、高度、间距)。
- 设计规则:约束设计器的布线、间距、密度等要求。
- 工艺属性:电阻、电容等层属性参数。
- 应用:提供 P&R 工具进行设计规则检查(DRC)、布线规划和寄生参数提取。
Cell LEF#
Cell LEF 是描述标准单元的抽象物理布局信息的文件,用于指导 P&R 工具的布局与布线。
- 作用:定义每个单元的尺寸、引脚位置及其金属层映射。
- 内容:
- 单元边界:单元的宽度、高度。
- 引脚位置:引脚的坐标和金属层。
- 阻挡层(Obstruction):限制布线区域。
- 功耗引脚:如 VDD 和 GND 的位置。
- 应用:指导 P&R 工具进行单元放置、布线连接。
DEF#
wiki: Design Exchange Format
设计交换格式(DEF)是一种开放式规范,用于以 ASCII 格式表示集成电路的物理布局。它表示网表和电路布局。DEF 与 Library Exchange Format (LEF) 结合使用,可在设计过程中表示集成电路的完整物理布局。
主要作用#
- 交换物理设计信息:在 EDA 工具间传递设计布局、布线和相关数据。
- 记录设计状态:从布局规划到完成布线,各阶段的物理设计信息。所以每个阶段的 DEF 信息不同,既可表示初步布局,也可表示完整布线。
DEF 与 LEF 的关系#
- LEF 描述工艺规则和标准单元(逻辑层面)。
- DEF 描述特定设计的物理实现(实例化层面)。
为什么需要?#
为什么需要 LIB 文件:提供标准单元的时序和功耗信息,支持 STA, Power 分析等工具的正常运行
如果没有 LEF/DEF:
1. 工艺规则约束缺失(无 LEF)
- 工具无法获取布线层定义、设计规则(如间距、宽度等)。
- 导致不符合工艺要求的设计,可能无法制造或导致高失败率。
2. 标准单元信息缺失(无 LEF)
- 工具无法识别单元尺寸和引脚位置,无法完成单元放置和布线。
- 导致布局阶段停滞。
3. 无法记录物理实现信息(无 DEF)
- 设计阶段的物理信息无法在工具间传递,跨工具协作受阻。
- 布局布线后的结果无法保存或复用,设计验证与迭代困难。