首页> 中国专利> 使用考虑不同电路拓扑结构生成的输入波形特征化单元

使用考虑不同电路拓扑结构生成的输入波形特征化单元

摘要

本发明提供了一种使用考虑不同电路拓扑结构生成的输入波形特征化单元。在一些实施例中,在通过至少一个处理器所执行的方法中,考虑驱动单元的前级驱动器的不同电路拓扑结构以得到相同输入转换特性,通过至少一个处理器关于输入转换特性来特征化单元。

著录项

  • 公开/公告号CN104765902A

    专利类型发明专利

  • 公开/公告日2015-07-08

    原文格式PDF

  • 申请/专利权人 台湾积体电路制造股份有限公司;

    申请/专利号CN201410507469.4

  • 发明设计人 谭竞豪;陈彦宾;陈文豪;王中兴;

    申请日2014-09-28

  • 分类号

  • 代理机构北京德恒律治知识产权代理有限公司;

  • 代理人章社杲

  • 地址 中国台湾新竹

  • 入库时间 2023-12-18 09:43:13

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-04-17

    授权

    授权

  • 2015-08-05

    实质审查的生效 IPC(主分类):G06F17/50 申请日:20140928

    实质审查的生效

  • 2015-07-08

    公开

    公开

说明书

技术领域

本发明一般地涉及半导体技术领域,更具体地,涉及集成电路的设计 方法和系统。

背景技术

在用于集成电路(IC)芯片的设计流程中,用于估计电子电路的延迟 的静态时序分析用于多个阶段,例如,以验证正确操作并且优化IC芯片设 计的性能。影响静态时序分析的延迟计算的准确性的一个因素是用于特征 化单元以计算延迟的预定输入波形与传播到执行静态时序分析的电路中的 单元的输入波形的相似度。然而,随着技术进步,例如用于电路连接的互 连件的长度增加和小型化晶体管和非平面晶体管中的米勒电容的增加的作 用,导致所传播的输入波形相对于预定输入波形的失真。当所传播的输入 波形的失真被忽略时,延迟计算的准确性会受到影响。

发明内容

为了解决现有技术中所存在的缺陷,根据本发明的一方面,提供了一 种通过至少一个处理器执行的方法,包括:考虑驱动单元的前级驱动器的 不同电路拓扑结构以得到相同的输入转换特性,通过所述至少一个处理器 关于所述输入转换特性来特征化所述单元。

在该方法中,考虑驱动所述单元的前级驱动器的不同电路拓扑结构以 得到所述相同的输入转换特性,通过所述至少一个处理器关于所述输入转 换特性来特征化单元,包括:获得具有所述输入转换特性和代表性第一特 性的输入波形,驱动所述单元的所述前级驱动器的所述不同电路拓扑结构 会导致不同的第一特性,所述代表性第一特性选自从至少一个芯片所收集 的第一特性,所述至少一个芯片包括表示驱动所述单元的所述前级驱动器 的所述不同电路拓扑结构的电路拓扑结构;以及使用所述输入波形特征化 所述单元,以在库中创建与所述输入转换特性相关联的记录。

在该方法中,获得具有所述输入转换特性和所述代表性第一特性的所 述输入波形包括:从至少一个芯片中收集波形,所述至少一个芯片包括表 示驱动所述单元的所述前级驱动器的所述不同电路拓扑结构的所述电路拓 扑结构;根据所述输入转换特性,对来自所述至少一个芯片的所述波形分 组;根据所述第一特性,对具有所述输入转换特性的波形组分类;以及从 具有所述输入转换特性的波形组中选择具有所述代表性第一特性的波形作 为所述输入波形。

在该方法中,获得具有所述输入转换特性和所述代表性第一特性的输 入波形包括:从所述至少一个芯片生成的波形中收集第一特性,所述至少 一个芯片包括表示驱动所述单元的所述前级驱动器的所述不同电路拓扑结 构的所述电路拓扑结构;从收集的第一特性中选择所述代表性第一特性; 通过使方程拟合于所述输入转换特性和所述代表性第一特性,构建具有所 述输入转换特性的所述输入波形。

在该方法中,所述第一特性是尾部特性;所述输入转换特性包括所述 输入波形的第一部分;以及所述尾部特性包括所述输入波形的第一部分之 后的所述输入波形的第二部分。

在该方法中,所述第一特性包括比率;所述比率的分子是基于所述输 入波形的第一部分的所述输入转换特性和基于所述输入波形的第二部分的 补充输入转换特性之一;所述比率的分母是基于所述输入波形的第一部分 的所述输入转换特性和基于所述输入波形的第二部分的所述补充输入转换 特性中的另一个;以及所述输入波形的第一部分不同于所述输入波形的第 二部分。

在该方法中,考虑驱动所述单元的前级驱动器的不同电路拓扑结构以 得到相同所述输入转换特性,通过所述至少一个处理器关于输入转换特性 来特征化单元,包括:考虑所述不同电路拓扑结构,获得具有所述输入转 换特性的不同输入波形;以及使用所述不同输入波形来特征化所述单元, 以在库中创建与所述输入转换特性和所述不同电路拓扑结构相关联的记录。

在该方法中,考虑所述不同电路拓扑结构获得具有所述输入转换特性 的不同输入波形包括:获得具有所述输入转换特性和不同第一特性的不同 输入波形,驱动所述单元的所述前级驱动器的所述不同电路拓扑结构导致 所述不同第一特性,以及所述不同第一特性选自从至少一个芯片收集的第 一特性,所述至少一个芯片包括代表驱动所述单元的所述前级驱动器的所 述不同电路拓扑结构的电路拓扑结构。

在该方法中,获得具有所述输入转换特性和所述不同第一特性的所述 不同输入波形包括:从所述至少一个芯片中收集波形,所述至少一个芯片 包括代表驱动所述单元的所述前级驱动器的所述不同电路拓扑结构的电路 拓扑结构;根据所述输入转换特性,对来自所述至少一个芯片的所述波形 分组;以及根据所述第一特性,对具有所述输入转换特性的波形组分类; 以及从具有所述输入转换特性的波形组中,选择具有代表性第一特性的波 形,并且在第一特性范围内选择具有第一特性的其他波形作为具有所述不 同第一特性的所述输入波形,所述第一特性范围包括所述代表性第一特性 并且包含在所述至少一个芯片中至少出现50%的第一特性。

在该方法中,获得具有所述输入转换特性和所述不同第一特性的所述 不同输入波形包括:从在所述至少一个芯片所生成的波形中收集第一特性, 其中,所述至少一个芯片包括表示驱动所述单元的所述前级驱动器的所述 不同电路拓扑结构的所述电路拓扑结构;从收集的第一特性中选择代表性 第一特性,并且在第一特性范围内选择其他第一特性,所述第一特性的范 围包括所述代表性第一特性并且包含在所述至少一个芯片中至少出现50% 的第一特性;以及通过使方程拟合于所述输入转换特性和每个所选的第一 特性,构建所述不同输入波形。

在该方法中,所述第一特性是尾部特性;所述输入转换特性包括相应 的输入波形的第一部分;以及所述尾部特性包括在所述相应的输入波形的 第一部分之后的所述相应的输入波形的第二部分。

在该方法中,每个第一特性都包括比率;所述比率的分子是基于所述 相应的输入波形的第一部分的所述输入转换特性和基于所述相应的输入波 形的第二部分的补充输入转换特性之一;所述比率的分母是基于所述相应 的输入波形的第一部分的所述输入转换特性和基于所述相应的输入波形的 第二部分的所述补充输入转换特性中的另一个;以及所述相应的输入波形 的第一部分不同于所述相应的输入波形的第二部分。

在该方法中,考虑所述不同电路拓扑结构,获得具有所述输入转换特 性的不同输入波形,包括:接收驱动配置在所述不同电路拓扑结构中的所 述单元的所述前级驱动器的网表;以及使用驱动所述单元的所述前级驱动 器的所述不同网表,构建所述不同输入波形。

