工艺设计套件(PDK)入门:PDK的组成、规则文件与安装验证

各位同学,今天我们来聊聊PDK。说实话,PDK这东西,刚入行时我觉得它就是一堆文件,没什么了不起。直到我第一次流片失败,才发现——嗯,PDK里的每一条规则,都是用钱和汗水换来的。

PDK全称Process Design Kit,工艺设计套件。你可以把它理解为晶圆厂给设计师的一本「使用说明书」。没有它,你连一个晶体管都画不出来。

PDK的组成:不只是规则文件

一个完整的PDK,通常包含以下几大部分。我习惯把它们分成「画图用的」和「验证用的」两类。

组件 说明 我的经验
器件模型(SPICE模型) MOS管、电阻、电容的电气特性模型 记得检查模型版本,不同批次可能不同
版图层次定义(LAYER MAP) 定义每层掩模的编号、颜色、用途 这个文件错了,后面全白干
设计规则文件(DRC/LVS) Calibre SVRF、Assura规则等 核心中的核心,后面细讲
参数化单元(PCELL) 可调参数的器件版图 我建议自己写几个PCELL练手
标准单元库 数字标准单元的版图、时序、功耗数据 注意库的PVT corner
工艺文件(Techfile) EDA工具需要的工艺参数 安装时最容易出错的地方

核心观点:PDK不是一份文件,而是一整套工具链。缺了任何一个,你的设计流程都会卡住。

规则文件:Calibre SVRF与Assura

规则文件是PDK里最「值钱」的部分。为什么这么说?因为晶圆厂花了几十亿美金积累的工艺经验,都写在这些规则里。

Calibre SVRF规则

Calibre是Mentor(现Siemens EDA)的工具,SVRF是它的规则语言。我个人觉得SVRF的语法比较直观,适合做复杂的几何运算。

// 一个简单的DRC规则示例(SVRF格式)
// 检查金属1的最小宽度
M1_WIDTH {
  @ 金属1宽度必须大于等于0.18um
  WIDTH M1 < 0.18
}

你看,规则就是这样的。每条规则都有一个名字,一个描述,一个检查条件。我在项目中遇到过最头疼的事——规则文件里写了1000多条规则,结果有一条冲突了,查了三天才找到。

Assura规则

Assura是Cadence的工具,它的规则语法和SVRF不太一样。Assura更偏向于层次化检查,适合大型芯片。

// Assura规则示例
rule M1_MIN_WIDTH {
  description: "金属1最小宽度0.18um"
  check: width(M1) >= 0.18
}

我的建议:如果你刚开始学,先掌握Calibre SVRF。因为市面上大多数代工厂都用Calibre作为sign-off工具。Assura更多用于in-design检查。

PDK的安装与验证

安装PDK,听起来简单,但坑不少。我曾经因为路径里多了一个空格,折腾了一整天。

安装步骤

  1. 解压PDK包——注意文件权限,别用root解压
  2. 设置环境变量——PDK_HOME、TECH_LIB等
  3. 运行安装脚本——通常是install.pl或setup.sh
  4. 配置EDA工具——在Virtuoso或ICV中加载techfile
  5. 验证安装——跑一个简单的DRC看看

避坑指南:我曾经在安装PDK时,直接覆盖了旧版本。结果旧项目打不开了。记住:每个项目单独建一个PDK副本,不要共用。

验证方法

安装完成后,一定要做验证。我习惯三步走:

  • 第一步:打开版图编辑器,看看PCELL能不能调出来
  • 第二步:画一个最小尺寸的晶体管,跑DRC
  • 第三步:跑LVS,看看版图和原理图能不能对上

这三步走完,基本可以确认PDK安装没问题。如果哪一步卡住了,别急着重装,先看日志文件。日志里通常有明确的错误信息。

知识体系结构图

下面这张图,是我自己总结的PDK知识框架。你想想看,PDK其实就是一个三层结构:底层是工艺数据,中间是规则文件,顶层是设计工具接口。

PDK知识体系结构图 设计工具接口层 Virtuoso / ICV / Calibre 工具配置 Techfile / Display文件 / 快捷键 规则文件层(核心) DRC规则 几何尺寸检查 LVS规则 版图与原理图比对 工艺数据层(基础) 器件模型 SPICE / 寄生参数 版图层次 LAYER MAP / GDS编号 标准单元库 时序 / 功耗 / 版图 抽象程度递减

这张图你看懂了吗?说白了,PDK就是一座桥,连接晶圆厂的工艺能力和设计师的创意。底层工艺数据是地基,规则文件是承重墙,工具接口是门窗。缺了哪一层,这房子都盖不起来。

总结一下:PDK入门,关键是理解它的三层结构。安装时细心一点,验证时耐心一点。别像我当年那样,装完就跑DRC,结果报了几百个错——原来是techfile路径配错了。

好了,今天就聊到这里。记住:PDK不是万能的,但没有PDK是万万不能的。

可可精品资料库