首页 / 专利库 / 信号处理 / 时钟树 / 静态电压(SIR)下降违规预测系统和方法

静态电压(SIR)下降违规预测系统和方法

阅读:598发布:2020-05-11

专利汇可以提供静态电压(SIR)下降违规预测系统和方法专利检索,专利查询,专利分析的服务。并且提供了用于在对CTS布局执行路由之前预测 时钟树 合成(CTS)布局中的静态 电压 (SIR)下降违规的系统和方法。静态电压(SIR)下降违规预测系统包括SIR下降违规预测 电路 。SIR下降违规预测电路接收与CTS布局相关联的CTS数据。SIR下降违规预测电路检查与CTS布局相关联的CTS布局数据,并且CTS布局数据可以包括与CTS布局的多个区域相关联的数据,并且多个区域可以被逐个区域地检查。SIR下降违规预测电路预测在CTS布局中是否由于CTS布局的后续路由而存在一个或多个SIR下降违规。,下面是静态电压(SIR)下降违规预测系统和方法专利的具体信息内容。

1.一种静态电压(SIR)下降违规预测系统,包括:
静态电压下降违规预测电路,所述静态电压下降违规预测电路在使用时:
接收与时钟树合成布局相关联的时钟树合成(CTS)布局数据;
检查与所述时钟树合成布局相关联的所述时钟树合成布局数据;以及
预测在所述时钟树合成布局中是否由于所述时钟树合成布局的路由而存在一个或多个静态电压下降违规。
2.根据权利要求1所述的静态电压下降违规预测系统,还包括:
时钟树合成数据库,存储与所述时钟树合成布局相关联的所述时钟树合成布局数据。
3.根据权利要求2所述的静态电压下降违规预测系统,还包括:
处理区域数据库,存储与表现出静态电压下降违规的多个时钟树合成区域相关联的信息,其中,所述静态电压下降违规预测电路在使用时至少部分地基于表现出静态电压下降违规的所述多个时钟树合成区域相关联的所述信息,预测在所述时钟树合成布局中是否存在一个或多个静态电压下降违规。
4.根据权利要求3所述的静态电压下降违规预测系统,还包括:
静态电压下降数据库,存储将静态电压下降违规与时钟树合成布局或时钟树合成布局区域中的至少一个相关联的信息;以及
机器学习电路,通信地耦合到所述静态电压下降数据库,所述机器学习电路在使用时基于存储在所述静态电压下降数据库中的所述信息,生成与表现出静态电压下降违规的多个时钟树合成区域相关联的所述信息。
5.根据权利要求1所述的静态电压下降违规预测系统,其中,所述静态电压下降违规预测电路在使用时:
生成静态电压下降违规映射,所述静态电压下降违规映射指示所述时钟树合成布局中的预测的静态电压下降违规的位置
6.根据权利要求1所述的静态电压下降违规预测系统,还包括:
模型库,存储多个机器学习模型,
机器学习电路,通信耦合到所述模型库,所述机器学习电路在使用时:
基于所述时钟树合成布局的特征空间的形状和取向与所述多个机器学习模型的特征空间的形状和取向之间的第一相似性比较,通过选择多个机器学习模型的第一部分来生成第一阶段系综;以及
基于所述时钟树合成布局的特征空间的取向与所述第一阶段系综的所述多个机器学习模型的所述第一部分的特征空间的取向之间的第二相似性比较,通过选择所述多个机器学习模型的第二部分来生成第二阶段系综。
7.根据权利要求6所述的静态电压下降违规预测系统,其中,所述静态电压下降违规预测电路在使用时基于所述时钟树合成布局与所述第二阶段系综的比较而生成静态电压下降映射,所述静态电压下降映射指示所述时钟树合成布局中的预测的静态电压下降值。
8.根据权利要求7所述的静态电压下降违规预测系统,其中,所述静态电压下降违规预测电路在使用时将所述预测的静态电压降值与阈值静态电压下降值进行比较,并且基于所述预测的静态电压下降值与所述阈值静态电压下降值的比较,预测由于所述时钟树合成布局的路由而在所述时钟树合成布局中是否存在一个或多个静态电压下降违规。
9.一种预测静态电压(SIR)下降违规的方法,包括:
通过静态电压(SIR)下降违规预测电路接收与半导体器件的时钟树合成布局相关联的时钟树合成(CTS)布局数据;
通过所述静态电压下降违规预测电路检查与所述时钟树合成布局相关联的所述时钟树合成布局数据;
通过所述静态电压下降违规预测电路预测由于所述时钟树合成布局的路由而在所述时钟树合成布局中是否存在一个或多个静态电压下降违规;以及
响应于预测在所述时钟树合成布局中不存在由于所述时钟树合成布局的路由的静态电压下降违规,路由所述时钟树合成布局。
10.一种预测静态电压(SIR)下降违规的方法,包括:
利用指示多个电子器件设计中的静态电压(SIR)下降违规的信息来训练多个机器学习模型;
将所述多个机器学习模型存储在数据库中;
通过静态电压下降违规预测电路接收与时钟树合成布局相关联的时钟树合成(CTS)数据;
将与所述时钟树合成布局相关联的所述时钟树合成数据与存储在所述数据库中的所述多个机器学习模型进行比较;以及
基于将与所述时钟树合成布局相关联的所述时钟树合成数据与所述多个机器学习模型进行比较,由所述静态电压下降违规预测电路预测由于所述时钟树合成布局的后续路由而在所述时钟树合成布局中是否存在一个或多个静态电压下降违规。

说明书全文

静态电压(SIR)下降违规预测系统和方法

技术领域

[0001] 本发明实施例涉及静态电压下降违规预测系统和方法。

背景技术

[0002] 在电子电路设计过程中,可以利用一个或多个电子设计自动化(EDA)工具来设计、优化和验证半导体器件设计,诸如半导体芯片中的电路设计。例如,可以通过利用高级软件长度(例如,Verilog等)来描述或以其他方式对电路建模的软件工具来执行电路的寄存器传送级(RTL)设计。然后,RTL设计可以进行到合成过程,其中RTL设计可以转换为等效的硬件或电路级实现文件。然后,布置和理由工具可以使用合成结果来创建半导体器件(例如,半导体芯片)的物理布局。在布置期间,布置器工具可以基于合成的电路设计产生布置布局。布置布局包括指示半导体器件的各种电路元件的物理位置的信息。在完成器件的布置之后,可以执行时钟树合成(CTS),其中开发时钟树以将时钟信号从公共点分配(例如,通过电网络)到接收时钟信号的所有电路元件。
[0003] 路由通常在CTS之后执行。在路由期间,可以形成线或互连件以连接布置布局的各种电路元件。在路由之后,可以对半导体器件执行物理验证过程,然后可以执行电压降分析。电压降分析可以称为IREM分析。在IREM分析期间,分析半导体器件以确定是否存在超过或以其他方式违规设计规则的静态电压降(SIR下降)。半导体器件的SIR下降至少部分地归因于器件中各种电路元件或节点之间的实际路由或互连,因此,通常在器件的路由之后执行SIR下降分析。

发明内容

[0004] 本发明的实施例提供了一种静态电压(SIR)下降违规预测系统,包括:静态电压下降违规预测电路,所述静态电压下降违规预测电路在使用时:接收与时钟树合成布局相关联的时钟树合成(CTS)布局数据;检查与所述时钟树合成布局相关联的所述时钟树合成布局数据;以及预测在所述时钟树合成布局中是否由于所述时钟树合成布局的路由而存在一个或多个静态电压下降违规。
[0005] 本发明的另一实施例提供了一种预测静态电压(SIR)下降违规的方法,包括:通过静态电压(SIR)下降违规预测电路接收与半导体器件的时钟树合成布局相关联的时钟树合成(CTS)布局数据;通过所述静态电压下降违规预测电路检查与所述时钟树合成布局相关联的所述时钟树合成布局数据;通过所述静态电压下降违规预测电路预测由于所述时钟树合成布局的路由而在所述时钟树合成布局中是否存在一个或多个静态电压下降违规;以及响应于预测在所述时钟树合成布局中不存在由于所述时钟树合成布局的路由的静态电压下降违规,路由所述时钟树合成布局。
[0006] 本发明的又一实施例提供了一种预测静态电压(SIR)下降违规的方法,包括:利用指示多个电子器件设计中的静态电压(SIR)下降违规的信息来训练多个机器学习模型;将所述多个机器学习模型存储在数据库中;通过静态电压下降违规预测电路接收与时钟树合成布局相关联的时钟树合成(CTS)数据;将与所述时钟树合成布局相关联的所述时钟树合成数据与存储在所述数据库中的所述多个机器学习模型进行比较;以及基于将与所述时钟树合成布局相关联的所述时钟树合成数据与所述多个机器学习模型进行比较,由所述静态电压下降违规预测电路预测由于所述时钟树合成布局的后续路由而在所述时钟树合成布局中是否存在一个或多个静态电压下降违规。附图说明
[0007] 当结合附图进行阅读时,从以下详细描述可最佳理解本发明的各个方面。应该强调,根据工业中的标准实践,各个部件未按比例绘制并且仅用于说明的目的。实际上,为了清楚的讨论,各个部件的尺寸可以任意地增大或减小。
[0008] 图1是示出根据一些实施例的电子器件设计系统的框图
[0009] 图2是示出根据一些实施例的静态电压(SIR)下降违规预测系统的框图。
[0010] 图3A是示出根据一些实施例的时钟树合成(CTS)布局的区域的示意图,其中预测或以其他方式确定存在一个或多个SIR下降违规。
[0011] 图3B是示出根据一些实施例的响应于预测或确定存在SIR下降违规而增加时钟单元之间的平间隔的区域的示意图。
[0012] 图3C是示出根据一些实施例的响应于预测或确定存在SIR下降违规而增加时钟单元之间的垂直间隔的区域的示意图。
[0013] 图4是示出根据一些实施例的SIR下降违规去除方法的流程图
[0014] 图5是示出根据一些实施例的示例电子器件设计的一部分的图。
[0015] 图6是示出根据一个或多个实施例的用于预测或确定CTS布局的SIR下降值的两阶段堆叠建模方法的图。
[0016] 图7A是示出根据一个或多个实施例的SIR下降违规预测方法的流程图。
[0017] 图7B是示出根据一些实施例的图7A的流程图的区域检查和路由前SIR下降检测的进一步细节的流程图。