在该方法中,所述不同网表包括驱动所述单元的所述前级驱动器的第 一网表和第二网表;在所述第一网表中,所述前级驱动器通过较长布线驱 动所述单元,但是具有较小扇出;以及在所述第二网表中,所述前级驱动 器通过较短布线驱动所述单元,但是具有较大扇出。

在该方法中,使用所述不同输入波形来特征化所述单元,以在所述库 中创建与所述输入转换特性相关联的所述记录,包括:对于所述不同输入 波形中的每个,创建独立于所述库中的所述记录之一而使用的另一个记录; 以及所述方法还包括:对网表执行时序分析,使得传播到所述单元的具有 所述输入转换特性的输入波形与所述不同输入波形相匹配,以识别出所述 库中的所述记录之一,以用于生成所述单元的输出响应。

在该方法中,使用所述不同输入波形来特征化所述单元,以在所述库 中创建与所述输入转换特性相关联的所述记录,包括:对于所述不同输入 波形中的至少一个输入波形,在所述库中创建独立于所述记录中的第二记 录而使用的所述记录中的至少一个第一记录,并且对于所述不同输入波形 中的其他输入波形,在所述库中创建依赖于所述至少一个第一记录而使用 的所述记录中的第二记录;以及所述方法进一步包括:对网表执行时序分 析,使得传播到所述单元的具有所述输入转换特性的输入波形被投影到具 有变化的电路拓扑结构的输入波形的空间中,以基于至少一个第二记录确 定使用所述至少一个第一记录所生成的输出响应的校正量。

根据本发明的另一方面,提供了一种系统,包括:至少一个处理器, 被配置为执行程序指令,所述程序指令将所述至少一个处理器配置为:库 创建工具,被配置为考虑驱动单元的前级驱动器的不同电路拓扑结构以得 到相同输入转换特性,关于所述输入转换特性来特征化所述单元;以及至 少一个存储器,被配置为存储所述程序指令。

在该系统中,所述库创建工具包括:波形获取模块,被配置为获得具 有所述输入转换特性和代表性第一特性的输入波形,驱动所述单元的所述 前级驱动器的所述不同电路拓扑结构导致不同第一特性,所述代表性第一 特性选自从至少一个芯片所收集的第一特性,所述至少一个芯片包括代表 驱动所述单元的所述前级驱动器的所述不同电路拓扑结构的电路拓扑结构; 以及单元特征化模块,被配置为使用所述输入波形来特征化所述单元,以 在库中创建与所述输入波形相关联的记录。

在该系统中,所述波形获取模块通过执行包括以下操作获取具有所述 输入转换特性和所述代表性第一特性的所述输入波形:从所述至少一个芯 片中收集波形,所述至少一个芯片包括代表驱动所述单元的所述前级驱动 器的所述不同电路拓扑结构的所述电路拓扑结构;根据所述输入转换特性, 对来自所述至少一个芯片的所述波形分组;根据所述第一特性,对具有所 述输入转换特性的波形组分类;以及从具有所述输入转换特性的波形组中 选择具有所述代表性第一特性的波形,作为所述输入波形。

在该系统中,所述第一特性是尾部特性;所述输入转换特性包括所述 输入波形的第一部分;以及所述尾部特性包括所述输入波形的第一部分之 后的所述输入波形的第二部分。

在该系统中,所述库创建工具包括:波形获取模块,被配置为考虑所 述不同电路拓扑结构,获取具有所述输入特性的不同输入波形;以及单元 特征化模块,被配置为使用所述不同输入波形来特征化所述单元,以在库 中创建与所述输入转换特性和所述不同电路拓扑结构相关联的记录。

在该系统中,所述波形获取模块考虑所述不同电路拓扑结构,通过执 行包括以下操作,获取具有所述输入转换特性的所述不同输入波形:从所 述至少一个芯片中收集波形,所述至少一个芯片包括代表驱动所述单元的 所述前级驱动器的所述不同电路拓扑结构的所述电路拓扑结构;根据所述 输入转换特性,对来自所述至少一个芯片的所述波形分组;以及根据第一 特性,对具有所述输入转换特性的波形组分类;以及从具有所述输入转换 特性的波形组中选择具有代表性第一特性的波形,并且在第一特性范围内 选择具有第一特性的其他波形,以作为具有所述不同第一特性的所述输入 波形,所述第一特性范围包括所述代表性第一特性并且包含在所述至少一 个芯片中至少出现50%的第一特性。

在该系统中,所述波形获取模块考虑所述不同电路拓扑结构,通过执 行包括以下操作,获取具有所述输入转换特性的所述不同输入波形:接收 驱动配置在所述不同电路拓扑结构中的所述单元的所述前级驱动器的不同 网表;以及使用驱动所述单元的所述前级驱动器的所述不同网表,构建所 述不同输入波形。

在该系统中,所述单元特征化模块使用所述不同输入波形来特征化所 述单元,以通过创建独立于库中的所述记录之一而使用的所述另一记录以 在所述库中创建与所述输入转换特性相关联的记录以用于每个所述不同输 入波形;以及所述程序指令还将所述至少一个处理器配置为:时序分析工 具,被配置为对网表执行时序分析,使得传播到所述单元的具有所述输入 转换特性的输入波形与所述不同输入波形相匹配,以在所述库中识别所述 记录之一,以用于生成所述单元的输出响应。

在该系统中,所述单元特征化模块使用所述不同输入波形来特征化所 述单元,以通过在所述库中创建独立于所述记录中的第二记录使用的所述 记录中的至少一个第一记录,在库中创建与所述输入转换特性相关联的记 录,以用于所述不同输入波形的至少一个输入波形,并且在所述库中创建 依赖于所述至少一个第一记录使用的所述记录中的所述第二记录,以用于 所述不同输入波形的所述其他输入波形;以及所述程序指令还将所述至少 一个处理器配置为:时序分析工具,被配置为对网表执行时序分析,使得 传播到所述单元的具有所述输入转换特性的输入波形被投影至具有变化电 路拓扑结构的输入波形的空间,以基于所述至少一个第二记录,确定使用 所述至少一个第一记录生成的输出响应的校正量。

附图说明

在以下附图和说明书中阐述本发明的一个或多个实施例的具体细节。 本发明的其他特征和优点通过说明书、附图和权利要求变得明显。

图1是根据一些实施例的IC芯片的单元设计流程和芯片设计流程的流 程图。

图2是根据一些实施例用于创建时序库并且使用时序库执行时序分析 的软件系统的功能框图。

图3是根据一些实施例使用考虑不同电路拓扑结构生成的输入波形以 生成相同输入转换特性来特征化用于延迟计算的单元的方法的流程图。

图4是根据一些实施例的实现图3的操作302的方法的流程图。

图5包括根据一些实施例的驱动配置在不同电路拓扑结构中的单元的 前级驱动器的不同网表的示意性电路图。

图6包括根据一些实施例具有相同输入转换特性并且分别使用驱动单 元的前级驱动器的不同网表构建的不同输入波形的示意性波形图。

图7是根据一些实施例实现图3的操作302的另一种方法的流程图。

图8是示出根据一些实施例在芯片中的示例性时序路径处执行的波形 收集的示意图。

图9示意性地示出根据一些实施例通过图7的操作获得的波形的波形 图。

图10是根据一些实施例的实现图3中的操作302的另一种方法的流程 图。

图11是用于示出尾部比率的示例性输入波形的示意性波形图。

图12是根据一些实施例的到达芯片的单元的输入波形的尾部比率分布 的示意性概率密度函数。

图13是根据一些实施例用于推导线性Y-MOS方程的电路的示意性电 路图。

图14是根据一些实施例实现图3的操作304的方法,以及用于在对物 理网表进行时序分析期间执行波形传播的相应方法的流程图。

图15是根据一些实施例的单元的时序库的示意图。

图16是根据一些实施例实现图3的操作304的另一种方法,以及用于 在对物理网表执行时序分析期间执行波形传播的相应方法的流程图。

