KR20050094402A - Integrated circuit diagnosing method, system, and program product - Google Patents

Integrated circuit diagnosing method, system, and program product Download PDF

Info

Publication number
KR20050094402A
KR20050094402A KR1020057010340A KR20057010340A KR20050094402A KR 20050094402 A KR20050094402 A KR 20050094402A KR 1020057010340 A KR1020057010340 A KR 1020057010340A KR 20057010340 A KR20057010340 A KR 20057010340A KR 20050094402 A KR20050094402 A KR 20050094402A
Authority
KR
South Korea
Prior art keywords
netlist
component
circuit
information
logical
Prior art date
Application number
KR1020057010340A
Other languages
Korean (ko)
Inventor
매트 보우처
존 엠. 코헨
리차드 도핀
마크 마스터스
쥬디스 에이치. 맥컬렌
사라 프루
마이클 에이치. 시트코
Original Assignee
인터내셔널 비지네스 머신즈 코포레이션
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 인터내셔널 비지네스 머신즈 코포레이션 filed Critical 인터내셔널 비지네스 머신즈 코포레이션
Priority to KR1020057010340A priority Critical patent/KR20050094402A/en
Publication of KR20050094402A publication Critical patent/KR20050094402A/en

Links

Classifications

    • G06F17/50

Landscapes

  • Engineering & Computer Science (AREA)
  • Architecture (AREA)
  • Software Systems (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

The invention provides a method, system (12), and program product for diagnosing an integrated circuit. In particular, the invention captures one or more images for each relevant circuit layer of the integrated circuit (S2). Based on the image(s), a component netlist is generated (S3, S305, S315). Further, a logic netlist is generated (S4) by applying hierarchical composition rules to the component netlist. The component netlist and/or logic netlist can be compared to a reference netlist to diagnose the integrated circuit. The invention can further generate a schematic (50) based on the component netlist or logic netlist in which components are arranged according to port, power, and/or component pin connection information determined from the netlist. Further, the schematic can be displayed in a manner that wiring connections are selectively displayed to assist a user in intelligently arranging the circuit components.

Description

집적 회로 진단 방법, 시스템, 및 프로그램 제품{INTEGRATED CIRCUIT DIAGNOSING METHOD, SYSTEM, AND PROGRAM PRODUCT}Integrated circuit diagnostic methods, systems, and program products {INTEGRATED CIRCUIT DIAGNOSING METHOD, SYSTEM, AND PROGRAM PRODUCT}

본 발명은 일반적으로 집적 회로의 진단에 관한 것이다.The present invention generally relates to diagnostics of integrated circuits.

종종, 유실된 네트리스트(netlist)나 결선도(schematic)를 복원하거나, 집적 회로가 지적 재산권에 위반되는지를 판정하거나, 집적 회로의 성능 또는 불량을 분석하기 위하여, 집적 회로를 네트리스트 및/또는 결선도로 역설계(reverse-engineer)하는 것이 요구된다. 결선도는 회로의 시각적 표현이지만, 네트리스트는 회로의 모든 소자 및 다양한 핀 접속의 문서 표현이다. 집적 회로의 몇가지 특성은 역설계 프로세스가 어렵고 시간을 낭비한다는 것이다. 예를 들면, 집적 회로 상의 많은 컴포넌트의 물리적 배치는 컴포넌트들이 결선도에 배치되는 것과 무관할 수 있다. 또한, 집적 회로는 종종 의도된 접속을 구축하기 위하여 함께 결합된 몇개의 층으로 구현된다. Often, integrated circuits are netlisted and / or connected to recover lost netlists or schematics, determine whether an integrated circuit violates intellectual property, or analyze the performance or failure of an integrated circuit. Reverse engineering is required. The connection diagram is a visual representation of the circuit, but the netlist is a document representation of all the elements of the circuit and the various pin connections. Some characteristics of integrated circuits are that the reverse engineering process is difficult and time consuming. For example, the physical placement of many components on an integrated circuit may be independent of where the components are placed in the connection diagram. In addition, integrated circuits are often implemented in several layers joined together to establish an intended connection.

최근, 지루한 역설계 프로세스를 돕는 몇가지 솔루션이 제안되었다. 일반적으로, 주사 전자 현미경(SEM) 또는 그 유사한 촬상 장치가 집적 회로의 층을 조사하는데 사용된다. 추가의 툴을 사용하여 이미지 상의 데이터의 오버레이(overlay)로 컴포넌트 특징 및 배선 상호접속을 식별한다. 다른 방법으로, 툴을 사용하여 이미지를 레이아웃으로 변환할 수 있다.Recently, several solutions have been proposed to help the tedious reverse engineering process. Generally, a scanning electron microscope (SEM) or similar imaging device is used to irradiate a layer of an integrated circuit. Additional tools are used to identify component features and wiring interconnections with an overlay of data on the image. Alternatively, you can use the tool to convert the image into a layout.

그러나, 역설계 프로세스를 수행하여 네트리스트 및/또는 결선도를 발생시키는 것은 여전히 특화된 기술을 요구하며 시간을 낭비한다. 결과적으로, 집적 회로로부터 네트리스트 및/또는 결선도를 발생시키는 데 필요한 기술의 양을 감소시키면서 결과적인 네트리스트 및/또는 결선도의 정확도를 증가시키는 집적 회로 진단 시스템, 방법, 및 프로그램 제품이 필요하다. However, performing the reverse engineering process to generate netlists and / or connection diagrams still requires specialized techniques and wastes time. Consequently, what is needed is an integrated circuit diagnostic system, method, and program product that increases the accuracy of the resulting netlist and / or connection diagram while reducing the amount of technology needed to generate netlist and / or connection diagram from the integrated circuit.

발명의 개시Disclosure of the Invention

본 발명은 집적 회로를 진단하는 방법, 시스템, 및 프로그램 제품을 제공한다. 특히, 본 발명은 집적 회로의 각 관련 회로 층에 대한 하나 이상의 이미지를 캡쳐한다. 이미지(들)에 기초하여, 컴포넌트 네트리스트가 생성된다. 또한, 논리 네트리스트는 컴포넌트 네트리스트에 계층 구성 룰을 적용함으로써 생성된다. 컴포넌트 네트리스트나 논리 네트리스트는 기준 네트리스트와 비교되어 집적 회로를 진단할 수 있다. 본 발명은 또한 컴포넌트 네트리스트 또는 논리 네트리스트에 기초하여 네트리스트로부터 결정된 포트, 파워, 및/또는 컴포넌트 핀 접속 정보에 따라 컴포넌트가 배열된 결선도를 생성할 수 있다. 또한, 배선 접속이 선택적으로 디스플레이되어 사용자가 회로 컴포넌트를 지능적으로 배열할 수 있도록 결선도가 디스플레이될 수 있다.The present invention provides a method, system, and program product for diagnosing an integrated circuit. In particular, the present invention captures one or more images for each relevant circuit layer of the integrated circuit. Based on the image (s), a component netlist is generated. Logical netlists are also created by applying hierarchical rules to component netlists. Component netlists or logical netlists may be compared to reference netlists to diagnose integrated circuits. The invention may also generate a connection diagram in which components are arranged in accordance with port, power, and / or component pin connection information determined from the netlist based on the component netlist or logical netlist. In addition, the wiring connections can be selectively displayed so that the wiring diagram can be displayed so that the user can intelligently arrange the circuit components.

본 발명의 예시적인 형태는, 기술자에 의해 발견될 수 있는, 여기에 기재된 문제점 및 여기에 기재되지 않은 다른 문제점을 해결하기 위하여 설계된 것이다. Exemplary forms of the invention are designed to solve the problems described herein and other problems not described herein, which may be found by the skilled person.

본 발명의 특징은 첨부된 도면와 결합된 본 발명의 다양한 실시예의 상세한 설명으로부터 용이하게 이해할 수 있을 것이다.Features of the present invention will be readily understood from the detailed description of various embodiments of the present invention in conjunction with the accompanying drawings.

도 1은 본 발명의 다양한 실시예를 구현하기 위한 예시적인 시스템을 나타내는 도면.1 illustrates an exemplary system for implementing various embodiments of the present invention.

도 2는 본 발명의 일실시예에 따른 방법을 나타내는 도면.2 illustrates a method according to one embodiment of the invention.

도 3은 본 발명의 다른 실시예에 따라 네트리스트를 생성하는 예시적인 방법을 나타내는 도면.3 illustrates an exemplary method of generating a netlist in accordance with another embodiment of the present invention.

도 4는 본 발명의 여전히 다른 실시예에 따라 네트리스트를 생성하는 예시적인 방법을 나타내는 도면.4 illustrates an exemplary method of generating a netlist in accordance with still another embodiment of the present invention.

도 5는 예시적인 결선도 디스플레이를 나타내는 도면.5 shows an exemplary connection diagram display.

본 발명의 도면은 일정한 비율로 되어 있지 않다. 도면은 본 발명의 전형적인 실시예를 이해시키기 위한 것이므로, 본 발명의 범위를 제한하는 것으로 간주되어서는 안된다. 도면에서, 동일한 참조번호는 동일한 소자를 나타낸다. The drawings of the present invention are not to scale. The drawings are intended to understand typical embodiments of the invention and should not be considered as limiting the scope of the invention. In the drawings, like reference numerals refer to like elements.

편의를 위하여, 상세한 설명은 I. 예시적인 시스템; II. 방법 개요; III. 캡쳐링 이미지(들); IV. 컴포넌트 네트리스트 생성; V. 논리 네트리스트 생성; VI. 네트리스트 애플리케이션; 및 VII. 대안을 포함하는 표제로 표시되는 부분을 포함한다.For the sake of convenience, the detailed description is provided in an I. exemplary system; II. Method overview; III. Capturing image (s); IV. Generating component netlists; V. Logical Netlist Generation; VI. A netlist application; And VII. Includes parts indicated by titles containing alternatives.

본 발명은 집적 회로(IC)를 진단하는 시스템, 프로그램 제품, 및 방법을 제공한다. 본 발명은 집적 회로의 각 회로 층의 하나 이상의 이미지에 기초하여 "컴포넌트 네트리스트" 및/또는 "논리 네트리스트"를 생성한다. "컴포넌트 네트리스트"는 집적 회로에 사용되는 컴포넌트(즉, 트랜지스터, 커패시터, 저항기, 포트, 파워 레일, 저항기들, 다이오드, 칩 등) 및 그들의 상호접속(interconnection)을 포함한다. "논리 네트리스트"는 컴포넌트 네트리스트 내의 회로 컴포넌트의 하나 이상의 콜렉션이 회로 컴포넌트의 각각의 콜렉션에 의해 구현되는 기능(들)을 나타내는 하나 이상의 기호(즉, AND 게이트, NAND 동작, 가산기 등)로 대체되는 리스트를 포함한다. The present invention provides a system, program product, and method for diagnosing an integrated circuit (IC). The present invention generates a "component netlist" and / or a "logical netlist" based on one or more images of each circuit layer of an integrated circuit. A "component netlist" includes components used in integrated circuits (ie, transistors, capacitors, resistors, ports, power rails, resistors, diodes, chips, etc.) and their interconnections. “Logical netlist” is replaced by one or more symbols (ie, AND gates, NAND operations, adders, etc.) representing one or more collections of circuit components in a component netlist that represent the function (s) implemented by each collection of circuit components. Contains the list that is

I. 예시적인 시스템I. Example System

도 1은 본 발명에 따른 집적 회로 진단 시스템(12)을 나타낸다. 시스템(12)은 중앙 처리 장치(CPU; 14), 메모리(16), 입출력(I/O) 인터페이스(18), 버스(20), 및 선택적인 데이터베이스(24)를 포함할 수 있다. 도시한 바와 같이, 사용자(30)는 I/O 인터페이스(18)를 통해 시스템(12)과 상호작용한다. 시스템(12)은 임의의 형태의 범용/특수사용 컴퓨터화된 시스템(예를 들어, 서버, 데스크탑 컴퓨터 등)일 수 있다. 사용자(30)는 시스템(12)을 사용하는 개인일 수 있고, 예를 들어, 네트워크에 의해 시스템(12)을 액세스하는데 사용할 수 있는, 임의의 형태의 컴퓨터화된 시스템(예를 들어, 모바일 폰, 핸드헬드 컴퓨터, 개인 휴대 단말기, 휴대용(랩탑) 컴퓨터, 데스크탑 컴퓨터, 워크스테이션, 메인프레임 컴퓨터 등)을 포함할 수 있다. 후자의 경우, 사용자(30)와 시스템(20)간의 통신은 이미 공지된 메카니즘이나 후에 이러한 목적을 위해 개발된 메카니즘, 예를 들어, 하나 이상의 직 하드와이어드 접속(예를 들어, 시리얼 포트), 또는 유선 및/또는 무선 전송 방법의 임의의 조합을 이용할 수 있는 클라이언트-서버(또는 서버-서버) 환경의 어드레스가능한 접속을 통해 이루어질 수 있다. 클라이언트-서버 환경에서, 서버와 클라이언트는 인터넷, 원거리 통신망(WAN), 근거리 통신망(LAN), 가상 사설 통신망(VPN) 또는 다른 사설 통신망을 통해 접속될 수 있다. 서버와 클라이언트는 토큰 링, 이더넷, WiFi 또는 다른 종래의 통신 표준 등의 종래의 네트워크 접속을 이용할 수 있다. 클라이언트가 인터넷을 통해 서버와 통신하는 경우, 종래의 TCP/IP 소켓-기반 프로토콜에 의해 접속이 제공될 수 있다. 이 경우, 클라이언트는 인터넷 서비스 제공자를 이용하여 서버로의 접속을 구축한다.1 shows an integrated circuit diagnostic system 12 in accordance with the present invention. System 12 may include a central processing unit (CPU) 14, a memory 16, an input / output (I / O) interface 18, a bus 20, and an optional database 24. As shown, the user 30 interacts with the system 12 via the I / O interface 18. System 12 may be any form of general purpose / special use computerized system (eg, server, desktop computer, etc.). User 30 may be an individual using system 12 and may be any type of computerized system (eg, mobile phone) that may be used to access system 12 by, for example, a network. , Handheld computer, personal digital assistant, portable (laptop) computer, desktop computer, workstation, mainframe computer, etc.). In the latter case, the communication between the user 30 and the system 20 may be a known mechanism or a mechanism later developed for this purpose, for example one or more serial hardwired connections (eg, serial ports), or It can be via an addressable connection in a client-server (or server-server) environment that can use any combination of wired and / or wireless transmission methods. In a client-server environment, the server and client may be connected via the Internet, a wide area network (WAN), a local area network (LAN), a virtual private network (VPN), or other private network. Servers and clients may use conventional network connections such as token ring, Ethernet, WiFi, or other conventional communication standards. If the client communicates with the server via the Internet, the connection may be provided by conventional TCP / IP socket-based protocols. In this case, the client establishes a connection to the server using an Internet service provider.

