CN101663665A - 导出原理图的方法 - Google Patents

导出原理图的方法 Download PDF

Info

Publication number
CN101663665A
CN101663665A CN200880000047A CN200880000047A CN101663665A CN 101663665 A CN101663665 A CN 101663665A CN 200880000047 A CN200880000047 A CN 200880000047A CN 200880000047 A CN200880000047 A CN 200880000047A CN 101663665 A CN101663665 A CN 101663665A
Authority
CN
China
Prior art keywords
schematic diagram
diagram
circuit
existing
fundamental
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN200880000047A
Other languages
English (en)
Other versions
CN101663665B (zh
Inventor
V·扎瓦德斯基
E·凯斯
S·埃德蒙兹
A·诺维克夫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Taike Yingsai Technology Co., Ltd.
Original Assignee
Semiconductor Insights Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Semiconductor Insights Inc filed Critical Semiconductor Insights Inc
Publication of CN101663665A publication Critical patent/CN101663665A/zh
Application granted granted Critical
Publication of CN101663665B publication Critical patent/CN101663665B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本发明公开了一种用于导出表示包括多个电路元件的集成电路的原理图的方法、计算机可读介质和系统。总体上,该方法、计算机可读介质和系统被设计为接收标识至少一些电路元件的工作原理图,以及来自一个或多个库的至少一个已有原理图作为输入。基于所述输入,识别与所述至少一个已有原理图的至少一部分匹配的所述工作原理图的至少一部分并将其替换,从而形成修正的原理图。

Description

导出原理图的方法
技术领域
本发明主要涉及结构数据挖掘的应用,以及更具体地,涉及结构数据挖掘在集成电路的逆向工程中生成一个或多个原理图(schematicdiagram)的技术中的应用。
背景技术
集成电路(IC)的逆向工程(reverse engineering,RE)主要涉及在制造后分析电路的物理结构并形成其原理图。因此,集成电路的逆向工程可包括多步骤的处理,其中IC的原理图由产品生成。直到近年来,通过包括电路元件的图像采集、电路元件的识别以及它们之间的信号跟踪的人工技术已经实现了IC的逆向工程。由于大部分原理图包括标准高级元件(例如逆变器、触发器、放大器等),它们进而形成更复杂但仍然标准且被广泛应用的模块,因此分析者必须首先处理原理图的基本元件以将它们组合成特定的可识别标准高级元件和模块。例如,在典型的逆向工程处理的过程中,基本电路元件例如由拓扑图像(topographical image)提取,并且在它们之间进行连接以再生成电路的各个部件和模块。为了完成该处理,一般使用来自IC的任何层和所有层的拓扑图像信息。对于本领域的技术人员来说,显然以上讨论是逆向工程处理的基本概述,并不说明与逆向工程处理相关的所有步骤或详细内容。
如上所述,由所提取的电路元件生成原理图的处理通常为一种人工处理,其中分析者识别基本电路元件并在它们之间形成连接以形成原理图。虽然在努力开发用于生成原理图的自动系统,但质量好的原理图仍然通过这种人工处理生成。实际上,有时一般认为人工生成的原理图是由逆向工程的其他技术生成的原理图进行比较的标准。
然而,现代IC对传统逆向工程技术提出许多挑战。这些挑战包括,例如,但不限于,电路特征的不断减小的线路尺寸以及电路元件的不断减小的物理尺寸;使用所谓的自动路由(auto-route)技术,其中电路元件关于空间因素设置并且不需要通过关于它们电路操作的逻辑定位而设置;以及对于本领域技术人员来说将显而易见的其他这样的考虑。在它们的位置中,已经开发了用于图像捕捉和电路元件识别的局部自动系统,其中这些系统一般实现为用于信息存储和处理的数字装置。
例如,已经投入了相当大的精力研究用于从IC的图像中提取电路信息的系统和方法。这些系统和方法适合于电路元件的识别或提取、所提取元件之间的连通性的描图以及IC原理图的生成。这些系统的目标是使尽可能多的处理自动化,尤其是在设计分析领域中。然而,在各种已知的系统或方法中,仍然存在需要操作者干预的若干人工步骤。而且,存在某些特定的电路区域,这些区域使利用这种已知系统和方法对一部分原理图进行分析变得困难。
如上所述,集成电路的逆向工程可以根据两个基本处理做大致考虑:提取电路元件,包括互连,以及由此生成原理图。后一处理是这里尤其关心的处理。已经开发了一些用于原理图的自动生成,或一般来说,图形布局的技术,其中能量函数(例如,净拥塞)最小化。然而,对于人的理解来说,所生成的原理图通常具有比由人绘制的常规高质量原理图更低的价值。
因此,这就需要一种克服已知技术的一些缺点的新型原理图生成系统和方法。
被提供的所述背景信息披露了申请人所想到的信息,这些信息可能与本发明相关。不是必然想要承认、也不应当解释为承认任何前述信息构成与对抗本发明的现有技术。
发明内容
本发明的目的在于提供一种尤其是在逆向工程集成电路中导出原理图的方法。根据本发明的一个方面,提供一种导出表示包括多个电路元件的集成电路(IC)的原理图,该方法包括以下步骤:接收标识至少一些电路元件的工作原理图,以及来自一个或多个库的至少一个已有原理图作为输入;自动识别与所述至少一个已有原理图的至少一部分匹配的所述工作原理图的至少一部分;以及用至少一个已有原理图的匹配部分替换工作原理图的被识别部分,从而形成修正的原理图。
根据本发明的另一个方面,提供一种计算机可读介质,该计算机可读介质包括通过计算装置执行的语句和命令,以通过执行以下步骤导出表示包括多个电路元件的集成电路(IC)的原理图:接收标识至少一些电路元件的工作原理图,以及来自一个或多个已有原理图库的至少一个已有原理图作为输入;自动识别与所述至少一个已有原理图的至少一部分匹配的所述工作原理图的至少一部分;以及用至少一个已有原理图的匹配部分替换工作原理图的被识别部分,从而形成修正的原理图。
对于本领域技术人员来说,在阅读以下结合附图的本发明的非限制性描述后,本发明的其他方案和优点,以及本发明不同实施例的结构和操作将变得显而易见。
附图说明
图1A是根据本发明的一个实施例的用于识别IC的电路元件的系统的方框图;
图1B是根据本发明的一个实施例的门海(sea of gates)的示意图;
图2是根据本发明的一个实施例导出原理图的方法的方框图;
图3是根据本发明的一个实施例导出原理图的方法的流程图;
图4A是根据本发明的一个实施例的工作原理图的一部分的示意图;
图4B是根据本发明的一个实施例的如可在原理图库中找到的已有原理图的示意图;
图5A是根据本发明的一个实施例的用于导出原理图的方法的流程图;
图5B是根据本发明的一个实施例的用于导出原理图的方法的流程图;
图6是根据本发明的一个实施例的示例性图;
图7A是根据本发明的一个实施例的示例性原理图;
图7B是根据本发明的一个实施例的图7A的原理图的图形表示;
图8是根据本发明的一个实施例的用于将工作原理图的至少一部分与已有原理图相比较的方法的流程图;
图9A是根据本发明的一个实施例的工作原理图的电路元件的图表示;
图9B是根据本发明的一个实施例的如可在原理图库中找到的已有原理图的图形表示;
图9C是根据本发明的一个实施例的修正的或扩展的原理图;
图10是根据本发明的一个实施例的用于扩展原理图的匹配部分的处理的流程图;
图11是根据本发明的一个实施例的比较原理图的处理的流程图。
具体实施方式
除非另外限定,在此使用的所有技术和科学术语具有本发明所属领域的普通技术人员通常理解的相同含义。
为便于说明,对具体的实施例进行了描述,以提供对本发明的完全理解。然而,本领域的技术人员通过阅读本发明的公开内容将理解,在没有这些具体的详细内容下可实践本发明。而且,公知的元件、器件、处理步骤等等没有进行详细描述,以避免模糊所述发明的范围。
如上所述,在此参照示例性实施例描述的本发明提供一种导出原理图的新方法,尤其涉及在集成电路的逆向工程中生成所述原理图。总体上,在此所述的方法能提供高质量原理图,在一些实施例中,能与本领域的技术人员所理解的构成了很好的“教科书式”的原理图相当。总体上,该方法将具有作为输入的包括多个电路元件的电路信息,例如,该电路信息由IC上执行的回读处理(read back process)提供。
参照图1A和图1B,并且根据本发明的一个实施例,示意性地说明逆向工程处理的第一步骤。在IC 102的逆向工程的该实施例中,执行回读处理103,或者本技术领域容易获知的其他这种处理,以提取IC 102中存在的电路和电路元件。在一些实施例中,回读处理103可包括自动处理,例如,如申请人的美国专利6,907,583、6,738,957和6,289,116中,以及共同待决的美国专利申请No.2006/0045325中所描述,在此通过援引将它们全部纳入。回读处理的详细内容,诸如处理103相关的那些内容,对于本领域技术人员来说是显而易见的,因此在此将不作进一步描述。在回读处理103期间提取的电路元件一般提供为所谓的门海104,其中门海的示例性描述提供在图1B中。通常门海104将包括基本电路元件,其可能包括,例如,单独晶体管、电阻器、互连和单独和/或隔离的逻辑门,仅举几个例子。门海104的电路元件一般被标以例如,连接和/或其上的信号、元件的物理尺寸和管脚坐标等。注意即使门之间的连接未在图1B的示例性门海104中加以绘制,门的电连接一般可通过管脚处的相同标记而为人所知或作为暗示。
在图2中示出了根据本发明的一个实施例的导出原理图方法的高级方框图。在该例中,工作原理图202首先是门海,诸如图1B的门海104。为便于讨论,虽然将工作原理图202称为原理图,但对于本领域技术人员来说,显然其不表示电路元件及其在原理图中以传统形式出现的连通性。
库204包含已有原理图的至少一个集合,在该库中,每个集合将包括至少一个高质量的已有原理图206,即,至少一个其质量足以满足本申请要求的质量标准的原理图206。例如,库204将总体包括来自先前项目或库的已有原理图,其包括但不限于,标准单元的库。本领域的技术人员将理解,库204可包含来自不同的高质量原理图源的原理图。例如,IC,诸如图1A的IC 102,可以是来自特定厂商的DRAM。来自相同厂商的相似部分的原理图可以存在并包括在库中。该库然后通过分析者选择以包括在库204中。可选择另外已有原理图库以包括在库204中,使得库204包括被认为与待进行逆向工程的IC关联的原理图可能相关的原理图。因此,这些已有原理图的使用可减少正在讨论的导出IC电路原理图所需的工作。
仍参照图2,对于在此所述的不同示例性方法,利用工作原理图202和来自库204的原理图作为输入,可提供改进和/或好质量的示意图208的导出。在一些实施例中,可以根据包括,但不限于连接、信号和布局信息等项目,认为所生成的高质量原理图被完成,并且其质量接近例如,人工绘制的原理图的质量。
在当前实施例的方法中,搜索库204中具有与至少一部分工作原理图202相同的部件和连接的已有原理图206。如果发现匹配,则已有原理图206或其一部分,用于替换工作原理图的匹配部分从而产生修正的且可能改进的工作原理图。
在一个实施例中,该方法的搜索和替换步骤可包括迭代处理(iterative process),该迭代处理一直持续到库204的已有原理图和工作原理图202之间建立尽可能大的匹配为止。应用该方法,工作原理图202以类似于库204的原理图的方式绘制。在某些方面来说,通过一个或多个质量阈值测量或通过操作者预览和核准来自动确定工作原理图202是好质量原理图,从而其成为好质量原理图208。
图3表示根据本发明的实施例导出好质量原理图的方法300的流程图。在步骤302,显示工作原理图,其中工作原理图包括多个电路元件并且一般由回读处理,如图1A的这种处理103生成,在步骤304,将来自库中的至少一个已有原理图与工作原理图的一部分相比较。如果在步骤304没有发现匹配,则该方法经由步骤305返回到步骤304,以比较另一已有原理图。
如果步骤305确定该部分和其中一个已有原理图之间存在匹配,则在步骤306将该部分从工作原理图移除。然后在步骤308,将匹配的已有原理图部分插入到工作原理图中,生成修正的工作原理图。在步骤310,询问已修正的工作原理图是否是一个好的,或者至少改进了的原理图。如果已修正的工作原理图质量不够好,则该方法返回到步骤304并且进一步考虑原理图库,以查找匹配的已有好质量原理图。最后,如果在步骤310认为已修正的原理图质量足够好,则在步骤312将其输出。
方法300的主要特征是在步骤304将工作原理图的一部分与来自原理图库的原理图进行匹配。本发明的另外的实施例将更详细地讨论步骤304中所实施的方法。
不同实施例的基本前提是工作原理图的多个部分可通过自动方式与至少一个已有原理图比较和替换,允许好质量原理图的形成。
针对图4A和图4B的示例性示意图以及图5A的方法500,来讨论根据本发明的实施例的工作原理图的门的匹配和替换。对本领域技术人员来说显而易见的是,图4A表示较差组织的且不是传统格式的工作原理图。图4B表示设置在选定库内的原理图。虽然它们看起来明显不同,但图4A和4A的各个原理图实际上相同。
在当前实施例中,如在方法500中说明的比较的方法,实施开始点。即,识别所谓的枢轴元件(pivotal element),其中分析者认为枢轴元件可能是工作原理图内的更高级结构的部分,并且可能在已有原理图中找到。因此方法500在步骤502开始:接收枢轴元件的选择。关于图4A,元件E3 404和E5 406已被识别为枢轴元件。在该情况下,选择的枢轴元件是未连接的,其可导致在后续计算中出现困难。在当前实施例中,使用连接的子图(sub-graph)。因此包含枢轴元件E3 404和E5 406的连接的枢轴图408在步骤504自动生成。枢轴图408包括连接的元件E3、E4、E5,其中元件E3 404为选择的枢轴元件提供连接。在当前实施例中,用于导出这种连接子图的算法基于广度优先搜素(BFS)算法。对于本领域技术人员来说,BFS算法的使用及其详细内容将显而易见。
在步骤506,接收已有原理图的至少一个目标库的选择。在当前实施例中,分析者选择目标库。所选的目标库一般将包括至少一个已有原理图,诸如在图4B中所示。在替代的实施例中,可以对目标库预编程。目标库的自动选择将考虑被分析的IC的各个方面,其包括,但不限于,例如厂商、功能及其功能块。
在步骤508,确定在步骤504生成的枢轴图是否可定位在目标库的至少一个已有原理图内。如果在步骤508枢轴图被定位,则在步骤510匹配的“区域”被定位。如在后续实施例中将要更详细解释的,通过确定工作原理图的额外电路元件是否可附加到枢轴图,以及工作原理图的放大部分是否可附加到枢轴图,以及工作原理图的放大部分是否可定位在至少一个已有原理图中而扩展所述匹配。在步骤512,提供匹配已有原理图的预览。在步骤514接收匹配已有原理图是否为质量好的原理图的指示。在步骤516,将枢轴图和扩展匹配的任何电路元件从工作原理图移除以及将匹配的已有原理图插入到工作原理图中以形成修正的工作原理图。
在本发明的另一实施例中,如图5B的方法520所示,不实施枢轴图。因此,在步骤522,接收至少一部分工作原理图的选择。在步骤524,确定该部分是否定位在已有原理图中。定位步骤实施与子图同构关联的步骤。
在图3的步骤304、图5A的步骤508或图5B的步骤524中的任一步骤中,将工作原理图的至少一部分与至少一个已有原理图,或其一部分相比较,以确定该至少一个部分是否可定位在已有原理图内。另外,在步骤510,对定位的任何匹配进行扩展以使原理图的更大部分合并在一起。在一个实施例中,这些处理都实施与子图同构关联的技术。
应用子图同构的第一步骤是将原理图转换为可以比较的图。
图6中示出根据本发明的一个实施例的示例性图。图602包括顶点(vertex),诸如顶点604,以及包括边(edge),诸如边606。作了标记的定向图(G),诸如图602,可以通过以下方程给出:
G=(V,E,Lv,Le)
其中V是顶点的有限集;E是边集和V2的子集;Lv是与顶点关联的标记(label),使得Lv:V->字符串;以及Le是分配给边的标记的集合,使得Le:E->字符串。
图602具有四个(1,2,3,4)顶点使得:
V={1,2,3,4};
E={(4,3),(3,4),(3,1),(1,2)};
Lv(1)=B,Lv(2)=A,Lv(3)=C,Lv(4)=D;以及
Le(3,4)=W,Le(4,3)=Z,Le(3,1)=Y,Le(1,2)=X。
通常,两个图像,如G1=(V1,E1,Lv1,Le1)以及G2=(V2,E2,Lv2,Le2)可被看作是同构的——如果函数f(I):G1->G2是双射函数,即,存在一一对应,当且仅当(u,v)在E1中时,I(v)、I(u)处于E2中,即,
Lv1(v)=Lv2(I(v)),Le1(u,v)=Le2((I(u),I(v))。
通常,原理图可以认为是图G。在本发明的不同实施例中,讨论原理图的一部分,其实际上可包括单独的门。这部分可认为是图G的子图。因此,如果G可以通过(V,E,Lv,Le)描述,则作为V的子集的S限定G的子图。因此,图(S,ES,Lv,Le)可以称为由S导出的G的子图,其中ES是两个顶点均在S中的边所构成的子集。
由原理图生成的子图的例子在图7A和图7B中被给出。图7A的原理图包括逆变器702、NOR(或非)门704和NAND(与非)门706。相应的子图在图7B中被给出。在假设每个门存在一个顶点以及如果两个门之间存在连接,连接的门之间存在沿两个方向前进的边的情形下,形成用于特定原理图的图。从而图7B的图包括用于图7A的每个门的顶点以及两个(2)边,对于门之间的每个连接,每个边沿不同方向。因此连接703形成边(OUT,A)以及(A,OUT),以及连接705形成边(A,A),(OUT,A)以及(A,A),(A,OUT)。
顶点标记Lv是一组等效门的标识符,为便于绘制,它们可彼此替代(例如,所述门具有相似功能、尺寸和引脚位置,并由此在原理图上等效或类似地描述)。例如,NOT(非)门可认为与缓冲器和二极管等效,从而提供组id(标识符)NOT;NOR门可认为与NAND门等效,从而生成组id 21。例如,虽然功能可能是不同的,为便于原理图绘制,NOR门704和NAND门706被认为可以替换-即,适合于NAND门706的各个原理图将适合于NOR门704。
在建立关于Le的规则之前,注意许多门一般具有可交换的引脚。这主要是因为一些部件与确切引脚形成的连接是非物质的。例如,NOR门704具有引脚A、B和OUT,其中引脚A和B可交换。有人可能需要在生成的原理图中允许所述交换。因此,可交换组(A,B)中的所有引脚可认为具有名称A。
因此,Le(v,u)可限定为成对的列(list)(pinU,pinV),其中pinU是与门u关联的引脚的名称,以及pinV是与门V关联的引脚的名称。在一个实施例中,该列以词典顺序排序。
使用与枢轴图关联的标记子图,以及与现已计算的已有原理图关联的标记图,现在将讨论根据本发明的实施例的用于图比较的算法。
在图5的步骤508,图库(即,已有原理图)内的所有枢轴图408实例利用子图同构被定位。更正式地说,这个问题是对于已知枢轴图,在图库中查找所有的节点子集,其诱导子图与支点图同构,这一般称为NP完全程序(NP-complete program)。所述程序对于本领域技术人员来说公知,以及工作的实体围绕从实际的角度出发解决所述程序的算法。在2001年5月23-25日Workshop on Graph-basedRepresentations in Pattern Recognition(关于图案识别中基于图表示的研讨会),P.Foggia、C.Sansonne和M.Vento的“A performancecomparison of five algorithms for graph isomorphism(用于图同构的五种算法的性能比较)”一文中提供了对所述程序的很好概述,在此通过援引将其全部纳入。
图8表示根据本发明的一个实施例的方法800,用于确定关于已知图的不变哈希(hash)标记。已经发现方法800为由原理图形成的图提供很好的实用性能,如可将在逆向工程环境中发现的那样。
在步骤806,对每个节点计算表示与某一给定顶点直接相邻关系的标记ψi。在步骤808,将只对某一给定的顶点计算的标记ψi整合到该顶点的当前标记
Figure S2008800000470D00101
中。继续进行所述计算使得该图的顶点变得更易识别。在步骤808,计算每个
Figure S2008800000470D00102
(v)的哈希函数。
对某一给定图计算graphLabel(图标记)。出于实际考虑,实际上,一般认为在步骤810计算的graphLabel等效的图是同构的。理论上这种假设可能导致一些误报(false positive),但不会漏报(falsenegative)。已经发现这种假设还没有导致任何重大的实际问题。
注意在该实施例中,在步骤808和810使用的函数排序是其变元向量的词典排序,这对本领域技术人员来说是显而易见的。
在一个实施例中,方法800实施64位哈希函数,而不是应用graphLabel的字符串。已经发现使用这种哈希函数改进了该方法的性能。在这样的实施例中,完美哈希函数(例如,如在Thomas H.Cormen,Charles E.Leiserson,Ronald L.Rivest,和Clifford Stein,Introduction to Algorithems,Second Edition,MIT Press andMcGraw-Hill,2001,Section 11.5:Perfect hashing,pp.245-249(MIT Press and McGraw-Hill,2001,算法导论,第二版,第11.5节:完美哈希,第245-249页)中描述)、普通哈希函数、CRC函数(例如,CRC32)等,可在步骤808和810实施。对于本领域技术人员来说显而易见的是,在不偏离本发明公开内容的一般范围和本质下,也可实施其他类型的哈希函数。
现在将参照图9A到9C并且根据本发明的一个实施例,来讨论方法800在定位匹配的子图以及扩展后续的匹配中的应用。
图9A存在两个作为工作原理图的一部分的门。门902、904和906一般都具有已知的标识符和连接。在该实施例中,门902标记为E1并具有与其关联的信号A1、A2和A3;门904标记为E2并具有与其关联的信号A3和A4,以及门906标记为E3并具有与其关联的信号A4和A5。连通性信息,即,信号,可以以多种格式表示。在当前的实施例中,E1、E2和E3具有与其被期望的连接关联的字符串标记。在申请人的美国专利申请,公开号为20070256037中概述了这种方法,此处通过援引将其全部内容纳入本文。在该方法中,如果两个连接具有相同标记,则连接它们并且该连接可以绘制在最终的原理图上。参照图9A,门E1 902和E2 904都具有与它们关联的信号A3,因此连接这些元件。
为便于说明,已选择门E1 902和E2 904作为枢轴图的元件。图9B示出设置在已有原理图库内的已有原理图908,并且其包括原理图部分910,该原理图部分910包括与枢轴图的门E1 902和E2 904类似的元件T1和T2。因此,形成枢轴图的门902和904,以及库内已有原理图908的一部分910,根据以上讨论的方法分别被转换为子图和图。一般情况是库中存在不止一个已有原理图。
在该实施例中,通过确定工作原理图的额外电路元件(例如,图9A的元件E3 906)是否可被添加到枢轴图,以及工作原理图的放大部分是否可被定位在至少一个已有原理图中来扩展匹配。在该例中,确定元件E3 906可添加到枢轴图以形成放大部分,因为库中有一类似的放大部分(例如,原理图910)可用。该过程由此导致修正的或扩展的原理图912,如图9C中所示。
现参照图10,其示出一个描绘了根据本发明的一个实施例的用于扩展匹配的子图的处理1020的流程图。在该实施例中,在步骤1022将所有匹配子图放置在队列中用于生成原理图(例如,如在图5A的步骤504所生成的原理图)。当队列不活动且可用时,在步骤1024选择队列中最可能的匹配并且在步骤1026进行扩展,如上所述。
然后在步骤1028将最近扩展的匹配返回到队列中。通过该处理,从而在步骤1030视需要可从队列中选择更大匹配。
参照图11,其示出根据本发明的一个实施例的用于实施匹配扩展步骤诸如图10的步骤1026的处理1150。在该处理中,扩展所选的匹配,首先通过在步骤1152中识别连接的顶点,以及实施如步骤1154、1156和1158所确定的,以及如上所述的一系列计算,用于生成新匹配,以添加到该队列,用于生成原理图。
虽然根据目前认为是本发明的最实用和优选的实施例来描述本发明,但应当理解本发明不限于所公开的实施例。本领域的普通技术人员将肯定明白的是,在不偏离如权利要求中所限定的本发明的精神和范围下可实施各种修改和等效结构和功能。因此,如权利要求中所限定的本发明必须依照可能的最广泛解释以便包括所有这种修正和等效结构和功能。

Claims (13)

1.一种导出表示包括多个电路元件的集成电路的原理图的方法,该方法包括以下步骤:
接收标识至少一些电路元件的工作原理图、以及至少一个来自一个或多个库的已有原理图作为输入;
自动识别与所述至少一个已有原理图的至少一部分匹配的所述工作原理图的至少一部分;以及
用所述至少一个已有原理图的匹配部分替换所述工作原理图的已识别部分,从而形成修正的原理图。
2.根据权利要求1所述的方法,还包括步骤:
接收所述修正的工作原理图是改进的原理图的指示,否则重复所述识别和替换步骤;以及
提供所述修正的原理图作为改进的原理图。
3.根据权利要求1所述的方法,还包括步骤:将所述多个电路元件的至少一个电路元件的极性移除。
4.根据权利要求1所述的方法,其中所述识别步骤独立于所述至少一个已有原理图内的对称。
5.根据权利要求1所述的方法,还包括步骤:
在集成电路上执行回读操作;
确定集成电路的电路内存在所述多个电路元件;以及
编译包括所述多个电路元件的所述工作原理图。
6.根据权利要求1所述的方法,其中所述识别步骤包括:
从所述工作原理图选择至少一个枢轴电路元件;
生成具有所述至少一个枢轴电路元件的连接子图;以及
利用子图同构识别所述至少一个已有原理图的匹配部分。
7.根据权利要求6所述的方法,还包括步骤:在所述替换步骤之前,接收所识别的匹配部分提供了对所述至少一个枢轴电路元件的改进表示的指示,否则重复所述识别步骤。
8.根据权利要求7所述的方法,其中所述工作原理图包括门海。
9.根据权利要求1所述的方法,其中该方法包括由计算机实现的方法。
10.一种计算机可读介质,其包括供计算装置执行的语句和指令,以通过执行以下步骤导出表示包括多个电路元件的集成电路的原理图:
接收标识至少一些电路元件的工作原理图,以及至少一个来自一个或多个库的已有原理图作为输入;
自动识别与所述至少一个已有原理图的至少一部分匹配的所述工作原理图的至少一部分;以及
用所述至少一个已有原理图的匹配部分替换所述工作原理图的已识别部分,从而形成修正的原理图。
11.根据权利要求10所述的方法,所述语句和指令还用于执行以下步骤:
接收所述修正的工作原理图是改进的原理图的指示,否则重复所述识别和替换步骤;以及
提供所述修正的原理图为改进的原理图。
12.根据权利要求10所述的方法,还包括以下步骤:
在所述集成电路上执行回读操作;
确定在所述集成电路的电路内存在所述多个电路元件;以及
编译包括所述多个电路元件的所述工作原理图。
13.根据权利要求10所述的方法,其中所述识别步骤包括:
从所述工作原理图中选择至少一个枢轴电路元件;
生成具有所述至少一个枢轴电路元件的连接子图;以及
利用子图同构识别来自所述至少一个已有原理图的匹配部分。
CN200880000047.0A 2008-04-18 2008-04-18 导出原理图的方法 Active CN101663665B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CA2008/000734 WO2009127035A1 (en) 2008-04-18 2008-04-18 Method of deriving an integrated circuit schematic diagram

Publications (2)

Publication Number Publication Date
CN101663665A true CN101663665A (zh) 2010-03-03
CN101663665B CN101663665B (zh) 2014-07-09

Family

ID=41198719

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200880000047.0A Active CN101663665B (zh) 2008-04-18 2008-04-18 导出原理图的方法

Country Status (4)

Country Link
US (1) US8347262B2 (zh)
CN (1) CN101663665B (zh)
CA (1) CA2719835C (zh)
WO (1) WO2009127035A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102486807A (zh) * 2010-12-03 2012-06-06 北京晶智意达科技有限公司 基于子图同构的子电路签名方法
CN103324768A (zh) * 2012-03-21 2013-09-25 苏州芯禾电子科技有限公司 一种电路原理图的快速标注方法

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8108823B2 (en) * 2008-06-18 2012-01-31 International Business Machines Corporation User selected grid for logically representing an electronic circuit
US8464191B2 (en) * 2011-07-21 2013-06-11 R3 Logic, Inc. System and method for identifying circuit components of an integrated circuit
US8984459B2 (en) * 2012-05-04 2015-03-17 Taiwan Semiconductor Manufacturing Company, Ltd. Methods and apparatus for layout verification
US10354037B1 (en) * 2016-06-30 2019-07-16 Cadence Design Systems, Inc. Methods, systems, and computer program product for implementing an electronic design by manipulating a hierarchical structure of the electronic design
US10558775B2 (en) * 2017-12-20 2020-02-11 International Business Machines Corporation Memory element graph-based placement in integrated circuit design

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5287511A (en) * 1988-07-11 1994-02-15 Star Semiconductor Corporation Architectures and methods for dividing processing tasks into tasks for a programmable real time signal processor and tasks for a decision making microprocessor interfacing therewith
US5448493A (en) * 1989-12-20 1995-09-05 Xilinx, Inc. Structure and method for manually controlling automatic configuration in an integrated circuit logic block array
US5598344A (en) * 1990-04-06 1997-01-28 Lsi Logic Corporation Method and system for creating, validating, and scaling structural description of electronic device
US5555270A (en) * 1995-03-13 1996-09-10 Motorola Inc. Method and apparatus for constructing unique input/output sequence (UIO) sets utilizing transition distinctness measurements
US6438734B1 (en) * 1997-10-06 2002-08-20 Agilent Technologies, Inc. Fast search method for enabling a computer to find elementary loops in a graph
US6536018B1 (en) * 2000-06-05 2003-03-18 The University Of Chicago Reverse engineering of integrated circuits
CN1523660A (zh) * 2003-02-17 2004-08-25 上海芯华微电子有限公司 集成电路设计的双向技术系统
US7073141B2 (en) * 2003-11-25 2006-07-04 Intel Corporation Device, system and method for VLSI design analysis
US8316190B2 (en) * 2007-04-06 2012-11-20 Waratek Pty. Ltd. Computer architecture and method of operation for multi-computer distributed processing having redundant array of independent systems with replicated memory and code striping

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102486807A (zh) * 2010-12-03 2012-06-06 北京晶智意达科技有限公司 基于子图同构的子电路签名方法
CN103324768A (zh) * 2012-03-21 2013-09-25 苏州芯禾电子科技有限公司 一种电路原理图的快速标注方法

Also Published As

Publication number Publication date
CA2719835C (en) 2014-07-15
WO2009127035A1 (en) 2009-10-22
CN101663665B (zh) 2014-07-09
US8347262B2 (en) 2013-01-01
US20110041110A1 (en) 2011-02-17
CA2719835A1 (en) 2009-10-22

Similar Documents

Publication Publication Date Title
CN101663665B (zh) 导出原理图的方法
US9619691B2 (en) Multi-view 3D object recognition from a point cloud and change detection
CN101063987B (zh) 网络列表组织工具
US7752577B1 (en) Constraint plus pattern
US11010528B2 (en) Knowledge-based analog layout generator
Jünger et al. Level planar embedding in linear time
Ali et al. Towards characterizing Markov equivalence classes for directed acyclic graphs with latent variables
CN104834717A (zh) 一种基于网页聚类的Web信息自动抽取方法
US20160379088A1 (en) Apparatus and method for creating an image recognizing program having high positional recognition accuracy
EP4303813A1 (en) Method, apparatus and storage medium for multi-target multi-camera tracking
US10614312B2 (en) Method and apparatus for determining signature actor and identifying video based on probability of appearance of signature actor
CN101419717B (zh) 一种版式文件图文自动关联的方法及系统
US20200210746A1 (en) Floating form processing based on topological structures of documents
CN103995816A (zh) 信息处理设备和信息处理方法
JP4834351B2 (ja) 文字認識装置及び文字認識方法
Gupta et al. Automated valve detection in piping and instrumentation (P&ID) diagrams
Su et al. A novel fast layout encoding method for exact multilayer pattern matching with Prüfer encoding
Diers et al. A survey of methods for automated quality control based on images
US20130195368A1 (en) Scalable pattern matching between a pattern clip and a pattern library
Jin et al. Harmonious semantic line detection via maximal weight clique selection
Drobnyi et al. Connectivity detection for automatic construction of building geometric digital twins
CN101814141A (zh) 存储介质、字符识别方法以及字符识别设备
JP5304781B2 (ja) 画像照合装置、画像照合用特徴量格納記憶媒体、画像照合方法および画像照合用プログラム
CN106991050A (zh) 一种静态测试空指针引用缺陷假阳性识别方法
CN103839060A (zh) 一种单字区域的合并方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee
CP01 Change in the name or title of a patent holder

Address after: Ontario

Patentee after: Taike Yingsai Technology Co., Ltd.

Address before: Ontario

Patentee before: Semiconductor Insights Inc.