图17是根据一些实施例的单元的时序库的示意图。

图18是根据一些实施例的对应于不同电路拓扑结构的输入波形的空间 的示意图。

图19是根据一些实施例没有灵敏度校正、具有高电阻灵敏度校正和进 一步具有高扇出灵敏度校正的输出响应的示意性波形图。

图20是根据一些实施例的单元的另一个时序库的示意图。

图21是根据一些实施例对应于不同电路拓扑结构的输入波形的空间的 示意图。

图22是根据一些实施例使用考虑不同电路拓扑结构生成的输入波形以 生成相同输入转换特性来特征化用于延迟计算的单元的另一种方法的流程 图。

图23是根据一些实施例实现图22的操作2202的方法的流程图。

图24是根据一些实例实现图22的操作2202的另一种方法的流程图。

图25是根据一些实施例用于在对物理网表执行时序分析期间执行波形 传播的方法的流程图。

图26是根据一些实施例用于实现参考图2所描述的软件系统实施例和 参考图3至图25所描述的方法实施例的硬件系统的框图。

各个附图中的类似参考符号指示类似元件。

具体实施方式

现在使用特定语言描述附图所示的本发明的实施例或实例。然而,应 该理解,不是为了限制本发明的范围。可以预期,在所描述的实施例中的 任何更改和修改、以及在本文档中所描述的原理的任何进一步应用对于本 领域的普通技术人员来说通常会发生。在所有实施例中可以重复参考数字, 但是即使它们共享相同参考数字,也不必要求一个实施例的特征应用于另 一个实施例。

一些实施例具有以下特征和/或优点中的一个或结合。在一些实施例中, 考虑驱动单元的前级驱动器的不同电路拓扑结构以得到相同输入转换特性, 根据输入转换特性来特征化该单元。在一些实施例中,通过考虑不同电路 拓扑结构进一步执行波形匹配,使用利用输入波形所特征化的模型生成单 元的输出响应更类似(resemble)于失真的传播输入波形,并且输出响应更 准确。在一些实施例中,通过考虑不同电路拓扑结构进一步应用灵敏度校 正,单元的输出响应根据所传播输入波形中的失真的作用被校正并且更准 确。在一些实施例中,通过采用考虑不同电路拓扑结构所获得的具有代表 性尾部特性的输入波形,使用利用输入波形所特征化的模型生成单元的输 出响应更可能类似于失真的传播输入波形,并且输出响应可能更加准确。

图1是根据一些实施例的单元设计流程100以及集成电路(IC)芯片 的芯片设计流程150的流程图。流程100和150利用一个或多个电子设计 自动化(EDA)工具,执行流程100和150中的一个或多个阶段或操作。

芯片设计流程150目标在于实现从高级说明至物理布局的IC芯片设计, 例如,其用于验证功能、性能和功率。单元设计流程100为在芯片设计流 程150中要用作构建块的单元提供单元的物理设计以及对经过物理设计的 单元的抽象。在一些实施例中,如图1所示,单元设计流程100独立于芯 片设计流程150的特定阶段并且在芯片设计流程150的特定阶段之前被执 行。在其他实施例中,单元设计流程100结合到芯片设计流程150中。

在一些实施例中,单元设计流程100包括单元设计阶段102和单元特 征化阶段104。

在单元设计阶段102,执行晶体管级的单元设计,并且根据说明、相 关技术信息和设计规则,对单元电路进行物理布局和验证。

在单元特征化阶段104,物理上实现的单元被特征化,以创建例如单 元的时序模型和功率模型。在一些实施例中,单元的网表、物理上实现的 单元和单元的模型被收集在标准单元库中并且是可用的。在此并且贯穿本 发明所使用的术语“网表”是指基于图形和/或基于文本的电路的表示。可 以在单元设计流程100的该阶段或其他阶段使用本发明的一些实施例。

在一些实施例中,芯片设计流程150包括系统设计阶段152、逻辑设 计阶段154、逻辑合成阶段156、物理实现158、寄生提取阶段160和物理 验证和电签收(signoff)阶段162。

在系统设计阶段152,设计者根据分别用于特定功能的较大模块来描 述IC芯片。而且,执行包括设计架构的各选项的考察,以考虑例如在优化 设计规范和成本之间做出折衷。在该阶段规定IC芯片的时序要求。

在逻辑设计阶段154,使用VHDL或Verilog在寄存器传输级(RTL) 描述IC芯片的模块,并且验证IC芯片的模块的功能准确度。

在逻辑合成阶段156,在RTL中所描述的IC芯片的模块被转换为门级 网表。在一些实施例中,将逻辑门和寄存器映射为由单元设计流程100所 创建的标准单元库中的可用单元的工艺也在该阶段发生。在进行逻辑合成 之后,IC芯片设计已经过前端设计工艺,并且在随后阶段进入后端物理设 计工艺。

在物理实现阶段158,门级网表被划分为块,并且创建用于块的平面 布置图。块中的逻辑门和寄存器的映射单元被置于IC芯片设计的芯片区域 中的特定位置处。合成时钟网络,并且对连接各单元的互连件进行布线。 在一些实施例中,执行IC芯片设计的时序驱动布置和布线,以在较早设计 阶段为时序收敛做计划。在该阶段后,创建IC芯片的布置和布线布局。

在寄生提取阶段160,从IC芯片的布局中提取物理网表。物理网表包 括诸如通过互连引入单元的寄生电阻器和电容器的寄生现象。

在物理验证和电签收阶段162,对物理网表执行时序分析和布线后优 化,以确保时序收敛。单元库中的时序模型用于在时序分析期间的延迟计 算。本发明的一些实施例可以用于芯片设计流程150的该阶段或者其他阶 段。IC芯片的布局被检验,以确保对应于门级网表,并且确保清除例如制 造过程中的电气问题和光刻问题。可以执行增量修复(incremental fixing), 以在下线之前实现设计的最终签收。

图1中的单元设计流程100和芯片设计流程150是示例性的。其他顺 序的阶段或操作、阶段的划分、或者在所示阶段之前、之间或之后的附加 阶段或操作都在本发明的可应用的范围内。

图2是根据一些实施例的用于创建时序库并且使用时序库执行时序分 析的软件系统2的功能框图。软件系统2包括库创建工具20和静态时序分 析工具25。库创建工具20被配置为使用考虑不同电路拓扑结构而生成的 输入波形以生成相同输入转换特性,来特征化用于延迟计算的单元。例如, 库创建工具20用于图1中的单元设计流程100的单元特征化阶段104。库 创建工具20包括波形获取模块202和单元特征化模块204。例如,波形获 取模块202被配置为从单元特征化模块204接收输入转换特性以及驱动需 考虑的单元的前级驱动器的不同电路拓扑结构的信息,并且获取用于不同 电路拓扑结构的代表性输入波形或者分别用于不同电路拓扑结构的不同输 入波形。单元特征化模块204被配置为接收单元网表192和来自波形获取 模块202的具有输入转换特性的一个或多个输入波形,并且关于一个或多 个输入波形来特征化单元,以在用于延迟计算的时序库242中创建一个或 多个记录(entry)。例如,静态时序分析工具25被配置为接收在图1中的 寄生提取阶段160所获得的物理网表244,并且使用时序库242对物理网 表244进行静态时序分析。例如,静态时序分析工具25用于图1中的芯片 设计流程150中的物理验证和电签收阶段162。静态时序分析工具25包括 时序图建立和遍历模块252和延迟计算模块254。时序图建立和遍历模块 252被配置成将物理网表公式化为时序图并且遍历该时序图,以执行用于 延迟计算的输入波形传播。延迟计算模块254被配置为从单元特征化模块 204接收时序库242,并且从时序图建立和遍历模块252接收单元的类型和 传播的单元的输入波形,并且生成单元的输出响应,作为传播到随后单元 的输入波形。

