TSMC 90nm 标准单元工艺库文件详解( 二 )


2.2.7 线负载模型(wire-loads):
DC采用wire-load模型在布局前预估连线的延时 。通常 , 在工艺库中 , 根据不同的芯片面积给出了几种模型(上图所示) 。这些模型定义了电容、电阻与面积因子 。此外 , 导线负载模型还设置了slope与 , -设置了与扇出数相关的导线的长度 。
有时候 , 除了扇出与长度 , 该属性还包括其他参数的值(这个工艺库没有) , 例如、与 , 在DC产生导线负载模型时会自动写出这些值 。对于超过-属性的节点 , 可将该导线分成斜率不同的几段 , 以确定它的值 。
2.3 标准单元(cell)的描述
2.3.1 标准单元内容概述:
综合库中的每个单元都包括一系列的属性 , 以描述功能、时序与其他的信息 。在单元的引脚描述中 , 包含了如下内容:输入引脚的-load属性、输出引脚的属性、输入或输出引脚的属性、输出或者inout引脚的属性 。利用这些描述 , 可以对设计进行DRC(设计规则检查) 。如果某个单元的输出最大只能接0.2pF的负载 , 但在实际综合的网表中却连接了0.3pF的负载 , 这时候综合工具就会报出DRC错误 。
通常 , 与一起使用与一起使用 。如果一个节点的扇出为4 , 它驱动3个与非门 , 每个与非门的-load是2 , 则这三个与非门无法被驱动(因为3*2>4) 。
通常用于单元的输入引脚 , 一般用于单元的输出引脚 。如果任何节点的时间大于引脚的值 , 则该节点不能连接 。如果发生违例 , 则DC用一个具有更大值的单元来取代驱动单元 。
在对输出引脚的描述中 , 给出了该引脚的功能定义 , 以及与输入引脚相关的延时 。输入引脚定义了它的引脚电容与方向 。这个电容值不能与值相混 。DC利用输入引脚的电容值进行延时计算 , 而仅用来进行设计规则检查 。
对于时序元件中的时钟引脚 , 专门用clock类型进行说明 , 如下所示:

TSMC 90nm  标准单元工艺库文件详解

文章插图
单元的延时:
在一个单元的综合库中 , 最核心的是对时序和功耗的描述 。一个单元的延时跟以下因素有关:器件内部固有的延时、输入转换时间(也称为输入上升/下降时间)、负载(驱动的负载及连线)、温度、电压、制程变化 。
前三个因素是由电路本身的特性所决定的 , 后三个因素是由环境决定的 。在实际电路中 , 输入转换时间、负载与连接单元的电路有关 , 所以我们只需要列出在不同的输入转换时间、不同的负载下单元的延时就可以了 。这个延时包括器件的内部固有延时 。此外 , 利用前面提到K缩放因子 , 将温度、电压、制程的影响也考虑进来 。如下面的这个反相器单元 , 它的延时就可以通过输入转换时间和负载决定:
说到单元的延时 , 不得不说计算单元延时的模型 。支持的延时模型包括:CMOS通用延时模型、CMOS分段线性延时模型和CMOS非线性延时查找表模型( Delay Model) 。前两种模型精度较差 , 已经被淘汰 , 主要用非线性延时模型 。下面进行解释非线性延时模型 。
非线性延时模型也称为二维非线性延时模型 。在该模型中 , 用二维列表的形式给出单元在特定的输入转换时间、输出负载下的延迟(包括单元的延时和单元的输出转换时间):
单元的输出转换时间又成为其驱动的下级单入的输ru转换时间 。库中每个单元有两个NLDM表 。上面的图中 , 当输出负载和输入转换时间为0.05 pF和0.5 ns时 , 从表中可查出单元的延迟为0.23 ns , 输出转换时间为0.30 ns。