시스템(12)은 표준 오퍼레이팅 시스템 소프트웨어를 이용하는 임의의 범용 또는 특수사용 시스템을 포함할 수 있고, 이 시스템은 특정 하드웨어의 동작을 구동하도록 설계되고 다른 시스템 컴포넌트와 I/O 컨트롤러와 호환된다. CPU(14)는 단일 프로세싱 유닛, 병렬 동작가능한 다중 프로세싱 유닛을 포함하거나, 하나 이상의 위치, 예를 들어, 클라이언트 및 서버 상에서 하나 이상의 프로세싱 유닛을 통해 분배될 수 있다. 메모리(16)는 자기 매체, 광 매체, 랜덤 액세스 메모리(RAM), 리드 온리 메모리(ROM), 데이터 캐쉬, 데이터 오브젝트 등을 포함하는 임의의 유형의 데이터 스토리지 및/또는 전송 매체를 포함할 수 있다. 또한, CPU(14)와 마찬가지로, 메모리(16)는 하나 이상의 유형의 데이터 스토리지를 포함하는 단일의 물리적 위치에 상주하거나 다양한 형태로 복수의 물리적 시스템을 통해 분배될 수 있다. System 12 may include any general purpose or special purpose system using standard operating system software, which is designed to drive the operation of particular hardware and is compatible with other system components and I / O controllers. The CPU 14 may include a single processing unit, multiple processing units operable in parallel, or may be distributed through one or more processing units on one or more locations, eg, clients and servers. The memory 16 may include any type of data storage and / or transmission medium including magnetic media, optical media, random access memory (RAM), read only memory (ROM), data cache, data objects, and the like. . In addition, like the CPU 14, the memory 16 may reside in a single physical location that includes one or more types of data storage or may be distributed through multiple physical systems in various forms.

I/O 인터페이스(18)는 예를 들어 I/O 포트(시리얼, 패럴렐, 이더넷, 키보드, 마우스 등), 유니버설 시리얼 버스(USB) 포트, 확장 버스, IDE(integrated drive electronics), 네트워크 시스템, 모뎀, 스피커, 모니터(음극선관(CRT)), 액정 디스플레이(LCD), 핸드헬드 장치, 키보드, 마우스, 음성 인식 시스템, 음성 출력 시스템, 스캐너, 프린터, 팩시밀리, 페이저, 스토리지 장치 등을 포함하는 사용자(30)와 정보를 교환하는 임의의 시스템을 포함할 수 있다. 버스(20)는 컴퓨터 시스템(12) 내의 컴포넌트들간의 통신 링크를 제공하고, 전기, 광, 무선 등을 포함하는 임의의 유형의 전송 링크를 포함할 수 있다. 또한, 도시되지는 않았지만, 캐쉬 메모리, 통신 시스템, 시스템 소프트웨어 등의 추가의 컴포넌트가 시스템(12)에 포함될 수 있다.I / O interface 18 includes, for example, I / O ports (serial, parallel, Ethernet, keyboard, mouse, etc.), Universal Serial Bus (USB) ports, expansion buses, integrated drive electronics (IDEs), network systems, modems. Users, including speakers, monitors (cathode ray tubes (CRT)), liquid crystal displays (LCDs), handheld devices, keyboards, mice, speech recognition systems, voice output systems, scanners, printers, fax machines, pagers, storage devices, 30) may include any system for exchanging information. Bus 20 provides a communication link between components within computer system 12 and may include any type of transmission link including electrical, optical, wireless, and the like. Also, although not shown, additional components may be included in system 12 such as cache memory, communication systems, system software, and the like.

데이터베이스(24)는 후술하는 바와 같이 본 발명을 실현하는데 필요한 정보를 저장할 수 있다. 데이터베이스(24)는 자기 디스크 드라이브 또는 광 디스크 드라이브 등의 하나 이상의 저장 장치를 포함할 수 있다. 또한, 데이터베이스(24)는 예를 들어 LAN, WAN, 또는 SAN(storage area network)(미도시)를 통해 분배되는 데이터를 포함할 수 있다. 데이터베이스(24)는 또한 본 기술에 숙련된 자가 해석하여 하나 이상의 스토리지 장치를 포함할 수 있는 방식으로 구성될 수 있다. The database 24 can store information necessary for realizing the present invention as will be described later. Database 24 may include one or more storage devices, such as a magnetic disk drive or an optical disk drive. The database 24 may also include data distributed over a LAN, WAN, or storage area network (SAN) (not shown), for example. Database 24 may also be configured in such a way that one skilled in the art can interpret and include one or more storage devices.

시스템(12)은 컴퓨터 프로그램 코드로서 메모리(16)에 저장된 집적 회로 진단 프로그램(32)을 포함한다. 집적 회로 진단 프로그램(32)은 후술하는 다양한 방법을 구현한다. 캡쳐 시스템(34)은 집적 회로의 하나 이상의 이미지를 캡쳐하고 각 이미지에 좌표 정보를 할당할 수 있다. 컴포넌트 시스템(36)은 하나 이상의 캡쳐 이미지에 기초하여 컴포넌트 네트리스트를 생성한다. 논리 시스템(38)은 (후술하는) 컴포넌트 네트리스트에 기초하여 논리 네트리스트를 생성한다. 집적 회로 진단 프로그램(32)은 또한 기준 회로로부터 생성된 하나 이상의 기준 논리 및/또는 컴포넌트 네트리스트(일괄하여 "기준 네트리스트"라 한다)와 논리 및/또는 컴포넌트 네트리스트를 비교하는 비교 시스템(40), 논리 및/또는 컴포넌트 네트리스트에 기초하여 결선도를 생성하는 결선도 시스템(42), 및 결선도내의 배선 정보를 선택적으로 디스플레이하는 디스플레이 시스템(44)을 포함하는 것으로 도시된다. System 12 includes integrated circuit diagnostic program 32 stored in memory 16 as computer program code. The integrated circuit diagnostic program 32 implements various methods described below. Capture system 34 may capture one or more images of the integrated circuit and assign coordinate information to each image. Component system 36 generates a component netlist based on one or more captured images. Logical system 38 generates a logical netlist based on the component netlist (described below). The integrated circuit diagnostic program 32 also compares the logic and / or component netlist with one or more reference logic and / or component netlists (collectively referred to as “reference netlists”) generated from the reference circuits. ), A connection diagram system 42 for generating connection diagrams based on logic and / or component netlists, and a display system 44 for selectively displaying wiring information within the connection diagrams.

집적 회로 진단 프로그램(32)에 도시된 다양한 시스템은 예시적인 목적으로 포함된 것임을 이해할 것이다. 결과적으로, 시스템 중의 하나 이상은 단일 시스템으로 결합될 수 있고 구현되지 않을 수도 있다. 또한, 시스템 중의 하나 이상은 집적 회로 진단 프로그램(32)과 별개로 실행될 수 있는 별도의 프로그램으로서 구현될 수 있다.It will be appreciated that the various systems shown in integrated circuit diagnostic program 32 are included for illustrative purposes. As a result, one or more of the systems may or may not be combined into a single system. In addition, one or more of the systems may be implemented as a separate program that may be executed separately from the integrated circuit diagnostic program 32.

II. 방법 개요II. Method outline