图3是根据一些实施例使用考虑不同电路拓扑结构生成的输入波形以 生成相同输入转换特性,特征化用于延迟计算的单元的方法300的流程图。 在一些实施例中,在图1中的单元设计流程100的单元特征化阶段104执 行方法300。在一些实施例中,通过图2中的库创建工具20执行方法300。 在操作302中,获取对应于驱动单元前级驱动器的不同电路拓扑结构的不 同输入波形以得到相同输入转换特性。在操作304中,使用不同输入波形 来特征化单元,以在时序库中创建与输入转换特性和不同电路拓扑结构相 关联的记录。在操作306中,检验在时序库中所列举的任何输入转换特性 是否还未被特征化。如果存在,则在操作308中,将要被特征化的输入转 换特性改变为时序库中所列举的输入转换特性,并且方法返回到操作302。 如果不存在,则在连接点或终止点310,单元的时序库被建立并且是可用 的。

在图3的操作302中,构建对应于驱动单元前级驱动器的不同电路拓 扑结构的不同输入波形以得到相同输入转换特性。图4是根据一些实施例 的实现图3中的操作302的方法的流程图。在操作402中,接收驱动配置 在不同电路拓扑结构中的单元的前级驱动器的不同网表。在操作404中, 使用驱动单元的前级驱动器的不同电路,构建具有输入转换特性的不同输 入波形。

在图4的操作402中,接收使用不同电路拓扑结构驱动单元的前级驱 动器的不同网表。图5包括根据一些实施例的驱动配置在不同电路拓扑结 构中的单元的前级驱动器的不同网表500、520和540的示意性电路图。不 同网表是用于普通电路拓扑结构的网表500、用于高电阻(R)电路拓扑结 构的网表520和用于高扇出(FO,high fanout,又称多输出)电路拓扑结 构的网表540。用于普通电路拓扑结构的网表500包括前级驱动器502、前 级驱动器502的FO 508、以及介于前级驱动器502和前级驱动器的FO 508 之间的互连件506。FO 508中的单元504是要使用输入波形,即,单元504 的输入端处的转换电压Vin特征化的单元。在一些实施例中,通过具有电阻 R的电阻器和具有电容C的两个电容器对互连环节进行建模。每个电容器 都连接在电阻器的相应端部和接地端之间。例如,通过互连件的长度来确 定包括在互连件中的互连环节的数量。在网表500中的普通电路拓扑结构 的示例性实例中,互连件506包括一个互连环节并且具有平均值R。另外, 在用于普通电路拓扑结构的实例中,FO 508是3个普通FO。除了互连电 阻不同和FO不同之外,用于高R电路拓扑结构的网表520和用于高FO电 路拓扑结构的网表540分别类似于用于普通电路拓扑结构的网表500。在 用于高R电路拓扑结构的网表520中,例如,将FO 508连接至前级驱动器 502的互连件526包括10个互连环节。因此,互连件526的电阻是10R。 在用于高FO电路拓扑结构的网表540中,例如,前级驱动器502的FO 548 包括60个单元。因此,FO 548是FO 508的20倍。

在图4的操作404中,使用驱动单元504的前级驱动器502的不同网 表500、520和540(如图5示例性地示出的),构建具有输入转换特性的 不同输入波形。图6包括根据一些实施例具有相同输入转换特性并且使用 驱动单元504的前级驱动器的不同网表500、520和540构建的不同输入波 形600、620和640的示意性波形图。不同输入波形是用于网表500中的普 通电路拓扑结构的输入波形600、用于网表520中的高R电路拓扑结构的 输入波形620、以及用于网表540中的高FO电路拓扑结构的输入波形640。 输入波形600、620和640中的每个都是在相应网表500、520或540中的 单元504的输入端处的电压Vin关于时间t的上升转换。在一些实施例中, 对于输入波形600、620和640中的每个,电压Vin的上升转换在时间点tlower处所达到电压Vlower都等于稳态电压Vfinal和初始电压Vinitial之间的差值的 30%,并且在时间点tupper处达到的电压Vupper都等于稳态电压Vfinal和初始 电压Vinitial之间的差值的70%。输入波形600、620和640具有相应时间点 tlower和时间点tupper。因此,输入波形600、620和640具有相同输入转换特 性,在一些实施例中,其输入转换时间等于tupper-tlower。在一些实施例中, 通过调节相应的互连件506、526或506的电容,使用相应网表500、520 或540所生成的每个输入波形600、620或640的输入转换时间都彼此相等。 然而,每个输入波形600、620或640都具有不同尾部部分,在此期间,电 压Vin从电压Vupper上升到稳态电压Vfinal。与用于普通电路拓扑结构的输入 波形600相比较,用于高R电路拓扑结构的输入波形620具有较长尾部部 分。与用于普通电路拓扑结构的输入波形600相比,用于高FO电路拓扑 结构的输入波形640也具有较长尾部部分。而且,由于米勒电容连接在FO 548中的单元的输入和输出之间,输入波形640的尾部部分具有弯曲。在 图6所示的实例中,仅示出上升输入波形600、620和640。然而,可以示 出下降输入波形,当下降输入波形分别达到电压Vupper和电压Vlower时,类 似地具有在时间点tupper和tlower之间的输入转换时间,并且具有从电压Vlower到稳态电压Vfinal的尾部部分。

虽然输入波形600、620和640具有相同输入转换特性,但是输入波形 600、620和640的不同尾部部分会导致单元504的不同输出响应,不同输 出响应相对于它们相应的输入波形600、620和640具有基本不同的延迟。 如果当特征化时序库中的单元504的时序模型时,关于输入转换特性仅考 虑不同输入波形600、620和640中的一个,诸如,用于普通电路拓扑结构 的输入波形600,则忽略输入波形600、620和640的不同尾部部分。如果 在从图1中的寄生提取阶段160所获取的物理网表中,单元504被配置在 高R或高FO电路拓扑结构中,则实际传播到单元504的输入波形具有与 特征化单元504的时序模型的输入波形600不同的尾部部分。从而单元504 使用特征化时序模型生成的输出响应具有与由使用实际传播的输入波形特 征化的时序模型而生成的实际输出响应基本不同的延迟。在此,为了考虑 所传播的输入波形的尾部部分,在参考图11和图13所描述的一些实施例 中,利用在操作404中所构建的不同输入波形600、620和640,以特征化 单元504的不同时序模型或者特征化单元504的时序模型,其中,灵敏性 用于校正利用该时序模型所生成的输出响应。

图7是根据一些实施例实现图3中的操作302的另一种方法的流程图。 与参考图4所述的方法相比较,其中,使用具有不同电路拓扑结构的不同 网表来产生输入波形,图7中的方法收集来自至少一个芯片的波形,并且 从所收集波形中选择输入波形。在操作702中,从包括表示驱动单元的不 同电路拓扑结构的电路拓扑结构的至少一个芯片中收集波形。在操作704 中,根据输入转换特性,对来自至少一个芯片的波形分组。在操作706中, 根据尾部特性,对具有该输入转换特性的波形组分类。在操作708中,从 具有输入转换特性的波形组中选择具有代表性的尾部特性的波形,并且在 尾部特性范围内选择具有尾部特性的其他波形作为不同输入波形,其中, 尾部特性范围包括代表性的尾部特性并且包含在至少一个芯片中至少出现 50%的尾部特性。在一些实施例中,当图3中的方法300返回以执行针对 不同输入转换特性的操作302时,操作702、704和706不是每次都被重复 地执行。即,在包括选择操作708的操作302之前,执行操作702、704和 706,并且每次方法300都返回到操作302,针对不同输入转换特性来执行 选择操作708。