具体实施方式

[0018] 以下公开内容提供了许多用于实现本发明的不同特征不同的实施例或实例。下面描述了组件和布置的具体实施例或实例以简化本发明。当然这些仅是实例而不旨在限制。例如,在以下描述中,在第二部件上方或者上形成第一部件可以包括第一部件和第二部件直接接触形成的实施例,并且也可以包括在第一部件和第二部件之间可以形成额外的部件,从而使得第一部件和第二部件可以不直接接触的实施例。此外,本发明可以在各个示例中重复参考数字和/或字母。该重复是为了简单和清楚的目的,并且其本身不指示所讨论的各个实施例和/或配置之间的关系。
[0019] 本文提供的实施例包括SIR下降违规预测系统和用于在对CTS布局执行路由之前预测CTS布局中的SIR下降违规的方法。在一些实施例中,利用机器学习技术来创建和/或修改多个机器学习模型,并且SIR下降违规预测电路可以通过比较CTS布局的一个或多个区域与机器学习模型来预测特定CTS布局中是否存在一个或多个SIR下降违规。
[0020] 在各个实施例中,可以在执行路由之前预测至少部分地由于器件的路由而导致的SIR下降违规。在一些实施例中,在时钟树合成(CTS)阶段或期间预测半导体器件设计的SIR违规。
[0021] 图1是示出根据本发明的一个或多个实施例的电子器件设计系统10的框图。电子器件设计系统10可操作用于在路由CTS布局之前为电子器件执行时钟树合成(这里可以称为CTS设计)之后生成和优化布置布局。电子器件设计系统10包括电子设计平台20和静态电压降(SIR下降)去除平台40。在一些实施例中,电子设计平台20和/或SIR下降去除平台40可以用硬件、固件、软件或它们的任何组合实现。例如,在一些实施例中,电子设计平台20和/或SIR下降去除平台40可以至少部分地实现为存储在计算机可读存储介质上的指令,该指令可以由一个或多个计算机处理器或处理电路读取和执行。计算机可读存储介质可以是例如只读存储器(ROM)、随机存取存储器(RAM)、闪存、硬盘驱动器、光存储器件、磁存储器件、电可擦除可编程只读存储器(EEPROM)、有机存储介质等。
[0022] 电子设计平台20可以包括多个电子器件设计工具,电子器件设计工具可以至少部分地实现为软件工具,当由一个或多个计算设备、处理器等执行时,可以利用软件工具来设计和生成一个或多个电子器件布局,包括电子器件电路的布置布局和相关路由,例如,电子器件电路可以包括一个或多个集成电路(IC)。
[0023] 在一些实施例中,电子设计平台20和SIR下降去除平台40可以包括在相同的装置中或以其他方式实现,诸如相同的计算系统或设备。在其他实施例中,电子设计平台20和SIR下降去除平台40可以包括在单独的装置中或以其他方式实现,诸如单独的和远程定位的计算系统或设备。
[0024] 电子设计平台20包括电子器件设计工具,电子器件设计工具可用于例如设计用于电子器件的模拟和/或数字电路的高级编程描述。在一些实施例中,可以使用高级编程语言(诸如C、C++、LabVIEW、MATLAB)、通用系统设计或模型语言(诸如SysML、SMDL和/或SSDL)或任何其他合适的高级编程语言来实现高级编程描述。在一些实施例中,电子设计平台20可以包括各种附加部件和功能,包括例如适合于模拟、分析和/或验证电子器件的电路的高级编程描述的一个或多个工具。
[0025] 在一些实施例中,电子设计平台20包括合成工具22、布置工具24、时钟树合成(CTS)工具26和路由工具28,每个工具可以至少部分地实现为可访问并且可由一个或多个计算设备、处理器等执行的软件工具。
[0026] 合成工具22将电子器件的一个或多个特性、参数或属性转换成一个或多个逻辑运算、一个或多个算术运算、一个或多个控制运算等,然后可以将这些运算转换为模拟电路和/或数字电路方面的高级编程描述。
[0027] 布置工具24生成对应于或以其他方式实现由合成工具22产生的一个或多个逻辑运算、一个或多个算术运算、一个或多个控制运算等的单元。单元可以包括几何形状,几何形状对应于半导体器件的各种部件,包括例如扩散层、多晶层、金属层和/或层之间的互连。
[0028] 在一些实施例中,一些模拟电路和/或数字电路的几何形状可以根据与技术库相关联的预定的标准单元库中的标准单元来定义。标准单元表示一个或多个半导体器件以及它们的互连结构,互连结构配置和布置成提供逻辑功能,诸如AND、OR、XOR、XNOR或NOT,或存储功能,诸如触发器或存器。预定的标准单元库可以在几何形状方面来定义,这些几何形状对应于扩散层、多晶硅层、金属层和/或层之间的互连。此后,布置工具24在印刷电路板(PCB)和/或半导体衬底上分配几何形状的位置。
[0029] CTS工具26对例如由布置工具24生成的设计执行时钟树合成(CTS)。时钟树合成通常是指合成时钟树以实现零或最小偏斜和插入延迟的过程,并且包括插入对应于或以其他方式实现电子器件的时钟操作的时钟树单元。时钟单元可以包括几何形状,几何形状对应于实现半导体器件的时钟部件的电路或逻辑器件,包括例如缓冲器反相器等。在一些实施例中,每个时钟树单元包括沿着电子器件设计的时钟路径电定位的一个或多个缓冲器或反相器。此外,在一些实施例中,一个或多个时钟单元可以包括时钟控单元,诸如集成时钟门控单元(ICG)。时钟门控是通过利用时钟使能信号来关闭模或电路组件的时钟来降低时钟功率的常用技术,并且这种时钟门控可以使用集成时钟门控单元来实现。集成时钟门控单元可以包括一个或多个逻辑电路元件,诸如OR门、AND门或锁存器。
[0030] 例如,在通过CTS工具26对布局执行时钟树合成之后,路由工具28产生单元之间的物理互连或由布置工具24提供的布局中的几何形状。在一些实施例中,路由工具28利用基于文本或基于图像的网表描述模拟电路、数字电路、技术库、用于制造电子器件的半导体代工厂和/或用于制造电子器件以分配几何形状之间的互连的半导体技术节点。
[0031] 电子设计平台20可以包括各种附加工具,包括例如验证工具30。例如,在布置、CTS和路由之后,验证工具30可以对电子器件布局执行各种验证或检查。例如,在一些实施例中,验证工具30可以分析电子器件布局并且可以提供静态时序分析(STA)、电压降分析(也称为IREM分析)、时钟域交叉验证(CDC检查)、形式验证(也称为模型检查)、等效性检查或任何其他合适的分析和/或验证。在一些实施例中,在扫描电压、电流和/或参数以执行STA、IREM分析等时,验证工具30可以执行交流(AC)分析(诸如线性小信号频域分析)和/或直流(DC)分析(诸如非线性静态点计算或计算的非线性操作点的序列)。
[0032] 验证工具30验证:电子器件设计(包括由布置工具24提供的单元或几何形状的布局、由CTS工具26提供的时钟树单元的布置和功能以及由路由工具28提供的单元或几何形状之间的互连)满足与电子器件设计相关联的一个或多个规范、规则等。验证工具30可以执行物理验证,其中验证工具30验证电子器件设计是否在物理上可制造,并且所得到的芯片将满足设计规范并且将不具有阻止芯片按设计运行的物理缺陷
[0033] 验证工具30可以对电子器件设计执行静态电压降(SIR下降)分析。例如,可以执行SIR下降分析作为由验证工具30执行的IREM分析的一部分。在SIR下降分析期间,验证工具30分析电子器件设计(可以是物理半导体器件)以确定是否存在超过或违规为电子器件设计指定的设计规则或参数的SIR下降。静态IR下降通常是指由功率分配网格中的金属线的电阻引起的VDD电压电平的下降,功率分配网格将电或电压分配给电子器件设计中的各种组件。验证工具30可以利用常规或其他任何技术来执行SIR下降分析,包括例如将电测试向量施加到电子器件设计并且测量或监测整个电子器件设计中的电压降。在一些实施例中,验证工具30可以通过模拟来执行SIR下降分析,例如,使用模拟向电子器件设计施加电压以及测量或监测整个电子器件设计中所得到的SIR下降的软件工具。
[0034] 在一些实施例中,验证工具30可以生成指示整个电子器件设计中的静态电压降的值的SIR下降映射。在一些实施例中,验证工具30可以生成指示电子器件设计中的SIR下降违规的位置(例如,超过预定阈值的SIR下降值)的SIR下降映射。如将关于图2至图7B进一步详细讨论的,可以利用针对各种不同电子器件设计的SIR下降违规的已知值和位置(可以从由验证工具30生成的SIR下降映射导出)作为训练数据,以训练机器学习模型,以在执行路由之前预测或确定新CTS布局中的SIR下降值和/或SIR下降违规。
[0035] 在一些实施例中,SIR下降去除平台40配置为预测或确定特定电子电路布局中的SIR下降违规的存在,例如,如在路由工具28路由布局之前可从布置工具24和CTS工具26提供的。如本文将进一步详细讨论的,SIR下降去除平台40可以通过实施一种或多种机器学习方法来预测或确定SIR下降违规的存在,例如,其中过去的数据(例如,在执行路由之后指示电子器件设计中的SIR下降违规的存在和/或位置的数据)被用于训练机器学习模型以基于新电子电路布置布局(例如,在执行路由之前)和过去的数据之间的相似性或偏差来预测或确定SIR下降违规的存在。在一些实施例中,SIR下降去除平台40可以预测或确定包括整个电子电路布局中的SIR下降的值的完整SIR下降映射,并且SIR下降去除平台40可以进一步基于SIR下降映射预测或确定SIR下降违规的位置。
[0036] SIR下降去除平台40可以包括多个电子器件分析和/或设计工具,它们可以至少部分地实现为软件工具,当由一个或多个计算设备、处理器等执行时,可以利用该软件工具以分析一个或多个电子器件布局,包括可以例如从电子设计平台20(例如,从CTS工具26)接收的电子器件或电路的布置布局。另外,在一些实施例中,SIR下降去除平台40可以用于调整或以其他方式向电子设计平台20提供信息,该信息指示对布置和CTS布局进行的一个或多个调整,以避免或以其他方式减少在路由布局(例如,通过路由工具28)后的布局和CTS布局中的SIR下降违规的存在。
[0037] 在一些实施例中,SIR下降去除平台40包括SIR下降违规预测工具42和时钟树单元调整工具44,其中的每个可以至少部分地实现为可由一个或多个计算设备、处理器等访问和执行的软件工具。在一些实施例中,SIR下降违规预测工具42和/或时钟树单元调整工具44可以实现为可操作以执行本文关于SIR下降违规预测工具42和/或时钟树单元调整工具
44所描述的任何功能的电路。在一些实施例中,电子设计平台20和SIR下降去除平台40可以是集成的,并且可以在同一平台中实现。例如,这里关于电子设计平台20和SIR下降去除平台40描述的各种工具中的每个可以至少部分地由相同的装置(诸如计算机设备)访问或以其他方式实现。
[0038] 在一些实施例中,在由CTS工具26执行CTS之后但在例如由路由工具28执行布置布局的路由之前,SIR下降去除平台40从电子设计平台20接收布置布局。下降去除平台40可以实施机器学习方法以预测或确定布置和CTS布局中的SIR下降违规的存在,并且调整或以其他方式提供对布置和CTS布局的一个或多个推荐调整的指示,以优化或改善布置和CTS布局的整体SIR下降行为。例如,SIR下降违规预测工具42可以在执行路由之前从电子设计平台20接收布置和CTS布局,并且SIR下降违规预测工具42可以实施机器学习方法以预测或确定布置和CTS布局中的SIR下降违规的存在,例如,基于过去的数据,这些数据可用于训练机器学习电路或电路,以基于过去的数据(例如,指示在执行路由之后电子器件设计中的SIR下降违规的数据)和接收的布置和CTS布局之间的相似性或偏差来预测或确定SIR下降违规的存在。如下面将进一步详细描述的,在一些实施例中,SIR下降违规预测工具42可以包括机器学习电路110,机器学习电路110可以被训练为基于输入训练数据120(例如,表示或指示在执行路由之后电子器件设计中的SIR下降违规的存在和位置的过去的数据)预测或确定SIR下降违规的存在。时钟树单元调整工具44也可以接收布置和CTS布局,并且还可以从SIR下降违规预测工具42接收与预测或确定的SIR下降违规相关联的位置或其他数据。时钟树单元调整工具44可以调整或建议调整布置和CTS布局,以便基于预测或确定的SIR下降违规优化或改进布置和CTS布局。
[0039] 图2是示出根据本发明的实施例的SIR下降违规预测系统100的框图。SIR下降违规预测系统100可以与图1中所示的SIR下降去除平台40结合使用,并且可以包括图1中所示的SIR下降去除平台40中的一个或多个部件和功能。在一些实施例中,SIR下降违规预测系统100包括在SIR下降去除平台40中或由SIR下降去除平台40实现。例如,在一些实施例中,SIR下降违规预测系统100可以由SIR下降违规预测工具42实现或以其他方式访问,以预测或确定例如从电子设计平台20的布置工具24和CTS工具26接收的布置和CTS布局中的SIR下降违规的存在。
[0040] 如图2所示,SIR下降违规预测系统100包括SIR下降违规预测电路142和CTS数据库102。SIR下降违规预测电路142可以包括或者由计算机处理器执行,该计算机处理器配置为执行本文描述的各种功能和操作。例如,SIR下降违规预测电路142可以由存储的计算机程序选择性地激活或重新配置的计算机处理器执行,或者可以是用于执行本文描述的特征和操作的专门构造的计算平台。
[0041] 在一些实施例中,SIR下降违规预测电路142包括存储器,存储器存储用于执行本文描述的一个或多个特征或操作的指令,并且SIR下降违规预测电路142可操作以执行存储在例如存储器中的指令,以执行本文描述的SIR下降违规预测电路142的功能。存储器可以是或包括任何计算机可读存储介质,包括例如只读存储器(ROM)、随机存取存储器(RAM)、闪存、硬盘驱动器、光存储器件、磁存储器件、电可擦除可编程只读存储器(EEPROM)、有机存储介质等。
[0042] SIR下降违规预测电路142可以通信地耦合到CTS数据库102。SIR下降违规预测电路142可以从CTS数据库102访问CTS布局。术语CTS布局在本文中用于表示在执行CTS之后的布置布局,例如,CTS布局包括由布置工具24生成的单元,并且还包括由CTS工具26生成的时钟树单元。存储在CTS数据库102中的CTS布局可以例如从电子设计平台20的CTS工具26提供。CTS数据库102可以存储在一个或多个计算机可读存储器中。
[0043] SIR下降违规预测电路142分析从CTS数据库102检索的CTS布局,以预测或确定CTS布局中的SIR下降违规的存在,例如,基于检索到的CTS布局与过去的数据的比较或通过机器学习模型分析检索的CTS布局,该机器学习模型利用指示在执行路由之后电子器件设计中的SIR下降违规的过去的数据进行训练。在一些实施例中,SIR下降违规预测电路142可以单独检查CTS布局的多个区域中的每个。CTS布局的检查区域可以具有任何尺寸和/或形状。例如,并且如下面参考图5进一步详细描述的,CTS布局可以被划分为基于网格的区域,并且网格的每个单元或单元可以具有与CTS布局的每个区域的尺寸相对应的尺寸。
[0044] SIR下降违规预测电路142可以逐个区域地分别检查CTS布局的每个区域,并且对于每个检查区域,可以基于过去的数据(例如,用于训练机器学习电路110的训练数据)来预测或确定例如在后续路由过程对CTS布局执行路由之后在检查区域中是否存在SIR下降违规(以及它们的位置)。
[0045] 在一些实施例中,SIR下降违规预测电路142可以通过采用一种或多种人工智能或机器学习技术来预测或确定CTS布局中的SIR下降违规的存在和位置,在一些实施例中,这些技术可以至少部分地通过机器学习电路110实现。本文描述的由SIR下降违规预测电路142做出的一些或所有确定可以由SIR下降违规预测电路142自动执行,例如,响应于从CTS数据库102接收CTS布局。机器学习电路110可以通过使用过去的数据(例如,可以基于过去的数据训练机器学习电路110)来预测或确定CTS布局中的SIR下降违规的存在和位置,过去的数据指示在执行路由之后电子器件设计中的SIR下降违规的存在和位置,并且机器学习电路110可以将接收到的CTS布局与过去的数据进行比较,以基于与过去的数据的相似性或偏差或者从机器学习电路110中包含、管理或以其他方式可访问的训练模型来预测或确定SIR下降违规的存在。
[0046] “人工智能”在本文中用于广泛地描述可以学习知识的任何计算智能系统和方法(例如,基于训练数据),并且使用这些学习的知识来调整其解决一个或多个问题的方法,例如通过制作基于接收的输入(诸如CTS布局)的推断。机器学习通常是指人工智能的子领域或类别,并且在本文中用于广泛地描述在一个或多个计算机系统或电路(诸如处理电路)中实现以及基于样本数据(或训练数据)构建一个或多个模型以进行预测或决策的任何算法、数学模型、统计模型等。
[0047] SIR下降违规预测电路142和/或机器学习电路110可以采用例如神经网络、深度学习卷积神经网络、贝叶斯程序学习、支持向量机模式识别技术来解决诸如预测或确定布置布局中的SIR下降违规的存在和位置之类的问题。此外,SIR下降违规预测电路142和/或机器学习电路110可以实现以下计算算法和/或技术中的任何一个或组合:分类、回归、监督学习无监督学习、特征学习、聚类、决策树等。
[0048] 作为一个示例,SIR下降违规预测电路142和/或机器学习电路110可以利用人工神经网络来开发、训练和/或更新一个或多个机器学习模型,一个或多个机器学习模型可用于预测或确定CTS布局中的SIR下降违规的存在和位置。示例性人工神经网络可以包括在彼此之间交换信息的多个互连的“神经元”。连接具有可以基于经验调节的数字权重,因此神经网络适应于输入并且能够学习。“神经元”可以包括在彼此连接的多个单独的层中,诸如输入层隐藏层输出层。可以通过向输入层提供训练数据(例如,指示在执行路由之后电子器件设计中的SIR下降违规的存在和位置的过去的数据)来训练神经网络。通过训练,神经网络可以生成和/或修改隐藏层,隐藏层表示将输入层处提供的训练数据映射到输出层处的已知输出信息的加权连接(例如,将已执行路由之后的输入电子器件设计分类为包括SIR下降违规及其位置)。通过训练过程形成的输入层、隐藏层和输出层的神经元之间的关系可以包括权重连接关系,例如,可以存储为机器学习电路110内或机器学习电路110中可访问的一个或多个机器学习模型。
[0049] 一旦神经网络被充分训练,就可以在输入层为神经网络提供非训练数据(例如,在路由之前的新CTS布局数据)。利用SIR下降违规知识(例如,存储在机器学习模型中,并且其可以包括例如神经网络的神经元之间的加权连接信息),神经网络可以在输出层处确定关于所接收的CTS布局。例如,神经网络可以预测或确定CTS布局中的SIR下降违规的存在和位置。
[0050] 采用一种或多种计算智能和/或机器学习技术,SIR下降违规预测电路142可以学习(例如,通过基于训练数据开发和/或更新机器学习算法或模型)来预测或确定CTS布局中的SIR下降违规的存在和位置,并且在一些实施例中,SIR下降违规预测电路142可以至少部分地基于通过机器学习电路110的训练开发或以其他方式学习的知识、推论等来做出一些预测或确定。
[0051] 机器学习电路110可以在具有对指令的访问的一个或多个处理器中实现,所述指令可以存储在任何计算机可读存储介质中,可以由机器学习电路110执行以执行本文描述的任何操作或功能。
[0052] 在一些实施例中,机器学习电路110通信地耦合到SIR下降数据库112,SIR下降数据库112可以存储在例如任何计算机可读存储介质中。SIR下降数据库112可以包括将SIR下降的值或SIR下降违规与CTS布局(例如,用于电子器件设计的整个CTS布局网格)、CTS布局区域(例如,多个或分组的相邻网格单元或单元)或CTS布局子区域(例如,单个网格单元或单元)中的一个或多个相关联的信息。在一些实施例中,SIR下降数据库112包括指示特定CTS布局、CTS布局区域、CTS布局子区域等中的一个或多个SIR下降违规的概率的信息。SIR下降数据库还可以包括与一个或多个CTS布局、CTS布局区域、CTS布局子区域等中的特定SIR下降值的概率相关联的信息。
[0053] 存储在SIR下降数据库112中的信息可以从多个电子器件设计导出,电子器件设计可以包括CTS布局(例如,由布置工具24和CTS工具26提供)以及单元或几何形状与布置和CTS布局的时钟单元之间的路由或互连(例如,由路由工具28提供)。因此,存储在SIR下降数据库112中的信息可以表示实际的SIR下降值和例如在已经执行路由之后已经确定存在于实际电子器件设计中的实际SIR下降违规。
[0054] 在一些实施例中,可以基于训练数据120训练机器学习电路110,训练数据120可以例如从SIR下降数据库112提供。例如,可以通过向机器学习电路110提供输入训练数据120(例如,表示或指示在执行路由之后电子器件设计中的SIR下降违规的存在和位置的过去的数据)来训练机器学习电路110。例如,在一些实施例中,可以基于存储在SIR下降数据库112中的信息来训练机器学习电路110,该信息可以表示已经确定存在于实际电子器件设计中的SIR下降值或SIR下降违规,以及包含在机器学习电路110内或可由机器学习电路110访问的算法或机器学习模型可以基于存储在SIR下降数据库112中的信息来更新或修改,使得经训练的机器学习电路110可以识别、预测或确定尚未路由的新CTS布局中的SIR下降违规的存在和位置。在一些实施例中,机器学习电路110可以接收训练数据120并且可以基于训练数据120进行训练,并且可以作为训练的结果将信息存储在SIR下降数据库112中。例如,机器学习电路110可以基于训练数据120对机器学习电路110的训练来生成、修改或调整存储在SIR下降数据库112中的机器学习模型。例如,可以修改机器学习模型以基于已知布局结构与已知SIR下降值或SIR下降违规的位置之间的对应关系(例如,相似性或偏差)来预测SIR下降值和/或识别SIR下降违规的存在和位置。
[0055] 在一些实施例中,训练数据120和/或存储在SIR下降数据库112中的信息可以是或包括标记的训练数据,机器学习电路110和/或SIR下降违规预测电路142可以从中学习以预测或确定STS下降值和CTS布局中的SIR下降违规的存在(例如,在路由CTS布局之前)。标记的训练数据可以包括与部件分类相关联的标签,并且标签可以指示训练数据中的多个部件或部件分类中的任何一个。这些部件可以包括具有与CTS布局相关联的特征或参数的任何部件,并且在一些实施例中,可以包括与任何提取的部件相关联的SIR下降值或SIR下降违规信息。例如,部件可以包括多个时钟单元、单元的电容、单元的引脚负载、单元的频率、CTS布局中的各个层上的vdd通孔的数量等。
[0056] 在一些实施例中,训练数据120可以包括手动输入的输入,诸如一个或多个可变或可调参数、系数值、标签、分类器等,以调整或以其他方式管理在机器学习电路110中开发和/或通过训练过程存储在SIR下降数据库112中的SIR下降模型。
[0057] 训练可以基于各种学习算法或模型,包括例如支持向量机、线性回归、逻辑回归、朴素贝叶斯、线性判别分析、决策树、k-最近邻、神经网络等。先前在此提供了基于神经网络的机器学习电路110的训练的示例。
[0058] 在一些实施例中,机器学习电路110可以基于具有两阶段系综的回归方法来实现或训练,如将在本文中例如关于图6进一步详细描述的。回归方法可以是可用于估计变量之间的关系的任何回归分析技术,诸如CTS布局中的SIR下降值或SIR下降违规与CTS布局相关的一个或多个部件之间的关系,这些部件可能与SIR下降值或者SIR下降违规的存在(例如,时钟单元的数量、单元的电容、单元的引脚负载、单元的频率、CTS布局中的各个层上的vdd通孔的数量等)在统计上相关。
[0059] 在一些实施例中,机器学习电路110可以基于训练(例如,基于训练输入,该训练输入包括指示在执行路由之后的STS下降值和/或CTS布局中的SIR下降违规的存在和位置的过去的数据)生成可以存储在处理区域数据库114中的多个处理区域。处理区域可以表示易于发生SIR下降违规的CTS布局区域(例如,具有CTS布局的一个或多个网格或网格区域的网格结构)。在一些实施例中,处理区域表示表现出SIR下降违规的网格单元或相邻网格单元的分组。
[0060] 在一些实施例中,SIR下降违规预测系统100可以包括SIR下降违规结果数据库116。例如,通过分析或处理关于一个或多个机器学习模型(可以存储在SIR下降数据库112中)、机器学习电路110和/或处理区域数据库114的CTS数据,SIR下降违规预测电路142和/或机器学习电路110可以预测或确定特定CTS布局或CTS布局区域中的一个或多个SIR下降违规的存在。可以在STS下降违规结果数据库116中存储分析结果,该结果可以是以STS下降值的形式和/或CTS布局中的SIR下降违规的位置的形式的结果。
[0061] 再次参考图1,时钟树单元调整工具44可以基于在例如通过路由工具28路由CTS布局之后将存在于CTS布局中的SIR下降违规的预测或确定的存在和/或位置来调整分析的CTS布局。在一些实施例中,时钟树单元调整工具44可以从SIR下降违规预测工具42接收预测或确定的SIR下降违规的位置,SIR下降违规预测工具42可以利用或实现图2中所示的SIR下降违规预测系统100,以预测或确定CTS布局中的SIR下降违规的存在和/或位置。
[0062] 时钟树单元调整工具44可以例如增加CTS布局的区域中的时钟单元之间的间隔,其中预测或确定存在一个或多个SIR下降违规,以便去除或避免SIR下降违规。
[0063] 图3A是示出CTS布局的区域310的示意图,其中预测或以其他方式确定存在一个或多个SIR下降违规。例如,SIR下降去除平台40和/或SIR下降违规预测系统100可以分析CTS布局,并且可以预测或确定如果布置布局将例如通过路由工具28进行路由,则在CTS布局的区域310中将存在一个或多个SIR下降违规。
[0064] 区域310可以包括任何数量的时钟单元312,其可以是任何类型的时钟单元,包括例如集成时钟门控单元(ICG)。在图3A所示的示例中,区域310包括两个时钟单元312,它们在水平方向上彼此靠近定位。然而,应当理解,可以由SIR下降去除平台40和/或SIR下降违规预测系统100分析的CTS布局的区域可以具有各种尺寸,并且可以包括可以定位在一个或多个网格单位或网格单元内的任何数量的时钟单元。此外,尽管时钟单元312示出为具有基本相同的尺寸,但是在各个实施例中,时钟单元312可以具有各种不同的尺寸,其中一些单元比区域310中的其他单元更大或更小。另外,尽管时钟单元312在图3A中示出为矩形形状,但是本发明的实施例不限于此,并且在各个实施例中,布置布局的时钟单元312可以具有任何合适的形状。
[0065] 区域310内的时钟单元312沿水平方向彼此紧密地定位,一旦路由CTS布置,这可能导致SIR下降违规。为了去除或避免如果要路由CTS布局将在区域310中存在的预测的SIR下降违规,时钟树单元调整工具44可以增加时钟单元312之间的水平和/或垂直间隔,例如,如图3B和图3C所示。
[0066] 图3B是示出区域320的示意图,其中图3A中所示的区域310的相同时钟单元312被定位,但在时钟单元312之间具有增加的水平间隔。例如,如图3B所示,时钟单元312可以位于区域320内,区域320可以是CTS布局的比图3A中所示的区域310更大的区域。也就是说,区域320的尺寸相对于区域310的尺寸增大,以便在时钟单元312之间提供增大的水平间隔,从而减少或消除在区域320中发生SIR下降违规的可能性。
[0067] 图3C是示出区域330的示意图,其中图3A中所示的区域310的相同时钟单元312被定位,但是单元时钟312之间的垂直间隔增加。例如,如
[0068] 图3C所示,时钟单元312可以位于区域330内,区域330可以是CTS布局的比图3A中所示的区域310更大的区域。例如,区域330可以具有与区域310相同的水平尺寸(例如,宽度);然而,区域330的垂直尺寸(例如,高度)相对于区域310的垂直尺寸增大,以便在时钟单元312之间提供增大的垂直间隔,从而减少或消除在区域330中发生SIR下降违规的可能性。在各个实施例中,可以增大相邻时钟单元312之间的水平和垂直间隔中的一个或两个,以减少或消除在CTS布局的区域中发生SIR下降违规的可能性。
[0069] 在一些实施例中,时钟树单元调整工具44本身可以调整CTS布局,例如,通过增大预测或确定具有一个或多个SIR下降违规的区域的时钟单元312之间的间隔。在其他实施例中,时钟树单元调整工具44可以指示或以其他方式使电子设计平台20(例如,CTS工具26)增大CTS布局的时钟单元312之间的间隔,以便避免或消除预测的或确定SIR下降违规。例如,在一些实施例中,时钟树单元调整工具44可以沿着x轴方向(例如,水平地,如图3B所示)和y轴方向(例如,垂直,如图3C所示)中的一个或两个方向增大时钟单元312之间的间隔。在各个实施例中,相邻时钟单元312之间的间隔可以增大任何倍数,例如0.5倍、1倍或2倍。
[0070] 在一些实施例中,SIR下降去除平台40和/或SIR下降违规预测系统100可以基于CTS布局中的预测或确定的SIR下降违规向电子设计平台20(例如,CTS工具26)提供反馈。这种反馈可以用于优化或以其他方式改进CTS配方或CTS规则,该CTS配方或CTS规则可以由CTS工具26用来生成或产生不太可能具有SIR下降违规的后续CTS布局。
[0071] 图4是示出根据一个或多个实施例的SIR下降违规去除方法的流程图400。例如,可以通过参考图1和图2示出和描述的SIR下降去除平台40和/或SIR下降违规预测系统100来实现SIR下降违规去除方法。
[0072] 流程图400包括模型训练分支430和SIR下降违规预测分支440。在模型训练分支430中,可以利用表示过去的数据的训练数据(包括已知电子器件设计中的已知SIR下降值或SIR下降违规)来训练机器学习模型,诸如由SIR下降违规预测电路142和/或机器学习电路110实现并且可以至少部分地存储在例如SIR下降数据库112和/或处理区域数据库114中的机器学习模型。在SIR下降违规预测分支440中,分析(例如,通过SIR下降违规预测电路
142和/或机器学习电路110)新的CTS布局(例如,由CTS工具26生成)以预测或确定在对CTS布局执行路由之前的CTS布局中的SIR下降值和SIR下降违规的位置。另外,可以在SIR下降违规预测分支440中执行从CTS布局去除这种SIR下降违规。
[0073] 在402处,该方法包括接收训练数据作为模型训练分支430的一部分。训练数据可以是例如本文先前描述(例如,关于图2)的训练数据120。可以由机器学习电路110接收训练数据。例如,训练数据120可以是在执行路由之后表示电子器件设计的数据,并且该数据指示电子器件设计中的SIR下降值或SIR下降违规的存在和位置。
[0074] 在404处,对输入训练数据执行数据切片。数据切片可以包括训练数据的任何处理、转换、变换或格式化,以将训练数据呈现为适合用于训练机器学习模型的格式,诸如由SIR下降违规预测电路142和/或机器学习电路110实现并且可以至少部分地存储在例如SIR下降数据库112和/或处理区域数据库114中的机器学习模型。414处的数据切片可以由SIR下降去除平台40执行,例如,通过机器学习电路110。
[0075] 在406处,在404处执行数据切片之后,对输入训练数据执行特征提取。在一些实施例中,特征提取可以由机器学习电路110执行。例如,机器学习电路110可以包括特征提取工具,特征提取工具可被实现为提取与由训练数据表示的电子器件设计的一个或多个特征相关联的信息。提取的特征可以包括与电子器件设计相关联的任何特征或参数。在一些实施例中,机器学习电路110分析电子器件设计的多个区域并提取与多个区域中的每个区域相关联的特征。例如,机器学习电路110可以在电子器件设计的多个网格单元中的每个上和/或在电子器件设计的多个相邻网格单元中的每个上执行特征提取。
[0076] 图5是示出示例电子器件设计500的一部分的图,该图可以由电子设计平台20产生,例如,在路由工具28路由之后。在一些实施例中,电子器件设计500可以代表输入到机器学习电路110以用于训练机器学习模型的训练数据,并且电子器件设计500可以包括与SIR下降值或SIR下降违规相关联的信息(例如,作为训练输入提供的电子器件设计500可以包括用于电子器件设计500的相关SIR下降映射)。电子器件设计500包括多个单元512,单元512可以包括由布置工具24生成和布置的单元,并且可以包括由CTS工具26生成的时钟单元。在图5所示的示例中,仅示出了包括在电子器件设计500中的一些单元512,并且应该容易理解,电子器件设计500中可以包括附加的单元512。
[0077] 电子器件设计500的放大区域“A”在图5中示出。如在区域“A”中可见,网格可以覆盖在电子器件布局500上,并且网格可以包括多个网格单位或网格单元520。
[0078] 机器学习电路110可以逐个区域地分析和提取来自电子器件设计500的特征,并且这些区域可以具有任何合适的尺寸。例如,机器学习电路110可以提取电子器件设计500的多个第一区域501中的每个的特征,第一区域501可以是电子器件设计500的单独的网格单元520。在一些实施例中,机器学习电路110可以提取电子器件设计500的多个第二区域502中的每个的特征,第二区域502可以是电子器件设计500的3×3网格单元分组或区域。在一些实施例中,机器学习电路110可以提取电子器件设计500的多个第三区域503中的每个的特征,第三区域503可以是电子器件设计500的5×5网格单元分组或区域。应该容易理解的是,任何尺寸的区域(例如,任何尺寸的网格单元分组或区域)可以由机器学习电路110分析,以提取电子器件设计500的特征。在一些实施例中,机器学习电路110可以从诸如第一区域501的特定区域集合中的每个中提取特征,并且还可以从围绕第一区域501的特定第二区域集合(诸如第二区域502)中的每个中提取特征。也就是说,可以对分析的各种不同窗口尺寸或区域尺寸执行特征提取。这可以允许机器学习电路110捕获重叠区域或相邻区域对特定感兴趣区域(诸如特定网格单元或第一区域501)的影响。
[0079] 提取的特征可以包括与电子器件设计相关联的任何特征或参数,并且在一些实施例中,可以包括与任何提取的特征相关联的SIR下降值或SIR下降违规信息。例如,提取的特征可以包括电子器件设计500的每个分析区域(例如,第一区域501、第二区域502和/或第三区域503)内的时钟单元的数量、单元的电容、单元的引脚负载、单元的频率、电子器件设计500中的各个层上的vdd通孔的数量等。
[0080] 在408处,提取所提取的特征数据用于模型训练。模型训练可以例如由SIR下降违规预测电路142和/或机器学习电路110执行,并且提取的特征数据可以用于训练一个或多个模型,该一个或多个模型可以至少部分地存储在例如SIR下降数据库112和/或处理区域数据库114中。在一些实施例中,408处的模型训练可以包括训练存储在模型库410中的多个模型。模型库410表示多个模型的存储,例如,可以将模型作为模型库存储在SIR下降数据库112和/或处理区域数据库114中。模型库410可以存储用于预测或确定SIR下降值和CTS布局中的SIR下降违规的位置的多个机器学习模型。在一些实施例中,模型库包括指示CTS布局和/或电子器件设计的一个或多个区域或子区域(例如,单个网格单元或相邻网格单元的分组)中的SIR下降值或SIR下降违规的模型。
[0081] 可以使用主成分分析(PCA)来训练模型库410中的每个机器学习模型。PCA是一种已知的统计技术,其使用正交变换将可能相关变量的一组观察值(例如,提取的特征和SIR下降值或SIR下降违规)转换为称为主成分的线性不相关变量的一组值。可以使用诸如PCA的任何常规技术来生成模型库410中的每个模型的特征空间。特征空间可以是多维特征空间,其将所有提取的特征彼此相关联和/或与SIR下降值或SIR下降违规相关联(例如,通过绘图)。例如,对于每个模型,提取的特征可以表示为沿着多维特征空间的相应轴的相互依赖的变量。每个模型还可以包括协方差矩阵,协方差矩阵表示在多维特征空间中的提取的特征的扩展(或相关水平)。如相关领域中众所周知的,这种协方差矩阵可以具有相关联的特征向量和特征值,特征向量和特征值定义特征数据的形状和取向(例如,特征空间中的数据点)。因此,存储在模型库410中的多个模型中的每个可以包括特征空间以及定义特征空间的形状和取向的相关特征向量和特征值。
[0082] 模型库410可以由SIR下降违规预测电路142和/或机器学习电路110实现,以预测或确定例如在执行路由之前的特定CTS布局的SIR下降值和SIR下降违例。
[0083] 例如,一旦模型库410中的模型已经被充分训练,可以将新的CTS布局(例如,CTS布局)提供给SIR下降违规预测分支440,并且可以关于模型库410中的模型来分析新的CTS布局,以预测或确定SIR下降值和SIR下降违规的位置,如下面将进一步详细描述的。
[0084] 在412处,将CTS布局提供给流程图400的SIR下降违规预测分支440。CTS布局可以是例如由电子设计平台20的CTS工具26生成的新CTS布局。
[0085] 对CTS布局执行数据切片和特征提取,其在404和406处表示。数据切片和特征提取可以包括本文关于404处的数据切片的一些或所有特征或功能和本文关于模型训练分支430在先前406处描述的特征提取。例如,如关于图5所示和所述,可以基于一个或多个第一区域501、第二区域502和/或第三区域503来执行特征提取。例如,提取的特征可以包括与CTS布局相关联的任何特征或参数,包括例如CTS布局的每个分析区域(例如,第一区域501、第二区域502和/或第三区域503)内的时钟单元的数量、单元的电容、单元的引脚负载、单元的频率、电子器件设计500中的各个层上的vdd通孔的数量等。
[0086] 在414处,利用CTS布局的提取的特征来执行相似性测量。可以通过将提取的CTS布局的特征与与模型库410中的多个模型中的每个模型相关联的特征进行比较来执行414处的相似性测量。如将在下面参考图6进一步详细描述的,414处的相似性测量的结果可用于在416处选择或生成两阶段堆叠系综,两阶段堆叠系综用于预测或确定CTS布局的SIR下降值。
[0087] 现在参考图6,其中示出了图600,其示出了根据一个或多个实施例的用于预测或确定CTS布局的SIR下降值的两阶段堆叠建模方法。例如,可以在图4中所示的流程图400的框414和416处执行图600所示的方法。
[0088] 例如,图600所示的方法可用于通过将CTS布局的提取特征与模型库中的多个模型中的每个模型相关联的特征进行比较来执行第一相似性测量。第一相似性测量可以用于选择模型库中的多个模型以形成第一阶段系综,并且可以基于CTS布局的提取特征与为第一阶段系综选择的模型的比较来执行第二相似性测量。第二相似性测量可以用于选择第一阶段系综中的一个或多个模型,该模型在第二阶段系综中用于预测或确定CTS布局的SIR下降值。
[0089] 如图6所示,训练数据120可以输入到例如机器学习电路110。如前所述,例如关于图2,训练数据120可以是表示在执行路由之后的电子器件设计的数据,并且指示电子器件设计中的SIR下降值或SIR下降违规的存在和位置。这也在图4的402处表示。提取每个输入训练数据120的特征集,这也在图4的404处表示。特征(如图6中所示的F1到F7)可以包括与电子器件设计相关联的任何特征或参数。例如,特征可以包括时钟单元的数量、单元的电容、单元的引脚负载、单元的频率、电子器件设计中的各个层上的vdd通孔的数量等。提取的特征数据或特征集用于模型训练,如图4的框408所解释的。更具体地,如图6所示,从训练数据120提取的特征集用于训练存储在模型库410中的多个机器学习模型612中的每个。多个不同类型的机器学习模型612可以存储在模型库410中。不同类型的机器学习模型612可以是例如用于不同类型的电子器件设计的机器学习模型612。这种类型的电子器件设计可以包括例如高性能计算(HPC)设备设计、图形处理单元(GPU)设备设计、高端移动通信设备设计、中端移动通信设备设计、物联网(IoT)设备设计等。因此,可以基于与特定类型的电子器件设计(例如,HPC、GPU、高端或低端移动通信或IoT设备设计)相关联的过去的数据(例如,在已经执行路由之后的电子器件设计并且该数据指示与电子器件设计中的SIR下降值或SIR下降违规的存在和位置)来训练每个特定机器学习模型612。
[0090] 一旦例如通过训练数据120训练,每个机器学习模型612就能够预测或确定CTS布局中的SIR下降值和SIR下降违规的位置。然而,通过利用图6中所示的两阶段堆叠建模,可以增加预测精度。例如,当接收到新的CTS布局620时(例如,在图4的412处),并且执行特征提取(例如,在图4的406处),可以由模型库410中的多个机器学习模型612中的每个来比较或处理接收的CTS布局620(例如,CTS布局620的提取的特征数据)。例如,在一些实施例中,将所接收的CTS布局620与模型库410中的多个机器学习模型612中的每个进行比较,并且基于该比较来选择第一阶段系综。例如,第一阶段系综可以包括预定数量的机器学习模型612,该数量小于机器学习模型612的总数。在图6所示的示例中,第一阶段系综包括八个机器学习模型612,可以由机器学习电路110基于与接收的CTS布局620的比较来选择机器学习模型612。例如,为第一阶段系综630选择的八个机器学习模型612可以是与接收的CTS布局
620最接近的匹配。在一些实施例中,第一阶段系综630的模型的选择基于所接收的CTS布局
620的特征空间的特征与模型库410中的多个机器学习模型612中的每个的特征空间的特征的比较。在一些实施例中,基于特征空间(例如由主成分分析(PCA)产生的协方差矩阵定义的)的形状和取向来选择第一阶段系综630。
[0091] 在一些实施例中,基于所接收的CTS布局620与为第一阶段系综630选择的机器学习模型612之间的第二比较的结果来生成第二阶段系综640。在第二比较期间比较的特征可以是与第一比较不同的。例如,在一些实施例中,通过仅比较所接收的CTS布局620的特征空间的取向与第一阶段系综630中的机器学习模型612的特征空间的取向来选择第二阶段系综640。可以选择第二阶段系综640以包括来自第一阶段系综630的一个或多个机器学习模型612。在图6所示的示例中,第二阶段系综640仅包括来自第一阶段系综630的两个机器学习模型612,该两个机器学习模型612表示在特征空间的取向方面与接收的CTS布局620具有最接近匹配的两个模型。
[0092] 在650处,对接收到的CTS布局620中的SIR下降进行最终预测。例如,可以由机器学习电路110产生最终预测。最终预测可以是预测的SIR下降映射,该SIR下降映射表示整个CTS布局620上的SIR下降的值和位置。在一些实施例中,通过组合第二阶段系综640的所选机器学习模型在650处进行最终预测。
[0093] 在一些实施例中,尾部模型包括在模型库410中以放大预测的SIR下降值,特别是在CTS布局620的区域中,其中SIR下降值被预测为高,例如,接近阈值,在该阈值处,预测的SIR下降值指示SIR下降违规(例如,其中预测的SIR下降值接近超过SIR电压下降的指定设计范围的值)。例如,在一些实施例中,模型库410中的每个机器学习模型612可以包括基线模型和相关尾部模型,尾部模型通过增加或以其他方式强调预测的SIR下降值接近阈值的效果来放大基线模型的尾部处的预测SIR下降。因此,尾部模型可以与每个机器学习模型612中的基线模型组合,使得当与接收的CTS布局620相比时,机器学习模型612可以生成结果,该结果为预测的SIR下降提供更大的权重,对于CTS布局620,预测的SIR下降在SIR下降的分布(例如,直方图)的较高端处。在各个实施例中,表示特定CTS布局的最大可允许SIR下降值的阈值可以具有特定CTS布局的任何期望值。在一些实施例中,阈值以比率的形式提供。例如,阈值可以被设置为预测的SIR下降值与在CTS布局的位置处施加的电压的预测值的比率。阈值比率可以具有任何值,并且在一些实施例中,阈值比率可以设置为约10%。在这样的实施例中,大于CTS布局的特定位置处的施加的电压的10%的SIR下降值可以确定为SIR下降违规。
[0094] 现在参考图4,由关于所接收的CTS布局的两阶段系综分析得到的最终预测650(图6)在418处作为SIR下降推断输出。例如,418处的SIR下降推断可以是由机器学习电路生成的作为最终预测650的预测SIR下降分布或映射。可以针对每个分析区域(例如,针对每个网格单元或针对多个网格单元中的每个)生成预测的SIR下降分布或映射,或者在一些实施例中,可以为整个CTS布局生成预测的SIR下降分布或映射。
[0095] 在420处,预测SIR下降违规的位置。SIR下降违规可以是超过阈值SIR下降值的任何SIR下降,并且阈值SIR下降值可以表示例如特定电子器件设计所允许的最大阈值SIR下降值,并且可以基于电子器件设计的设计规范来设置。在420处预测SIR下降违规的位置可以包括针对超过SIR下降阈值的SIR下降值,分析所生成的预测SIR下降分布或映射。
[0096] 在422处,在路由CTS布局之前,执行SIR下降违规去除以从CTS布局去除预测的SIR下降违规。例如,可以通过增加CTS布局的区域(其中预测或确定存在一个或多个SIR下降违规)中的时钟单元之间的间隔来去除SIR下降违规,如本文先前关于图3A至图3C所述。例如,可以通过时钟树单元调整工具44来执行422处的SIR下降违规的去除。
[0097] 在一些实施例中,在422处去除SIR下降违规之后,CTS布局可以在404和406处进行数据切片和特征提取,并且可以再次由流程图400的SIR下降违规预测分支440处理。可以重复该过程,直到已经从CTS布局中去除了所有预测的SIR下降违规,此时,CTS布局可以进行路由。例如,CTS布局可以从SIR下降去除平台40提供到电子设计平台20,在那里它可以例如由路由工具28路由,由验证工具30验证,并且可以物理地制造为完整的电子器件设计。
[0098] 图7A是示出根据一个或多个实施例的SIR下降违规预测方法的流程图700。SIR下降违规预测方法可以至少部分地由例如关于图1示出和描述的SIR下降去除平台40和/或由关于图2中示出和描述的SIR下降违规预测系统100实现。
[0099] 在702处,从CTS数据库(诸如SIR下降违规预测系统100的CTS数据库102)接收与CTS布局相关联的CTS数据。可以例如通过SIR下降违规预测电路142接收CTS数据,并且CTS数据可以与例如由电子设计平台20的CTS工具26生成的特定CTS布局相关联。
[0100] 在704处,例如通过SIR下降违规预测电路142检查CTS布局的区域。CTS布局的检查区域可以具有任何尺寸,并且在一些实施例中,检查区域可以包括单个网格单元或多个网格单元(可以称为网格区域)。在704处可以逐个区域地分别检查CTS布局的每个网格区域。
[0101] 在706处,执行预先路由SIR下降检测。在706处执行的SIR下降检测可以包括例如通过SIR下降违规预测电路142和/或机器学习电路110预测或确定CTS布局的任何被检查的网格区域中是否存在一个或多个SIR下降违规,CTS布局是否应该例如由路由工具28进行路由。
[0102] 在708处,响应于在706处预测存在一个或多个SIR下降违规,解决或去除SIR下降违规。可以例如通过时钟树单元调整工具44执行预测的SIR下降违规的去除,这可以通过增加CTS布局中的一个或多个时钟单元之间的间隔来消除或避免CTS布局中存在的预测的SIR下降违规。
[0103] 在710处,例如通过路由工具28执行CTS布局的路由。在708处去除预测的SIR下降违规之后执行路由,使得将在执行路由之后减少或消除CTS布局中的SIR下降违规。
[0104] 图7B是示出图7A的流程图700的区域检查(704)和预先路由SIR下降检测(706)的进一步细节的流程图750。
[0105] 在752处,例如通过SIR下降违规预测电路142和/或机器学习电路110检查CTS布局的特定区域。在752处检查CTS布局的区域可以包括例如利用图6中示出的两阶段堆叠建模以生成最终结果650,最终结果650可以表示检查区域的SIR下降分布或映射。
[0106] 在754处,在对CTS布局执行路由之前,SIR下降违规预测电路142和/或机器学习电路110预测或确定由于路由而在检查区域中是否存在一个或多个SIR下降违规。在754处预测SIR下降违规可以包括将检查区域的预测SIR下降值(例如,通过SIR下降分布或映射提供)与阈值进行比较。阈值可以表示CTS布局的最大允许SIR下降值,最大允许SIR下降值可以例如通过基于CTS布局制造的电子器件设计的设计规范来规定。
[0107] 在756处,如果预测在检查区域中不存在SIR下降违规,可以确定预测的SIR下降值是否未超过阈值SIR下降值,则流程图继续到CTS布局的下一个区域,并且流程图返回到752和754,其中例如通过SIR下降违规预测电路142和/或机器学习电路110检查CTS布局的下一个区域。如果CTS布局的区域中没有一个预测具有SIR下降违规(例如,预测由于后续的路由过程而导致),然后CTS布局可以通过检查,在这种情况下,CTS布局可以进行到物理设计和/或可以进行到特定电子器件设计的物理路由。
[0108] 另一方面,如果预测在检查区域中存在一个或多个SIR下降违规,则在758处生成SIR下降映射。可以为预测或确定具有一个或多个SIR下降违规的每个检查区域生成SIR下降映射。SIR下降映射可以例如由SIR下降违规预测电路142和/或机器学习电路110利用任何合适的技术生成,包括例如利用两阶段系综技术来比较CTS布局的特征空间形状和/或取向与如前所述的模型库中的多个机器学习模型的那些。在一些实施例中,可以在754处在检查区域中预测或确定SIR下降违规之前或作为其一部分生成SIR下降映射。
[0109] 在760处,从CTS布局中去除预测或确定的SIR下降违规。可以由时钟树单元调整工具44执行SIR下降违规的去除,这可以通过增加CTS布局中的一个或多个时钟单元之间的间隔来去除或避免将存在于CTS布局中的预测的SIR下降违规。
[0110] 本发明的实施例提供若干优点。例如,本发明的实施例可操作以在路由CTS布局之前确定是否存在SIR下降违规,这有助于在早期阶段预测SIR下降违规的存在以及SIR下降违规的预测位置的识别。这提供了优于传统系统的显著优点,在传统系统中,仅在执行路由之后确定由于路由引起的SIR下降违规。
[0111] 本发明的实施例进一步促进了设计实现周转时间的显著改进,因为可以在布置布局的路由之前预测、减少或消除SIR下降违规。这也导致SIR下降违规的数量的显著减少,因为可以在路由CTS布局之前预测并减少或消除这种SIR下降违规。
[0112] 在各个实施例中,本发明提供了可以用于在对CTS布局执行路由之前预测由于路由时钟树合成(CTS)布局而将存在的静态电压(SIR)下降违规的系统和方法。这导致成本节省,因为由于可以被预测并且然后减少或消除的SIR下降违规的减少,可以增加电子器件的产量。因此,制造的电子器件将具有更少的SIR下降违规,从而增加产量并减少浪费。另外,本发明的实施例促进了时间节省,因为可以在执行布置布局的路由之前预测电子器件设计中的SIR下降违规。
[0113] 根据一个实施例,静态电压(SIR)下降违规预测系统包括SIR下降违规预测电路。SIR下降违规预测电路在使用时接收与CTS布局相关联的时钟树合成(CTS)布局数据。SIR下降违规预测电路可以例如从CTS布局数据库或从电子设计平台的CTS工具接收CTS布局数据。SIR下降违规预测电路检查与CTS布局相关联的CTS布局数据。CTS数据可以包括与CTS布局的多个区域相关联的数据,并且SIR下降违规预测电路可以逐个区域地检查CTS布局的每个区域。另外,SIR下降违规预测电路在使用时预测在CTS布局中是否由于CTS布局的后续路由而存在一个或多个SIR下降违规。
[0114] 在上述系统中,还包括:时钟树合成数据库,存储与所述时钟树合成布局相关联的所述时钟树合成布局数据。
[0115] 在上述系统中,还包括:时钟树合成数据库,存储与所述时钟树合成布局相关联的所述时钟树合成布局数据,还包括:处理区域数据库,存储与表现出静态电压下降违规的多个时钟树合成区域相关联的信息,其中,所述静态电压下降违规预测电路在使用时至少部分地基于表现出静态电压下降违规的所述多个时钟树合成区域相关联的所述信息,预测在所述时钟树合成布局中是否存在一个或多个静态电压下降违规。
[0116] 在上述系统中,还包括:时钟树合成数据库,存储与所述时钟树合成布局相关联的所述时钟树合成布局数据,还包括:处理区域数据库,存储与表现出静态电压下降违规的多个时钟树合成区域相关联的信息,其中,所述静态电压下降违规预测电路在使用时至少部分地基于表现出静态电压下降违规的所述多个时钟树合成区域相关联的所述信息,预测在所述时钟树合成布局中是否存在一个或多个静态电压下降违规,还包括:静态电压下降数据库,存储将静态电压下降违规与时钟树合成布局或时钟树合成布局区域中的至少一个相关联的信息;以及机器学习电路,通信地耦合到所述静态电压下降数据库,所述机器学习电路在使用时基于存储在所述静态电压下降数据库中的所述信息,生成与表现出静态电压下降违规的多个时钟树合成区域相关联的所述信息。
[0117] 在上述系统中,其中,所述静态电压下降违规预测电路在使用时:生成静态电压下降违规映射,所述静态电压下降违规映射指示所述时钟树合成布局中的预测的静态电压下降违规的位置。
[0118] 在上述系统中,还包括:模型库,存储多个机器学习模型,机器学习电路,通信耦合到所述模型库,所述机器学习电路在使用时:基于所述时钟树合成布局的特征空间的形状和取向与所述多个机器学习模型的特征空间的形状和取向之间的第一相似性比较,通过选择多个机器学习模型的第一部分来生成第一阶段系综;以及基于所述时钟树合成布局的特征空间的取向与所述第一阶段系综的所述多个机器学习模型的所述第一部分的特征空间的取向之间的第二相似性比较,通过选择所述多个机器学习模型的第二部分来生成第二阶段系综。
[0119] 在上述系统中,还包括:模型库,存储多个机器学习模型,机器学习电路,通信耦合到所述模型库,所述机器学习电路在使用时:基于所述时钟树合成布局的特征空间的形状和取向与所述多个机器学习模型的特征空间的形状和取向之间的第一相似性比较,通过选择多个机器学习模型的第一部分来生成第一阶段系综;以及基于所述时钟树合成布局的特征空间的取向与所述第一阶段系综的所述多个机器学习模型的所述第一部分的特征空间的取向之间的第二相似性比较,通过选择所述多个机器学习模型的第二部分来生成第二阶段系综,其中,所述静态电压下降违规预测电路在使用时基于所述时钟树合成布局与所述第二阶段系综的比较而生成静态电压下降映射,所述静态电压下降映射指示所述时钟树合成布局中的预测的静态电压下降值。
[0120] 在上述系统中,还包括:模型库,存储多个机器学习模型,机器学习电路,通信耦合到所述模型库,所述机器学习电路在使用时:基于所述时钟树合成布局的特征空间的形状和取向与所述多个机器学习模型的特征空间的形状和取向之间的第一相似性比较,通过选择多个机器学习模型的第一部分来生成第一阶段系综;以及基于所述时钟树合成布局的特征空间的取向与所述第一阶段系综的所述多个机器学习模型的所述第一部分的特征空间的取向之间的第二相似性比较,通过选择所述多个机器学习模型的第二部分来生成第二阶段系综,其中,所述静态电压下降违规预测电路在使用时基于所述时钟树合成布局与所述第二阶段系综的比较而生成静态电压下降映射,所述静态电压下降映射指示所述时钟树合成布局中的预测的静态电压下降值,其中,所述静态电压下降违规预测电路在使用时将所述预测的静态电压降值与阈值静态电压下降值进行比较,并且基于所述预测的静态电压下降值与所述阈值静态电压下降值的比较,预测由于所述时钟树合成布局的路由而在所述时钟树合成布局中是否存在一个或多个静态电压下降违规。
[0121] 在上述系统中,还包括:时钟树单元调整电路,在使用时响应于所述静态电压下降违规预测电路预测由于所述时钟树合成布局的路由而在所述时钟树合成布局的区域中存在一个或多个静态电压下降违规,增大所述时钟树合成布局的所述区域的时钟单元之间的间隔。
[0122] 根据另一实施例,提供了一种方法,包括通过静态电压(SIR)下降违规预测电路接收与半导体电路设计的CTS布局相关联的CTS布局数据。通过SIR下降违规预测电路检查与CTS布局的多个区域中的每个相关联的CTS布局数据。对于多个区域中的每个,SIR下降违规预测电路预测是否由于CTS布局的路由而存在一个或多个SIR下降违规。该方法还包括响应于预测不存在由于CTS布局的路由的SIR下降违规而路由CTS布局。
[0123] 在上述方法中,还包括:生成静态电压下降违规映射,所述静态电压下降违规映射指示所述时钟树合成布局中的预测的静态电压下降违规的位置。
[0124] 在上述方法中,其中,预测由于所述时钟树合成布局的路由而在所述时钟树合成布局中是否存在一个或多个静态电压下降违规包括:生成静态电压下降映射,所述静态电压下降映射指示所述时钟树合成布局中的预测的静态电压下降值;将所述预测的静态电压下降值与阈值静态电压下降值进行比较;以及响应于所述预测的静态电压下降值的一个或多个超过所述阈值静态电压下降值,预测存在一个或多个静态电压下降违规。
[0125] 在上述方法中,还包括:基于所述时钟树合成布局的特征空间的形状和取向与多个机器学习模型的特征空间的形状和取向之间的第一相似性比较,选择所述多个机器学习模型的第一部分;基于所述时钟树合成布局的特征空间的取向与所述多个机器学习模型的所述第一部分的特征空间的取向之间的第二相似性比较,选择所述多个机器学习模型的第二部分;以及基于所述时钟树合成布局与所述多个机器学习模型中的选择的第二部分的比较来生成静态电压下降映射,所述静态电压下降映射指示所述时钟树合成布局中的预测的静态电压下降值。
[0126] 在上述方法中,还包括:基于所述时钟树合成布局的特征空间的形状和取向与多个机器学习模型的特征空间的形状和取向之间的第一相似性比较,选择所述多个机器学习模型的第一部分;基于所述时钟树合成布局的特征空间的取向与所述多个机器学习模型的所述第一部分的特征空间的取向之间的第二相似性比较,选择所述多个机器学习模型的第二部分;以及基于所述时钟树合成布局与所述多个机器学习模型中的选择的第二部分的比较来生成静态电压下降映射,所述静态电压下降映射指示所述时钟树合成布局中的预测的静态电压下降值,其中,预测由于所述时钟树合成布局的路由而在所述时钟树合成布局中是否存在一个或多个静态电压下降违规包括:将所述预测的静态电压下降值与阈值静态电压下降值进行比较;以及响应于所述预测的静态电压下降值的一个或多个超过所述阈值静态电压下降值,预测存在一个或多个静态电压下降违规。
[0127] 在上述方法中,还包括:响应于所述静态电压下降违规预测电路预测由于所述时钟树合成布局的路由而在所述时钟树合成布局的至少一个区域中存在一个或多个静态电压下降违规,通过增大所述时钟树合成布局的所述至少一个区域的时钟单元之间的间隔来调整所述时钟树合成布局。
[0128] 在上述方法中,还包括:响应于所述静态电压下降违规预测电路预测由于所述时钟树合成布局的路由而在所述时钟树合成布局的至少一个区域中存在一个或多个静态电压下降违规,通过增大所述时钟树合成布局的所述至少一个区域的时钟单元之间的间隔来调整所述时钟树合成布局,还包括:路由调整的时钟树合成布局。
[0129] 根据又一实施例,提供了一种方法,包括利用指示多个电子器件设计中的静态电压(SIR)下降违规的信息来训练多个机器学习模型。多个机器学习模型存储在数据库中。该方法还包括通过SIR下降违规预测电路接收与CTS布局相关联的时钟树合成(CTS)数据,以及将与CTS布局相关联的CTS数据与存储在数据库中的多个机器学习模型进行比较。SIR下降违规预测电路基于将与CTS布局相关联的CTS数据与多个机器学习模型进行比较,预测由于CTS布局的后续路由而在CTS布局中是否存在一个或多个SIR下降违规。
[0130] 在上述方法中,其中,训练机器学习模型包括提取与所述多个电子器件设计相关联的特征信息。
[0131] 在上述方法中,其中,训练机器学习模型包括提取与所述多个电子器件设计相关联的特征信息,还包括:对于所述时钟树合成布局的多个区域中的每个,提取与所述时钟树合成布局相关联的特征信息,其中,将与所述时钟树合成布局相关联的所述时钟树合成数据与存储在所述数据库中的所述多个机器学习模型进行比较包括将提取的与所述时钟树合成布局相关联的特征信息与提取的与所述多个电子器件设计相关联的特征信息进行比较。
[0132] 在上述方法中,还包括:响应于预测在所述时钟树合成布局中存在一个或多个静态电压下降违规,通过增大所述时钟树合成布局的时钟单元之间的间隔来调整所述时钟树合成布局;以及路由调整的时钟树合成布局。
[0133] 上面概述了若干实施例的特征,使得本领域人员可以更好地理解本发明的方面。本领域人员应该理解,它们可以容易地使用本发明作为基础来设计或修改用于实施与本文所介绍实施例相同的目的和/或实现相同优势的其它工艺和结构。本领域技术人员也应该意识到,这种等同构造并且不背离本发明的精神和范围,并且在不背离本发明的精神和范围的情况下,本文中它们可以做出多种变化、替换以及改变。
[0134] 可以组合上述各个实施例以提供进一步的实施例。根据以上详细描述,可以对实施例进行这些和其他改变。通常,在以下权利要求中,所使用的术语不应被解释为将权利要求限制于说明书和权利要求中公开的特定实施例,而是应该被解释为包括所有可能的实施例以及所请求保护的这样的等同物的全部范围。因此,权利要求不受本发明的限制。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