CN100392660C - 集成电路诊断方法和系统 - Google Patents
集成电路诊断方法和系统 Download PDFInfo
- Publication number
- CN100392660C CN100392660C CNB028300424A CN02830042A CN100392660C CN 100392660 C CN100392660 C CN 100392660C CN B028300424 A CNB028300424 A CN B028300424A CN 02830042 A CN02830042 A CN 02830042A CN 100392660 C CN100392660 C CN 100392660C
- Authority
- CN
- China
- Prior art keywords
- circuit
- component
- information
- netlist
- layer
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/97—Determining parameters from multiple pictures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/40—Document-oriented image-based pattern recognition
- G06V30/42—Document-oriented image-based pattern recognition based on the type of document
- G06V30/422—Technical drawings; Geographical maps
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30108—Industrial image inspection
- G06T2207/30148—Semiconductor; IC; Wafer
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Multimedia (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明提供了一种用于诊断集成电路的方法、系统(12)。具体,本发明为集成电路的每个相关电路层获取一个或多个图像(S2)。基于该图像,产生部件网表(S3,S305,S315)。此外,通过对部件网表应用分级组合规则产生逻辑网表(S4)。部件网表和/或逻辑网表可以与基准网表相比较,以诊断集成电路。本发明还可以基于部件网表或逻辑网表产生图表(50),其中根据由网表确定的端口、电源、和/或部件管脚连接信息排列部件。此外,可以以有选择地显示布线连接的方式显示图表,以协助用户智能地布置电路部件。
Description
技术领域
本发明总体上涉及诊断集成电路。
背景技术
通常,希望将集成电路反向工程变为网表和/或图表,以便恢复失去的网表或图表,确定是否该集成电路侵犯知识产权,或分析集成电路的性能或故障。图表是电路的直观表示,而网表是电路的所有元件和各个管脚连接的文本表示。集成电路的几个性能使反向工程工序是困难的和耗时的。例如,集成电路上的各个部件的物理位置可能与图表中将设置部件的位置无关。此外,常常在接合在一起的几个层中实现集成电路,以建立想要的连接。
最近,提出了几种解决办法以协助其它冗长的反向工程工序。一般,采用扫描电子显微镜(SEM)或类似的成像装置检查集成电路的层。附加的工具允许图像上的数据交迭,以辨别部件特征和布线互连。另外,工具可以将图像转变为布图。
但是,继续反向工程工序以产生网表和/或图表,继续需要专业化的技术和保持时间消耗。结果,对于集成电路诊断系统、方法和程序产品存在一个需要:在降低由集成电路产生网表和/或图表所需的技术含量的同时,增加所得网表和/或图表的准确度。
发明内容
一种诊断集成电路的方法,该集成电路包括至少一个电路层,该方法包括以下步骤:
为所述至少一个电路层的每一个获取至少一个图像;
基于所述至少一个图像产生部件网表;以及
通过应用分级组合规则,基于所述部件网表产生逻辑网表。
一种诊断集成电路的方法,该集成电路包括至少一个电路层,该方法包括以下步骤:
获取所述至少一个电路层的每一个的至少一个图像;以及
基于所述至少一个图像产生图表,其中基于如下的至少一个在所述图表中设置电路部件:端口信息、电源信息和部件管脚连接信息。
一种集成电路诊断系统,包括:
获取系统,为集成电路的每个电路层获取至少一个图像;
部件系统,基于所述至少一个图像产生部件网表;以及
逻辑系统,通过应用分级组合规则以用等效逻辑部件代替所述部件网表中的至少一个电路元件,基于所述部件网表产生逻辑网表。
本发明提供了一种用于诊断集成电路的方法、系统和程序产品。具体,本发明为集成电路的每个相关电路层获取一个或多个图像。基于该图像,产生部件网表。此外,通过对部件网表应用分级组合规则产生逻辑网表。部件网表或逻辑网表可以与基准网表相比较,以诊断集成电路。本发明还可以基于部件网表或逻辑网表产生图表,其中根据由网表确定的端口、电源、和/或部件管脚连接信息布置部件。此外,可以以有选择地显示布线连接的方式显示图表,以协助用户智能地布置电路部件。
本发明的示例性方面是设计用于解决在此描述的问题以及由技术人员发现的、未论述的其它问题。
附图说明
通过下面结合附图的本发明的各个实施例的详细描述将更容易理解本发明的这些及其它特征,其中:
图1描绘了用于实现本发明的各个实施例的示例性系统。
图2描绘了根据本发明的一个实施例的方法。
图3描绘了根据本发明的另一个实施例产生网表的示例性方法。
图4描绘了根据本发明的又一个实施例产生网表的可选方法。
图5描绘了示例性图表显示器。
注意,本发明的附图不按比例。该附图仅仅是用来描绘发明的典型实施例,因此不应该被认为是限制本发明的范围。在附图中,相同的标号表示附图之间的相同部分。
具体实施方式
仅仅为了方便起见,详细的描述包括由标题表示的章节,包括I.示例性系统;II.方法概述;III.获取图像;IV.部件网表产生;V.逻辑网表产生;VI.网表应用;以及VII.选择性方案。
本发明提供了诊断集成电路(“IC”)的系统、程序产品以及方法。本发明基于集成电路的每个电路层的一个或多个图像产生“部件网表”和/或“逻辑网表”。“部件网表”包括在集成电路中使用的电路部件(即,晶体管、电容器、电阻器、端口、电源干线(rail)、电阻器、二极管、芯片等)及它们的互连。“逻辑网表”包括其中用一个或多个符号代替部件网表中的电路部件的一个或多个集合的列表,所述一个或多个符号表示由电路部件的每个集合实现的功能(即,与门,与非运算、加法器等)。
I.示例性系统
图1描绘了根据本发明的一个实施例的集成电路诊断系统12。系统12可以包括中央处理单元(CPU)14、存储器16、输入/输出(I/O)接口18、总线20以及可选的数据库24。如图所示,用户30通过I/O接口18与系统12互相作用。系统12可以是任意类型的通用/专用计算机化系统(例如,服务器、台式计算机等)。用户30可以是单独使用系统12,或可以包括可用于例如通过网络访问系统12的任意类型的计算机化系统(例如,移动电话、手持式计算机、个人数字助手、便携式(膝上型)计算机、台式计算机、工作站、大型计算机等)。在后一种情况下,用户30和系统12之间的通信可以是任意现在公知的或之后研发的、用于这种目的的机构,例如,一个或多个直接硬件连接(例如,串行端口),或通过客户机-服务器(或服务器-服务器)环境中的可寻址连接,其可以利用有线和/或无线传输方法的任意组合。在客户机-服务器环境中,服务器和客户机可以通过因特网、广域网(WAN)、局域网(LAN)、虚拟专用网络(VPN)或其它专用网连接。服务器和客户机可以利用常规网络连接,如令牌环、以太网、WiFi或其它常规通信标准。在客户机通过因特网与服务器通信的情况下,可以通过常规基于TCP/IP套接字的协议提供连接。在此情况下,客户机将利用因特网服务供应商与服务器建立连接。
系统12可以包括利用标准操作系统软件的任意通用或专用系统,该软件被设计为驱动特定硬件的运行并与其它系统部件和I/O控制器相兼容。CPU 14可以包括一个处理单元或能够并行运行的多个处理单元,或分布在一个或多个位置例如客户机和服务器上的一个或多个处理单元上。存储器16可以包括任意公知类型的数据存储和/或传输介质,包括磁介质、光介质、随机存取存储器(RAM)、只读存储器(ROM)、数据高速缓冲存储器、数据目标等。而且,类似于CPU 14,存储器16可以驻留在一个物理位置,包括一种或多种类型的数据存储,或以各种形式分布在多个物理系统上。
I/O接口18可以包括用于与用户30交换信息的任意系统,包括例如,I/O端口(串行、并行、以太网、键盘、鼠标等)、通用串行总线(USB)端口、扩展总线、集成驱动电子设备(IDE)、网络系统、调制解调器、扬声器、监视器(阴极射线管(CRT)、液晶显示器(LCD)等)、手持式装置、键盘、鼠标、语音识别系统、语音输出系统、扫描仪、打印机、传真、传呼机、存储装置等。总线20在计算机系统12中的每个部件之间提供通信链接,同样可以包括任意公知类型的传输链接,包括电、光、无线等。此外,尽管未示出,附加的部件如高速缓冲存储器、通信系统、系统软件等,可以被引入系统12。
数据库24可以为如下所述进行本发明所必需的信息提供存储。因而,数据库24可以包括一个或多个存储装置,如磁盘驱动器或光盘驱动器。此外,数据库24可以包括分布在例如LAN、WAN或存储区网络(SAN)(未示出)上的数据。数据库24也可以以本领域的普通技术人员可以解释它的方式配置,以包括一个或多个存储装置。
系统12包括存储在存储器16中作为计算机程序代码的集成电路诊断程序32。集成电路诊断程序32执行下面进一步论述的各种方法。获取系统34获取集成电路的一个或多个图像以及可以为每个图像指定坐标信息。部件系统36基于一个或多个获取的图像产生部件网表。逻辑系统38基于部件网表产生逻辑网表(下面进一步描述)。集成电路诊断程序32也被示出,包括:将逻辑和/或部件网表与由基准电路产生的一个或多个基准逻辑和/或部件网表(共同地称为“基准网表”)相比较的比较系统40,基于逻辑和/或部件网表产生图表的图表系统42,以及有选择地显示图表中的布线信息的显示系统44。
应当理解集成电路诊断程序32中所示的各种系统仅仅用于示例性目的。因此,一个或多个系统可以被结合为一个系统或不被执行。而且,一个或多个系统可以被执行为可以由集成电路诊断程序32分开执行的独特程序。
II.方法概述
图2描绘了根据本发明的一个实施例诊断集成电路的示例性方法。集成电路包括至少一层,并通常包括不止一层,在执行诊断时这些层是相关的。在步骤S1,当不止一个电路层相关时,使用现在公知或之后研发的任意技术分层(即,露出)集成电路的每个相关电路层。在步骤S2,如下面更详细地论述,通过获取系统34(图1)获取每个电路层的一个或多个图像。在步骤S3,由图像产生部件网表。本发明提供两种选择性方案用于使用下面更详细地论述的部件系统36(图1)由图像产生部件网表。使用一种选择性方案,图像被转变为布图,由该布图提取用于部件网表的信息。另外,可以直接从图像的检查获得用于部件网表的信息。在步骤S4,通过逻辑系统38(图1),基于部件网表产生逻辑网表。通过对部件网表应用分级组合规则产生逻辑网表,以用它们实现的一个或多个逻辑功能代替一个或多个电路元件。
如上面所提到,集成电路可以包括组成一个或多个输入和/或输出“端口”(信号)的电路元件。“端口”是为附加电路(即,连接到电路的非分析部分的焊盘、布线等)提供接口的任意类型的电路。集成电路也常常包括连接到内部电源(Vdd)、地线(Vss)或其它电源的一个或多个电路元件。本发明提供包括端口和电源信息的网表。
部件网表或逻辑网表可用于各种应用。例如,可以使用比较系统40(图1)将逻辑网表或元件网表与基于基准电路的基准网表相比较。逻辑网表可以与基于基准电路的其它逻辑网表(即,“基准逻辑网表”)相比较。类似地,由集成电路产生的部件网表可以与用于产生集成电路的部件网表(即,“基准部件网表”)相比较,以确定是否在制造中出现误差。通过显示系统44(图1)可以确定并显示两个电路(网表)之间的异同。此外,可以使用图表系统42产生图表(图1),其中基于端口信息、电源信息和/或部件管脚连接信息来设置电路部件。例如,输入端口电路元件可以设置在图表的左边,输出端电路元件可以设置在右边,Vdd可以设置在顶部以及Vss可以设置在底部。可以使用显示系统44(图1)有选择地显示图表中的布线,以协助用户进一步设置电路部件。
III.获取图像
根据步骤S2,每个相关电路层的一个或多个图像被获取并可以被存储在存储器例如数据库24(图1)中。应当理解每个层需要的图像数目取决于需要的电路分辩率、电路层的尺寸等。可以使用用于获取图像的任意装置,包括例如,扫描电子显微镜(SEM)、专用电子束工具(如电子束感应电流(EBIC)技术)、光学显微术、数字成像等。当对于每个电路层使用多个图像时,可以使用坐标系统排列图像。例如,每个图像的左上角可以被指定一个坐标值。包括电路层的左上角的图像将具有(0,0)的坐标基准。可以例如基于图像中存在的像素数目和/或图像中包括的物理区域等确定坐标。
图像可以被获取,从而一个图像部分地交迭一个或多个相邻的图像。交迭帮助保证图像获得电路层的完全覆盖度,以及帮助标识在两个相邻图像中发现电路元件时的情况。当存在交迭时,图像的指定坐标基准应该解释该交迭。例如,当坐标基于大量像素时,应该从总像素中减去交迭的像素数目,以获得偏移图像的坐标基准。另外,当在设置图像时可以获得足够的准确度时,图像可以被获取,从而不存在交迭。
IV.部件网表产生
在步骤S3,基于集成电路的图像产生部件网表。如上面简要地概述,可以选择两种选择性方案,以产生部件网表。第一选择性方案提供现有技术的几点改进,以便产生部件网表,而第二选择性方案提供更直接的方法。
A.基于布图的产生
图3描绘了产生部件网表的示例性方法。在步骤S301,集成电路的图像被部件系统36(图1)转变为布图。在此情况下,部件系统36(图1)可以包括将图像转变为布图的软件,如Raith USA Inc的CHIPSCANNERTM。布图是集成电路的物理设计的电子表示。公共布图说明书文件格式包括GL1和GDS。布图可以被阅读,以在集成电路内的其具体位置呈现每个电路元件的直观绘图。
通常,尽管由图像产生的布图包括布线和物理布图信息,但是它缺乏其它信息。例如,经常遗漏集成电路的端口和电源干线定义。也可能缺少其它信息,如阱、微分额定Vt晶体管和低Vt晶体管等。因而,可以使用部件系统36(图1)编辑布图,以包括某些或所有遗漏信息的定义。例如,一般用注入掩模标记器件之间的阈值电压的差异。注入掩模可以包括在布图数据中,作为新的级别。具体,如步骤S302所示,端口和电源信息可以被添加到布图。该信息协助使用部件网表产生图表,将部件网表与其它部件网表相比较,和/或将部件网表转变为逻辑网表,下面将进一步论述每一个。
在步骤S303,从布图提取部件信息(晶体管、电阻器、芯片、端口、电源干线等)。在步骤S304,从布图提取网络连接(即,布线信息如管脚至管脚连接)。在步骤S305,使用部件信息和网络连接来产生部件网表。
可以提供提取引擎作为部件系统36(图1)的部分,以执行步骤S303、S304和S305。可以由一个或多个工具形成提取引擎,该工具由部件网表产生布图。这些工具可以被修改,以从布图提取部件网表。例如,国际商业机器公司的ERIETM是可以被修改以执行提取引擎功能的布图产生工具的一个例子。在此情况下,ERIE被修改,以接收定义层相互作用的数据。使用该数据,部件信息和网络连接被提取。然后提取的信息被结合并被格式化为布图部件和它们的连接(即,部件网表)的文本表示。
尽管上面概述的基于布图的方法有利地使用具有几点改进的现有技术,但是在某些情况下该方法可能不是优选的。例如,当较小的集成电路被诊断时,更多“依次传递(hand on)”方法可以是希望的。此外,上面概述的一个或多个步骤中的误差可能比更直接的方法更难以确定。结果,在某些情况下,下面概述基于图像的方法可能是有利的。
B.基于图像的产生
图4描绘了基于一个或多个电路图像产生部件网表的选择性方法。在步骤S311,为每个图像标识“层信息”。“层信息”可以包括与诊断集成电路有关的电路元件,包括端口、电路部件、部件管脚、布线和电源干线(共同地称为“电路元件”)。可以通过能标识和区分图像中的各个电路元件的计算机程序(即,部件系统36(图1)的部分),和/或通过标识各个电路元件的用户,来标识层信息。
关于用户标识,反过来,用户可以呈现每个电路图像。在观察电路图像的同时,用户可以标识电路元件。然后用户可以定义一个区域,通过使用部件系统36(图1)的接口在图像中的电路元件上描绘一个区域。一旦该区域被定义,那么它被给定唯一的标识符,用电路元件的类型标记。在数据库中存储该元件特征(即,标识符、级别、类型、位置以及区域信息)。该工序可以继续直到所有相关的电路元件被标识。
对于最好地表示到电路的外部接口的电路层,端口可以被标识和存储,以及各个部件(即,晶体管、电阻器等)可以被标识并人工地存储或使用软件存储。随后,对于每个部件,管脚可以被标识并与信息一起存储,该信息例如管脚的类型(即,对于场效应晶体管,源区、漏区或栅极)。最后,布线可以被标识和存储。
另外,管脚的集合可用于标识一个部件,而不分开地标识该部件。此外,一组元件可以被标识为一个元件。例如,载运相同信号的一组通孔或布线可以被标识为一个部件。如上所述,当对于一个电路层使用多个图像时,图像偏移可以被加到图像上的位置。该区域可以仍然在图像上显示,以协助用户记住已被标识的元件。可以为每个希望的电路元件以及每个图像重复该工序,直到所有相关图像内的所有相关电路元件被标识。
在步骤S312,为了便于确定电路层之间的连接,在两个或更多层之间提供连接的电路元件可以被标识并人工地或使用软件存储为中间层信息。“中间层信息”包括在层之间提供连接的所有电路元件的标识,所述电路元件包括通孔和触点。类似于步骤S311,部件系统36(图1)的计算机程序部分和/或用户可以定义表示中间电路元件的形状特征,该形状特征随后被存储在数据库24(图1)中作为中间层信息。中间层信息进一步标识在其之间设置电路元件的两个层(即,层2和层3)。另外,中间层信息可以被定义并存储为层信息,并可以通过标识的电路元件类型(即,通孔、触点等)来区分。
在步骤S313,在人工或使用软件标识之后,分别归并层信息和中间层信息。为了归并层信息,将电路元件结合成网络组。“网络组”包括确定以交迭的一组电路元件。结果,每个网络组表示具有电连接的电路元件的集合。首先,使用部件系统36(图1)比较电路元件的位置和区域特征,以确定是否与相同类型(即,管脚/管脚、布线/布线等)或连接类型(即,布线/管脚、布线/端口等)的电路元件存在任意交迭。例如,当电路元件继续跨越两个图像时,当相同类型的两个元件的端部毗邻(即,相邻图像没有交迭数据)时,或当两个电路元件共享相同的二维空间(即,布线连接到管脚)时,出现交迭。当发现交迭时,两个电路元件与通过唯一的网络标识符标识的网络组有关。当电路元件不属于网络组时,产生新的网络组。如果一个元件已经与网络组相关,那么将第二元件加到网络组。如果两个元件属于不同的网络组,将两个网络组结合成一个网络组。以同样方式归并中间层信息。
因为区域的定义和每个电路元件的坐标分配的潜在误差,可以使用方差来确定是否存在交迭。“方差”是加到定义区域以计算潜在误差的区域。例如,在确定一个区域是否与一个或多个其它区域相交迭之前,可以将等于或小于用于电路级别的接地规则间距一半的方差加到该区域。对于具有0.5微米最小线宽的集成电路,可以使用小于或等于0.25微米的方差。接地规则间距可以被用户以特定的测量单位(即微米)规定,并基于用于电路层成像的图像分辨率被转变为坐标(即,像素)。
在步骤S314,人工或使用软件,使用中间层信息结合用于相邻层的层信息。可以引入与层信息使用相类似的方法,以确定层之间的交迭元件(即,添加方差和比较区域)。但是,对于交迭仅仅搜索特定的电路元件。在此情况下,当发现匹配时,两个网络组结合成一个网络组。继续工序,直到所有层都被处理。例如,为了将用于层1和层2的信息结合,可以连续选择和分析从两个层获得的中间层信息。如上所述,通孔可以被存储为中间电路元件,并被选择用于分析。可以将方差添加到通孔的定义形状。修改的形状与层1的层信息相比较,然后与层2的层信息相比较。连接到通孔的层1上的布线位置将与修改的形状至少部分地交迭。结果,通孔被添加到用于层1上的布线的网络组。在层2上可以发现类似的布线。在此情况下,用于层2的布线和用于层1的布线的网络组被结合并存储为一个网络组。
在归并和结合步骤之后,每个网络组表示完全的布线组合。换句话说,每个网络组应该包括从部件管脚、端口和/或电源干线到至少一个其它部件管脚、端口和/或电源干线的连接。结果,在步骤S315,可以使用网络组人工或使用软件产生部件网表。每个网络组被选择,并将由网络组限定的所有布线连接添加到部件网表。一旦所有网络组被处理,那么产生完全的部件网表。
V.逻辑网表产生
回到图2,步骤S4包括使用逻辑系统38(图1)基于部件网表产生逻辑网表。在一个实施例中,分级组合规则被应用于部件网表,以用等效的逻辑元件代替一个或多个电路元件。“分级组合规则”基于一个或多个电路部件和它们的连接定义逻辑部件。端口和电源信息的包括允许分级组合规则使用在部件网表中包括的各个部件管脚的部件功能和网络连接,以确定部分电路的功能。例如,两个晶体管可以被连接,以执行输入端口的逻辑非。典型地,一个晶体管的管脚连接到Vdd,而另一晶体管的管脚连接到Vss。为了确定逻辑等效,应用分级组合规则,其辨认每个晶体管的功能和每个晶体管的各个管脚的连接。由于电源信息被引入部件网表,因此可以确定适宜的管脚连接。可以选择输入端口,以及追踪到部件管脚的各个连接。一旦发现执行逻辑非的电路,那么两个晶体管被非门代替。因为在电路中某些逻辑电路可以包括一个或多个更简单的逻辑部件,因此该工序可以继续,直到最复杂的逻辑元件被选择,以代替部分部件网表。
包括用于各个逻辑部件的公共部件网表信息的数据库可用于确定在电路中执行逻辑部件的元件。另外,可以动态地分析管脚状态,以确定在电路中实现的逻辑部件。可以执行几种途径,其中基本逻辑部件的组合被结合成一个、更复杂的逻辑元件(即,加法器可以代替几个逻辑部件)。
VI.网表应用
对于使用部件网表和/或逻辑网表诊断集成电路的许多应用是可能的。本发明为这些应用的一些可选地提供了一种或多种独特的能力,下面进行论述。
A.网表比较
可以通过比较系统40(图1)将部件网表或逻辑网表与基于基准电路的一个或多个基准网表相比较,以确定集成电路和基准电路之间的相似性/差异。当这可能是希望的时的一个例子是当集成电路不能如期望工作时。部件网表可以由集成电路产生并与基准部件网表(即,用于产生集成电路的部件网表)相比较。两个电路之间的任意差异将潜在地表示制造集成电路过程中的误差。
另外,逻辑网表可以与一个或多个基准逻辑网表相比较,以确定两个电路是否相似。这些可能是有用的,例如,确定至少部分集成电路中拥有的知识产权是否被侵犯。基准逻辑网表可以基于已获得专利保护的基准电路。逻辑网表可以与基准逻辑网表相比较,以确定是否在基准电路和集成电路之间存在任意相似性。例如,可以通过选择公共输入/输出端口和随后的电路路径,将逻辑网表与基准逻辑网表相比较。阈值相似性可以被规定,在此之后探测匹配。通过为基准逻辑网表提供的名称、通过显示网表项目和/或通过基于匹配的电路显示图表,可以显示匹配的部分电路。
B.图表产生
通常,基于部件网表和/或逻辑网表的图表是希望的。从集成电路产生图表的一个问题是以这样的方式放置电路部件,连接产生几乎不能理解的交叉线网。结果,集成电路的位置信息可能被限制使用,需要由用户实际的人工编辑,以将电路部件重新设置到表示集成电路的有意义的图表中。
为了协助用户,可以基于端口信息、电源信息和/或部件管脚连接信息放置电路部件。该信息包括在由编辑的布图或层信息产生的部件/逻辑网表中。当部件被放置在图表中时,在组织方式中参考端口、电源和/或部件管脚连接信息。例如,连接到输入端口的部件可以放置在图表的左侧,连接到电源干线的部件可以放置在图表的顶部,等。此外,当部件管脚连接是从先前放置的部件引出时,部件可以从上到下和从左到右逐渐地设置。例如,可以动态地确定部件管脚的相对电压电位,以及基于相对电位将部件放置在图表上。这进一步帮助减小交叉线和产生具有减小用户接口的常规图表。
C.图表显示
如上所述,当最初显示图表时,表示电路部件之间连接的线将互相交叉,给显示的电路增加了混乱。为了在辨别连接路径过程中协助用户,可以显示没有连接布线的图表。然后用户可以通过规定部件(在用于部件的所有布线连接被显示时)或通过规定部件上的管脚(在用于选择管脚的布线连接被显示时),有选择地显示布线信息。例如,在每个部件管脚/端口的端部可以显示短线(stub)。用户可以选择短线,以及可以显示用于所选短线的布线。以此方式,用户可以基于显示的限制布线信息重设置电路部件,直到获得希望的排列。触发设置可以交替地显示所有布线连接或非/限制的布线连接,以便可以容易地确定进展。
图5描绘了根据本发明的实施例的示例性图表显示器50。图表显示器50包括允许用户选择怎样显示电路的布线信息的控制器70。例如,用户可以选择控制器72,以显示所有布线信息,选择控制器74仅仅显示选择部件的布线信息,或选择控制器76仅仅显示所选管脚的布线信息。控制器74被粗体显示,以表示它是当前选择的选项。
电路包括一对输入端口52,54和输出端口56。晶体管对58,60配置为将在输入端口52提供的信号反相(执行逻辑非)。各个电路元件用它们的逻辑等效,即或非部件62代替。或非部件62在晶体管对58,60的输出和输入端口54上执行逻辑或非运算。或非部件62的输出被提供到输出端口56。晶体管58以粗体显示,以表示它是选择的部件。因此,仅仅其管脚的布线信息被显示。剩余的布线信息以虚线示出,但是基于当前选择不被显示。每个管脚被显示为短线68。因此,如果用户希望显示用于管脚的布线信息,用户将选择表示管脚的短线68。
如上述部分所述,当产生图表时,根据端口和电源信息设置各个部件。例如,在图表的顶部示出Vss 64,以及Vdd 66设置在底部,而输入端口52,54设置在左侧,输出端口56设置在右侧。此外,根据它们分别与Vss 64和Vdd 66的连接,晶体管58,60被从上到下设置。更进一步,晶体管58,60和或非部件根据它们分别与输入端口52,54和输出端口56的连接被从左到右设置。
应当理解图表显示器50仅仅说明在此描述的能力。图表显示器50不旨在完全描绘图表显示或可以被用户执行的所有操作。此外,应当理解用于表示选择以及进行选择的各种选择性用户接口是可能的,且被本发明覆盖。
VII.选择性方案
尽管以特定顺序发生的方式描述了各种方法,但是应当理解可以同时或以在此描述的不同顺序执行独立的步骤。此外,应当理解为了使信息精炼和增加所得网表/图表的准确度要求多次重复一个或多个步骤。此外,尽管该论述描述了集成电路的所有层上的所有部件的标识和诊断,但是应当理解,当希望时可以选择和分析部件和/或层的子集。
应当理解本发明可以用硬件、软件或硬件和软件的组合来实现。适合于进行在此描述的方法的任何种类的计算机/服务器系统或其它设备是适合的。硬件和软件的典型组合可以是具有计算机程序的通用计算机系统,当加载和执行控制系统12和/或用户30系统时,它们进行在此描述的各种方法。另外,可以利用特定用途的计算机,包含用于进行本发明的一个或多个功能任务的专业硬件。本发明也可以嵌入计算机程序产品,该计算机程序产品包括能够实现在此描述的方法的所有各种特征,并当在计算机系统中加载时能够进行这些方法。在本文中计算机程序、软件程序、程序、或软件表示以任意语言、代码或注释的一组指令的任意表达式,旨在促使具有信息处理能力的系统直接或在下列两种情况之后执行特定的功能: (a)转换为另一语言、代码或注释;和/或(b)以不同的材料形式再现。
为了说明和描述已提出了本发明的各个实施例的上述描述。不旨在详尽或限制本发明为所公开的精确形式,显然,许多改进和改变是可能的。对于本领域的技术人员显而易见的这种改进和改变旨在包括在由所附权利要求定义的本发明的范围内。
工业适用性
本发明对于诊断集成电路是有用的,更具体地说,对于基于集成电路产生网表和/或图表是有用的。
Claims (21)
1.一种诊断集成电路的方法,该集成电路包括至少一个电路层,该方法包括以下步骤:
为所述至少一个电路层的每一个获取至少一个图像;
基于所述至少一个图像产生部件网表;以及
通过应用分级组合规则,基于所述部件网表产生逻辑网表。
2.根据权利要求1的方法,还包括以下步骤:
将所述至少一个图像转变为布图;
在所述布图中定义端口信息和电源信息;
从所述布图提取部件信息;以及
从所述布图提取网络连接;
其中所述部件网表基于所述提取的部件信息和网络连接信息。
3.根据权利要求1的方法,还包括这样的步骤:使用所述至少一个图像为所述至少一个电路层定义层信息,其中所述部件网表基于所述层信息。
4.根据权利要求3的方法,其中所述定义层信息的步骤包括:
为所述至少一个电路层的至少一个图像的每一个标识电路元件;
确定与第二电路元件交迭的第一电路元件;以及
将所述第一电路元件和第二电路元件归并到网络组。
5.根据权利要求4的方法,其中在所述确定步骤中使用方差。
6.根据权利要求3的方法,其中所述集成电路包括多个层,还包括以下步骤:
使所述多个层的每一个分层;以及
定义中间层信息,其中所述部件网表还基于所述中间层信息。
7.根据权利要求6的方法,其中所述产生部件网表的步骤包括:
从所述中间层信息中选择中间电路元件;
确定与所述中间电路元件交迭的第一相邻层上的第一电路元件;
确定与所述中间电路元件交迭的第二相邻层上的第二电路元件;以及
结合所述第一电路元件和第二电路元件。
8.根据权利要求1的方法,还包括基于所述逻辑网表产生图表的步骤。
9.根据权利要求8的方法,其中基于如下的至少一个在所述图表中设置所述电路的部件:端口信息、电源信息和部件管脚连接信息。
10.根据权利要求8的方法,还包括显示没有布线信息的图表的步骤。
11.根据权利要求10的方法,还包括显示所选部件的布线信息的步骤。
12.根据权利要求1的方法,还包括
基于基准电路提供基准逻辑网表;
比较所述逻辑网表和所述基准逻辑网表;以及
显示所述逻辑网表和所述基准逻辑网表之间的匹配。
13.一种诊断集成电路的方法,该集成电路包括至少一个电路层,该方法包括以下步骤:
获取所述至少一个电路层的每一个的至少一个图像;以及
基于所述至少一个图像产生图表,其中基于如下的至少一个在所述图表中设置电路部件:端口信息、电源信息和部件管脚连接信息。
14.根据权利要求13的方法,还包括以下步骤:
将所述至少一个图像转变为布图;
在所述布图中定义端口信息和电源信息;
使用提取引擎基于所述布图产生部件网表;以及
基于所述部件网表产生逻辑网表,其中所述图表基于所述逻辑网表。
15.根据权利要求13的方法,还包括以下步骤:
基于所述至少一个图像标识层信息;
将所述层信息归并到多个网络组中;
为所述至少一个电路层的每一个结合所述多个网络组;
基于所述网络组产生部件网表;以及
基于所述部件网表产生逻辑网表,其中所述图表基于所述逻辑网表。
16.根据权利要求13的方法,还包括显示没有布线信息的图表的步骤。
17.根据权利要求16的方法,还包括显示所选电路元件的布线信息的步骤。
18.一种集成电路诊断系统,包括:
获取系统,为集成电路的每个电路层获取至少一个图像;
部件系统,基于所述至少一个图像产生部件网表;以及
逻辑系统,通过应用分级组合规则以用等效逻辑部件代替所述部件网表中的至少一个电路元件,基于所述部件网表产生逻辑网表。
19.根据权利要求18的系统,还包括将所述逻辑网表和部件网表的至少一个与基于基准电路的基准网表相比较的比较系统。
20.根据权利要求18的系统,还包括基于所述逻辑网表和部件网表的至少一个产生图表的图表系统。
21.根据权利要求20的系统,还包括有选择地显示所述图表中的布线信息的显示系统。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2002/040429 WO2004061725A1 (en) | 2002-12-17 | 2002-12-17 | Integrated circuit diagnosing method, system, and program product |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1714355A CN1714355A (zh) | 2005-12-28 |
CN100392660C true CN100392660C (zh) | 2008-06-04 |
Family
ID=32710249
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB028300424A Expired - Fee Related CN100392660C (zh) | 2002-12-17 | 2002-12-17 | 集成电路诊断方法和系统 |
Country Status (4)
Country | Link |
---|---|
JP (1) | JP4528134B2 (zh) |
CN (1) | CN100392660C (zh) |
AU (1) | AU2002357881A1 (zh) |
WO (1) | WO2004061725A1 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7752588B2 (en) | 2005-06-29 | 2010-07-06 | Subhasis Bose | Timing driven force directed placement flow |
EP1907957A4 (en) | 2005-06-29 | 2013-03-20 | Otrsotech Ltd Liability Company | INVESTMENT METHODS AND SYSTEMS |
US20070031027A1 (en) * | 2005-08-04 | 2007-02-08 | Chipworks Inc. | Method and system for vertically aligning tile images of an area of interest of an integrated circuit |
US8332793B2 (en) | 2006-05-18 | 2012-12-11 | Otrsotech, Llc | Methods and systems for placement and routing |
US7840927B1 (en) | 2006-12-08 | 2010-11-23 | Harold Wallace Dozier | Mutable cells for use in integrated circuits |
US8390269B2 (en) * | 2010-10-07 | 2013-03-05 | Raytheon Company | Non-destructive determination of functionality of an unknown semiconductor device |
US9069748B2 (en) * | 2011-10-04 | 2015-06-30 | Microsoft Technology Licensing, Llc | Selective generation and display of data items associated with a spreadsheet |
US8990675B2 (en) | 2011-10-04 | 2015-03-24 | Microsoft Technology Licensing, Llc | Automatic relationship detection for spreadsheet data items |
CN103576040B (zh) * | 2012-07-24 | 2016-03-30 | 施耐德电器工业公司 | 现场电子产品的布线错误诊断排除系统及方法 |
US10180402B2 (en) | 2012-12-14 | 2019-01-15 | Sri International | Method and apparatus for conducting automated integrated circuit analysis |
KR102595789B1 (ko) * | 2021-11-11 | 2023-10-27 | 금오공과대학교 산학협력단 | 전자 회로도 영상의 자동인식 및 네트리스트 변환 방법 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5513118A (en) * | 1993-08-25 | 1996-04-30 | Nec Usa, Inc. | High level synthesis for partial scan testing |
US5694481A (en) * | 1995-04-12 | 1997-12-02 | Semiconductor Insights Inc. | Automated design analysis system for generating circuit schematics from high magnification images of an integrated circuit |
CN1208902A (zh) * | 1997-07-28 | 1999-02-24 | 夏普公司 | 图形准备设备 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63291169A (ja) * | 1987-05-22 | 1988-11-29 | Matsushita Electric Ind Co Ltd | 回路図出力方法 |
US6289116B1 (en) * | 1996-09-27 | 2001-09-11 | Semiconductor Insights, Inc. | Computer-assisted design analysis method for extracting device and interconnect information |
CA2216900C (en) * | 1996-10-01 | 2001-12-04 | Semiconductor Insights Inc. | Method to extract circuit information |
JP2000266706A (ja) * | 1999-03-18 | 2000-09-29 | Toshiba Corp | 検査装置および検査方法 |
US6536018B1 (en) * | 2000-06-05 | 2003-03-18 | The University Of Chicago | Reverse engineering of integrated circuits |
JP2002032427A (ja) * | 2000-07-19 | 2002-01-31 | Nec Microsystems Ltd | Lsiの接続検証装置、接続検証方法および接続検証プログラムを記録した媒体 |
-
2002
- 2002-12-17 CN CNB028300424A patent/CN100392660C/zh not_active Expired - Fee Related
- 2002-12-17 JP JP2004564618A patent/JP4528134B2/ja not_active Expired - Fee Related
- 2002-12-17 AU AU2002357881A patent/AU2002357881A1/en not_active Abandoned
- 2002-12-17 WO PCT/US2002/040429 patent/WO2004061725A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5513118A (en) * | 1993-08-25 | 1996-04-30 | Nec Usa, Inc. | High level synthesis for partial scan testing |
US5694481A (en) * | 1995-04-12 | 1997-12-02 | Semiconductor Insights Inc. | Automated design analysis system for generating circuit schematics from high magnification images of an integrated circuit |
CN1208902A (zh) * | 1997-07-28 | 1999-02-24 | 夏普公司 | 图形准备设备 |
Also Published As
Publication number | Publication date |
---|---|
JP2006513560A (ja) | 2006-04-20 |
AU2002357881A1 (en) | 2004-07-29 |
CN1714355A (zh) | 2005-12-28 |
WO2004061725A1 (en) | 2004-07-22 |
JP4528134B2 (ja) | 2010-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7503021B2 (en) | Integrated circuit diagnosing method, system, and program product | |
CN106095666B (zh) | 游戏自动化测试方法及相关装置 | |
US9286430B1 (en) | Hierarchical visualization-based analysis of integrated circuits | |
CN1256733C (zh) | 用于将逻辑集成电路的逻辑功能测试数据映射为物理表述的集成电路测试软件系统 | |
US5629857A (en) | Method and system for indicating a status of a circuit design | |
Agrawal et al. | Fault coverage requirement in production testing of LSI circuits | |
CN100392660C (zh) | 集成电路诊断方法和系统 | |
Guo et al. | Validation and verification of computer forensic software tools—Searching Function | |
Pei et al. | A synthetic data generator for clustering and outlier analysis | |
CN103186657A (zh) | 智能型缺陷良率总览接口系统与方法 | |
JP5587989B2 (ja) | 観点別特許マップの提供方法 | |
Chan et al. | Finding failures from passed test cases: Improving the pattern classification approach to the testing of mesh simplification programs | |
Fotheringham | Trends in quantitative methods III: stressing the visual | |
JP2008264167A (ja) | 画像リスト表示装置、画像リスト表示方法、及び画像リスト表示プログラム | |
US8645896B1 (en) | Method to transfer failure analysis-specific data between design houses and fab's/FA labs | |
US20050138591A1 (en) | Layout device | |
CN109917456B (zh) | 地震信息快速提取方法和系统 | |
Freire | Visualizing program similarity in the Ac plagiarism detection system | |
US20030018949A1 (en) | Method and apparatus for laying out wires on a semiconductor integrated circuit | |
CN106815180A (zh) | 一种自动实现Altium软件图纸转换的方法 | |
JP2018077762A (ja) | 画面認識装置、画面認識方法、および、画面認識プログラム | |
Elmqvist et al. | Occlusion Management in Immersive and Desktop 3D Virtual Environments: Theory and Evaluation. | |
CN114238296A (zh) | 产品指标数据展示方法、装置、设备及存储介质 | |
Uwaseki et al. | Confusionlens: Dynamic and interactive visualization for performance analysis of multiclass image classifiers | |
Olivers et al. | Holography does not account for goodness: a critique of van der Helm and Leeuwenberg (1996). |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20080604 Termination date: 20181217 |