在图7中的操作702中,收集来自包括表示驱动单元的不同电路拓扑 结构的电路拓扑结构的至少一个芯片的波形。在此使用的术语“芯片”是 指从例如图1中的物理验证和电签收阶段162所获得的芯片设计。在一些 实施例中,芯片为物理网表的形式,并且可以使用例如SPICE生成和探测 物理网表中的电路节点处的波形。通常,芯片包括多条时序路径。图8是 示出根据一些实施例在芯片中的示例性时序路径800处所执行的波形收集 的示意图。时序路径800从启动寄存器(lunch register)802(将数据发送 至被示例性地示为互连单元810、812、814和816的组合逻辑电路)开始, 并且在捕获寄存器804处(从组合逻辑电路中捕获数据)结束。在一些实 施例中,例如通过由SPICE所提供的电压探针822,在寄存器802和单元 810、单元810和812、单元812和814、单元814和816、以及单元816 和寄存器804之间的电路节点处收集波形。更详细地示出组合逻辑电路中 的部分830。在部分830中,通过互连件8302连接单元812和单元814。 单元812的FO 8304包括单元814和其他单元。电压探针822连接至互连 件8302和单元814之间的电路节点。

在一些实施例中,从关键的时序路径收集波形。为了能够在时序路径 800中成功传播数据,时钟周期和考虑到时钟边缘启动寄存器802输出数 据的时间、考虑到从启动寄存器802所输出的数据组合逻辑电路生成数据 的时间、以及捕获寄存器804从组合逻辑电路捕获数据的时间之间的时序 余量(timing slack)需要为正。可以通过时钟偏移(clock skew)减小时钟 周期。时序余量越小,时序路径越关键。更可能的是,关键时序路径包括 配置在高电阻和/或高扇出电路拓扑结构中的一个或多个单元,诸如,单元 812和814(将它们本身表示为组合逻辑电路的延迟)。因此,从关键时序 路径所收集的波形更能表示由具有R和FO的不同值的电路拓扑结构所生 成的波形,诸如,图6中示意性地示出的波形600、620和640。

图9示意性地示出根据一些实施例从图7中的操作702、704和706所 获得的波形的波形图。波形图902示出在操作702中收集的各波形,其中, 参考图8详细地描述该操作702。在图7的操作704中,根据输入转换特 性,对来自至少一个芯片的波形分组。波形图912和914示出了根据输入 转换特性所分组的波形组。例如,波形图912中的波形组从电压Vlower到电 压Vupper的输入转换时间为50ps。波形图914中的波形组的输入转换时间 为100ps。

在图7的操作706中,根据尾部特性,对具有输入转换特性的波形组 分类。波形图922、924和926示出根据尾部特性分类的具有50ps的输入 转换特性的波形组。在一些实施例中,尾部特性是从稳态电压Vfinal和初始 电压Vinitial之间的差值的70%的电平转换到为差值的90%的电平的波形的 尾部转换时间。已经参考图6描述了稳态电压Vfinal和初始电压Vinitial。对 于上升转换,诸如,波形图922中的波形,稳态电压Vfinal和初始电压Vinitial之间的差值的70%和90%处的电平分别是电压Vupper和电压Vtail。在一些实 施例中,如分别通过波形图922、924和926中的具有40ps、60ps和90ps 的尾部特性的波形所示的,例如,具有50ps的输入转换特性的波形组按照 升序进行分类。

在操作708中,从具有输入转换特性的波形组中选择具有代表性尾部 特性的波形。在一些实施例中,中间尾部特性被选择为代表性尾部特性。 而且,在操作708中,在尾部特性的范围(包括代表性尾部特性并且包含 在至少一个芯片中出现的尾部特性的至少50%)内也选择具有尾部特性的 其他波形作为输入波形。具有50ps的输入转换特性的波形组包含三个示例 性波形。在其他实例中,在组中存在更多波形,并且可以获得组中的波形 的尾部特性的分布。除了为分布的50%的中间尾部特性之外,还选择诸如 分布的25%和75%的百分比。通过25%和75%所限制的尾部特性的范围包 含分布中的总体的至少50%。

图10是根据一些实施例实现图3中的操作302的另一种方法的流程图。 与参考图7描述的方法(从由至少一个芯片所收集的波形中选择具有不同 尾部特性的输入波形)相比较,图10中的方法通过将线性Y-MOS方程拟 合为从至少一个芯片所收集的不同尾部特性来构建输入波形。在操作1002 中,从至少一个芯片(包括表示驱动单元的前级驱动器的不同电路拓扑结 构的电路拓扑结构)所生成的波形中收集尾部特性。在操作1004中,从所 收集的尾部特性中选择代表性的尾部特性,并且还可以在尾部特性范围内 (包括代表性的尾部特性并且包含在至少一个芯片中出现至少50%的尾部 特性)选择其他尾部特性。在操作1006中,使线性Y-MOS方程拟合为输 入转换特性和不同尾部特性的尾部特性,以获得联立方程。在操作1008中, 求解联立方程,以获得拟合的线性Y-MOS方程。在操作1010中,使用拟 合的线性Y-MOS方程构建输入波形。在操作1012中,检验所选的尾部特 性中的任一个是否还未被构建。如果是,则在操作1014中,将要构建的尾 部特性改变为所选尾部特性中的另一个尾部特性,并且方法返回到操作 1006,以构建具有该尾部特性的输入波形。如果不是,则构建不同输入波 形,并且图10中的操作302的方法进行至图3中的操作304。

在操作1002中,从至少一个芯片(包括表示驱动单元的前级驱动器的 不同电路拓扑结构的电路拓扑结构)生成的波形中收集尾部特性。在一些 实施例中,尾部特性是尾部比率。图11是示出尾部比率的示例性输入波形 1100的示意性波形图。输入波形1100是在将被特征化的单元的输入端处 的电压v相对于时间t的下降转换。假设电压v相对于输入波形1100的转 换范围被标准化,并且具有范围[0,1]。在一些实施例中,在时间点tupper处, 电压v的下降转换达到等于0.7的电压Vupper,即,输入波形1100的转换 范围的30%;在时间点tlower处,达到等于0.3的电压Vlower,即,输入波形 1100的转换范围的70%;并且在时间点ttail处,达到等于0.1的电压Vtail, 即,输入波形1100的转换范围的90%。通过考虑基于电压Vupper和Vlower之间的输入波形1100的一部分所获得的输入转换特性,以及基于电压Vlower和Vtail之间的输入波形1100的一部分所获得的补充输入转换特性来获得尾 部比率。在一些实施例中,下降输入波形1100的尾部比率通过以下公式计 算:

tailratiofalling=ttail-tlowertlower-tupper---(1)

其中,tlower-tupper是输入转换特性,而ttail-tlower是补充输入转换特性。

在图11中,输入波形1100是下降输入波形。在上升输入波形的情况 下,首先在时间点tlower处,电压v达到等于0.3的电压Vlower,即,上升输 入波形的转换范围的30%;接下来在时间点tupper处,达到等于0.7的电压 Vupper,即,上升输入波形的转换范围的70%;然后在时间点ttail处,达到 等于0.9的电压Vtail,即,上升输入波形的转换范围的90%。从而,用于计 算上升输入波形的尾部比率的公式具有以下形式:

tailratiorising=ttail-tuppertupper-tlower---(2)

其中,tupper-tlower是输入转换特性,并且ttail-tupper是补充输入转换特性。

如参考图5和图6描述的,通过驱动配置在不同电路拓扑结构中的单 元的前级驱动器所生成的输入波形可以分别具有相同输入转换特性但是具 有不同尾部部分。通过考虑输入波形1100的尾部比率,可以从输入波形 1100中辨别出具有相同输入转换特性但是由于不同尾部部分而具有不同补 充输入转换特性的另一个输入波形。因此,所接收的不同尾部比率可以用 于构建具有相同输入转换特性但是具有不同尾部部分的输入波形。下文中, 描述用于选择表示不同电路拓扑结构的尾部比率的方法。