도 2는 본 발명의 일 실시예에 따라 집적 회로를 진단하는 예시적인 방법을 도시한다. 집적 회로는 하나 이상의 층을 포함하고, 일반적으로 진단을 수행하는것에 관련된 하나 이상의 층을 포함한다. 단계(S1)에서, 하나 이상의 회로 층이 관련되면, 집적 회로의 각각의 관련 회로 층이 공지된 기술 또는 후에 개발되는 기술을 사용하여 해체(delayer)된다(즉, 노출된다). 단계(S2)에서, 각각의 회로 층의 하나 이상의 이미지가 캡쳐 시스템(34; 도 1)에 의해 이하에서 더 자세히 기재되는 바와 같이 캡쳐된다. 단계(S3)에서, 컴포넌트 네트리스트가 이미지(들)로부터 생성된다. 본 발명은 후술되는 컴포넌트 시스템(36; 도 1)을 사용하여 이미지로부터 컴포넌트 네트리스트를 생성하는 후술되는 2개의 대안을 제공한다. 하나의 대안을 사용하여, 이미지(들)이 레이아웃으로 변환되고 컴포넌트 네트리스트를 위한 정보가 추출된다. 다른 방법으로, 컴포넌트 네트리스트를 위한 정보가 이미지의 검사로부터 직접 얻어질 수 있다. 단계(S4)에서, 논리 시스템(38; 도 1)에 의해 컴포넌트 네트리스트에 기초하여 논리 네트리스트가 생성된다. 논리 네트리스트는, 컴포넌트 네트리스트에 계층 구성 룰을 적용하여 하나 이상의 회로 소자를 그들이 구현하는 하나 이상의 논리 기능으로 대체함으로써 생성된다.2 illustrates an exemplary method of diagnosing an integrated circuit in accordance with one embodiment of the present invention. Integrated circuits include one or more layers and generally include one or more layers involved in performing diagnostics. In step S1, if one or more circuit layers are involved, each relevant circuit layer of the integrated circuit is delayered (ie exposed) using known techniques or techniques developed later. In step S2, one or more images of each circuit layer are captured by the capture system 34 (FIG. 1) as described in more detail below. In step S3, a component netlist is generated from the image (s). The present invention provides two alternatives described below for generating a component netlist from an image using the component system 36 (FIG. 1) described below. Using one alternative, the image (s) is converted to a layout and the information for the component netlist is extracted. Alternatively, the information for the component netlist can be obtained directly from the inspection of the image. In step S4, a logical netlist is generated by the logical system 38 (FIG. 1) based on the component netlist. Logical netlists are created by applying hierarchical rules to component netlists to replace one or more circuit elements with one or more logic functions that they implement.

상술한 바와 같이, 집적 회로는 하나 이상의 입력 및/또는 출력 "포트"(신호)를 구성하는 회로 소자를 포함할 수 있다. "포트"는 추가의 회로(즉, 패드, 회로의 비분석 부분에 접속된 배선 등)에 인터페이스를 제공하는 임의의 유형의 회로이다. 집적 회로는 또한 종종 내부 전원(Vdd), 접지(Vss) 또는 다른 전원에 접속되는 하나 이상의 회로 소자를 포함한다. 본 발명은 네트리스트 내의 포트 및 파워 정보를 포함한다.As noted above, integrated circuits may include circuit elements that constitute one or more input and / or output "ports" (signals). A "port" is any type of circuit that provides an interface to additional circuitry (ie, pads, wires connected to unanalyzed portions of the circuit, etc.). Integrated circuits also often include one or more circuit elements connected to an internal power supply (V dd ), ground (V ss ) or other power supply. The present invention includes port and power information in the netlist.

컴포넌트 네트리스트 또는 논리 네트리스트는 다양한 애플리케이션에서 사용될 수 있다. 예를 들어, 논리 네트리스트 또는 컴포넌트 네트리스트는 비교 시스템(40; 도 1)을 사용하여 비교될 수 있다. 논리 네트리스트는 기준 회로에 기초하여 다른 논리 네트리스트(즉, "기준 논리 네트리스트")와 비교될 수 있다. 마찬가지로, 집적 회로로부터 생성된 컴포넌트 네트리스트는 집적 회로를 생성하는 데 사용되는 컴포넌트 네트리스(즉, "기준 컴포넌트 네트리스트")와 비교되어 제조시 에러가 발생되었는지를 판정할 수 있다. 두 회로(네트리스트)간의 유사점과 차이점이 결정되고 디스플레이 시스템(44; 도 1)에 의해 디스플레이될 수 있다. 또한, 결선도는 결선도 시스템(42; 도 1)를 사용하여 생성될 수 있고, 그 내에는 회로 컴포넌트가 포트 정보, 파워 정보, 및/또는 컴포넌트 핀 접속 정보에 기초하여 배열된다. 예를 들어, 입력 포트 회로 소자는 결선도의 좌측에 배치될 수 있고, 출력 포트 회로 소자는 우측에 배치될 수 있고, Vdd는 상부에 배치될 수 있고, Vss는 하부에 배치될 수 있다. 결선도의 배선은 디스플레이 시스템(44; 도 1)을 사용하여 선택적으로 디스플레이되어 사용자가 회로 컴포넌트를 배열하는 것을 도울 수 있다.Component netlists or logical netlists can be used in a variety of applications. For example, logical netlists or component netlists may be compared using comparison system 40 (FIG. 1). The logical netlist may be compared with other logical netlists (ie, "reference logical netlist") based on the reference circuit. Similarly, the component netlist generated from the integrated circuit can be compared to the component netlist used to generate the integrated circuit (ie, the "reference component netlist") to determine if an error has occurred in manufacturing. Similarities and differences between the two circuits (netlists) may be determined and displayed by the display system 44 (FIG. 1). In addition, the connection diagram may be generated using the connection diagram system 42 (FIG. 1), in which circuit components are arranged based on port information, power information, and / or component pin connection information. For example, the input port circuit elements can be disposed on the left side of the connection diagram, the output port circuit elements can be disposed on the right side, V dd can be disposed on the top, and V ss can be disposed on the bottom. The wiring in the connection diagram can be selectively displayed using the display system 44 (FIG. 1) to help the user arrange the circuit components.

III. 캡쳐링 이미지(들)III. Capturing image (s)

단계(S2)에 따르면, 각각의 관련 회로 층의 하나 이상의 이미지가 캡쳐되어 메모리, 예를 들어, 데이터베이스(24; 도 1)에 저장될 수 있다. 각 층에 요구되는 이미지의 수는 회로 해상도 및 회로 층의 크기에 의존한다. 이미지를 캡쳐하는 임의의 수단은, 예를 들어, 주사 전자 현미경(SEM), 특화된 전자 빔 툴(전자 빔 유도 전류(EBIC) 기술), 광 마이크로스코피, 디지털 이미징 등을 포함할 수 있다. 각 회로 층을 위한 다수 이미지가 사용되면, 좌표 시스템이 이미지를 배치하는 데 사용될 수 있다. 예를 들어, 각 이미지의 상부 좌측 코너에 좌표 값이 할당될 수 있다. 회로 층의 상부 좌측 코너를 포함하는 이미지는 (0, 0)의 좌표 기준을 갖는다. 좌표는 예를 들어 이미지내에 표시된 화소의 수 및/또는 이미지내의 포위된 물리적 영역에 기초하여 결정될 수 있다.According to step S2, one or more images of each relevant circuit layer may be captured and stored in a memory, for example, database 24 (FIG. 1). The number of images required for each layer depends on the circuit resolution and the size of the circuit layer. Any means for capturing an image may include, for example, a scanning electron microscope (SEM), a specialized electron beam tool (electron beam induced current (EBIC) technology), optical microscopy, digital imaging, and the like. If multiple images for each circuit layer are used, a coordinate system can be used to place the images. For example, a coordinate value may be assigned to the upper left corner of each image. The image containing the upper left corner of the circuit layer has a coordinate reference of (0, 0). Coordinates may be determined based on, for example, the number of pixels displayed in an image and / or the enclosed physical area within the image.

이미지가 부분적으로 하나 이상의 인접 이미지와 중첩하도록 이미지가 캡쳐될 수 있다. 중첩은 이미지가 회로 층을 완전히 커버하도록 하고, 회로 소자가 2개의 인접 이미지에서 발견될때의 상태를 식별하는 것을 돕는다. 중첩이 존재하면, 이미지의 할당된 좌표 기준은 중첩을 고려해야 한다. 예를 들어, 좌표가 화소수에 기초하면, 총 화소로부터 중첩의 화소수를 감산하여 오프셋 이미지의 좌표 기준을 얻는다. 대안으로, 이미지를 배치하는데 충분한 정확도를 얻을 수 있으면, 중첩이 존재하지 않도록 이미지를 캡쳐할 수 있다. The image may be captured such that the image partially overlaps one or more adjacent images. Superposition allows the image to completely cover the circuit layer and helps to identify the state when the circuit element is found in two adjacent images. If there is overlap, the assigned coordinate criteria of the image should take into account the overlap. For example, if the coordinate is based on the number of pixels, the coordinate reference of the offset image is obtained by subtracting the number of overlapping pixels from the total pixels. Alternatively, if sufficient accuracy can be obtained to place the image, the image can be captured so that there is no overlap.

IV. 컴포넌트 네트리스트 생성IV. Create component netlist

단계(S3)에서, 컴포넌트 네트리스트는 집적 회로의 이미지(들)에 기초하여 생성된다. 앞에서 간략히 설명한 바와 같이, 컴포넌트 네트리스트를 생성하기 위하여 두가지 대안이 선택될 수 있다. 첫번째 대안은 컴포넌트 네트리스트를 생성하기 위하여 기존의 기술에 몇가지 개량을 제공하지만, 두번째 대안은 좀더 직접적인 접근법을 제공한다.In step S3, the component netlist is generated based on the image (s) of the integrated circuit. As outlined above, two alternatives may be chosen to generate a component netlist. The first alternative provides some improvements to existing techniques for generating component netlists, while the second alternative provides a more direct approach.

A. 레이아웃-기반 생성A. Layout-Based Generation

도 3은 컴포넌트 네트리스트를 생성하는 예시적인 방법을 도시한다. 단계(S301)에서, 집적 회로의 이미지(들)은 컴포넌트 시스템(36; 도 1)에 의해 레이아웃으로 변환된다. 이 경우, 컴포넌트 시스템(36; 도 1)은 Raith USA Inc.의 CHIPSCANNERTM 등의 소프트웨어를 포함하여 이미지(들)을 레이아웃으로 변환할 수 있다. 레이아웃은 집적 회로의 물리적 설계의 전자 표현이다. 공통 레이아웃 설명 파일 포맷은 GL1 및 GDS를 포함한다. 레이아웃은 판독되어 집적 회로의 특정 위치에 각각의 회로 소자를 시각적으로 표시할 수 있다.3 illustrates an example method of generating a component netlist. In step S301, the image (s) of the integrated circuit are converted into layouts by the component system 36 (FIG. 1). In this case, component system 36 (FIG. 1) may convert the image (s) into a layout including software such as CHIPSCANNER from Raith USA Inc. Layout is an electronic representation of the physical design of an integrated circuit. Common layout description file formats include GL1 and GDS. The layout can be read to visually display each circuit element at a particular location in the integrated circuit.

