基于机器学习的数据路径提取的制作方法

文档序号:6503411阅读:182来源:国知局
基于机器学习的数据路径提取的制作方法
【专利摘要】本发明的实施例涉及基于机器学习的数据路径提取。一种数据路径提取工具使用机器学习模型以基于聚类特征将集成电路设计中的单元聚类选择性地分类为数据路径逻辑或者非数据路径逻辑。支持向量机和神经网络可以用来构建紧凑和运行时间高效模型。如果支持向量机和神经网络二者指示聚类与数据路径相似则将它分类为数据路径。聚类特征可以包括用于单元聚类的自同构发生器或者基于来自先前(例如全局)布局的单元位置的物理信息,诸如用于给定的聚类的总单元面积与用于给定的聚类的定界框的半周长之比。
【专利说明】基于机器学习的数据路径提取
【技术领域】
[0001]本发明主要地涉及半导体芯片和集成电路设计,并且更具体地涉及一种标识集成电路设计的不同部分的方法,该不同部分可以在电路部件的在布版中的优化布局期间不同地操纵。
【背景技术】
[0002]集成电路用于从简单器件(诸如腕表)到最复杂计算机系统的广泛电子应用。微电子集成电路(IC)芯片一般可以视为在半导体衬底(例如硅)上形成的逻辑单元的汇集而在单元之间有电互连。IC可以包括很大数目的单元并且需要在单元之间的复杂连接。单元是被组合用于执行逻辑功能的一个或者多个电路元件的组,该电路元件诸如晶体管、电容器、电阻器、电感器和其它基本电路元件。单元类型例如包括核心单元、扫描单元、输入/输出(I/O)单元和存储器(存储装置)单元。IC的每个单元可以具有一个或者多个管脚,每个管脚继而可以由接线连接到IC的一个或者多个其它管脚。也在芯片的表面上形成连接IC关键的接线。对于更复杂设计,通常有可用于布线的至少四个相异传导介质层,诸如一个多晶娃层和三个金属层(金属-1、金属-2和金属-3)。多晶娃层、金属-1、金属-2和金属-3都用于竖直和/或水平布线。
[0003]通过首先设想逻辑电路描述、然后将该逻辑描述转换成物理描述或者几何布版来制作IC芯片。通常使用“网表”来执行这一过程,该网表是在单元管脚之间的所有网或者互连的记录,该记录包括关于各种部件、诸如晶体管、电阻器和电容器的信息。部件通常由若干层中的平面几何形状的集合构成。然后检查部件以保证它满足所有设计要求、特别是定时要求。结果是称为中间形式的设计文件集合,该中间形式描述布版。然后通过数据预备过程运行设计文件,光学或者电子束图案生成器使用数据预备过程以产生称为掩模的图案。在制作期间,这些掩模用来使用收缩掩模图像的复杂透镜系统在光刻步骤的序列中在硅晶片中蚀刻或者沉积特征。将电路的规范转换成这样的部件的过程称为物理设计。
[0004]半导体制作中的单元布局涉及到确定特定单元应当在集成电路设备的表面上最优地(或者接近最优地)位于何处。由于用于甚大规模(VLSI)设备的制造过程需要的大量部件和细节,所以物理设计不借助计算机就不切实际。作为结果,物理设计的多数阶段广泛使用计算机辅助设计(CAD)工具,并且许多阶段已经被部分或者完全自动化。物理设计过程的自动化已经增加集成水平、减少周转时间并且增强芯片性能。已经创建包括Verilog、VHDL和TDML的用于电子设计自动化(EDA)的若干不同编程语言。典型EDA系统接收IC设备的一个或者多个高级行为描述,并且将这一高级设计语言描述转译成各种抽象化级的网表。假设具有节点(顶点)V和网(边)E的网表N= (V,E),全局布局工具获得用于所有可移动节点的位置(Xi, yi),从而在任何矩形区域内的节点的面积未超过在该区域中的单元部位的面积。尽管一些工作已经关注一般斯泰纳(Steiner)接线长度优化,但是布局器通常最小化设计的半周长接线长度(HPWL)。现代布局器经常通过使用二次目标的可微分函数来近似HPWL。[0005]物理综合在集成电路(诸如高性能处理器和专用集成电路(ASIC))的自动化设计中至关重要。物理综合是集成电路设计中并行优化布局、定时、功率消耗、串扰影响等的过程。这一复合方式帮助消除在电路分析与布局和布线之间的迭代。物理综合具有用于对门再供电(改变它们的大小)、插入重发器(缓冲器或者反相器)、克隆门或者其它组合逻辑等的能力,因此设计中的逻辑的面积保持流动。然而物理综合可能需要数天来完成,并且计算要求随着设计不断更大和需要布局更多门而增加。也有由于有限面积资源所致的不良布局的更多机会。
[0006]随着技术升级超出深亚微米领域并且操作频率增加,新样式正在称为混合设计的集成电路设计中显现,这些混合设计包含随机逻辑和数据路径(标准单元)部件的混合。图1A图示随机逻辑布版I的例子,该布版具有包含各种单元的三行。给定的逻辑功能或者核心可以具有随机分布于不同行中以满足布局约束的单元,而无用于任何单元集合的特定边界。图1B描绘数据路径逻辑部局2的对照例子,该布版具有各自具有预定义几何形状的五个子电路或者宏。传统上人工布局数据路径部件(即定制设计),但是近年来已经有用于在自动化过程中包括数据路径逻辑布局的大量努力,特别是对于也包含随机逻辑的混合设计。然而用于数据路径逻辑的布局制定一般不同于用于随机路径的布局制定。随机逻辑布局器忽略混合设计的这一方面,这可能导致现有技术的设备的主要接线长度和拥塞问题。
[0007]因而已经构想用于从网表自动化提取数据路径的方法。数据路径提取技术一般聚焦于设计中的功能或者结构级。功能规律提取标识网表内的逻辑等效子电路,然后在布局期间单独操纵这些子电路。在一个例子中,生成和使用大集合的模板以在布局之前搜寻数据路径逻辑。另一功能规律例子使用基于哈希的方式。结构数据路径提取方法依赖于规律度量以代表数据路径。例如数据路径提取可以包括将网表分解成阶段集合和分片集合而一个单元出现于确切一个阶段集合和一个分片集合中。这一提取算法使用规律度量确定扩展方向在网络内扩展搜索波。更近以来,已经在一对单元之间的布局距离与在它们之间的图形距离有关这样的假设下开发一种用于提取结构的方法。通过假设在两个单元之间的距离与连接它们的网的程度有关,在最短路径计算中对网加权。然后通过提取“拐角”单元并且在位置上固定它们,可以计算其它单元的最大距离。

