Foundry向Fabless提供的文件之一是Library,这是最重要的文件。
生成这个Library文件的过程被称为Library Characterization(库特性化)。
什么是Library Cell Characterization(库单元特性化)?
我们通常称它为“特性化”、“Char”等。Library Cell Characterization 包含在各种条件下准确表示单元行为的详细模型生成工作,这些模型存在于库中的标准单元中。
这些模型包括Timing(时序)、Power(功耗)、Area(面积)、Noise(噪声)等主要特性。
在Foundry(晶圆厂)中,TCAD、SPICE、Library Char都是主要任务之一。
SPICE工具可以非常精确地对单元特性进行建模,但计算过程中会使用大量计算资源。
在设计芯片时,与每次进行这些计算相比,提前生成并保存这些数据集会更为有效。这样在需要时,可以直接引用已经计算好的数值。
ASIC芯片设计的主要流程如下,大多数情况下都要使用Library。
Library Characterization(库特性化)的主要目标是:
(1) 在整个IC设计过程中可以被数字设计工具使用,
(2) 生成与SPICE差异极小的高质量且低容量的数据。
-> 这非常复杂。如果EDA工具要快速运行,文件必须轻便,但文件变轻后,数据量会减少,因此需要扩展内插/外插的范围。然而,由于实际特性并非线性,这就会导致SPICE与Library之间产生差异。
那么该怎么做呢?简而言之:
(1) 使用Transistor/Technology模型和SPICE电路作为输入文件,
(2) 进行SPICE仿真和库特性化,
(3) 输出建模后的库。
流程如下所示,虽然不完全是这样使用的。
完成后,将生成如下格式的文件。
当然,Library有多种版本,例如NLDM、CCST、CCSN等。
并且,每个单元都会针对多个工艺角进行提取,如“Worst Process Corner(最差工艺角)”、“Worst Voltage Corner(最差电压角)”、“Worst Temperature Corner(最差温度角)”等。
Library中最具代表性的文件是.lib文件,.lib即Liberty文件格式。
这是一种开源的单元建模规则,以便所有公司的EDA工具都能识别。它是一种可读的ASCII格式。
但是!从容量优化的角度来看,ASCII格式实际上是非常低效的。因此,通常会将其压缩后以.db形式保存。
虽然Synopsys的EDA工具大多数也兼容liberty格式,但由于liberty文件太大,处理速度非常慢,因此通常使用.db格式。
常用的工具主要是Synopsys公司的PrimeLib和Cadence公司的Liberate。虽然还有许多其他工具,但考虑到与其他EDA工具的兼容性,这两家公司的产品被使用得最多。Synopsys也是开发最常用的".lib"liberty格式的公司。
如需了解更多详细信息,请查看以下链接:
What is Library Characterization? – How it Works & Techniques | Synopsys
(1) 在进行Library Characterization时,SPICE是Golden data(黄金数据)。
(2) 而在STA、功耗分析以及使用EDA工具进行的大多数操作中,Library是Golden data。
(3) 因此,Library与SPICE仿真之间的差异必须尽可能小。
然而,Library实际上并不直接进行计算,而是从SPICE仿真中获取一些关键的计算值。因此,如果不直接使用这些关键值,就会产生误差。请参考以下文章了解更多信息。