종종, 이미지(들)로부터 생성된 레이아웃이 배선 및 물리적 레이아웃 정보를 포함하면, 다른 정보는 부족할 수 있다. 예를 들어, 집적 회로의 포트(들) 및 파워 레일(들) 정의가 종종 누락될 수 있다. 또한, 웰, 미분 공칭-Vt 트랜지스터 및 낮은-Vt 트랜지스터 등의 다른 정보가 부족할 수 있다. 결과적으로, 레이아웃은 누락된 정보의 일부 또는 전부의 정의를 포함하도록 컴포넌트 시스템(36; 도 1)을 사용하여 편집될 수 있다. 예를 들어, 장치들간의 임계 전압의 차는 일반적으로 임플랜트 마스크(implant mask)로 마크된다. 임플랜트 마스크는 새로운 레벨로서 레이아웃 데이터 내에 포함될 수 있다. 특히, 단계(302)에 도시된 바와 같이, 포트 및 파워 정보가 레이아웃에 부가될 수 있다. 이 정보는, 컴포넌트 네트리스트를 사용하여 결선도를 생성하고, 컴포넌트 네트리스트와 다른 컴포넌트 네트리스트를 비교하고, 및/또는 컴포넌트 네트리스트를 논리 네트리스트로 변환하는 것을 도우며, 이들 각각에 대해서는 후술된다.Often, if the layout generated from the image (s) includes wiring and physical layout information, other information may be lacking. For example, the port (s) and power rail (s) definitions of integrated circuits can often be missing. In addition, other information may be lacking, such as wells, differential nominal-Vt transistors, and low-Vt transistors. As a result, the layout can be edited using component system 36 (FIG. 1) to include definitions of some or all of the missing information. For example, the difference in threshold voltage between devices is generally marked with an implant mask. The implant mask may be included in layout data as a new level. In particular, as shown in step 302, port and power information may be added to the layout. This information helps to generate connection diagrams using component netlists, to compare component netlists with other component netlists, and / or to convert component netlists into logical netlists, each of which is described below.

단계(303)에서, 컴포넌트 정보(트랜지스터, 저항기, 칩, 포트, 파워 레일 등)이 레이아웃으로부터 추출된다. 단계(S304)에서, 네트 접속(즉, 핀-투-핀(pin-to-pin) 접속 등의 배선 정보)이 레이아웃으로부터 추출된다. 단계(S305)에서, 컴포넌트 정보 및 네트 접속은 컴포넌트 네트리스트를 생성하는 데 사용된다.In step 303, component information (transistor, resistor, chip, port, power rail, etc.) is extracted from the layout. In step S304, a net connection (i.e., wiring information, such as a pin-to-pin connection) is extracted from the layout. In step S305, the component information and the net connection are used to generate a component netlist.

추출 엔진이 컴포넌트 시스템(36; 도 1)의 부분으로서 제공되어 단계(S303, S304, 및 S305)를 구현할 수 있다. 추출 엔진은 컴포넌트 네트리스트로부터 레이아웃을 생성하는 하나 이상의 툴로부터 얻어질 수 있다. 이들 툴은 레이아웃으로부터 컴포넌트 네트리스트를 추출하기 위하여 변경될 수 있다. 예를 들어, 인터내셔널 비즈니스 머신에 의한 ERIETM 은 추출 엔진의 기능을 수행하도록 변경될 수 있는 레이아웃 생성 툴의 일예이다. 이 경우, ERIE는 층 상호작용을 정의하는 데이터를 수용하도록 변경된다. 데이터를 사용하여, 컴포넌트 정보 및 네트 접속이 추출된다. 그후, 추출된 정보는 레이아웃 컴포넌트 및 그들의 접속의 문서 표현(즉, 컴포넌트 네트리스트)으로 결합 및 포맷된다.An extraction engine may be provided as part of component system 36 (FIG. 1) to implement steps S303, S304, and S305. The extraction engine may be obtained from one or more tools for generating layouts from component netlists. These tools can be modified to extract component netlists from layouts. For example, ERIE by an international business machine is an example of a layout generation tool that can be modified to perform the function of an extraction engine. In this case, the ERIE is modified to accommodate the data defining the layer interaction. Using the data, component information and net connection are extracted. The extracted information is then combined and formatted into a document representation of the layout component and their connection (ie, component netlist).

상술한 레이아웃-기반 접근법은 몇가지 개량을 갖는 기존의 기술을 사용하므로, 이 접근법은 임의의 경우에 바람직하지 않을 수 있다. 예를 들어, 작은 집적 회로가 진단될 때, "수동의(hands on)" 접근법이 요구될 수 있다. 또한, 더 직접적인 접근법과 비교하여, 상술한 단계들 중의 하나 이상에서의 에러를 판정하기 어려울 수 있다. 결과적으로, 후술하는 이미지-기반 접근법이 임의의 경우에 이로울 수 있다. The layout-based approach described above uses existing techniques with some refinements, so this approach may not be desirable in any case. For example, when a small integrated circuit is diagnosed, a "hands on" approach may be required. In addition, compared to a more direct approach, it may be difficult to determine an error in one or more of the steps described above. As a result, the image-based approach described below may be beneficial in any case.

B. 이미지-기반 생성B. Image-Based Generation

도 4는 하나 이상의 회로 이미지에 기초하여 컴포넌트 네트리스트를 생성하는 다른 방법을 나타낸다. 단계(S311)에서, "층 정보"는 이미지마다 식별된다. "층 정보"는 포트, 회로 컴포넌트, 컴포넌트 핀, 배선, 및 파워 레일(일괄하여 "회로 소자"라 한다)을 포함하는 집적 회로를 진단하는 데 관련된 회로 소자를 포함할 수 있다. 층 정보를 식별하는 것은 이미지 내의 다양한 회로 소자를 식별하고 구분할 수 있는 컴퓨터 프로그램(즉, 컴포넌트 시스템(36; 도 1)의 일부) 및/또는 다양한 회로 소자를 식별하는 사용자에 의해 수행될 수 있다.4 illustrates another method of generating a component netlist based on one or more circuit images. In step S311, "layer information" is identified for each image. "Layer information" may include circuit elements involved in diagnosing integrated circuits including ports, circuit components, component pins, wiring, and power rails (collectively referred to as "circuit elements"). Identifying the layer information may be performed by a computer program (i.e., part of component system 36 (FIG. 1)) and / or by the user identifying various circuit elements capable of identifying and distinguishing various circuit elements in the image.

사용자 식별에 대하여, 사용자에게 각각의 회로 이미지가 제시될 수 있다. 회로 이미지를 보면, 사용자는 회로 소자를 식별할 수 있다. 사용자는 컴포넌트 시스템(36; 도 1)의 인터페이스를 사용하여 이미지 내의 회로 소자에 대한 영역의 윤곽을 그림으로써 영역을 정의할 수 있다. 영역이 정의되면, 고유한 식별자가 부여되고 회로 소자의 유형이 부가된다. 소자 특성(즉, 식별자, 레벨, 유형, 위치, 및 영역 정보)이 데이터베이스에 저장된다. 이 프로세스는 관련된 모든 회로 소자가 정의될때까지 계속될 수 있다.For user identification, each circuit image can be presented to the user. Looking at the circuit image, the user can identify the circuit element. The user can define an area by delineating the area for circuit elements in the image using the interface of component system 36 (FIG. 1). Once a region is defined, a unique identifier is assigned and the type of circuit element is added. Device characteristics (ie, identifier, level, type, location, and area information) are stored in a database. This process can continue until all relevant circuit elements have been defined.

회로에 외부 인터페이스를 표시하는 회로 층에 대하여 포트가 식별되고 저장될 수 있고, 다양한 컴포넌트(즉, 트랜지스터, 저항기 등)가 수동 또는 소프트웨어를 사용하여 식별되고 저장될 수 있다. 이어서, 컴포넌트마다, 핀은 핀의 유형 등의 정보(즉, 전계 효과 트랜지스터, 소스, 드레인 또는 게이트)에 따라 식별되고 저장될 수 있다. 마지막으로, 배선이 식별되고 저장될 수 있다.Ports may be identified and stored for circuit layers representing external interfaces to the circuit, and various components (ie, transistors, resistors, etc.) may be identified and stored manually or using software. Then, per component, the pins may be identified and stored according to information such as the type of the pin (ie, field effect transistor, source, drain or gate). Finally, the wiring can be identified and stored.

대안으로, 핀의 콜렉션은 컴포넌트를 별도로 식별하지 않고 컴포넌트를 식별하는데 사용될 수 있다. 또한, 소자의 그룹은 단일 소자로서 식별될 수 있다. 예를 들어, 동일한 신호를 전달하는 비어 또는 배선의 그룹이 단일 컴포넌트로서 식별될 수 있다. 상술한 바와 같이, 다수 이미지가 회로 층에 사용될 때 이미지 오프셋이 이미지 상의 위치에 부가될 수 있다. 소자가 식별되었다는 것을 사용자가 기억하는 것을 돕기 위하여 이미지가 영역이 디스플레이된 채로 있을 수 있다. 이 프로세스는 모든 관련된 이미지내의 모든 관련된 회로 소자가 식별될 때까지 원하는 회로 소자마다 반복될 수 있다.Alternatively, the collection of pins can be used to identify a component without separately identifying the component. In addition, a group of devices can be identified as a single device. For example, a group of vias or wires carrying the same signal can be identified as a single component. As discussed above, an image offset may be added to a location on the image when multiple images are used in the circuit layer. The image may remain displayed to help the user remember that the device has been identified. This process may be repeated for each desired circuit element until all relevant circuit elements in all relevant images have been identified.

단계(S312)에서, 회로 층간의 접속을 결정하기 위하여, 둘 이상의 층사이의 접속을 제공하는 회로 소자가 수동 또는 소프트웨어를 사용하여 중간층 정보로서 식별되고 저장될 수 있다. "중간층 정보"는 비어와 콘택을 포함하는 층간의 접속을 제공하는 모든 회로 소자의 식별을 포함한다. 단계(S311)와 유사하게, 컴퓨터 시스템(36; 도 1)의 컴퓨터 프로그램 부분 및/또는 사용자가 중간층 정보로서 데이터베이스(24; 도 1)에 저장된 중간 회로 소자를 나타내는 형상 특성을 정의할 수 있다. 중간층 정보는 또한 회로 소자가 배치되는 2개의 층(즉, 층 2와 층 3)을 식별한다. 대안으로, 중간층 정보는 층 정보로서 정의되고 저장되며, 식별되는 회로 소자의 유형(즉, 비어, 콘택 등)에 의해 구분될 수 있다.In step S312, circuit elements providing a connection between two or more layers may be identified and stored as interlayer information using manual or software to determine the connection between circuit layers. "Middle layer information" includes the identification of all circuit elements that provide a connection between the via and the layer including the contact. Similar to step S311, a computer program portion of computer system 36 (FIG. 1) and / or a user may define shape characteristics representing intermediate circuit elements stored in database 24 (FIG. 1) as interlayer information. The interlayer information also identifies the two layers (ie, layer 2 and layer 3) on which the circuit elements are placed. Alternatively, the interlayer information may be defined and stored as layer information and may be distinguished by the type of circuit element (ie, via, contact, etc.) identified.

