从SMIC工艺库的‘老古董’文件,聊聊数字后端EDA工具的演进史
翻开一个尘封已久的SMIC工艺库压缩包,解压后映入眼帘的是apollo、.pdb、.plib这些如今已鲜少提及的文件格式。这些数字后端设计领域的"活化石",恰如地质层中的化石标本,记录着EDA工具从离散工具链到高度集成化平台的进化轨迹。本文将沿着这些技术遗迹,还原数字后端设计工具如何从工作站时代走向云原生时代的技术跃迁。
1. 石器时代:Apollo与早期物理设计工具
1983年诞生的Apollo工作站,标志着物理设计工具首次以独立形态登上历史舞台。在那个芯片设计还停留在微米级的年代,apollo目录下的文件承载着最早的自动布局布线(APR)逻辑:
apollo/ ├── chip.are # 芯片面积约束 ├── cell.loc # 单元位置信息 └── route.cfg # 布线规则配置这些ASCII格式的配置文件呈现出三个典型特征:
- 工具强耦合:文件头常包含
!Apollo II v2.3等工具版本声明 - 层次扁平化:金属层信息用4lm/6lm等简单缩写表示
- 规则显式化:DRC规则直接硬编码在配置文件内
对比现代LEF/DEF格式:
| 特性 | Apollo格式 | LEF/DEF格式 |
|---|---|---|
| 扩展性 | 固定列宽文本 | 分层可扩展XML结构 |
| 工艺描述 | 内置规则 | 独立tech LEF |
| 单元抽象 | 全细节GDS | 边界/引脚抽象 |
| 工具兼容性 | 单工具专用 | 跨工具通用标准 |
提示:在2000年前后的工艺库中,常会同时存在
apollo和lef两个目录,这种"双轨制"正是工具过渡期的典型现象。
2. 青铜时代:Physical Compiler与物理综合革命
当工艺节点进入180nm时代,Synopsys推出的Physical Compiler带来了"物理综合"这一颠覆性理念。其配套的.pdb/.plib文件格式在SMIC工艺库的synopsys目录下仍可找到踪迹:
# 典型的.plib文件结构 library (smic18_tt) { delay_model : table_lookup; cell (AND2X1) { physical_template : stdcell_1x; pin (A) { direction : input; } pin (Y) { direction : output; timing() { ... } } } }这种将逻辑与时序、物理信息捆绑的尝试,直接催生了现代数字后端流程的三大变革:
- 时序驱动布局:PT时序约束直接作用于布局引擎
- 物理意识综合:线负载模型被真实互连寄生参数取代
- 统一数据模型:逻辑与物理信息首次实现同源管理
然而受限于当时计算能力,Physical Compiler最终在2006年被整合进ICC工具链,.pdb/.plib也随之成为历史名词。但它的核心思想却在Innovus、ICC2等现代工具中得到延续。
3. 铁器时代:Milkyway与统一数据模型
在90nm工艺节点前后,Synopsys Milkyway数据库的出现终结了"一种工具一种数据格式"的混乱局面。观察SMIC工艺库中的synopsys目录,可以看到完整的层次结构:
synopsys/ ├── symbols/ # 图形符号库 ├── db/ # 标准.db时序库 └── pdk/ # 工艺设计套件Milkyway的创新性体现在:
- 二进制存储:相比文本格式的
.lib,.db的查询效率提升10倍以上 - 多维度索引:支持时序、功耗、噪声等多维度数据关联
- 版本控制:内置数据差异比较功能
# Milkyway API示例 import mw db = mw.open_database('smic18.mw') cell = db.get_cell('AND2X1') print(cell.get_pins()) # 获取所有引脚信息 print(cell.get_physical_template()) # 获取物理模板这种架构使得ICC工具链能够实现从综合到签核的完整数据流,也为后来的OpenAccess数据库奠定了基础。
4. 工业革命:云原生EDA与AI驱动设计
当工艺节点推进到5nm以下,现代EDA工具展现出三个显著进化方向:
4.1 云端协同设计
- 分布式计算架构(如Cadence Cerebrus)
- 实时设计规则更新(如PDK on Cloud)
- 协作式版本管理(类似Git for EDA)
4.2 AI增强流程
# Innovus GigaOpt示例 set_opt_mode -enable_machine_learning true set_opt_ml_model -type timing -file ./ml/timing_model.h5 run_placement -enable_learning4.3 全流程融合
- 综合与布局布线边界模糊(Fusion Compiler)
- 签核工具前移(PrimeTime in Design)
- 多物理域协同(Thermal-Aware Routing)
在最近发布的Samsung 3nm工艺库中,传统文件目录结构已简化为:
3nm_pdk/ ├── cloud_manifest.json # 云资源描述 ├── ai_models/ # 机器学习模型 └── unified.db # 全流程统一数据库这种演变不仅改变了工具使用方式,更重新定义了芯片设计工程师的工作模式——从操作离散工具转变为指导智能系统。