Cadence 在提供了若干通用工艺设计套件(Generic PDK,GPDK),供工程师学习 EDA 工具流程、验证方法学,以及搭建内部培训环境时使用。它们不对应真实代工厂工艺,但结构与真实 PDK 完全一致。本文对其中两个常用的 PDK 进行逐文件解析,以便初学者能快速掌握。


一、cds_ff_mpt —— 18nm FinFET 多重图形 PDK(ADVGPDK)

背景

全称 Advanced Node GPDK,工艺节点 18nm,FinFET 器件 + 多重图形(Multi-Patterning)工艺,支持 0.8V / 1.8V 双电源,8 层金属。提供 Virtuoso 技术库、pCell、Spectre 模型、PEGASUS/PVS DRC/LVS 规则、QRC 及 EM 数据,并附带一套基础标准单元库可配合 Innovus 做布局布线。支持工具版本为 IC23.1。

器件单元

每个 Cell 目录下通常包含以下视图(view):layoutspectresymbolauCdlauLvsivpcell

顶层分类由 cds_ff_mpt.TopCat 定义,分为以下类别:

FinFET 晶体管(finfets.Cat

Cell 含义
n1svt NMOS FinFET,标准阈值(Standard Vt)
n1lvt NMOS FinFET,低阈值(Low Vt,速度快但漏电较大)
n1hvt NMOS FinFET,高阈值(High Vt,低功耗)
n2svt NMOS FinFET,双倍宽度(2-fin),标准阈值
p1svt / p1lvt / p1hvt / p2svt 对应 PMOS 版本
p1svtcp PMOS 标准阈值,交叉耦合(cross-pole)变体

堆叠 FinFET(stackedFinfets.Cat

后缀 _s 表示 stacked,即多个 FinFET 纵向串联,用于低功耗或高密度电路设计。

Cell 含义
n1svt_s / n1lvt_s / n1hvt_s / n2svt_s NMOS 堆叠 FinFET
p1svt_s 对应 PMOS 堆叠版本

二极管(diodes.Cat

Cell 含义
nd1svt / nd1lvt / nd1hvt / nd2svt N 型二极管(不同阈值变体)
pd1svt P 型二极管

二极管主要用于 ESD 防护和基准电压产生。

双极型器件(bipolar.Cat

Cell 含义
npn NPN 双极型晶体管(FinFET 工艺下的寄生 BJT,辅助器件)

电容(capacitor.Cat

Cell 含义
cmim MIM 电容(Metal-Insulator-Metal),高精度、高 Q 值,适合模拟/RF 电路

电阻(resistors.Cat

Cell 含义
resm1 ~ resm7 金属层电阻(M1~M7),方块电阻低,适合大阻值精密电阻
resmt 顶层金属电阻
rnsnd / rnsnp 非 Salicided N 型扩散 / N 型多晶电阻(高方阻)
rnspd / rnspp 非 Salicided P 型扩散 / P 型多晶电阻
rsnd / rsnp / rspd / rspp 对应 Salicided 版本(低方阻,温度系数小)
rnwo N-well 氧化物电阻
rnws N-well STI 电阻

原语(primitives.Cat

Cell 含义
primRes2 基础参数化电阻原语,其他电阻 Cell 以此为基础派生

连接与隔离结构(不属于任何分类)

Cell 含义
diffConn 扩散区连接(跨鳍互联结构)
polyConn 多晶连接
nwellTap N-well 偏置接触(为 PMOS well 提供电位)
subTap P 型衬底接触(为 NMOS 提供衬底电位)
NGR N 型保护环(N-type Guard Ring)
PGR P 型保护环(P-type Guard Ring)

技术与工艺文件

文件 用途
techfile.tf ASCII 工艺技术文件,定义所有层名、工艺参数、设计约束
tech.db 编译后的技术数据库(二进制),Virtuoso 实际加载的版本
display.drf 显示资源文件(Display Resource File),定义各层的颜色、填充图案、透明度
cds_ff_mpt.layermap GDS 导入/导出时的层名 ↔ 层号映射表
cds_ff_mpt.objectmap 对象类型映射(目的层映射)
cds_ff_mpt.TopCat 顶层分类目录,列出所有 .Cat 分类文件
bipolar.Cat / capacitor.Cat 各类别的器件目录索引
cdsinfo.tag 标记该目录为 Cadence 库根目录,声明命名空间(LibraryUnix)
.oalib 标记该目录为 OpenAccess 格式库
data.dm 数据管理系统配置文件
pdk.dat PDK 元数据(二进制)

SKILL 脚本文件

文件 用途
libInit.il 库初始化主脚本,Virtuoso 打开库时自动执行,依次加载 context 和子脚本
libInitCktPro.il ADE Circuit Probe 模式下的专用初始化脚本
libInitCustomExit.il 库关闭时执行的自定义退出脚本
loadCxt.ile 加载 PDK context(.cxt)的 SKILL 脚本入口
cds_ff_mptFgrUtil.il FinFET 手指分组工具(finger grouping utility),辅助布局摆放
cds_ff_mptFgrRing.il FinFET 环形排列工具脚本
cds_ff_mpt_customFilter.il 自定义筛选器(CIW / ADE 中对器件参数进行过滤)
cds_ff_mpt_ModelMgmt.il 模型管理脚本,在 ADE 中自动设置 Spectre 模型文件路径

编译好的 Context 文件

文件 用途
cds_ff_mpt64bit.cxt PDK 主 context(64-bit),包含 pCell / 约束的编译结果
pdkUtils.cxt / pdkUtils64bit.cxt PDK 工具函数 context(32/64-bit)

二、gpdk045_v_3_5 —— 45nm CMOS 通用 PDK

背景

全称 GPDK045,工艺节点 45nm CMOS,11 层金属 + 2 层多晶(11M/2P),平面器件(非 FinFET),同时包含完善的 RF 器件(电感)。提供 Virtuoso 技术库、pCell、Spectre 模型、DRC/LVS 规则、QRC 数据,支持 IC6.1 和 IC23.1。本地版本为 v3.5,当前最新版本为 v6.0。

顶层目录结构

1
2
3
4
5
6
gpdk045_v_3_5/
├── gpdk045/         ← Cadence 器件库(含所有 Cell 与技术文件)
├── models/spectre/  ← Spectre 仿真模型文件
├── cds.lib          ← 库路径定义(老格式,二进制)
├── lib.defs         ← 库路径定义(ASCII,指向 analogLib / gpdk045 等)
└── .abstractrc      ← Virtuoso Abstract 抽取器配置

lib.defs 示例内容:

1
2
DEFINE analogLib $CDSHOME/tools/dfII/etc/cdslib/artist/analogLib
DEFINE gpdk045 ./gpdk045

.abstractrc 中指定生成 LEF 时使用的 ConstraintGroup:

1
absSetOption("UseConstraintGroup" "LEFDefaultRouteSpec_gpdk045")

器件单元(gpdk045/ 内)

顶层分类由 gpdk045.TopCat 定义,分为:bipolarcapdiodeindmosmoscapprimitivesresistors

MOSFET(mos.Cat

Cell 含义
nmos1v 1V 核心 NMOS,标准阈值
nmos1v_hvt / nmos1v_lvt 1V NMOS 高/低阈值变体
nmos1v_nat 1V 零阈值 NMOS(Native,用于低压开关)
nmos2v 2V I/O NMOS(厚栅氧化层,耐高压)
nmos2v_nat 2V 零阈值 NMOS
nmos*_3 三倍宽度(3-finger)变体,提高驱动电流
qnmos1v / qpmos1v 仿真专用简化模型(用于大规模仿真提速)
PMOS 系列 对应 PMOS 版本(pmos1v / pmos2v 等)

电容(cap.Cat / moscap.Cat

Cell 含义
mimcap MIM 电容,高 Q、低寄生,适合 RF 匹配网络
nmoscap1v / nmoscap2v NMOS 栅电容(1V/2V 版本),面积效率高
pmoscap1v / pmoscap2v PMOS 栅电容

二极管(diode.Cat

Cell 含义
ndio / pdio 标准 N/P 型二极管
ndio_2v / pdio_2v 2V 耐压版本
ndio_hvt / ndio_lvt / ndio_nvt 高/低/零阈值变体(影响正向压降特性)

双极型器件(bipolar.Cat

Cell 含义
npn2 / npn5 / npn10 水平 NPN BJT(发射极面积 2 / 5 / 10 μm²)
vpnp2 / vpnp5 / vpnp10 垂直 PNP BJT

电感(ind.Cat,RF 专用)

Cell 含义
ind_a 非对称电感(Asymmetric),适合单端 RF 电路
ind_s 对称电感(Symmetric),适合差分 RF 电路
ind_s_w1_cross ~ ind_s_w5_cross 对称电感 + 正向交叉线,w1~w5 对应不同线宽(感量/Q 值不同)
ind_s_w1_rcross ~ ind_s_w5_rcross 对称电感 + 反向交叉线(rcross = reverse cross)

电阻(resistors.Cat

Cell 含义
resm1 ~ resm11 金属层电阻(M1~M11)
resnsndiff / resnsnpoly 非 Salicided N 型扩散 / 多晶电阻(高方阻)
resnspdiff / resnsppoly 非 Salicided P 型扩散 / 多晶电阻
ressndiff / ressnpoly Salicided N 型扩散 / 多晶电阻(低方阻)
resnwoxide / resnwsti N-well 氧化物 / STI 电阻(极高阻值)
*_2 后缀 对应 2-terminal(两端子)变体

保护环

Cell 含义
nring N 型保护环(隔离 N-well 衬底噪声)
pring P 型保护环(隔离 P 型衬底噪声)

原语(primitives.Cat

Cell 含义
primRes2 / primRes3 参数化电阻原语
primRes3_inh_n / primRes3_inh_p N/P 型隔离(inhibit)变体

Spectre 模型文件(models/spectre/

文件 用途
gpdk045.scs 顶层模型入口,通过 include 引用以下所有文件;在 ADE 中通常只需 include 这一个文件
gpdk045_mos.scs MOSFET 模型(BSIM4 / PSP 格式)
gpdk045_bipolar.scs BJT 模型(VBIC / HICUM 格式)
gpdk045_diode.scs 二极管模型
gpdk045_resistor.scs 电阻模型(poly、diffusion 等)
gpdk045_inductor.scs 电感模型
gpdk045_mimcap.scs MIM 电容模型
gpdk045_moscap.scs MOS 电容模型
gpdk045_age.scs 器件老化/可靠性模型(HCI、NBTI 效应)
cap045.scs / mos045.scs / res045.scs 补充模型或旧版兼容模型

技术与库文件(gpdk045/ 内)

文件 用途
tech_gpdk045.tf 45nm 工艺技术文件(ASCII)
tech.db 编译后技术数据库(二进制)
display.drf 层颜色/图案显示配置
gpdk045.layermap GDS 层映射文件(层名 ↔ 层号)
divaEXT.rul Diva DRC 扩展规则(旧版物理验证工具 Diva,现多用 PVS/PEGASUS)
divaLVS.rul Diva LVS 规则
gpdk045_PDKRegistrations.il PDK 注册脚本,向 Virtuoso 注册工具栏、菜单项
gpdk045_ModelMgmt.il ADE 模型路径自动设置脚本
gpdk045_customFilter.il 器件参数自定义过滤器
gpdk045.cxt / gpdk04564bit.cxt 编译好的 PDK Context(32/64-bit)
libInit.il / libInitCktPro.il / libInitCustomExit.il 库初始化及退出脚本(同 cds_ff_mpt)
loadCxt.ile Context 加载入口脚本

三、两个 PDK 的文件类型对照

文件类型 扩展名 说明
工艺技术文件(ASCII) .tf 人工可读,定义层、规则、参数
工艺技术数据库(二进制) .db Virtuoso 加载的编译版本
显示资源文件 .drf 层颜色与图案,影响 layout 显示效果
层映射文件 .layermap GDS 导入/导出时用
目录索引文件 .TopCat / .Cat 定义器件分类层级结构
SKILL 初始化脚本 .il / .ile 库打开/关闭时自动执行的 SKILL 代码
编译好的 Context .cxt pCell / 工具函数的二进制编译结果,加载比源码快
Spectre 模型文件 .scs 仿真用 SPICE/Spectre 格式模型
库路径定义 lib.defs / cds.lib 告诉 Virtuoso 各库的磁盘路径
库标记文件 cdsinfo.tag 标记 Cadence 库根目录
OpenAccess 标记 .oalib 标记 OpenAccess 格式库
PDK 元数据 pdk.dat PDK 版本等元数据(二进制)

参考