第三章 工艺文件准备:理解.lib模型、.tch技术文件、.sp SPICE网表、工艺角(PVT)定义
好,咱们进入正题。这一章要聊的是工艺文件准备,说白了就是给SiliconSmart喂的“食材”。你想想看,特征化工具再厉害,没有准确的工艺文件,出来的结果也是垃圾。
我个人习惯,拿到一个新工艺库,第一件事就是把这四样东西理清楚:.lib模型、.tch技术文件、.sp网表、还有PVT定义。缺一个,后面跑流程就会卡住。
3.1 .lib模型——时序和功耗的“字典”
.lib文件,全称是Liberty库模型。它描述的是标准单元的各种时序、功耗、噪声特性。你可以把它理解成一本“字典”,里面查每个单元的延迟、转换时间、功耗是多少。
我遇到过刚入行的同事,以为.lib是工具自动生成的。其实不是。.lib是我们要提供给SiliconSmart的输入参考,工具会根据它来生成最终的特征化结果。
一个典型的.lib片段长这样:
cell (AND2X1) {
area : 9.8;
pin (A) {
direction : input;
capacitance : 0.003;
}
pin (Y) {
direction : output;
function : "A & B";
timing () {
related_pin : "A";
timing_sense : positive_unate;
cell_rise (delay_template_7x7) {
index_1 ("0.01, 0.02, 0.05, 0.1, 0.2, 0.5, 1.0");
index_2 ("0.005, 0.01, 0.02, 0.05, 0.1, 0.2, 0.5");
values ( \
"0.012, 0.015, 0.021, 0.032, 0.054, 0.098, 0.187", \
...
);
}
}
}
}
这里要注意几个关键点:
- cell area:单元面积,单位通常是um²
- pin capacitance:输入引脚电容,单位pF
- timing table:延迟查找表,横轴是输入转换时间,纵轴是输出负载
3.2 .tch技术文件——工艺的“身份证”
.tch文件,全称Technology File。它定义了工艺的物理参数,比如金属层、通孔、设计规则等。SiliconSmart用它来理解单元的物理结构。
说白了,.lib告诉工具“这个单元延迟多少”,.tch告诉工具“这个单元长什么样”。
一个.tch文件里通常包含:
- 金属层定义(M1, M2, ...)
- 通孔类型(V1, V2, ...)
- 最小线宽、最小间距
- 单位电阻、单位电容
我记得有一次,项目组给的.tch文件里金属层厚度写错了,结果特征化出来的功耗比实测高了30%。排查了两天才找到原因。嗯,这里要提醒大家:.tch文件一定要和foundry提供的PDK版本对应上。
3.3 .sp SPICE网表——电路的“骨架”
.sp文件,就是SPICE网表。它描述了标准单元内部的晶体管级连接。SiliconSmart通过仿真这个网表,来提取时序和功耗数据。
一个反相器的.sp网表大概长这样:
.SUBCKT INVX1 A Y VDD VSS
M1 Y A VSS VSS NMOS W=0.5u L=0.13u
M2 Y A VDD VDD PMOS W=1.0u L=0.13u
.ENDS INVX1
这里要注意:
- W和L:晶体管的宽度和长度,直接影响驱动能力
- M1和M2:分别是NMOS和PMOS
- 节点命名:VDD和VSS是电源和地,A是输入,Y是输出
3.4 工艺角(PVT)定义——仿真的“环境条件”
PVT是Process、Voltage、Temperature的缩写。说白了,就是芯片在不同制造偏差、电压、温度下的表现。
常见的工艺角组合:
| 工艺角名称 | 工艺 | 电压 | 温度 | 典型应用 |
|---|---|---|---|---|
| TT_1.2V_25C | Typical | 1.2V | 25°C | 典型条件 |
| SS_1.08V_125C | Slow | 1.08V | 125°C | 最差时序 |
| FF_1.32V_-40C | Fast | 1.32V | -40°C | 最佳时序 |
| SF_1.2V_25C | Slow NMOS, Fast PMOS | 1.2V | 25°C | 特殊偏差 |
你想想看,为什么要有这么多角?因为芯片制造出来,不可能每一颗都一模一样。有的快,有的慢。我们要保证在最差情况下,芯片也能正常工作。
在SiliconSmart里配置PVT时,我建议:
- 至少跑三个角:TT、SS、FF
- 如果项目对功耗敏感,再加一个SF或FS角
- 温度范围要覆盖-40°C到125°C
3.5 四者的关系——一张图说清楚
最后,我用一句话总结这四者的关系:
- .lib:告诉工具“要测什么”
- .tch:告诉工具“工艺长什么样”
- .sp:告诉工具“电路怎么连”
- PVT:告诉工具“在什么条件下测”
缺了任何一个,SiliconSmart都没法正常工作。就像做饭,缺了盐、缺了油、缺了火候,都做不出好菜。
嗯,这一章就到这里。下一章我们聊聊怎么把这些文件喂给SiliconSmart,开始第一次仿真。