PDK:ProcessDesignKit(工艺设计工具包或者工艺设计套件),一般是foundry厂制造的描述半导体工艺细节的文件,供芯片设计EDA工具使用。客户会在投产前使用晶圆厂或IC设计公司的PDK,确保晶圆厂能够基于客户的设计生产芯片,保证芯片的预期功能和性能。PDK是芯片设计公司、芯片制造厂以及EDA工具厂沟通的桥梁。
每个芯片代工厂的工艺都是独一无二的,同样的元器件,实现的细节差别很大。即便同一个芯片代工厂,不同制程的实现差异也很大。所以芯片设计公司用EDA软件设计好了芯片的电路图,电路图在代工厂流片之前,需要将电路图用代工厂的一个特定工艺的物理形式展现出来,而且还要测试验证。为了解决这个问题,于是引入了PDK。
PDK是代工厂提供给客户的标准单元库,以方便客户的电路设计、仿真以及版图设计。每个芯片代工厂都有自己专有的PDKlibrary,和本工厂的特定制程工艺紧密结合。即使是同一个代工厂,开出一个新的半导体工艺时,也需要开发一套PDK用来反映制造工艺基本的“积木块”。所以说同一个代工厂,工艺越多那么相对应的PDK版本也会越多。PDK用代工厂的语言定义了一套反映foundary工艺的文档资料,是设计公司用来做物理验证的基石,也是流片成败关键的因素。
PDK的用途说白了就是,用软件的形式去模拟代工厂一个特定工艺的物理实现,连接了芯片设计和芯片的工艺制造。一个工艺中,晶体管、接触孔,互连线等,物理是如何实现的,那么PDK都可以表示和“模拟”出来。有了PDK,设计公司可以将自己的设计图用PDK模拟地制造出来,以此进行各种验证和测试。
典型的PDK包含了原始的器件库、物理规则验证检查文件、技术文件、规则文件、器件模型,等等。具体如下:
原始的器件库:
符号(Symbol)
设备参数
参数化单元(Pcell)(ParameterizedCell,参数化单元)
物理规则验证检查文件:
设计规则检查
布局与原理图
物理参数(RC)提取
技术文件:
层、层名称、层/用途对
颜色、填充和显示属性
工艺限制
电气规则
在线设计规则
材料参数
设计规则文件和指南:
库交换格式(LEF)
原始器件的仿真模型(通常是SPICE):
晶体管
电容
电阻
电感
设计规则手册:
PDK还可能包括来自foundry厂、库供应商或内部的标准单元库:
抽象布局数据的LEF格式
符号(Symbol)
库(.lib)文件
GDSII布局数据
芯片设计工程师使用PDK进行设计、仿真、绘制和验证设计,然后将设计好的文件再发送给芯片foundry厂生产芯片。PDK中包含了foundry厂特定工艺节点的所有规范,比如TSMC或者Intel的就不一样。所以芯片设计工程师在设计过程的早期就需要做好选择。准确的PDK将增加芯片流片一版成功的机率。大家都知道每增加一次流片,成本都会大大增加,尤其是大芯片,每一次流片都是千万或者上亿级别的。