第三章 工艺库与设计库:理解PDK概念,加载工艺库,创建与管理个人设计库
各位同学,欢迎来到第三章。这一章我们聊聊PDK——也就是工艺设计套件。说实话,我刚入行那会儿,第一次打开PDK文件夹,看到里面密密麻麻的文件,头都大了。但后来我发现,这东西说白了就是晶圆厂给咱们设计师的“乐高积木说明书”。
3.1 PDK到底是什么?
PDK,全称Process Design Kit。你想想看,晶圆厂造芯片,用的是他们自己的工艺。我们做版图设计,总不能自己画晶体管吧?PDK就是晶圆厂提供的一套标准元件库,里面包含了所有基础器件的版图、参数、模型。
我个人习惯把PDK理解成三样东西:
- 器件库:NMOS、PMOS、电阻、电容、电感……这些基础元件的版图都画好了,你直接拿来用。
- 规则文件:设计规则检查(DRC)需要的规则,都在里面。比如最小线宽、最小间距,晶圆厂说了算。
- 模型文件:仿真用的SPICE模型,告诉你这个管子在不同电压下表现如何。
核心要点:PDK是晶圆厂和设计师之间的“契约”。你按PDK画图,晶圆厂保证能造出来。不按PDK画?嗯,流片回来可能就是一堆废片。
我在项目中遇到过一件事:有个同事自己画了一个电容,没按PDK来,结果流片回来电容值偏差了30%。从那以后,我再也不敢在PDK之外“自由发挥”了。
3.2 加载工艺库——第一步
在华大九天的版图工具里,加载工艺库其实很简单。但简单归简单,坑也不少。我带你走一遍流程。
3.2.1 找到工艺库文件
晶圆厂给你的PDK,通常是一个压缩包。解压后,你会看到类似这样的目录结构:
PDK_TSMC_180nm/
├── lib/
│ ├── tsmc18_analog.lib
│ ├── tsmc18_digital.lib
│ └── tsmc18_io.lib
├── drc/
│ └── tsmc18_drc.rul
├── lvs/
│ └── tsmc18_lvs.rul
└── doc/
└── user_guide.pdf
嗯,这里要注意:不同晶圆厂的PDK结构可能不一样。但核心文件就那几类:库文件(.lib)、规则文件(.rul)、文档(.pdf)。
3.2.2 在工具中加载
打开华大九天的版图编辑器,找到菜单栏的“设置” -> “工艺库管理”。点击“添加”,然后选择你解压后的工艺库文件夹。
工具会自动识别库文件。如果识别失败,别慌——八成是路径里有中文。我踩过这个坑,后来所有路径都改成英文,再也没出过问题。
小技巧:加载完成后,建议先画一个最小的器件(比如一个NMOS),跑一下DRC。如果DRC通过,说明工艺库加载成功了。这一步能帮你省下后面排查问题的时间。
3.3 创建与管理个人设计库
工艺库是晶圆厂给的,你不能改。但你的设计需要自己的库——这就是个人设计库。说白了,就是把你画的版图、做的符号、写的电路,都放在一个地方管理起来。
3.3.1 创建设计库
在华大九天工具里,创建设计库的步骤:
- 点击“文件” -> “新建” -> “库”。
- 输入库名称,比如“my_amplifier_lib”。
- 选择关联的工艺库(就是刚才加载的那个)。
- 点击“确定”。
就这么简单。但我要提醒你:库名称最好有含义。我见过有人起名叫“test1”、“test2”,三个月后自己都分不清哪个是哪个。
3.3.2 管理设计库
设计库建好了,里面可以放三类东西:
| 类型 | 说明 | 我的建议 |
|---|---|---|
| Cell(单元) | 你画的版图、电路图 | 每个功能模块一个Cell |
| Symbol(符号) | 电路图中的模块符号 | 符号要简洁,引脚命名规范 |
| View(视图) | 同一个Cell的不同视角 | 版图视图、电路视图、符号视图 |
我曾经接手过一个项目,前同事把所有东西都塞在一个Cell里。结果那个Cell有200多个器件,DRC跑一次要半小时。后来我花了两天时间,把模块拆分成十几个小Cell,DRC时间降到了5分钟。所以,管理好你的设计库,就是管理好你的时间。
3.4 知识体系总览
下面这张图,是我自己总结的本章知识结构。你看一眼,心里就有数了。
3.5 避坑指南
我曾经犯过的错,你千万别再犯:
- 工艺库路径不要有中文,不要有空格。否则加载失败你都不知道为什么。
- 设计库名称不要用“test”、“temp”这种临时名字。三个月后你绝对会后悔。
- 每次新建设计库,记得关联正确的工艺库。关联错了,后面所有DRC都白跑。
- 定期备份你的设计库。硬盘坏了,哭都来不及。
好了,这一章就到这里。PDK和设计库是版图设计的地基,地基打牢了,后面盖楼才稳。你先把工艺库加载好,建一个自己的设计库,画个最简单的反相器试试手。相信我,动手做一遍,比看十遍教程都管用。