图12是根据一些实施例在芯片中所收集的波形的尾部比率分布的示 意性概率密度函数(pdf)。类似于参考图7和图8所描述的实施例,从芯 片中的多条时序路径中收集波形。这些时序路径遍历了配置在具有宽范围 的互连电阻和扇出的电路拓扑结构中的单元。因此,所收集的波形具有不 同尾部比率。所收集的波形的尾部比率形成尾部比率分布。然后,将尾部 比率分布转换为pdf,该pdf反映尾部比率分布中的不同尾部比率出现的概 率。在操作1004中,从所收集的尾部特性中选择代表性尾部特性,并且还 选择尾部特性范围(包括代表性尾部特性和包含在至少一个芯片的尾部特 性中至少出现50%的尾部特性)内的其他尾部特性。在一些实施例中,从 pdf中选择操作1004中的代表性尾部特性和其他尾部特性。例如,选择中 间尾部比率、以及为1%的尾部比率和为99%的尾部比率,以覆盖代表性尾 部比率以及从芯片收集的更极端的尾部比率。对pdf的其他百分比的选择 或用于选择尾部比率的其他方法都在本发明的预期范围内。

在操作1006中,将线性Y-MOS方程拟合于输入转换特性和不同尾部 特性中的尾部特性,以获得联立方程。图13是根据一些实施例用于推导线 性Y-MOS方程的电路1300的示意性电路图。电路1300包括NMOS 1302 和集总电容器CL。NMOS 1302的源极和集总电容器CL的一个端子接地, NMOS 1302的漏极和集总电容器CL的另一个端子连接在一起,并且NMOS 1302的栅极连接至电源VDD。通过工作在线性区域的NMOS(NMOS 1002 的栅极被完全导通),电路1300处于给集总电容器CL放电的状态下,从 而获得微分方程,并且将其示出如下:

Ilin=a·v+b·v2=-dvdt---(3)

其中,Ilin是从集总电容器CL流经NMOS 1302的放电电流;v是NMOS 1302 的漏源电压;a和b分别是微分方程中的一阶系数和二阶系数;并且t是时 间。线性Y-MOS方程可以从微分方程(3)获得,并且被示出如下:

t=-1a·log((a+b)·va+b·v)---(4)

为了使线性Y-MOS方程(4)拟合于输入转换特性和尾部比率,例如,在 下降输入波形上识别出三个点(Vupper,tupper)、(Vlower,tlower)、和(Vtail,ttail)。 然后,对应于输入转换特性的点tlower-tupper用于建立联立方程之一,并且对应于 尾部比率的点用于建立联立方程中的另一个方程。从而,获得具有 两个未知数a和b的两个方程。

在操作1008中,求解联立方程,以获得拟合后的线性Y-MOS方程。 通过求解联立方程,求解两个未知数a和b。具有求解出的a和b的线性 Y-MOS方程是拟合于输入转换特性和尾部比率的线性Y-MOS方程。

在操作1010中,拟合后的线性Y-MOS方程用于构建具有输入转换特 性和尾部比率的输入波形。例如,现在从拟合后的线性Y-MOS方程获得在 不同时间点处的电压,并且可以使用不同时间点处的电压来构建输入波形。

然后,图10中用于操作302的方法返回,以根据不同尾部特性拟合线 性Y-MOS方程并且构建具有输入转换特性和不同尾部特性的输入波形,直 到相对于操作1004中所选择的不同尾部特性中的每个尾部特性Y-MOS方 程都被拟合为止。然后,用于操作302的方法进行至图3中的操作304。

在图3的操作304中,使用不同输入波形来特征化单元,以在时序库 中创建与输入转换特性和不同电路拓扑结构相关联的记录。图14是根据一 些实施例实现图3中的操作304的方法、以及用于在对物理网表执行时序 分析期间进行的波形传播的相应方法1450的流程图。在操作1402中,在 单元的时序库中创建与输入转换特性和所构建的不同输入波形的输入波形 相关联的完全特征化模型。在操作1404中,检验是否没有为不同输入波形 中的任何一个创建完全特征化模型。如果是,则方法继续至操作1406,以 将要创建的输入波形改变为不同输入波形中的另一个输入波形,并且返回 到操作1402。如果不是,则图14中的操作304的方法进行至图3中的操 作306,其检验另一个输入转换特性是否将被特征化。

在连接点310处创建单元的时序库之后,使用时序库执行方法1450。 在一些实施例中,在图1中的物理验证和电签收阶段162执行方法1450。 在一些实施例中,通过图2中的时序分析工具25执行方法1450。在操作 1452中,对物理网表执行时序分析,从而获得传播到单元的输入端的输入 波形。在操作1454中,使用所传播的输入波形的输入转换特性,以在输入 转换特性的条件下在时序库中识别具有不同输入波形的记录。在操作1456 中,所传播的输入波形与时序库中的不同输入波形进行匹配,以识别出记 录中生成单元的输出响应的一个记录。

在操作1402中,在单元的时序库中创建与输入转换特性和所构建的不 同输入波形中的输入波形相关联的完全特征化模型。完全特征化模型是使 用输入波形生成特征化的单元的输出响应的时序模型,并且独立于使用其 他输入波形特征化的库中的其他记录被使用。在一些实施例中,时序模型 是电流源模型。图15是根据一些实施例的用于单元的时序库1500的示意 图。在一些实施例中,在时序库1500中,通过执行操作1402,根据诸如 第一输入转换特性的输入转换特性并且根据诸如普通电路拓扑结构的波形 的输入波形,创建完全特征化模型。

通过操作1404和1406,操作304的方法继续返回至操作1402,以在 时序库1500中的第一输入转换特性下,创建用于其他输入波形(诸如,用 于高R电路拓扑结构的波形和用于高FO电路拓扑结构的波形)的完全特 征化模型。然后,完成关于第一输入转换特性的特征化。如参考图7和图 10所述,用于完全特征化模型的不同输入波形还可以是具有不同尾部特性 的输入波形。

然后,图14中的操作304的方法进行至图3中的操作306。为了根据 时序库1500中的第二输入转换特性来进行特征化,方法300返回到操作 302,以获得具有第二输入转换特性的不同输入波形,诸如,构建用于普通 电路拓扑结构、高R电路拓扑结构和高FO电路拓扑结构且具有第二输入 转换特性的不同输入波形。然后,方法300继续至操作1402,以创建用于 具有第二输入转换特性的不同输入波形的完全特征化模型。重复另一个输 入转换特性的工艺,直到时序库中要被特征化的每个输入转换特性均被处 理为止。在创建单元的时序库1500之后,可以使用输入转换特性和输入波 形作为关键字来查找模型。

在操作1452中,对物理网表执行时序分析,从而获得传播到单元的输 入端的输入波形。为了对物理网表执行时序分析,物理网表被公式化为时 序图。通过一个节点接一个节点地遍历时序图,在节点的输入端处接收的 所传播的输入波形被传播至节点的输出端,作为传播到下一个节点的输入 端的输入波形。假设具有使用参考图3至图13描述的方法特征化的单元的 节点是波形传播的当前节点。在执行时序分析的处理的过程中,获得传播 到当前节点的单元的输入端的输入波形。

在操作1454中,使用传播到该单元的输入波形的输入转换特性,以在 时序库中的输入转换特性下识别出不同输入波形的记录。例如,假设所传 播的输入波形具有与图15中的时序库1500的第一输入转换特性的相对应 的输入转换特性,在图15中的时序库1500的第一输入转换特性下的记录 被识别。

在操作1456中,将所传播的输入波形与时序库中的不同输入波形进行 匹配,以识别出记录中用于生成该单元的输出响应的一个记录。例如,如 果当通过物理网表中的前级驱动器驱动时,单元配置在高R电路拓扑结构 中,则所生成的传播输入波形与时序库1200中的高R电路拓扑结构的波形 更好地匹配。结果,在用于高R电路拓扑结构的波形下的完全特征化模型 被识别以用于生成当前节点的单元的输出响应。然后,所生成的输出响应 用作传播到下一个节点的单元的输入端的输入波形。

在参考图3至图15描述的实施例中,根据使用驱动单元的前级驱动器 的不同电路拓扑结构所构建的不同输入波形以得到相同输入转换特性,特 征化单元。通过进一步执行波形匹配,以识别出不仅在输入转换特性而且 在波形的另一个部分(诸如,尾部部分)上更接近于所传播输入波形的输 入波形,减小了所传播输入波形相对于用于特征化单元的输入波形的失真。 从而,使用利用输入波形所特征化的模型生成单元的输出响应更类似于失 真的传播输入波形,并且该输出响应更准确。