【发明内容】

[0008]本发明涉及一种通过以下操作从集成电路设计提取数据路径逻辑的方法:接收用于集成电路设计的电路描述,电路描述包括被互连用于形成多个网的多个单元,根据电路描述生成单元聚类,评估单元聚类以标识聚类特征,并且基于聚类特征使用一个或者多个机器学习模型将单元聚类选择性地分类为数据路径逻辑或者非数据路径逻辑。可以使用两个机器学习模型,每个机器学习模型提供对单元聚类中的给定单元聚类是否为数据路径逻辑的指示,并且仅在两个机器学习模型都指示给定单元聚类是数据路径逻辑时可以将给定的单元聚类分类为数据路径。在示例实现方式中,机器学习模型中的第一机器学习模型是支持向量机,并且机器学习模型中的第二机器学习模型是神经网络。聚类特征可以包括用于单元聚类的自同构发生器或者基于来自先前布局的单元位置的物理信息。物理信息可以包括用于给定的聚类的总单元面积与用于给定的单元聚类的定界框的半周长之比。
[0009]本发明的上述以及附加目的、特征和优点将在下文具体书面描述中变得清楚。【专利附图】

【附图说明】
[0010]通过参照附图可以更好地理解本发明并且使它的许多目的、特征和优点为本领域技术人员所清楚。
[0011]图1A是常规随机逻辑布版的例子;
[0012]图1B是常规数据路径逻辑布版的例子;
[0013]图2是根据本发明的一个实现方式的被编程用于实现集成电路设计的计算机系统的框图;
[0014]图3是用于标识网表中的候选聚类的种子生长方法的图解表示;
[0015]图4A是根据本发明的一个实现方式的可以针对自同构而评估的单元聚类的例子;
[0016]图4B是图4A的单元聚类的第一自同构;
[0017]图4C是图4A的单元聚类的第二自同构;
[0018]图4D是图4A的单元聚类的第三自同构;
[0019]图5是根据本发明的一个实现方式的被确定无自同构的单元聚类的例子;
[0020]图6是根据本发明的一个实现方式的用于单元聚类的布版,该布版描绘如何可以推导布局提示,这些提示包括总单元面积与聚类宽度和高度的求和之比;
[0021]图7是图示用于训练过程的逻辑流程的图,该训练过程根据本发明的一个实现方式用来生成用于将聚类分类为数据路径或者非数据路径(随机)的学习模型;并且
[0022]图8是图示用于根据本发明的一个实现方式的数据路径提取过程的逻辑流程的图。
[0023]在不同附图中使用相同标号指示相似或者相同项目。
【具体实施方式】
[0024]仅使用功能或者结构信息的先前数据路径提取算法出于许多原因而对于具有许多预先布局的块的现代大规模混合(数据路径/随机逻辑)电路而言无效。传统综合优化目标(综合和物理设计阶段二者)经常与定制电路设计者将实施的优化目标不一致。一个简单例子是在综合期间的面积优化如何经常破坏数据路径的规律结构。未创建用于自然提取逻辑分级的设计工具。它们一般使设计平坦化,这在随机逻辑的情况下是有益的,但是这一方式同样破坏用于标识质量布置和定时解决方案的能力。综合流程中的每个阶段一般独立于其它优化阶段从而需要大量迭代。例如综合优化(在技术映射之前优化布尔逻辑)一般无定时认知。布局一般未认知可布线性。用于缓解这些问题的当前尝试简单地聚焦于用于逐渐改进接线长度而不损害布局的迭代技术,并且它们都未实际解决数据路径逻辑如何或者为何不同。
[0025]因此将希望构想一种改进的数据路径提取方法,该方法可以将电路设计的区域自动分类为数据路径或者随机逻辑以便允许布局工具单独操纵这两个类型的电路装置。如果该方法可以高效管理大设计大小而无需大量运行时间则将进一步有利。本发明使用高维数据学习、提取和评估算法来实现这些目的。这一发明方式可以不仅考虑逻辑结构而且考虑来自初始全局布局结果的布局提示。新颖的提取方法已经在包含随机逻辑和数据路径的混合工业设计以及从未预计结构化的数据路径逻辑的布局基准二者上示范比先前现有技术方法显著更好的结果。可以分析网表并且从网表提取基于图形的特征和物理特征二者,从而映射对数据路径逻辑最关键和敏感的参数集。有效特征可以用来创建在随机与数据路径逻辑之间的差别,从而允许从训练集提取的图案对新电路中的数据路径结构分类。
[0026]现在参照附图并且具体参照图2,描绘计算机系统的一个实施例10,在该计算机系统中,可以实施本发明以实现集成电路中的逻辑结构设计。计算机系统10是具有连接到系统总线14的多个处理器12a、12b的对称多处理器(SMP)系统。系统总线14还连接到提供与系统存储器18的接口的组合式存储器控制器/主机桥接器(MC/HB) 16。系统存储器18可以是本地存储器设备或者备选地可以包括多个分布式存储器设备、优选为动态随机存取存储器(DRAM)。可以有在存储器分级中的未描绘的附加结构、诸如板上(LI)和二级(L2)或者三级(L3)高速缓存。
[0027]MC/HB16也具有与外围部件互连(PCI)高速链路20、20b、20c的接口。每个PCI快速(PCIe)链路20a、20b连接到相应PCIe适配器22a、22b,并且每个PCIe适配器22a、22b连接到相应输入/输出(I/O)设备24a、24b。MC/HB16还可以具有与I/O总线26的接口,该I/O总线连接到交换机(I/O结构)28。交换机28向多个PCI链路20a、20e、20f提供用于I/O总线的扇出。这些PCI链路连接到更多PCIe适配器22c、22d、22e,这些PCIe适配器又支持更多I/O设备24c、24d、24e。I/O设备可以包括而不限于键盘、图形指示设备(鼠标)、麦克风、显示设备、扬声器、持久存储设备(硬盘驱动)或者这样的存储设备、光盘驱动和网卡的阵列。每个PCIe适配器提供在PCI链路与相应I/O设备之间的接口。MC/HB16提供低延时路径,处理器12a、12b可以通过该低延时路径访问在总线存储器或者I/O地址空间内任一处映射的PCI设备。MC/HB16还提供用于允许PCI设备访问存储器18的高带宽路径。交换机28可以提供在不同断点之间的对等通信,并且如果这一数据流量未涉及到高速缓存相干存储器传送,则无需向MC/HB16转发它。示出交换机28为单独逻辑部件,但是可以向MC/HB16中集成它。
[0028]在这一实施例中,PCI链路20e将MC/HB16连接到服务处理器接口 30以允许在I/O设备24a与服务处理器32之间的通信。服务处理器32经由JTAG接口 34连接到处理器12a、12b并且使用使处理器12a、12b的操作中断的衰减线36。服务处理器32可以具有它自己的本地存储器38并且连接到存储用于系统启动的各种程序指令的只读存储器(ROM)40。服务处理器32也可以具有对硬件操作者面板42的访问以提供系统状态和诊断信息。
[0029]在备选实施例中,计算机系统10可以包括这些硬件部件或者它们的互连的修改或者附加部件,因此不应解释描述的例子为意味着关于本发明的任何架构限制。可以在等效云计算环境中实施本发明。
[0030]在计算机系统10被初始上电时,服务器处理器32使用JTAG接口 34以询问系统(主机)处理器12a、12b和MC/HB16。在完成询问之后,服务处理器32获取用于计算机系统10的库存和拓扑。服务处理器32然后对计算机系统10的部件执行各种测试、诸如内置自测试(BIST)、基本保证测试(BAT)和存储器测试。服务处理器32向操作者面板42报告用于在测试期间检测到的故障的任何错误信息。如果系统资源的有效配置在取出在测试期间发现有故障的部件之后仍然是可能的,则允许计算机系统10继续。向存储器18中加载可执行代码,并且服务处理器32释放主机处理器12a、12b用于执行程序代码、例如操作系统(OS),该程序代码用来起动应用并且具体为本发明的电路设计应用,可以在系统的硬盘驱动(I/O设备24)中存储这些应用的结果。在主机处理器12a、12b执行程序代码之时服务处理器32可以进入监视和报告任何操作参数或者错误、诸如冷却扇速度和操作、热传感器、电源调节器以及处理器12a、12b、存储器18和MC/HB16中的任一个报告的可恢复和不可恢复错误这样的模式。服务处理器32可以基于错误类型或者定义的阈值采取进一步动作。
[0031]如所属【技术领域】的技术人员知道,本发明可以实现为系统、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:可以是完全的硬件、也可以是完全的软件(包括固件、驻留软件、微代码等),还可以是硬件和软件结合的形式,本文一般称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
[0032]可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是一但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPR0M或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括一但不限于一无线、电线、光缆、RF等等,或者上述的任意合适的组合。
[0033]可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言-诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言-诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络一包括局域网(LAN)或广域网(WAN)-连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0034]下面将参照本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,这些计算机程序指令通过计算机或其它可编程数据处理装置执行,产生了实现流程图和/或框图中的方框中规定的功能/操作的装置。[0035]也可以把这些计算机程序指令存储在能使得计算机或其它可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令就产生出一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置(instructionmeans)的制造品(manufacture)。
[0036]也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令能够提供实现流程图和/或框图中的方框中规定的功能/操作的过程。
[0037]附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0038]计算机系统10执行用于物理综合过程的程序指令,该物理综合过程使用新颖的数据路径提取技术以优化单元布局。因而,体现本发明的程序可以包括各种综合或者布局工具的常规方面,并且这些细节将在参照本公开内容时变得为本领域技术人员所清楚。在示例实施方式中,计算机系统10通过生成在其中搜寻数据路径结构的原有网表的候选聚类并且评估每个聚类以标识用来区分数据路径逻辑与随机逻辑的具体特性来执行数据路径提取。机器学习技术然后可以用来基于训练模型对聚类分类。
[0039]聚类阶段预备用于分析并且从其中提取数据路径结构的网表。目标是发现表现可标识的结构和物理特征的聚类。有用于将集成电路设计的单元分组成聚类的许多常规技术。本发明的优选实现方式使用Liu和Marek-Sadowska在Proc.1CCAD第31-37页(2005)的论文“Pre-Layout Physical Connectivity Predictions With ApplicationsIn Clustering,Placement And Logic Synthesis” 中提出的基于连通度的种子(seed)生成方法的扩展。根据该技术,在维持最大逻辑深度阈值之时最大化外部与内部聚类力之比。如图3中所示,定义外力为在给定的聚类Ci以外有至少一个顶点(节点)并且在该聚类以内有至少一个顶点(节点)的网的边权值的求和,而定义内力为所有内部聚类连接权值的求和。候选聚类48具有与五个外部节点有连接的七个内部节点。内部连接权值是IW1-1W9,而外部连接权值是EW1-EWp可以根据使用的特定网模型确定具体权值。内力和外力在相反方向上影响聚类的物理大小。内力试图在最终布版中保持节点在一起,而外力往往拉开节点。
[0040]这一聚类方法使用从种子节点开始的自底向上算法。适当种子节点是具有大网程度的种子节点,即,按照节点程度对节点排序并且选择当前未聚类并且具有最大节点程度的种子节点。在聚类Ci的邻近节点u之间的连通度等于用于在u与聚类的节点之间的所有连接的边权值之和。在每次后续轮次(pass)中,在保持聚类的内力尽可能大之时向聚类添加具有最大连通度的邻近节点。在每次轮次中添加邻近节点直至聚类的大小超过聚类大小约束。
[0041]一旦已经标识网表中的聚类,计算机系统10提取和评估聚类的区别特征。本发明可以利用多数数据路径逻辑包含高程度图形自同构这样的观察。图形的自同构(对称形式)在映射到自身之时保留图形G= (V5E)的边-顶点连通度。也就是说,自同构是从G到自身的图形同构,即,排列顶点集合V,从而如果并且仅如果对((U) ;(v))也形成边,则顶点对(u; V)形成边。给定的图形的自同构集合形成用于该图形的自同构组。定义用于自同构组的发生器为如下元素的集合,可以组合这些元素以生成自同构组中的每个非理想排列。例如,图4A描绘具有六个标注的节点和七个边的图形G。这一图形具有共计四个自同构和两个发生器。第一自同构G(I ;2 ;3 ;4 ;5 ;6)对应于自身,而三个附加自同构为:如图4B中所见G(2 ;1 ;4 ;3 ;6 ;5)(左右翻转G);如图4C中所见G(5 ;6 ;3 ;4 ;1 ;2)(上下翻转G);以及如图4D中所见G(6 ;5 ;4 ;3 ;2 ;1)(左右和上下翻转G)。G的非平凡(nontrivial)发生器集合S是(I ;5) (2 ;6)和(I ;2) (3 ;4) (5 ;6)。如这一例子所示,图形的对称性与发生器组一起提供如下可能位堆候选,这些候选包括:(I ;2)、(5 ;6)或者(I ;3 ;5)、(2 ;4 ;6),指示应当判断图形为数据路径逻辑。
[0042]对照而言,图5显示也具有六个节点和七个边的随机逻辑网表52。然而不同于图4中存在的清楚对称性,图5的图形不含非平凡自同构。这一基本观察一般对于随机逻辑网表而言成立。因此,结构化的逻辑的自同构发生器与随机逻辑的自同构发生器很不相同地表现,从而实现作为数据路径特征的充分区分。
[0043]尽管图形自同构特征在将逻辑分类为随机或者数据路径时特别有用,但是本发明可以备选地或者附加地利用从先前布局优化(例如全局布局)收集的物理信息。全局布局在接线长度优化中具有益处,因此本发明可以将布局提示用于改进分类。在一个实现方式中,如图6中所示,这样使用的物理信息涉及在聚类内的单元的面积和聚类的定界框的大小。具体而言,可以量化这一特征为在聚类Ci内的全单元面积与定界框高度和宽度的求和之比K;。这一物理信息帮助表征用于每个聚类的展开数量和初始单元位置。密集聚类指示紧密包装的逻辑并且可能需要改进布局,而稀疏逻辑一般更少可能由于向数据路径布局器传递而改进。先前布局可以来自某一其它布局工具并且可以是初始布局或者甚至不完整布局。
[0044]计算机系统10使用聚类特征以用基于机器学习的模型对每个聚类分类和评估。在一个优选实现方式中,计算机系统10组合支持向量机(SVM)和神经网络(NN)这两个数据学习算法以构建紧凑和运行时间高效模型,但是可以使用其它机器学习模型。图7图示用于创建模型的训练过程60。该过程始于如下设计图案(单元聚类网表)的学习集合,已知或者指定这些设计图案(单元聚类网表)在性质上为数据路径或者随机,其中以与全局或者其它优化的布局相似的方式对单元定位出2)。学习集合优选地相对小(例如如数千个图案一样小),并且由于一次性成本地先验构建图案,所以CPU运行时间代价可忽略不计。针对每个学习图案,计算与布局关联的任何自同构发生器和物理信息出4)。创建对应支持向量,并且SVM计算在与支持向量关联的数据路径与非数据路径逻辑之间有最大分离裕度的超平面边界(66)。在SVM模型中仅保存关于分离边界的关键信息,S卩,对应支持向量。在SVM判决计算(分数)中涉及到所有支持向量。NN通过配置复杂神经元网络以实现与相同训练样本(自同构发生器和物理信息)和判决提示关联的与高维判决图相似的数据结构来操作。在示例实施例中,NN生成在-1 (指示随机逻辑)与+1 (指示数据路径逻辑)之间规范化的分数。可以通过移动所需分数更接近数据路径逻辑最大值来偏置判决以最大化正确选择的数据路径电路的数目;例如,仅在逻辑的规范化分数在0.8以上时,可以指示它为数据路径。可以运用一种基于迭代子梯度更新的弹性向后传播方法。为了获取更佳质量,可以使用容许软错误(soft-error)的SVM和特殊工作集合选择方法二者。
[0045]在计算边界之后,可以优选地通过人工调整分离阈值化/或NN分数来校准模型
(68)。设计者可以移动边界以考虑到测试数据中的噪声或者另外提高评估准确度。然后将模型应用于已知设计图案的更大集合(排除学习集合)用于验证,以保证学习准确度在训练数据与未知测试数据之间的平衡(70)。验证集合与学习集合比较优选为大(例如30,000个图案)。在示例实现方式中,定义数据路径评估准确度和非数据路径评估准确度这两种准确度类型以量化学习性能。数据路径评估准确度是正确检测的数据路径(或者与数据路径相似)图案与实际数据路径结构的总数之比。非数据路径评估准确度是正确检测的非数据路径(例如随机逻辑)图案与处理的非数据路径结构的总数之比。用于SVM和NN 二者的优化目标是最大化数据路径和非数据路径图案的评估准确度或者等效为最小化用于两个图案评估类的均方误差。
[0046]可以比较评估准确度与最小比值以便确定模型是否有效,S卩,确定是否有充分置信度(72)。最小比值可以根据使用的学习图案集合变化。如果认为模型有效,则训练完成。否则,可以重新校准模型(返回到框68)或者设计者可以决定应用附加学习集合(返回到块62)。一旦被验证,模型就准备好在对新(未知)电路设计的数据路径提取中使用。
[0047]可以参照图8的流程图进一步理解本发明,该图示出用于数据路径提取过程80的一个实现方式的逻辑流程。该过程通过接收用于新电路设计或者其部分的网表来开始(82)。设计优选地已经经过优化的布局,诸如全局布局,并且在网表中包括布局信息,从而可以在分析中考虑物理信息,但是本领域技术人员将理解,根据本发明的数据路径提取在这样的物理信息的情况下仍然可以继续。根据任何方便的聚类算法(诸如上文描述的基于连通度的种子生长方法)对设计的单元或者节点分组(84)。标识聚类特征,这些聚类特征包括自同构及其发生器和来自全局布局提示的物理信息,诸如全单元面积与定界块半周长之比(86)。然后通过应用数据学习模型以评估聚类特征来将每个聚类单独分类为数据路径逻辑或者随机逻辑(88)。随着新图案遍历学习模型,它们的评估分数可以分别针对NN和SVM在用于数据路径和非数据路径图案的某些范围内跨越,因此设计者可以选择用于判决给定的聚类是否为数据路径的不同基础。在一个优选实现方式中,如果并且仅如果NN和SVM评估分数二者指示数据路径逻辑(即在某些阈值以上),则确定图案为数据路径逻辑。这一冗余方式帮助系统地提高数据路径评估准确度而没有非数据路径准确度的明显代价。通常,NN和SVM具有用于多数二元分类的相似性能,例如区分与数据路径相似的图案和非数据路径图案。在原理上,SVM保障全局最优,但是可能对数据噪声敏感。NN通常具有良好抗噪声性,然而它可能在训练中需要更多时间或者需要校准来达到最优或者接近最优的结果O
[0048]一旦已经评估所有聚类,用分类信息更新网表(90),并且该过程结束。分类信息可以在以后设计阶段中由不同数据路径和随机路径比对方法的布局工具使用。例如可以根据在2012年4月19日提交的第13/451,382号美国专利申请中描述的分层对准方法布局数据路径逻辑用于改进位堆对准。实验结果指示在使用这里描述的新颖提取方法的自动化布置期间的显著接线长度改进。数据路径接线长度改进甚至更大。
[0049]虽然已经参照具体实施例描述本发明,但是不会在限制意义上解释本描述。公开的实施例的各种修改以及本发明的备选实施例将在参照本发明的描述时变得为本领域技术人员所清楚。因此设想可以进行这样的修改而未脱离如在所附权利要求中限定的本发明的精神实质或者范围。
【权利要求】
1.一种从集成电路设计提取数据路径逻辑的计算机实施的方法,包括: 通过执行计算机系统中的第一指令,接收用于所述集成电路设计的电路描述,所述电路描述包括被互连用于形成多个网的多个单元; 通过执行所述计算机系统中的第二指令,根据所述电路描述生成单元聚类; 通过执行所述计算机系统中的第三指令,评估所述单元聚类以标识所述单元聚类中的一个或者多个聚类特征;并且 通过执行所述计算机系统中的第四指令,基于所述一个或者多个聚类特征使用一个或者多个机器学习模型将所述单元聚类选择性地分类为数据路径逻辑或者非数据路径逻辑。
2.根据权利要求1所述的方法,其中所述分类使用至少两个机器学习模型,每个所述机器学习模型提供对所述单元聚类中的给定的单元聚类是否为数据路径逻辑的指示,并且仅在所述两个机器学习模型均指示所述给定的单元聚类是数据路径逻辑时将所述给定的单元聚类分类为数据路径。
3.根据权利要求2所述的方法,其中所述机器学习模型中的第一机器学习模型是支持向量机,并且所述机器学习模型中的第二机器学习模型是神经网络。
4.根据权利要求1所述的方法,其中所述聚类特征包括用于所述单元聚类的自同构发生器。
5.根据权利要求1所述的方法,其中所述电路描述还包括来自先前布局的用于所述单元的位置,并且所述聚类特征包括基于所述单元位置的物理信息。
6.根据权利要求5所述的方法,其中所述物理信息包括用于给定的聚类的总单元面积与用于所述给定的单元聚类 的定界框的半周长之比。
7.一种计算机系统,包括: 处理程序指令的一个或者多个处理器; 连接到所述一个或者多个处理器的存储器设备;以及 在所述存储器设备中驻留的程序指令,用于通过以下操作从集成电路设计提取数据路径逻辑:接收用于所述集成电路设计的电路描述,所述电路描述包括被互连用于形成多个网的多个单元,根据所述电路描述生成单元聚类,评估所述单元聚类以标识所述单元聚类中的一个或者多个聚类特征,并且基于所述一个或者多个聚类特征使用一个或者多个机器学习模型将所述单元聚类选择性地分类为数据路径逻辑或者非数据路径逻辑。
8.根据权利要求7所述的计算机系统,其中所述程序指令使用至少两个机器学习模型来对所述单元聚类分类,每个所述机器学习模型提供对所述单元聚类中的给定的单元聚类是否为数据路径逻辑的指示,并且仅在所述两个机器学习模型均指示所述给定的单元聚类是数据路径逻辑时将所述给定的单元聚类分类为数据路径。
9.根据权利要求8所述的计算机系统,其中所述机器学习模型中的第一机器学习模型是支持向量机,并且所述机器学习模型中的第二机器学习模型是神经网络。
10.根据权利要求7所述的计算机系统,其中所述聚类特征包括用于所述单元聚类的自同构发生器。
11.根据权利要求7所述的计算机系统,其中所述电路描述还包括来自先前布局的用于所述单元的位置,并且所述聚类特征包括基于所述单元位置的物理信息。
12.根据权利要求11所述的计算机系统,其中所述物理信息包括用于给定的聚类的总单元面积与用于所述给定的单元聚类的定界框的半周长之比。
13.一种从集成电路设计提取数据路径逻辑的系统,包括: 用于通过以下操作从集成电路设计提取数据路径逻辑的装置: 接收用于所述集成电路设计的电路描述,所述电路描述包括被互连用于形成多个网的多个单元,根据所述电路描述生成单元聚类,评估所述单元聚类以标识所述单元聚类中的一个或者多个聚类特征,并且基于所述一个或者多个聚类特征使用一个或者多个机器学习模型将所述单元聚类选择性地分类为数据路径逻辑或者非数据路径逻辑。
14.根据权利要求13所述的系统,还包括:用于使用至少两个机器学习模型来对所述单元聚类分类的装置,每个所述机器学习模型提供对所述单元聚类中的给定的单元聚类是否为数据路径逻辑的指示,并且仅在所述两个机器学习模型均指示所述给定的单元聚类是数据路径逻辑时将所述给定的单元聚类分类为数据路径。
15.根据权利要求14所述的系统,其中所述机器学习模型中的第一机器学习模型是支持向量机,并且所述机器学习模型中的第二机器学习模型是神经网络。
16.根据权利要求13所述的系统,其中所述聚类特征包括用于所述单元聚类的自同构发生器。
17.根据权利要求13所述的计算机系统,其中所述电路描述还包括来自先前布局的用于所述单元的位置,并且所述聚类特征包括基于所述单元位置的物理信息。
18.根据权利要求17所述的计算机系统,其中所述物理信息包括用于给定的聚类的总单元面积与用于所述给定的单元聚类的定界框的半周长之比。
19.在计算机系统的存储器设备中驻留的、优化集成电路设计的单元布局的电子设计自动化工具中,改进包括: 数据路径提取工具,其使用一个或者多个机器学习模型以基于一个或者多个聚类特征将所述单元的聚类选择性地分类为数据路径逻辑或者非数据路径逻辑。
20.根据权利要求19所述的改进,其中所述数据路径提取工具使用包括支持向量机和神经网络的至少两个机器学习模型,并且仅在所述支持向量机和所述神经网络指示给定的单元聚类是数据路径逻辑时将给定的单元聚类分类为数据路径。
21.根据权利要求19所述的改进,其中所述聚类特征包括用于所述单元聚类的自同构发生器。
22.根据权利要求19所述的改进,其中所述聚类特征包括基于来自先前布局的用于所述单元的位置的物理信息。
23.根据权利要求22所述的改进,其中所述物理信息包括用于给定的聚类的总单元面积与用于所述给定的单元聚类的定界框的半周长之比。
24.一种训练基于机器学习的数据路径提取工具的计算机实施的方法,包括: 通过执行计算机系统中的第一指令,接收代表互连的单元的聚类的设计图案的学习集合,其中指定每个设计图案为数据路径或者非数据路径; 通过执行所述计算机系统中的第二指令,标识所述设计图案中的聚类特征; 通过执行所述计算机系统中的第三指令,将一个或者多个机器学习模型应用于所述聚类特征以将所述特征与数据路径逻辑或者非数据路径逻辑选择性地关联;并且 通过执行所述计算机系统中的第四指令,校准所述一个或者多个机器学习模型。
25.根据权利要求24所述的方法,还包括: 将所述一个或者多个机器学习模型应用于代表互连的单元的不同聚类的设计图案的验证集合以将所述验证集合中的所述设计图案分类为数据路径或者非数据路径; 确定所述一个或者多个机器学习模型并未准确地分类所述验证集合中的所述设计图案;并且 响应于所述确定来重新校准所述一个或者多个机器学习模型。
【文档编号】G06F17/50GK103455654SQ201310205844
【公开日】2013年12月18日 申请日期:2013年5月29日 优先权日:2012年5月30日
【发明者】S·I·瓦德 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1