库类型 | 流程位置 | 格式 | 内容 | 设计中用途 | 说明 |
---|---|---|---|---|---|
logic lib逻辑单元库 | target_library,在elaborate时使用 | .db | 描述单元名,端口名,面积,时延弧,端口负载;最大翻转时间限制,指定工作条件,特定工艺线载模型 | 确定引用的单元,实现设计功能,计算、检查时序值和路径是否满足条件,计算功耗 | NLDM、CCS(复杂、真实、耗时) |
引用库 | link_library链接库,在link时使用 | .db | 除了logic library,还包括编译的RTL模块单元、存储单元、IO等。 | – | – |
符号库 | symbol lib图形符号库 | .sdb | 模块的符号表示 | – | – |
IP库 | synthetic lib综合库 | .sldb | DesignWare的可重用IP库 | 对运算符号转换成特定的库 | – |
物理库 | Milkyway设计库 | 用于dc拓扑模式 | 生成包含物理信息的网表 | Milkyway设计库(设计数据) | 由参考库、工艺库创建 |
物理库 | Milkyway物理库(物理数据) | – | 以CEL、FRAM示图表示标准单元和宏,摆放单元片的参数 | 用于布局 | Milkyway参考库 |
物理库 | Milkyway物理库(物理数据) | .tf | 工艺参数 | 用于布线 | milkyway工艺库 |
设计库 | design lib本次工作区 | – | – | – | – |
中间库 | analysis lib目标库的中间库 | .alib | 感知target library特征的中间库 | – | – |
注1:milkyway参考库,即Milkway Reference DB(包含有CEL和FRAM等信息,还有wire load models)
注2:TLU PLUS并不是库文件。TLUPlus文件包含电阻和电容查找表以及超深亚微米(UDSM)工艺效应模型。如果TLUPlus文件可用或在后端流程中使用,建议您在DC拓扑模式下将其用于RC估算。TLUPlus文件提供了更精确的电容和电阻数据,从而提高了与后端结果的相关性。tech2itf的mapping file(.map,主要是把TF文件转换成Interconnect Technology File的映射文件,其中,ITF文件由代工厂提供,这个文件可以自己根据TF和ITF文件的内容对应着写一下),从而与TLU PLUS文件建立映射关系。
注3:可以特征化地描述(或分析)目标逻辑库并创建名为Alib的伪逻辑,它具有从布尔函数电路到目标库的实际门的映射。设计编译器在编译期间读取Alib文件。Alib文件为Design编译器提供了更大的灵活性和更大的解决方案空间,以便在优化过程中探索区域和延迟之间的权衡。必须使用compile_ultra命令从Alib库中获得好处。库特征化发生在编译的初始阶段。由于设计编译器对每个逻辑库进行特征化可能需要5-10分钟,因此建议在安装Design Compiler时生成Alib文件,并将其存储在单个存储库中,以便多个用户可以共享该库。在设计编译器(标准模式和拓扑模式)中使用.alib文件进行映射,以及流程中逻辑门的组成和分解。但在ICC中不使用.alib文件。
时序模型由驱动模型、网络模型和接收机模型组成。驱动模型和接收机模型通常用电路模拟器来描述,而网络模型要么是估计(线负载、曼哈顿或星型拓扑),要么是使用金属、通孔和触点等工艺参数从版图中提取。
Non-Linear Delay Model
NLDM驱动程序模型描述了输入输出延迟和输出转换时间,并对输入转换时间、输出负载和侧输入状态敏感。这些特性是通过具有适当激励的电路模拟器来获得的,可以引起输出转换。
特征化软件测量和捕获3个点的有效输入和主动输出。这三个点称为延迟和过渡时间阈值。输入延迟阈值与输出延迟阈值之差被建模为信元延迟,输出端口上的高低转换时间之差被建模为输出转换时间。延迟和转换时间这两个参数被用来综合nldm驱动器模型。
NLDM接收机模型是一个简单的单电容的整个过渡过程,没有灵敏度。
NLDM模型的不足之处之一是,在静态时序分析过程中,NLDM仅捕获3个输出点,不足以反映综合驱动模型中低几何构型(65 nm及以下)电路的非线性。这种不足的典型情况是,当驱动电阻的数量级小于网络的阻抗时(rd<
Composite Current Source
CCS驱动模型的特点是捕获流入单元负载电容的电流波形。CCS驱动模型对输入转换时间、输出负载和侧输入状态也具有敏感性。CCS驱动模型本质上是一个具有无穷大驱动电阻的电流源,因此它在网络阻抗很高的情况下提供了更好的精度。
注意,CCS时序模型不需要综合驱动器模型,捕获的电流波形就是驱动器模型本身。
CCS接收机模型与NLDM接收机模型非常相似,具有附加粒度,能够反映米勒电容、侧输入状态、输入过渡时间和输出负载等灵敏度。
为了准确地反映米勒电容对输入电容和网络延迟的影响,将其分为C1和C2两个部分。对于STA延迟计算,C1用于接收波形到达延迟阈值前的网络延迟计算,C2用于接收波形到达延迟阈值后的网络延迟计算。
Effective Current Source Model
有效电流源模型(ECSM)目的是解决在电压波动、过程变化和噪声严重的情况下如何精确地建模延迟。它为先进的低功耗设计提供了经过生产验证的延迟建模,并提高了定时结束的精度。
ECSM标准是可用的最完整的开放库格式,并对时序、噪音、功率和变化的影响进行了全面的建模。
ECSM时序模型是一种先进的信元驱动模型,它描述了非线性开关波形对基于信元的互连延迟计算和信号完整性的影响。
通过将单元的输出驱动器建模为电流源而不是电压源,电流源可以更有效地跟踪非线性晶体管开关行为,并允许对当今最大的低功耗纳米设计中常见的复杂互连进行高度精确的建模。
ECSM通过将单元的输出驱动器建模为电流源而不是电压源来实现精确的延迟计算,从而实现对非线性晶体管行为的精确建模。
当此电流驱动器模型与ECSM的高级接收器模型(包括多片电容模型)相结合时,其精度可达到SPICE的2%以内,适用于:
并行驱动网络;
变电源电压;
长互连;
米勒效应;
在90 nm及以下的工艺节点上,硅中与信号完整性相关的故障的风险大大增加。利用先进的电压输入/电压输出关系,噪声扩展使信号完整性(SI)分析工具能够对多Vt和多电压器件混合的复杂场景中耦合电容引入的噪声累积效应进行建模。
SI扩展基于CDB格式,该格式已在1000多个抽头中得到验证。
当与电源和定时扩展一起使用时,ECSM的噪声扩展将精确测量IR下降和噪声对延迟的累积影响,以提供更全面的定时和电源注销视图。
功率建模。
ECSM功率建模支持动态栅极电网分析,它为单个单元提供在任何给定时间从电网中提取的实际电流。
该扩展允许在不同的回转和负载组合的电网引脚处存储电流波形。
需要进行统计分析,以使设计人员能够更有效地管理制造过程中不断增加的工艺差异,以及对工艺和环境参数的敏感性,这些参数会影响65纳米及以下的电路性能。支持此分析所需信息的标准化是行业快速采用的关键。除了支持65 nm及以下设计工具和方法之间的互操作性外,其目的是创建一种全面的解决方案,以消除设计师支持多种库格式的需要-这是一项耗时且成本高昂的工作,会在设计过程中引入错误,并延迟复杂集成电路(IC)的交付。
CCS和ECSM时序模型都将驱动波形的瞬态行为建模为负载。两者的主要区别在于CCS是由电流样本组成的时间函数,ECSM是电压样本组成的时间函数。
静态时序分析引擎的延迟计算器在liberty文件中查找NLDM、CCS或ECSM时序模型,在将其用于静态时序分析之前,对相邻的点进行插值或外推。CCS驱动器模型捕获通过负载电容的输出电流。因此,CCS模型迫使特征引擎有一个非零电容连接到单元的输出。ECSM驱动器模型在单元输出处捕获电压波形。ECSM驱动器模型可以捕获从零负载电容开始的负载灵敏度,而CCS则必须从非零负载电容开始。
理论上,CCS和ECSM模型的大小都必须大于NLDM。典型的CCS库大约比NLDM大8-10倍。
原因是NLDM为每个输入回转和输出负载存储2个数字(延迟和转换),ECSM和CCS都需要存储波形。CCS存储当前和时间样本。CCS特性使用自适应算法,以确保采样波形提供最精确的电流矢量模型。这意味着对于每个波形,电流值和时间值都会被保存。我们平均能看到10个。
每个波形的采样。这意味着为每个波形存储10个电流值和10个时间值,因此总共有20个数字。一个简单的经验法则是,CCS对于每个输入转换和输出负载有20个数字,NLDM只存储2个数字。因此,与旧的NLDM定时模型相比,我们预计新CCS定时模型的大小将增加10倍。
下表显示了一些示例标准单元库,以及在添加CCS数据时NLDM(.lib)模型的文件大小及其相应的文件大小:
库 | 工艺 | 单元数量 | NLDM文件大小 | NLDM+CCS文件大小 |
---|---|---|---|---|
1 | 90nm | 804 | 19M | 168M |
2 | 90nm | 593 | 35M | 241M |
3 | 65nm | 330 | 4M | 42M |
4 | 65nm | 712 | 28M | 331 |
在65nm以下,普遍使用CCS和ECSM。
相互转换。CCS驱动器模型捕获通过负载电容器的输出电流,ECSM驱动器模型捕获电池单元输出的电压波形。电流可以由电压计算,反之亦然,所以很容易看到CCS驱动器模型可以从ECSM驱动器导出,反之亦然。
然而,转换有实际的准确性限制。ECSM电压和CCS电流波形的采样点要少得多-通常比参考模拟器的输出少10到100倍。当从电路仿真器的输出中对这些点进行明智的采样时,精度损失是有限的。如果由于缺少数据而将采样的ECSM电压波形转换为ccs电流波形(反之亦然),则精度损失可能会很大。
Synopsys提供了详细的特性描述指南和jumpstart脚本,以便能够提取CCS模型并将其写入Liberty。遵循这些指导原则可确保模型以最少的数据量提供最佳的准确性。
转换开始时需要的样本较少,有时会出现米勒故障和过激现象。分割算法跳过这些故障,因为波形的这一部分不需要精确建模驱动程序。这种毛刺引起的额外延迟自然地被捕获在通过信元的延迟中,表示为参考时间和输出信号的延迟阈值跃迁之间的差。
CCS分割算法提取电流样本,自适应地选择电流,同时保持对应的复活电压波形与电路仿真器预测的电压波形的准确性。
CCS和ECSM有一些不同之处。为了计算精度,现代延迟计算引擎使用电流来计算寄生环境中的有效延迟。因此,EDA工具可以直接使用CCS模型中的电流值,而在使用ECSM时,必须从电压中提取电流,从而导致不准确。此外,准确捕获波形中的峰值电流对于延迟65 nm及以下的计算精度至关重要。
存储电压样本的ECSM,很难重建一个准确的电流波形。
ECSM和CCS的另一个关键区别在于CCS使用的是2段接收机电容模型。CCS有两个部分,有灵活性,可以建模米勒效应。
从foundry、library和IDM那里得到的反馈表明CCS在电压和温度调节方面具有卓越的精度。通过存储非线性电流波形,可以在电流域中进行定标,然后利用定标后的电流波形准确地预测时序行为。
CCS还有一个新的扩展,我们称之为“基本曲线技术”。这项技术最近得到了Si2自由技术咨询委员会的批准。基本曲线技术允许CCS数据在自由式中以更紧凑的形式表示。在不损失任何准确性的情况下,当使用基本曲线技术时,小3倍。