图16是根据一些实施例的实现图3中的操作304的另一种方法和用于 在对物理网表执行时序分析期间执行波形传播的相应方法1650的流程图。 与参考图14描述的方法相比,参考图16描述的方法创建用于不同输入波 形之一的完全特征化模型,并且创建用于一些不同输入波形的灵敏度以用 于校正使用完全特征化模型所生成的输出响应。在操作1602中,在时序库 中创建与输入转换特性和与不同输入波形中的一个或多个输入波形相关联 的一个或多个完全特征化模型。在操作1604中,在时序库中分别创建与输 入转换特性并且与不同输入波形中的其他输入波形相关联的灵敏度。然后, 图16中的操作304的方法进行至图3中的操作306,其检验是否特征化另 一个输入转换特性。

在一些实施例中,在连接点310处创建单元的时序库之后,使用时序 库执行方法1650。在一些实施例中,在图1中的物理验证和电签收阶段162 执行方法1650。在一些实施例中,通过图2中的时序分析工具25执行方 法1650。在操作1452中,对物理网表执行时序分析,从而获得传播到该 单元的输入端的输入波形。在操作1454中,所传播的输入波形的输入转换 特性用于在时序库中的该输入转换特性的条件下,识别出不同输入波形的 记录。方法1650中的操作1452和1454类似于图14中的方法1450的那些, 并且在此省略其具体细节。在操作1656中,所传播的输入波形被投影射到 对应于不同电路拓扑结构的输入波形的空间,以确定所传播输入波形在空 间中的位置。在操作1658中,使用所识别的记录之一中的完全特征化模型, 生成输出响应。在操作1660中,使用所识别记录中的至少一个灵敏度和所 传播输入波形在空间中的位置,进行对输出响应的校正。

在图16的操作1602中,在时序库中创建与输入转换特性并且与不同 输入波形中的一个或多个输入波形相关联的一个或多个完全特征化模型。 在操作1604中,分别创建与输入转换特性并且与不同输入波形中的其他输 入波形相关联的灵敏度。图17是根据一些实施例的用于单元的时序库1700 的示意图。在一些实施例中,在操作1602和1604中,对于诸如第一输入 转换特性的输入转换特性,在时序库1700中存储用于不同电路拓扑结构 (诸如,平均R和FO电路拓扑结构、高R和平均FO电路拓扑结构、以 及平均R和高FO电路拓扑结构)的不同输入波形,并且分别在不同输入 波形下创建一个或多个完全特征化模型和灵敏度。在其他实施例中,在操 作1602和1604中,对于诸如第一输入转换特性的输入转换特性,估计一 些电路拓扑结构方面(诸如,电阻和扇出)对不同输入波形的作用,并且 将该估计结果存储在时序库1700中。在不同输入波形的估计结果下,创建 一个或多个完全特征化模型和灵敏度。为了简单起见,完全特征化模型和 灵敏度此后被称为在时序库1700中的相应电路拓扑结构下。

在图16中的操作1452中,在单元的输入端处接收到所传播的输入波 形之后,在操作1454中,使用所传播的输入波形的输入转换特性,以在时 序库1700中的输入转换特性下识别出不同输入波形的记录。下文中,作为 实例,所识别的记录应该在时序库1700中的第一输入转换特性的条件下。

在操作1656中,所传播的输入波形被投影到对应于不同电路拓扑结构 的输入波形的空间,以确定所传播的输入波形在空间中的位置。图18是根 据一些实施例的对应于不同电路拓扑结构的输入波形的空间1800的示意 图。在空间1800中,对应于平均R和平均RO电路拓扑结构的输入波形位 于原点处,高FO轴是用于较高FO对输入波形的作用的轴,而高R轴是用 于较高R对输入波形的作用的轴。在图18示意性地示出的实例中,高FO 轴和高R轴正交。在其他实例(未示出)中,空间中的各轴不正交,因此, FO的作用的增加或减小伴随有R的作用的增加或减小。在一些实施例中, 通过执行操作1656,所传播的输入波形被投影到空间1800中的位置1802 处。位置1802的高FO轴分量反映关于平均R和平均FO的输入波形,较 高FO对所传播的输入波形的作用,而位置1802的高R轴分量反映关于用 于平均R和平均FO的输入波形,较高R对所传播的输入波形的作用。

在操作1658中,使用所识别记录之一的完全特征化模型,生成输出响 应。通过执行操作1658,使用在平均R和平均FO电路拓扑结构下的完全 特征化模型来生成输出响应。

在操作1660中,使用所识别记录中的至少一个灵敏度和所传播的输入 波形在空间中的位置,以进行对输出响应的校正。图19分布是根据一些实 施例的没有灵敏度校正、具有高电阻灵敏度校正和进一步具有高扇出灵敏 度校正的输出响应1902、1904和1904的示意性波形图。在图19中,输出 响应是响应于到达单元的输入端的输入波形,在单元的输出端处的电压Vout关于时间t的转换。在操作1658中,输出响应1902是使用在时序库1700 中的所识别记录中平均R和平均FO电路拓扑结构下的完全特征化模型而 生成的输出响应。在时序库1700中的所识别记录中,考虑到不同R和FO 对所传播的输入波形的作用伴随(accompany)完全特征化模型,使用用于 平均R和平均FO电路拓扑结构的完全特征化模型生成用于校正输出响应 1902的灵敏度。通过使用高R和平均FO电路拓扑结构的灵敏度和图18 中的所传播输入波形的位置1802中的高R分量对输出响应1902应用较高 R的校正,获得关于较高R校正的输出响应1904。然后,通过使用平均R 和高FO电路拓扑结构的灵敏度和所传播输入波形的位置1802中的高FO 分量对输出响应1904应用较高FO的校正,获得关于较高R和较高FO校 正的输出响应1906。

图20是根据一些实施例的单元的另一个时序库2000的示意图。与参 考图17描述的实施例相比,在图20中的时序库2000中的不同尾部特性下, 分别创建一个或多个完全特征化模型和灵敏度。在操作1602中,对于第一 输入转换特性,诸如第一和第二完全特征化模型的两个完全特征化模型分 别使用呈现第二所选尾部比率和第五所选尾部比率的输入波形被创建,并 且在时序库2000中的第二所选尾部比率和第五所选尾部比率下被存储。在 操作1604中,用于校正使用第一完全特征化模型所生成的输出响应的灵敏 度分别使用呈现第一所选尾部特性和第三所选尾部特性的输入波形被创建, 并且在时序库2000中的第一所选尾部特性和第三所选尾部特性下被存储。 类似地创建和存储用于校正使用第二完全特征化模型所生成的输出响应的 灵敏度。

在图16的操作1452中,在单元的输入端处接收到所传播的输入波形 之后,在操作1454中,所传播的输入波形的输入转换特性用于识别在时序 库2000中的输入转换特性下不同尾部比率的记录。下文中,作为实例,所 识别的记录应该在时序库2000中的第一输入转换特性下。

在操作1656中,所传播的输入波形被投影到对应于不同电路拓扑结构 的输入波形的空间,以确定所传播的输入波形在空间中的位置。图21是根 据一些实施例的对应于不同电路拓扑结构的输入波形的空间2100的示意 图。空间2100是用于尾部特性的线。在空间2100中,具有第二所选尾部 特性2104和第五所选尾部特性2110的输入波形被表示为实心圈,而具有 第一所选尾部特性2102、第三所选尾部特性2106和第四所选尾部特性2108 的输入波形被表示为空心圈。通过执行操作1656,所传播的输入波形被投 影到空间2100的位置2112处。所传播的输入波形具有最接近第三所选尾 部特性2106的尾部特性,并且稍微超过第三所选尾部特性。

在操作1658中,使用所识别记录之一的完全特征化模型生成输出响应。 因为所传播的输入波形的位置2112最接近第三所选尾部特性2106,首先 使用在第二所选尾部特性2104下的第一完全特征化模型生成输出响应。