단계(S313)에서, 층 정보 및 중간층 정보는 수동 또는 소프트웨어를 사용하여 식별된 후 개별적으로 감소된다. 층 정보를 감소시키기 위하여, 회로 소자는 네트 그룹으로 결합된다. "네트 그룹"은 중첩으로 결정된 회로 소자 세트를 포함한다. 결과적으로, 각각의 네트 그룹은 전기적 연속성을 갖는 회로 소자의 콜렉션을 가리킨다. 초기에, 회로 소자에 대한 위치 및 영역 특성이 컴포넌트 시스템(36; 도 1)을 사용하여 비교되어 동일한 유형(즉, 핀/핀, 배선/배선 등) 또는 접속 유형(즉, 배선/핀, 배선/포트 등)의 회로 소자와 임의의 중첩이 있는지를 판정한다. 회로 소자가 2개의 이미지에 걸쳐 연속하거나, 동일한 유형의 2개의 소자의 단부가 인접하거나(즉, 중첩 데이터가 없는 인접 이미지), 2개의 회로 소자가 동일한 2차원 공간를 공유(즉, 핀에 접속된 배선)할 때 중첩이 발생한다. 중첩이 발견되면, 2개의 회로 소자가 고유한 네트 식별자에 의해 식별된 네트 그룹과 결합된다. 회로 소자가 어떠한 네트 그룹에도 속하지 않으면, 새로운 네트 그룹이 생성된다. 하나의 소자가 이미 네트 그룹에 결합되면, 제2 소자가 네트 그룹에 부가된다. 양 소자가 개별 네트 그룹에 속하면, 2개의 네트 그룹은 하나의 네트 그룹으로 결합된다. 중간층 정보는 동일한 방식으로 감소된다.In step S313, the layer information and the middle layer information are individually or reduced after being identified using manual or software. In order to reduce layer information, circuit elements are combined into net groups. A "net group" includes a set of circuit elements determined to overlap. As a result, each net group refers to a collection of circuit elements with electrical continuity. Initially, the location and area characteristics for the circuit elements are compared using the component system 36 (FIG. 1) to determine the same type (i.e., pin / pin, wiring / wiring, etc.) or connection type (i.e., wiring / pin, wiring It is determined whether there is any overlap with the circuit elements of the (port, etc.). The circuit elements are continuous across two images, the ends of two elements of the same type are adjacent (i.e., adjacent images without overlapping data), or the two circuit elements share the same two-dimensional space (i.e., connected to a pin Superposition occurs. If an overlap is found, the two circuit elements are joined with the net group identified by the unique net identifier. If the circuit element does not belong to any netgroup, a new netgroup is created. If one device is already joined to the net group, the second device is added to the net group. If both devices belong to separate netgroups, the two netgroups are combined into one netgroup. The middle layer information is reduced in the same way.

각 회로 소자의 좌표 할당 및 영역의 정의에 있어서의 잠재적 에러 때문에, 중첩이 존재하는지를 판정하는데 분산(variance)이 사용될 수 있다. "분산"은 잠재적 에러를 확인하기 위하여 정의된 영역에 부가된 영역이다. 예를 들어, 하나 이상의 다른 영역과 중첩하는지를 결정하기 전에 회로 레벨의 기본 피치의 절반 이하의 분산이 영역이 부가될 수 있다. 0.5 미크로 최소 선폭을 갖는 집적 회로에 대하여, 0.25 미크론 이하의 분산이 사용될 수 있다. 기본 피치가 특정한 측정 단위(즉, 미크론)으로 사용자에 의해 정의될 수 있고 회로 층을 촬영하는데 사용되는 이미지 해상도에 기초하여 좌표(즉, 화소)로 변환될 수 있다. Because of potential errors in the coordinate assignment and area definition of each circuit element, variance can be used to determine if there is an overlap. "Distribution" is an area added to a defined area to identify potential errors. For example, less than half the variance of the fundamental pitch of the circuit level may be added before determining whether to overlap one or more other areas. For integrated circuits with a minimum line width of 0.5 microns, a dispersion of 0.25 microns or less may be used. The basic pitch can be defined by the user in a particular unit of measurement (ie, micron) and can be converted to coordinates (ie, pixels) based on the image resolution used to photograph the circuit layer.

단계(314)에서, 인접한 층에 대한 층 정보는 수동 또는 소프트웨어를 사용하는 중간층 정보를 사용하여 결합된다. 층 정보와 함께 사용되는 유사한 방법이 층간의 중첩 소자를 결정하기 위하여 병합될 수 있다(즉, 분산의 부가 및 영역의 비교). 그러나, 특정 회로 소자에 대해서만 중첩이 발견된다. 이 경우, 매칭이 발견되면, 2개의 네트 그룹이 하나의 네트 그룹으로 결합된다. 프로세스는 모든 층이 처리될때까지 계속된다. 예를 들어, 층 1과 층 2에 대한 정보를 결합하기 위하여, 2개의 층으로부터 얻어진 중간층 정보가 순차적으로 선택되고 분석된다. 상술한 바와 같이, 비어는 분석을 위해 중간 회로 소자로서 저장되어 선택될 수 있다. 분산이 비어의 정의된 형상에 부가될 수 있다. 변경된 형상은 층 1과 층 2의 층 정보와 비교된다. 비어에 접속된 층 1 상의 배선의 위치는 적어도 부분적으로 변경된 형상과 중첩된다. 결과적으로, 비어는 층 1 상의 배선에 대한 네트 그룹에 부가된다. 유사한 배선이 층 2 상에서도 발견된다. 이 경우, 층 2 배선와 층 1 배선에 대한 네트 그룹이 단일 네트 그룹으로서 결합되어 저장된다.In step 314, layer information for adjacent layers is combined using intermediate or manual layer information. Similar methods used with layer information can be merged to determine overlapping elements between layers (ie, addition of variance and comparison of regions). However, overlap is found only for certain circuit elements. In this case, if a match is found, the two netgroups are combined into one netgroup. The process continues until all layers have been processed. For example, to combine the information for layers 1 and 2, the interlayer information obtained from the two layers is sequentially selected and analyzed. As discussed above, the vias can be stored and selected as intermediate circuit elements for analysis. Dispersion can be added to the defined shape of the vias. The modified shape is compared with the layer information of layer 1 and layer 2. The position of the wiring on the layer 1 connected to the via overlaps at least a partially changed shape. As a result, the vias are added to the net group for the wiring on layer one. Similar wiring is found on layer two. In this case, the net groups for the layer 2 wiring and the layer 1 wiring are combined and stored as a single net group.

감소 및 결합 단계 후에, 각각의 네트 그룹은 완전한 배선 결합을 나타낸다. 즉, 각각의 네트 그룹은 컴포넌트 핀, 포트, 및/또는 파워 레일로부터 적어도 하나의 다른 컴포넌트 핀, 포트, 및/또는 파워 레일로의 접속을 포함해야 한다. 결과적으로, 단계(S315)에서, 네트 그룹은 수동 또는 소프트웨어를 사용하여 컴포넌트 네트리스트를 생성하는데 사용될 수 있다. 각각의 네트 그룹이 선택되고 네트 그룹에 의해 정의된 배선 접속 모두가 컴포넌트 네트리스트에 부가된다. 모든 네트 그룹이 처리되면, 완전한 컴포넌트 네트리스트가 생성된다.After the reduction and joining step, each net group represents a complete wiring bond. That is, each net group should include a connection from component pins, ports, and / or power rails to at least one other component pin, port, and / or power rail. As a result, in step S315, the netgroup can be used to generate the component netlist manually or using software. Each net group is selected and all of the wire connections defined by the net group are added to the component netlist. Once all netgroups have been processed, a complete component netlist is created.

V. 논리 네트리스트 생성V. Create Logical Netlist

도 2를 참조하면, 단계(S4)는 논리 시스템(38; 도 1)을 사용하여 컴포넌트 네트리스트에 기초하여 논리 네트리스트를 생성하는 것을 포함한다. 일 실시예에서, 계층 구성 룰이 컴포넌트 네트리스트에 적용되어 하나 이상의 회로 소자를 등가의 논리 컴포넌트로 대체한다. "계층 구성 룰"은 하나 이상의 회로 컴포넌트와 그들의 접속에 기초하여 논리 컴포넌트를 정의한다. 포트와 파워 정보를 포함하는 것은 계층 구성 룰이 컴포넌트 네트리스트내에 포함된 다양한 컴포넌트 핀의 네트 접속 및 컴포넌트 기능을 사용하도록 하여 회로의 부분들의 기능을 결정한다. 예를 들어, 2개의 트랜지스터는 입력 포트의 논리 NOT을 구현하도록 접속될 수 있다. 일반적으로, 하나의 트랜지스터의 핀은 Vdd에 접속되고 다른 트랜지스터의 핀은 Vss에 접속된다. 논리적 등가를 결정하기 위하여, 각 트랜지스터의 기능과 각 트랜지스터의 많은 핀의 접속을 인식하는 계층 구성 정보가 적용된다. 파워 정보가 컴포넌트 네트리스트에 포함되므로, 적절한 핀 접속이 결정될 수 있다. 입력 포트가 선택되고 컴포넌트 핀으로의 다양한 접속이 트레이스될 수 있다. 논리 NOT를 구현하는 회로가 발견되면, 2개의 트랜지스터가 NOT 게이트로 대체된다. 임의의 논리 회로가 회로 내에서 하나 이상의 더 간단한 논리 컴포넌트를 포함할 수 있으므로, 프로세스는 가장 복잡한 컴포넌트가 선택되어 컴포넌트 네트리스트의 부분들을 대체할 때까지 계속될 수 있다.Referring to FIG. 2, step S4 includes generating a logical netlist based on the component netlist using the logic system 38 (FIG. 1). In one embodiment, hierarchical rules are applied to the component netlist to replace one or more circuit elements with equivalent logic components. A "hierarchy rule" defines a logical component based on one or more circuit components and their connections. Including the port and power information allows the hierarchy rules to use the net connection and component functions of the various component pins included in the component netlist to determine the function of the parts of the circuit. For example, two transistors can be connected to implement a logic NOT of an input port. In general, the pin of one transistor is connected to V dd and the pin of the other transistor is connected to V ss . In order to determine the logical equivalent, hierarchical configuration information is applied which recognizes the function of each transistor and the connection of many pins of each transistor. Since the power information is included in the component netlist, an appropriate pin connection can be determined. Input ports can be selected and various connections to component pins can be traced. If a circuit is found that implements a logic NOT, the two transistors are replaced with a NOT gate. Since any logic circuit can include one or more simpler logic components within the circuit, the process can continue until the most complex component is selected to replace parts of the component netlist.

다양한 논리 컴포넌트에 대한 공통 컴포넌트 네트리스트 정보를 포함하는 데이터베이스가 회로 내의 논리 컴포넌트를 구현하는 소자를 결정하는데 사용될 수 있다. 대안으로, 회로 내에서 구현되는 논리 컴포넌트를 결정하기 위하여 핀 상태가 동적으로 분석될 수 있다. 기본 논리 컴포넌트의 결합이 좀더 복잡한 단일의 논리 컴포넌트로 결합(즉, 가산기가 몇개의 논리 컴포넌트를 대체할 수 있다)되는 몇가지 시도가 수행될 수 있다.A database containing common component netlist information for the various logical components can be used to determine the elements that implement the logical components in the circuit. Alternatively, the pin state can be dynamically analyzed to determine logic components implemented within the circuit. Several attempts may be made to combine basic logical components into a single, more complex logical component (ie, an adder can replace several logical components).

VI. 네트리스트 애플리케이션VI. Netlist application

컴포넌트 네트리스트 및/또는 논리 네트리스트를 사용하는 집적 회로를 진단하는 많은 애플리케이션이 가능하다. 본 발명은 선택적으로 후술되는 애츨리케이션의 일부에 하나 이상의 고유한 능력을 제공한다.Many applications are possible for diagnosing integrated circuits using component netlists and / or logical netlists. The present invention optionally provides one or more unique capabilities to some of the applications described below.

A. 네트리스트 비교A. Netlist Comparison

컴포넌트 네트리스트 또는 논리 네트리스트는 비교 시스템(40; 도 1)에 의해 기준 회로에 기초한 하나 이상의 기준 네트리스트에 비교되어 집적 회로와 기준 회로간의 유사점/차이점을 결정한다. 이 비교를 필요로 하는 경우는 예를 들어 집적 회로가 기대한대로 기능하지 않을때이다. 컴포넌트 네트리스트는 집적 회로부터 생성되어 기준 컴포넌트 네트리스트(즉, 집적 회로를 생성하는데 사용된 컴포넌트 네트리스트)에 비교된다. 2개의 회로간의 임의의 차이점은 집적 회로 제조시의 에러를 잠재적으로 나타낸다. The component netlist or logical netlist is compared to one or more reference netlists based on the reference circuit by comparison system 40 (FIG. 1) to determine similarities / differences between the integrated circuit and the reference circuit. The need for this comparison is, for example, when integrated circuits do not function as expected. The component netlist is generated from an integrated circuit and compared to a reference component netlist (ie, the component netlist used to generate the integrated circuit). Any difference between the two circuits potentially represents an error in integrated circuit fabrication.

대안으로, 논리 네트리스트는 하나 이상의 기준 논리 네트리스트와 비교되어 2개의 회로가 유사한지를 판정한다. 이것은 예를 들어 집적 회로의 적어도 일부에서 보유되는 지적 재산이 위반되는지를 판정하는데 유용할 수 있다. 기준 논리 네트리스트(들)는 특허 보호를 위한 기준 회로에 기초할 수 있다. 논리 네트리스트는 기준 논리 네트리스트와 비교되어 기준 회로(들)와 집적 회로 사이에 임의의 유사점이 있는지를 판정한다. 예를 들어, 공통 입출력 포트를 선택하고 회로 경로를 추적함으로써 논리 네트리스트가 기준 네트리스트와 비교될 수 있다. 임계 유사점은 매칭이 검출된 후에 지정될 수 있다. 매칭되는 회로의 일부가 네트리스트 엔트리를 디스플레이하거나 및/또는 매칭된 회로에 기초한 결선도를 디스플레이함으로써 기준 논리 네트리스트에 제공된 이름으로 디스플레이될 수 있다. Alternatively, the logical netlist is compared with one or more reference logical netlists to determine whether the two circuits are similar. This may be useful, for example, for determining if intellectual property held in at least a portion of an integrated circuit is violated. The reference logic netlist (s) may be based on reference circuitry for patent protection. The logical netlist is compared with the reference logical netlist to determine if there is any similarity between the reference circuit (s) and the integrated circuit. For example, a logical netlist can be compared to a reference netlist by selecting common input / output ports and tracking circuit paths. The threshold similarity can be specified after a match is detected. Part of the matching circuit may be displayed with the name provided in the reference logical netlist by displaying the netlist entry and / or by displaying the connection diagram based on the matched circuit.

B. 결선도 생성B. Create Connection Diagram

종종, 컴포넌트 네트리스트 및/또는 논리 네트리스트에 기초한 결선도가 요구된다. 집적 회로로부터 결선도를 생성하는데 있어서의 문제점은 접속이 교차하는 선이 거의 이해할 수 없는 망을 형성하는 방식으로 회로 컴포넌트가 배치되어 있다는 것이다. 결과적으로, 집적 회로에 대한 위치 정보는 집적 회로를 나타내는 중요한 결선도로 회로 컴포넌트를 재배열하기 위하여 사용자에 의한 실질적인 수동편집을 요구하면서 사용을 제한할 수 있다. Often, connection diagrams based on component netlists and / or logical netlists are required. The problem with generating connection diagrams from integrated circuits is that the circuit components are arranged in such a way that the lines where the connections intersect form an almost incomprehensible network. As a result, the location information for the integrated circuit may limit its use, requiring substantial manual editing by the user to rearrange the circuit components into critical connections representing the integrated circuit.

사용자를 돕기 위하여, 회로 컴포넌트는 포트 정보, 파워 정보, 및/또는 컴포넌트 핀 접속 정보에 기초하여 배치될 수 있다. 이 정보는 편집된 레이아웃 또는 층 정보로부터 생성된 컴포넌트/논리 네트리스트 내에 포함된다. 컴포넌트가 결선도에 배치됨에 따라, 포트, 파워, 및/또는 컴포넌트 핀 접속 정보가 조직적으로 참조된다. 예를 들어, 입력 포트에 접속된 컴포넌트는 결선도의 좌측에 배치되고 파워 레일에 접속된 컴포넌트는 결선도의 상부에 배치될 수 있다. 또한, 컴포넌트 핀 접속이 이전에 배치된 컴포넌트를 뒤따르므로, 컴포넌트는 상부로부터 하부로 및 좌측으로부터 우측으로 순차적으로 배치될 수 있다. 예를 들어, 컴포넌트 핀의 상대 전압 전위가 동적으로 결정되고, 컴포넌트는 상대 전위에 기초하여 결선도에 배치된다. 이것은 또한 교차하는 선을 감소시키고 감소된 사용자 인터페이스로 종래의 결선도를 생성하는 것을 돕는다.To assist the user, circuit components may be placed based on port information, power information, and / or component pin connection information. This information is included in the component / logical netlist generated from the edited layout or layer information. As components are placed in the connection diagram, port, power, and / or component pin connection information is systematically referenced. For example, a component connected to the input port may be disposed on the left side of the connection diagram and a component connected to the power rail may be disposed on the top of the connection diagram. Also, since the component pin connections follow the previously placed component, the components can be placed sequentially from top to bottom and from left to right. For example, the relative voltage potential of the component pin is dynamically determined and the component is placed in the connection diagram based on the relative potential. This also helps to reduce intersecting lines and to create conventional connection diagrams with a reduced user interface.

C. 결선도 디스플레이 C. Wiring Diagram Display

상술한 바와 같이, 상술한 바와 같이, 결선도가 초기에 디스플레이되면, 회로 컴포넌트들간의 접속을 나타내는 선이 서로 교차할 수 있고, 디스플레이된 회로에 혼동을 부가할 수 있다. 사용자가 접속 경로를 식별하는 것을 돕기 위하여, 결선도는 접속 배선없이 디스플레이될 수 있다. 사용자가 (컴포넌트에 대한 모든 배선 접속이 디스플레이되는 경우) 컴포넌트를 지정함으로써 또는 (선택된 핀에 대한 배선 접속이 디스플레이되는 경우) 컴포넌트 상의 핀을 지정함으로써 배선 정보를 선택적으로 디스플레이할 수 있다. 예를 들어, 스터브(stub)가 각각의 컴포넌트 핀/포트의 단부에 디스플레이될 수 있다. 사용자는 스터브를 선택할 수 있고, 선택된 스터브에 대한 배선이 디스플레이될 수 있다. 이 방법에서, 사용자는 원하는 배열이 얻어질때까지 디스플레이되는 제한된 배선 정보에 기초하여 회로 컴포넌트를 재배치할 수 있다. 토글 셋팅은 진행이 용이하게 결정될 수 있도록 모든 배선 접속 또는 무(no)-배선 접속/제한된 배선 접속을 교호로 디스플레이한다. As described above, as described above, when the wiring diagram is initially displayed, lines representing connections between circuit components may intersect with each other, adding confusion to the displayed circuit. To help the user identify the connection path, the connection diagram can be displayed without connection wiring. The user can optionally display the wiring information by specifying a component (when all wire connections to the component are displayed) or by specifying a pin on the component (when wire connections to the selected pin are displayed). For example, a stub may be displayed at the end of each component pin / port. The user can select a stub and the wiring for the selected stub can be displayed. In this way, the user can rearrange the circuit components based on the limited wiring information displayed until the desired arrangement is obtained. Toggle settings alternately display all wiring connections or no-wiring connections / limited wiring connections so that progress can be easily determined.

도 5는 본 발명의 일 실시예에 따른 예시적인 결선도 디스플레이(50)를 나타낸다. 결선도 디스플레이(50)는 회로의 배선 정보가 디스플레이되는 방법을 사용자가 선택하도록 하는 제어부(70)를 포함한다. 예를 들어, 사용자는 모든 배선 정보를 디스플레이하는 제어부(72), 선택된 컴포넌트의 배선 정보만을 디스플레이하는 제어부(74), 또는 선택된 핀의 배선 정보만을 디스플레이하는 제어부(76)를 선택할 수 있다. 제어부(74)는 현재 선택된 옵션을 표시하기 위하여 굵게 디스플레이된다.5 shows an exemplary wiring diagram display 50 according to one embodiment of the invention. The connection diagram display 50 includes a controller 70 for allowing a user to select a method of displaying wiring information of a circuit. For example, the user may select a controller 72 displaying all wiring information, a controller 74 displaying only wiring information of a selected component, or a controller 76 displaying only wiring information of a selected pin. The controller 74 is displayed in bold to indicate the currently selected option.

회로는 한쌍의 입력 포트(52, 54)와 출력 포트(56)를 포함한다. 트랜지스터쌍(58, 60)은 입력 포트(52)에서 제공되는 신호를 반전(논리 NOT를 수행)시키도록 구성된다. 다양한 회로 소자가 그들의 논리 등가, NOR 컴포넌트(62)로 대체된다. NOR 컴포넌트(62)는 트랜지스터 쌍(58, 60)의 출력과 입력 포트(54)에 대한 논리적 NOR 동작을 수행한다. NOR 컴포넌트(62)의 출력이 출력 포트(56)에 제공된다. 트랜지스터(58)는 선택된 컴포넌트임을 표시하기 위하여 굵게 표시된다. 결과적으로, 그 핀에 대한 배선 정보만이 디스플레이된다. 나머지 배선 정보는 점선으로 도시되지만, 현재의 선택에 기초하여 디스플레이되지 않을 수 있다. 각각의 핀이 스터브(68)로서 도시된다. 결과적으로, 사용자가 핀에 대한 배선 정보를 디스플레이하기를 원하면, 사용자가 핀을 나타내는 스터브(68)를 선택할 수 있다.The circuit includes a pair of input ports 52, 54 and output port 56. Transistor pairs 58 and 60 are configured to invert (perform a logical NOT) the signal provided at input port 52. Various circuit elements are replaced with their logic equivalent, NOR component 62. NOR component 62 performs logical NOR operations on input and output port 54 of transistor pairs 58 and 60. An output of the NOR component 62 is provided to the output port 56. Transistor 58 is shown in bold to indicate that it is the selected component. As a result, only the wiring information for that pin is displayed. The remaining wiring information is shown in dashed lines but may not be displayed based on the current selection. Each pin is shown as a stub 68. As a result, if the user wants to display wiring information for a pin, the user can select a stub 68 that represents the pin.

이전의 섹션에서 설명한 바와 같이, 결선도가 생성될 때 다양한 컴포넌트가 포트 및 파워 정보에 따라 배열된다. 예를 들어, Vss(64)가 결선도의 상부에 도시되고, Vdd(66)가 하부에 배치되고, 입력 포트(52, 54)는 좌측에 배치되고, 출력 포트(56)는 우측에 배치된다. 또한, 트랜지스터(58, 60)는 Vss(64)와 Vdd(66)으로의 각각의 접속에 따라 상부로부터 하부로 배치된다. 또한, 트랜지스터(58, 60)와 NOR 컴포넌트(62)는 입력 포트(52, 54)와 출력 포트(56)으로의 각각의 접속에 따라 좌측으로부터 우측으로 배치된다.As described in the previous section, various components are arranged according to port and power information when the connection diagram is generated. For example, V ss 64 is shown at the top of the connection diagram, V dd 66 is disposed at the bottom, input ports 52 and 54 are disposed on the left side, and output port 56 is disposed on the right side. do. In addition, transistors 58 and 60 are disposed from top to bottom in accordance with respective connections to V ss 64 and V dd 66. In addition, transistors 58 and 60 and NOR component 62 are disposed from left to right in accordance with respective connections to input ports 52 and 54 and output ports 56.

결선도 디스플레이(50)는 여기에 설명된 능력을 예시하는 것으로 이해된다. 결선도 디스플레이(50)는 결선도 디스플레이 또는 사용자에 의해 수행될 수 있는 모든 동작을 완전히 설명하기 위한 것이 아니다. 또한, 선택을 표시하고 선택하는 다양한 다른 사용자 인터페이스가 가능하며 본 발명에 의해 커버된다.The connection diagram display 50 is understood to illustrate the capabilities described herein. The wiring diagram display 50 is not intended to fully describe the wiring diagram display or all operations that may be performed by the user. In addition, various other user interfaces for displaying and selecting selections are possible and covered by the present invention.

VII. 대안VII. Alternatives

다양한 방법이 특정 시퀀스로 발생하는 것으로 기재되어 있지만, 여기에 기재된 순서와 다른 순서로 또는 동시에 독립적인 단계가 수행될 수 있다. 또한, 결과적인 네트리스/결선도의 정확도를 증가시키고 정보를 세밀히 구별하는데 필요한 단계들중의 하나 이상을 다수회 반복할 수 있다. 또한, 집적 회로의 모든 층 상의 모든 컴포넌트의 식별 및 진단을 설명하지만, 원한다면, 컴포넌트 및/또는 층의 서브세트가 선택되어 분석될 수 있다.Although various methods are described as occurring in a particular sequence, independent steps may be performed in a sequence different from or simultaneously with the order described herein. It is also possible to repeat one or more of the steps necessary to increase the accuracy of the resulting netless / wiring diagram and to fine-tune the information. In addition, although identification and diagnostics of all components on all layers of the integrated circuit are described, a subset of components and / or layers can be selected and analyzed if desired.

본 발명은 하드웨어, 소프트웨어 또는 하드웨어 및 소프트웨어의 조합으로 실현될 수 있다. 임의의 종류의 컴퓨터/서버 시스템(들) 또는 여기에 기재된 방법을 실행하는데 적용되는 다른 장치들이 적합하다. 하드웨어와 소프트웨어의 일반적인 조합은, 로드 및 실행될 때 시스템(12) 및/또는 사용자(30) 시스템을 제어하여 여기에 기재된 각각의 방법을 실행할 수 있도록 하는 컴퓨터 프로그램을 갖는 범용 컴퓨터 시스템일 수 있다. 대안으로, 본 발명의 기능적 태스크 중의 하나 이상을 실행하기 위한 특화된 하드웨어를 포함하는 특정 사용자 컴퓨터가 이용될 수 있다. 본 발명은 또한 컴퓨터 프로그램 제품에 내장될 수 있고, 이 컴퓨터 프로그램 제품은 여기에 기재된 방법을 구현할 수 있는 각각의 모든 특징을 포함하고, 컴퓨터 시스템에 로딩될 때, 이들의 방법을 수행할 수 있다. 본 명세서의 컴퓨터 프로그램, 소프트웨어 프로그램, 프로그램, 또는 소프트웨어는 정보 처리 능력을 갖는 시스템이 직접 또는 (a) 다른 언어, 코드, 표기(notation)로의 변환, 및/또는 (b) 상이한 재료 형태의 재생 중의 어느 하나 또는 둘다 후에 수행하도록 의도된 명령 세트의 임의의 언어의 식(expression), 코드 또는 표기를 의미한다.The invention can be realized in hardware, software or a combination of hardware and software. Any kind of computer / server system (s) or other apparatus adapted to carry out the methods described herein are suitable. A general combination of hardware and software may be a general purpose computer system having a computer program that, when loaded and executed, controls the system 12 and / or user 30 system to execute each of the methods described herein. Alternatively, a particular user computer may be used that includes specialized hardware to perform one or more of the functional tasks of the present invention. The invention may also be embedded in a computer program product, which includes all of the features that can implement each of the methods described herein, and when loaded into a computer system can perform their methods. A computer program, software program, program, or software herein may be embodied by a system having information processing capabilities either directly or (a) in translation into another language, code, notation, and / or (b) in the playback of different material types. An expression, code or notation in any language of the instruction set intended to be performed after either or both.

본 발명의 다양한 실시예의 상술한 설명은 예시적인 것이다. 따라서, 본 발명을 개시된 정밀한 형태로 제한해서는 안되며, 많은 변경과 변형이 가능하다. 이러한 변경과 변형이 첨부된 청구범위에서 정의된 본 발명의 범위 내에 포함되는 것은 당업자에게 자명하다. The foregoing descriptions of various embodiments of the present invention are illustrative. Accordingly, the present invention should not be limited to the precise forms disclosed, and many variations and modifications are possible. It is apparent to those skilled in the art that such changes and modifications fall within the scope of the invention as defined in the appended claims.

본 발명은 집적 회로에 유용하며, 특히집적 회로에 기초하여 네트리스트 및/또는 결선도를 생성하는 것에 유용하다.The present invention is useful for integrated circuits, in particular for generating netlists and / or connection diagrams based on integrated circuits.

Claims (25)

하나 이상의 회로 층을 포함하는 집적 회로를 진단하는 방법으로서, A method of diagnosing an integrated circuit comprising one or more circuit layers, the method comprising: 하나 이상의 회로 층의 각각에 대한 하나 이상의 이미지를 캡쳐하는 단계;Capturing one or more images for each of the one or more circuit layers; 상기 하나 이상의 이미지에 기초하여 컴포넌트 네트리스트(netlist)를 생성하는 단계; 및Generating a component netlist based on the one or more images; And 계층 구성 룰(hierarchical composition rules)을 적용함으로써 컴포넌트 네트리스트에 기초한 논리 네트리스를 생성하는 단계Creating a logical netless based on the component netlist by applying hierarchical composition rules 를 포함하는 방법.How to include. 제1항에 있어서,The method of claim 1, 상기 하나 이상의 이미지를 레이아웃으로 변환하는 단계;Converting the one or more images to a layout; 상기 레이아웃 내에 포트 정보 및 파워 정보를 정의하는 단계;Defining port information and power information in the layout; 상기 레이아웃으로부터 컴포넌트 정보를 추출하는 단계; 및Extracting component information from the layout; And 상기 레이아웃으로부터 네트 접속을 추출하는 단계Extracting a net connection from the layout 를 더 포함하고,More, 상기 컴포넌트 네트리스트는 상기 추출된 컴포넌트 정보와 네트 접속 정보에 기초하는 방법.And the component netlist is based on the extracted component information and net access information. 제1항에 있어서, 상기 하나 이상의 이미지를 사용하여 상기 하나 이상의 회로 층에 대한 층 정보를 정의하는 단계를 더 포함하고, 상기 컴포넌트 네트리스는 상기 층 정보에 기초하는 방법. The method of claim 1, further comprising defining layer information for the one or more circuit layers using the one or more images, wherein the component netless is based on the layer information. 제3항에 있어서, 상기 층 정보를 정의하는 단계는,The method of claim 3, wherein the defining of the layer information comprises: 상기 하나 이상의 회로 층에 대한 상기 하나 이상의 이미지의 각각에 대한 회로 소자를 식별하는 단계;Identifying circuit elements for each of the one or more images for the one or more circuit layers; 제2 회로 소자를 중첩하는 제1 회로 소자를 결정하는 단계; 및Determining a first circuit element that overlaps the second circuit element; And 상기 제1 회로 소자 및 상기 제2 회로 소자를 하나의 네트 그룹으로 감소시키는 단계Reducing the first circuit element and the second circuit element into one net group 를 포함하는 방법.How to include. 제4항에 있어서, 분산(variance)이 상기 결정하는 단계에서 사용되는 방법.The method of claim 4, wherein variance is used in the determining step. 제3항에 있어서, 상기 집적 회로는 복수의 층을 포함하고,The method of claim 3, wherein the integrated circuit comprises a plurality of layers, 상기 복수의 층의 각각을 해체(delayer)하는 단계; 및Delayering each of the plurality of layers; And 중간층 정보를 정의하는 단계Steps to Define Mezzanine Information 를 더 포함하고,More, 상기 컴포넌트 네트리스트는 또한 상기 중간층 정보에 기초하는 방법.The component netlist is also based on the middle layer information. 제6항에 있어서, 상기 컴포넌트 네트리스를 생성하는 단계는, The method of claim 6, wherein the generating of the component netless comprises: 상기 중간층 정보로부터 중간 회로 소자를 선택하는 단계;Selecting an intermediate circuit element from the intermediate layer information; 상기 중간층 회로 소자를 중첩하는 제1 인접 층상의 제1 회로 소자를 결정하는 단계;Determining a first circuit element on a first adjacent layer that overlaps the intermediate layer circuit element; 상기 중간층 소자를 중첩하는 제2 인접 층상의 제2 회로 소자를 결정하는 단계; 및Determining a second circuit element on a second adjacent layer that overlaps the intermediate layer element; And 상기 제1 회로 소자 및 상기 제2 회로 소자를 결합하는 단계Combining the first circuit element and the second circuit element 를 포함하는 방법.How to include. 제1항에 있어서, 상기 논리 네트리스트에 기초하여 결선도(schematic)를 생성하는 단계를 더 포함하는 방법.2. The method of claim 1, further comprising generating a schematic diagram based on the logical netlist. 제8항에 있어서, 상기 회로의 컴포넌트는 포트 정보, 파워 정보, 및 컴포넌트 핀 접속 정보 중의 하나 이상에 기초하여 상기 결선도내에 배치되는 방법.9. The method of claim 8, wherein a component of the circuit is disposed in the connection diagram based on one or more of port information, power information, and component pin connection information. 제8항에 있어서, 배선 정보없이 상기 결선도를 디스플레이하는 단계를 더 포함하는 방법.The method of claim 8, further comprising displaying the connection diagram without wiring information. 제10항에 있어서, 선택된 컴포넌트의 배선 정보를 디스플레이하는 단계를 더 포함하는 방법.11. The method of claim 10, further comprising displaying wiring information of the selected component. 제1항에 있어서, The method of claim 1, 기준 회로에 기초하여 기준 논리 네트리스트를 제공하는 단계;Providing a reference logic netlist based on the reference circuit; 상기 논리 네트리스트와 상기 기준 논리 네트리스트를 비교하는 단계; 및Comparing the logical netlist with the reference logical netlist; And 상기 논리 네트리스트와 상기 기준 논리 네트리스트간의 매칭을 디스플레이하는 단계Displaying a match between the logical netlist and the reference logical netlist. 를 더 포함하는 방법.How to include more. 하나 이상의 회로 층을 포함하는 집적 회로를 진단하는 방법으로서,A method of diagnosing an integrated circuit comprising one or more circuit layers, the method comprising: 상기 하나 이상의 회로 층 각각의 하나 이상의 이미지를 캡쳐하는 단계; 및Capturing one or more images of each of the one or more circuit layers; And 상기 하나 이상의 이미지에 기초하여 결선도를 생성하는 단계Generating a connection diagram based on the one or more images 를 포함하고,Including, 포트 정보, 파워 정보, 및 컴포넌트 핀 접속 정보 중의 하나 이상에 기초하여 상기 결선도에 회로 컴포넌트를 배치하는 방법.Placing circuit components in the connection diagram based on one or more of port information, power information, and component pin connection information. 제13항에 있어서, The method of claim 13, 상기 하나 이상의 이미지를 레이아웃으로 변환하는 단계;Converting the one or more images to a layout; 상기 레이아웃에 포트 정보 및 파워 정보를 정의하는 단계;Defining port information and power information in the layout; 추출 엔진을 사용하여 상기 레이아웃에 기초한 컴포넌트 네트리스트를 생성하는 단계; 및Generating a component netlist based on the layout using an extraction engine; And 상기 컴포넌트 네트리스트에 기초하여 논리 네트리스트를 생성하는 단계Generating a logical netlist based on the component netlist 를 더 포함하고,More, 상기 결선도는 상기 논리 네트리스트에 기초하는 방법.The connection diagram is based on the logical netlist. 제13항에 있어서,The method of claim 13, 상기 하나 이상의 이미지에 기초하여 층 정보를 식별하는 단계;Identifying layer information based on the one or more images; 상기 층 정보를 복수의 네트 그룹으로 감소시키는 단계;Reducing the layer information into a plurality of net groups; 상기 하나 이상의 회로 층의 각각에 대한 상기 복수의 네트 그룹을 결합하는 단계;Combining the plurality of net groups for each of the one or more circuit layers; 상기 네트 그룹에 기초하여 컴포넌트 네트리스트를 생성하는 단계; 및Generating a component netlist based on the net group; And 상기 컴포넌트 네트리스트에 기초하여 논리 네트리스트를 생성하는 단계Generating a logical netlist based on the component netlist 를 더 포함하고,More, 상기 결선도는 상기 논리 네트리스트에 기초하는 방법.The connection diagram is based on the logical netlist. 제13항에 있어서, 배선 정보없이 상기 결선도를 디스플레이하는 단계를 더 포함하는 방법.The method of claim 13, further comprising displaying the connection diagram without wiring information. 제16항에 있어서, 선택된 회로 컴포넌트의 배선 정보를 디스플레이하는 단계를 더 포함하는 방법.17. The method of claim 16, further comprising displaying wiring information of the selected circuit component. 집적 회로 진단 시스템으로서,An integrated circuit diagnostic system, 집적 회로의 각각의 회로 층에 대한 하나 이상의 이미지를 캡쳐하는 캡쳐 시스템;A capture system to capture one or more images for each circuit layer of the integrated circuit; 상기 하나 이상의 이미지에 기초하여 컴포넌트 네트리스트를 생성하는 컴포넌트 시스템; 및A component system for generating a component netlist based on the one or more images; And 계층 구성 룰을 적용함으로써 상기 컴포넌트 네트리스트에 기초하여 논리 네트리스트를 생성하고 상기 컴포넌트 네트리스트 내의 하나 이상의 회로 소자를 등가의 논리 컴포넌트로 대체하는 논리 시스템Logical system that generates a logical netlist based on the component netlist by applying hierarchical rules and replaces one or more circuit elements in the component netlist with equivalent logical components. 을 포함하는 집적 회로 진단 시스템.Integrated circuit diagnostic system comprising a. 제18항에 있어서, 상기 논리 네트리스트와 상기 컴포넌트 네트리스트 중 적어도 하나와 기준 회로에 기초한 기준 네트리스트와 비교하는 비교 시스템을 더 포함하는 집적 회로 진단 시스템.19. The integrated circuit diagnostic system of claim 18, further comprising a comparison system for comparing at least one of the logical netlist and the component netlist with a reference netlist based on a reference circuit. 제18항에 있어서, 상기 논리 네트리스트와 상기 컴포넌트 네트리스트 중의 적어도 하나에 기초하여 결선도를 생성하는 결선도 시스템을 더 포함하는 집적 회로 진단 시스템.19. The integrated circuit diagnostic system of claim 18, further comprising a connection diagram system for generating a connection diagram based on at least one of the logical netlist and the component netlist. 제20항에 있어서, 상기 결선도에 배선 정보를 선택적으로 디스플레이하는 디스플레이 시스템을 더 포함하는 집적 회로 진단 시스템.21. The integrated circuit diagnostic system of claim 20, further comprising a display system for selectively displaying wiring information in the connection diagram. 집적 회로를 진단하기 위해 구현된 컴퓨터 판독가능 프로그램 코드를 갖는 컴퓨터 사용가능 매체를 포함하는 컴퓨터 프로그램 제품으로서, A computer program product comprising a computer usable medium having computer readable program code implemented for diagnosing an integrated circuit, the computer program product comprising: 상기 집적회로의 각각의 회로 층에 대한 하나 이상의 이미지에 기초하여 컴포넌트 네트리스트를 생성하도록 구성된 프로그램 코드; 및Program code configured to generate a component netlist based on one or more images of each circuit layer of the integrated circuit; And 계층 구성 룰을 적용함으로써 상기 컴포넌트 네트리스트에 기초하여 논리 네트리스트를 생성하고 상기 컴포넌트 네트리스트 내의 하나 이상의 회로 소자를 등가의 논리 컴포넌트로 대체하도록 구성된 프로그램 코드를 포함하는 컴퓨터 프로그램 제품.And program code configured to generate a logical netlist based on the component netlist by applying hierarchical rules and to replace one or more circuit elements in the component netlist with equivalent logical components. 제22항에 있어서, 상기 논리 네트리스트와 상기 컴포넌트 네트리스트 중 적어도 하나와 기준 회로에 기초한 기준 네트리스트와 비교하도록 구성된 프로그램 코드를 더 포함하는 컴퓨터 프로그램 제품.23. The computer program product of claim 22, further comprising program code configured to compare at least one of the logical netlist and the component netlist with a reference netlist based on a reference circuit. 제22항에 있어서, 상기 논리 네트리스트와 상기 컴포넌트 네트리스트 중의 적어도 하나에 기초하여 결선도를 생성하도록 구성된 프로그램 코드를 더 포함하는 컴퓨터 프로그램 제품.23. The computer program product of claim 22, further comprising program code configured to generate a connection diagram based on at least one of the logical netlist and the component netlist. 제24항에 있어서, 상기 결선도에 배선 정보를 선택적으로 디스플레이하도록 구성된 프로그램 코드를 더 포함하는 컴퓨터 프로그램 제품.25. The computer program product of claim 24, further comprising program code configured to selectively display wiring information in the connection diagram.
KR1020057010340A 2005-06-08 2002-12-17 Integrated circuit diagnosing method, system, and program product KR20050094402A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020057010340A KR20050094402A (en) 2005-06-08 2002-12-17 Integrated circuit diagnosing method, system, and program product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020057010340A KR20050094402A (en) 2005-06-08 2002-12-17 Integrated circuit diagnosing method, system, and program product

Publications (1)

Publication Number Publication Date
KR20050094402A true KR20050094402A (en) 2005-09-27

Family

ID=37275215

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057010340A KR20050094402A (en) 2005-06-08 2002-12-17 Integrated circuit diagnosing method, system, and program product

Country Status (1)

Country Link
KR (1) KR20050094402A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220050017A (en) * 2020-10-15 2022-04-22 (주)큐랩스 Method and system for verifying circuit at circuit diagram designed

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220050017A (en) * 2020-10-15 2022-04-22 (주)큐랩스 Method and system for verifying circuit at circuit diagram designed

Similar Documents

Publication Publication Date Title
US7503021B2 (en) Integrated circuit diagnosing method, system, and program product
US9984195B1 (en) Hierarchical visualization-based analysis of integrated circuits
US20070094622A1 (en) Methods, Apparatus and Computer Program Products for Generating Selective Netlists that Include Interconnection Influences at Pre-Layout and Post-Layout Design Stages
US7480878B2 (en) Method and system for layout versus schematic validation of integrated circuit designs
US7013028B2 (en) Advanced schematic editor
US6292766B1 (en) Simulation tool input file generator for interface circuitry
US7921390B2 (en) Method and system for creating, viewing, editing, and sharing output from a design checking system
Weste MULGA—An interactive symbolic layout system for the design of integrated circuits
CA2358729C (en) Computer aided method of circuit extraction
Delamaro et al. Using concepts of content‐based image retrieval to implement graphical testing oracles
JP4528134B2 (en) Integrated circuit diagnostic method and program thereof
KR20100127036A (en) A method for providing idea maps by using classificaion in terms of viewpoints
US6077308A (en) Creating layout for integrated circuit structures
JP5908501B2 (en) Multipath symbol and component-based visual object search method for documents
US8819619B2 (en) Method and system for capturing user interface structure in a model based software system
US20090070724A1 (en) Information processing device, method of creating power supply system tree and program of the same
US20040128637A1 (en) Apparatus and method for visualizing and analyzing resistance networks
KR20050094402A (en) Integrated circuit diagnosing method, system, and program product
Wolf et al. Algorithms for optimizing, two-dimensional symbolic layout compaction
US6877140B1 (en) Method and system for generating a schematic representing bus structures
JP2998674B2 (en) Document creation support device for design work
Hu et al. New approach to integrate LSI design databases with e-beam tester
JP2959513B2 (en) Integrated circuit design flow generation system
JP3514892B2 (en) Layout verification method for semiconductor integrated circuit
Jee et al. Carafe User's Manual: Release Alpha. 4

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E601 Decision to refuse application