在操作1660中,使用所识别记录中的至少一个灵敏度和所传播的输入 波形在空间中的位置,对输出响应进行校正。因为位置2112最接近第三所 选尾部特性2106,所以对应于时序库2000中的第三所选尾部特性的灵敏 度和所传播输入波形的位置2112和第二所选尾部比率之间的距离用于对 使用第一完全特征化模型所生成的输出响应进行校正。

在参考图3至图13和图16至图21描述的实施例中,根据使用驱动单 元的前级驱动器的不同电路拓扑结构所构建的一些不同输入波形以得到相 同输入转换特性来完全特征化单元,并且关于不同输入波形中的其他输入 波形的灵敏度来特征化该单元。通过进一步对仅考虑所传播的输入波形的 输入转换特性而生成的输出响应应用灵敏度校正,基于所传播的输入波形 在不同输入波形的空间中的投影位置,考虑了所传播的输入波形相对于用 于特征化单元的输入波形的失真作用。因此,根据所传播的输入波形中失 真的作用来校正单元的输出响应,并且该单元的输出响应更准确。

图22是根据一些实施例使用生成的输入波形(考虑了生成相同输入转 换特性的不同电路拓扑结构)来特征化用于延迟计算的单元的另一种方法 2200的流程图。与图3中的方法300相比,方法2200使用具有代表性尾 部特性的单个波形作为用于根据输入转换特性特征化单元的输入波形。在 操作2202中,获得具有考虑驱动单元的前级驱动器的不同电路拓扑结构 (以得到相同输入转换特性)所选择的输入转换特性和尾部特性的输入波 形。在操作2204中,使用输入波形来特征化单元,以在时序库中创建与输 入转换特性相关的记录。在操作2206中,检验时序库中列举的任何输入转 换特性是否还未被特征化。如果是,则在操作2208中,将要被特征化的输 入转换特性改变为在时序库中列举的另一个输入转换特性,并且方法返回 到操作2202。如果不是,则在终点或连接点2210处,创建单元的时序库。 除了代表性输入波形用于根据输入转换特性来特征化单元之外,操作2204 和2206类似于图3中的操作302和304。如以下更详细描述的,用于实现 操作302的不同实施例可以用于实现操作2202。以下还提供了与用于操作 304的实施例不同的用于操作2204的实施例。操作2206、2208和2210类 似于图3中的操作306、308和310,并且在此省略其进一步描述。

图23是根据一些实施例的实现图22中的操作2202的方法的流程图。 与参考图7描述的方法相比较,图23中的方法包括与图7中的方法的操作 702、704和706相同的操作702、704和706、以及与图7中的方法的操作 708不同的操作2308。省略与图7中的操作相同的图23中的操作的描述。 在操作2308中,来自具有输入转换特性的波形组的具有代表性尾部特性的 波形被选择为输入波形。在一些实施例中,类似于图7中的操作708,中 间尾部特性被选择为代表性尾部特性。已经参考图9描述了用于定位中间 尾部特性的方法并且在此省略了该方法。类似于参考图7描述的实施例, 在一些实施例中,当图22中的方法2200返回,以执行用于不同输入转换 特性的操作2202时,不是每次都重复执行图23中的方法的操作702、704 和706。

图24是根据一些实施例实现图22中的操作2202的另一种方法的流程 图。与参考图10描述的方法相比较,图24中的方法包括与图10中的方法 的操作1002、1008和1010相同的操作2402、2408和2410、以及与图10 中的操作1004和1006不同的操作2404和2406。省略与操作1002相同的 操作2402的描述。在操作2404中,选择来自所收集的尾部特性的代表性 尾部特性。操作2404与操作1004的不同之处在于,从所收集的尾部特性 中选择单个代表性尾部特性。用于操作2404的用于选择代表性尾部特性的 方法类似于用于操作1004的尾部特性,并且在此省略其描述。在操作2406 中,使线性Y-MOS拟合于输入转换特性和代表性尾部特性,以获得联立方 程。省略与操作1008和1010相同的操作2408和2410的描述。

图25是根据一些实施例在对物理网表执行时序分析期间用于执行波 形传播的方法2500的流程图。与图14中的方法1450和图16中的方法1650 相比较,方法2500仅使用输入转换特性以识别相应记录以用于生成单元的 输出响应。在连接点2210处创建单元的时序库之后,使用时序库执行方法 2500。在一些实施例中,在图1中的物理验证和电签收阶段162执行方法 2500。在一些实施例中,通过图2中的时序分析工具25执行方法2500。 在操作2502中,对物理网表执行时序分析,使得获得传播到单元的输入端 的输入波形。操作2502类似于图14中的操作1452,并且在此被省略。在 操作2504中,所传播的输入波形的输入转换特性用于识别与时序库中的输 入转换特性相关联的记录,从而生成单元的输出响应。除了使用所传播的 输入波形的输入转换特性而找到的记录直接用于生成单元的输出响应,并 且在输入转换特性下用于识别记录之一的波形匹配被省略之外,操作2504 类似于图14中的操作1454和1456。

在参考图22至图25描述的实施例中,根据具有中间尾部特性(表示 使用驱动单元前级驱动器的不同电路拓扑结构以得到相同输入转换特性的 所构建的不同输入波形的尾部特性)的输入波形,完全特征化单元。通过 采用中间尾部特性以构建用于特征化单元的输入波形,很可能会减小相对 于用于特征化单元的输入波形的所传播输入波形的失真。因此,使用利用 输入波形所特征化的模型而生成单元的输出响应很可能更类似失真的传播 输入波形,并且很可能更加准确。

图26是根据一些实施例用于实现参考图2所描述的软件系统实施例和 参考图3至图25描述的方法实施例的硬件系统2600的框图。系统2600包 括至少一个处理器2602、网络接口2604、输入和输出(I/O)设备2606、 存储器2608、内存2612、以及总线2610。总线2610将网络接口2604、I/O 接口2606、存储器2608和内存2612连接至处理器2602。

在一些实施例中,内存2612包括随机存取存储器(RAM)和/或其他 易失性存储设备和/或只读存储器(ROM)和/或其他非易失性存储设备。 内存2612包括内核26124和用户空间26122,该内存被配置为存储由处理 器2602执行的程序指令和由程序指令存取的数据。

在一些实施例中,网络接口2604被配置为存取程序指令并且通过网络 远程存储的程序指令存取数据。I/O设备2606包括输入设备和输出设备, I/O设备2606被配置为使用户与系统2600交互。例如,输入设备包括键盘、 鼠标等。例如,输出设备包括显示器、打印机等。存储设备2608被配置为 存储程序指令并且由程序指令存取数据。例如,存储设备2608包括磁盘和 光盘。

在一些实施例中,当执行程序指令时,处理器2602被配置作为参考图 2所描述的软件系统2或被配置为执行参考图3至图25所描述的方法。

在一些实施例中,程序指令被存储在非暂时性计算机可读记录介质中, 诸如,一个或多个光盘、硬盘和非易失性存储设备。

在一些实施例中,在由至少一个处理器所执行的方法中,根据考虑驱 动单元的前级驱动器的不同电路拓扑结构的输入转换特性以得到相同输入 转换特性,由至少一个处理器特征化单元。

在一些实施例中,一种系统包括至少一个处理器和至少一个内存。至 少一个处理器被配置为执行程序指令,该程序指令将至少一个处理器配置 为库创建工具。库创建工具被配置为根据考虑驱动单元前级驱动器的不同 电路拓扑结构的输入转换特性以得到相同输入转换特性,以特征化单元。 至少一个内存被配置为存储程序指令。

以上说明书包括示例性操作,但是这些操作不必要求按照所示顺序被 执行。根据本发明的精神和范围,可以适当地添加、替换操作、改变操作 顺序和/或删除该操作。从而,应该参考以下权利要求以及这样的权利要求 被授权的等同物的全部范围来确定本发明的范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号