KR101991393B1 - 다수의 스트로브 지점을 이용한 셀 인지 결함 특성화 및 파형 분석 - Google Patents

다수의 스트로브 지점을 이용한 셀 인지 결함 특성화 및 파형 분석 Download PDF

Info

Publication number
KR101991393B1
KR101991393B1 KR1020170099356A KR20170099356A KR101991393B1 KR 101991393 B1 KR101991393 B1 KR 101991393B1 KR 1020170099356 A KR1020170099356 A KR 1020170099356A KR 20170099356 A KR20170099356 A KR 20170099356A KR 101991393 B1 KR101991393 B1 KR 101991393B1
Authority
KR
South Korea
Prior art keywords
timing characteristic
circuit
strobe
timing
computer
Prior art date
Application number
KR1020170099356A
Other languages
English (en)
Other versions
KR20180016319A (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 시놉시스, 인크.
Publication of KR20180016319A publication Critical patent/KR20180016319A/ko
Application granted granted Critical
Publication of KR101991393B1 publication Critical patent/KR101991393B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31718Logistic aspects, e.g. binning, selection, sorting of devices under test, tester/handler interaction networks, Test management software, e.g. software for test statistics or test evaluation, yield analysis
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • G01R31/318307Generation of test inputs, e.g. test vectors, patterns or sequences computer-aided, e.g. automatic test program generator [ATPG], program translations, test program debugging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/36Circuit design at the analogue level
    • G06F30/367Design verification, e.g. using simulation, simulation program with integrated circuit emphasis [SPICE], direct methods or relaxation methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02EREDUCTION OF GREENHOUSE GAS [GHG] EMISSIONS, RELATED TO ENERGY GENERATION, TRANSMISSION OR DISTRIBUTION
    • Y02E60/00Enabling technologies; Technologies with a potential or indirect contribution to GHG emissions mitigation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y04INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
    • Y04SSYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
    • Y04S40/00Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them
    • Y04S40/20Information technology specific aspects, e.g. CAD, simulation, modelling, system security

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Quality & Reliability (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

회로를 특성화하기 위한 컴퓨터 구현 방법이 제시된다. 본 방법은 상기 컴퓨터가 상기 회로 및 상기 회로의 적어도 하나의 결함을 나타내는 데이터를 수신하는 단계를 포함한다. 본 방법은 상기 컴퓨터를 이용하여, 제1 타이밍 특성을 취득하도록 상기 회로를 시뮬레이팅하는 단계와, 상기 컴퓨터를 이용하여, 제2 타이밍 특성을 취득하도록 상기 적어도 하나의 결함을 갖는 회로를 시뮬레이팅하는 단계를 더 포함한다. 본 방법은 상기 컴퓨터를 이용하여, 상기 컴퓨터가 상기 회로를 특성화하는 데에 적용될 때, 상기 제1 타이밍 특성, 제2 타이밍 특성 및 상기 적어도 하나의 테스트 벡터와 연관된 제1 시간 간격 동안 적용된 복수의 스트로브에 따라서 적어도 하나의 테스트 벡터와 상기 적어도 하나의 결함 간의 연관성을 식별하는 단계를 더 포함한다.

Description

다수의 스트로브 지점을 이용한 셀 인지 결함 특성화 및 파형 분석{CELL-AWARE DEFECT CHARACTERIZATION AND WAVEFORM ANALYSIS USING MULTIPLE STROBE POINTS}
본 발명은 일반적으로 회로 결함을 특성화하는 것에 관한 것으로, 더욱 특별하게는 표준 셀 특성화 동안 다수의 스트로브를 이용하여 회로 결함을 자동으로 특성화하는 것에 관한 것이다.
복잡한 집적 회로(IC) 설계는 표준 셀 라이브러리로부터 표준 셀로 불리는 다수 사례의 단순한 회로로 조립될 수 있다. 표준 셀은 표준 셀의 입력에 미치는 입력 신호 변이에 대한 출력 신호 응답의 성능을 예측하기 위해 SPICE와 같은 전자 설계 자동화(EDA) 소프트웨어 툴을 이용하여 트랜지스터 레벨에서 전기적으로 특성화될 수 있다. 그러나 트랜지스터 레벨 시뮬레이션에서의 긴 시뮬레이션 시간 및/또는 해결 집중 문제로 인해 회로가 너무 복잡할 때 로직 레벨 시뮬레이션 툴이 트랜지스터 레벨 특성화 대신에 이용된다.
IC 설계시의 외형의 크기는 계속 감소하고 있으며 프로세스 기술의 복잡도는 무어의 법칙(Moore's Law)에 따라 계속 증가하고 있어, 결국 제조 결함으로 인해 허용 가능한 IC 제조 생산량을 성취하는 것을 더 어렵게 만든다. 따라서, 여러 유형의 결함이 복잡한 IC 성능에 미치는 민감한 영향을 예측 및/또는 특성화하는 것이 더욱 더 중요해지고 있다.
본 발명의 일 실시예에 따르면, 회로를 특성화하기 위한 컴퓨터 구현 방법이 제시된다. 본 방법은 상기 컴퓨터가 상기 회로 및 상기 회로의 적어도 하나의 결함을 나타내는 데이터를 수신하는 단계를 포함한다. 본 방법은 상기 컴퓨터를 이용하여, 상기 회로를 제1 타이밍 특성을 취득하도록 시뮬레이팅하는 단계와, 상기 컴퓨터를 이용하여, 상기 적어도 하나의 결함을 갖는 회로를 제2 타이밍 특성을 취득하도록 시뮬레이팅하는 단계를 더 포함한다. 본 방법은 상기 컴퓨터를 이용하여, 상기 컴퓨터가 상기 회로를 특성화하는 데에 적용될 때, 상기 제1 타이밍 특성, 제2 타이밍 특성 및 상기 적어도 하나의 테스트 벡터와 연관된 제1 시간 간격 동안 적용된 복수의 스트로브에 따라서 적어도 하나의 테스트 벡터와 상기 적어도 하나의 결함 간의 연관성을 식별하는 단계를 더 포함한다.
일 실시예에 따르면, 상기 컴퓨터 구현 방법은 적어도 하나의 테스트 벡터를 이용하여 상기 제1 타이밍 특성을 상기 제2 타이밍 특성과 비교하는 단계를 더 포함한다.
일 실시예에 따르면, 상기 식별 단계는 상기 제2 타이밍 특성이 상기 복수의 스트로브의 각각 동안 실질적으로 정적인지 판정하는 단계를 더 포함한다. 일 실시예에 따르면, 상기 식별 단계는 상기 제2 타이밍 특성이 상기 제1 타이밍 특성의 제2 변이 이후에 발생한 제1 변이를 포함하는지 판정하는 단계를 더 포함한다.
일 실시예에 따르면, 상기 제2 타이밍 특성이 상기 제1 타이밍 특성의 제2 변이 이전에 발생한 제1 변이를 포함하는지 판정하는 단계를 더 포함한다. 일 실시예에 따르면, 상기 식별 단계는 상기 제2 타이밍 특성이 타이밍 에러인지 판정하는 단계를 더 포함한다. 일 실시예에 따르면, 상기 식별 단계는 상기 제2 타이밍 특성이 타이밍 에러로 판정될 때 상기 제2 타이밍 특성이 정적 에러인지 동적 에러인지 판정하는 단계를 더 포함한다.
일 실시예에 따르면, 상기 수신 단계는 상기 컴퓨터를 이용하여, 상기 회로의 적어도 하나의 요소를 나타내는 데이터에 따라서 상기 적어도 하나의 결함을 나타내는 데이터를 형성하는 단계를 포함한다. 일 실시예에 따르면, 상기 적어도 하나의 결함을 나타내는 데이터는 상기 컴퓨터의 입력 장치를 이용하여 수신된다. 일 실시예에 따르면, 상기 회로는 복수의 셀의 라이브러리 중 하나의 셀이다.
일 실시예에 따르면, 수신 단계는 상기 제1 타이밍 특성이나 상기 제2 타이밍 특성을 취득하기 위해 이용되는 회로 시뮬레이션을 초기화하기 위해 이용되는 적어도 하나의 변수와 연관된 적어도 하나의 값을 데이터 파일로부터 추출하는 단계를 포함한다. 일 실시예에 따르면, 상기 식별 단계는 상기 복수의 스트로브와 연관된 시차, 상기 제1 타이밍 특성 및 상기 제2 타이밍 특성을 결정하는 단계를 더 포함한다.
일 실시예에 따르면, 복수의 스트로브는 상기 제1 타이밍 특성의 제1 변이와 연관된 제1 스트로브와 상기 제2 타이밍 특성의 제2 변이와 연관된 제2 스트로브를 포함한다. 일 실시예에 따르면, 식별 단계는 상기 복수의 스트로브와 연관된 시차에 따라 상기 적어도 하나의 결함을 특성화하는 변수의 값을 연관시키는 단계를 더 포함한다. 일 실시예에 따르면, 시차는 상기 제1 스트로브와 연관된 제1 시간과 상기 제2 스트로브와 연관된 제2 시간 간의 차이다.
일 실시예에 따르면, 상기 수신 단계는 제1 복수의 테스트 벡터를 형성하는 단계를 포함하고, 상기 적어도 하나의 테스트 벡터는 한 번에 상기 회로의 복수의 입력 신호 중 하나 이상에 대해 신호 변이를 갖는 것을 특성으로 하는 적어도 하나의 인접한 쌍의 테스트 벡터를 포함하는 제2 복수의 테스트 벡터를 열거한 제2 개수보다 더 적은 제1 개수로 열거되는 상기 제1 복수의 테스트 벡터에 포함된다.
일 실시예에 따르면, 상기 제1 복수의 테스트 벡터는 한 번에 상기 회로의 복수의 입력 신호의 하나의 입력에 대해 신호 변이를 갖는 것을 특성으로 하는 인접한 쌍의 테스트 벡터의 모든 조합을 포함한다. 일 실시예에 따르면, 상기 제1 복수의 테스트 벡터는 한 번에 상기 회로의 복수의 입력 신호의 하나 이상에 대해 신호 변이를 갖는 것을 특성으로 하는 인접한 쌍의 테스트 벡터를 포함하지 않는다. 일 실시예에 따르면, 상기 식별 단계는 상기 적어도 하나의 테스트 벡터를 포함하는 제1 복수의 테스트 벡터에 따라 상기 컴퓨터 구현 방법을 통한 단일 패스 동안, 정적 에러와 동적 에러로 이루어진 그룹에서 선택된 에러를 식별하는 단계를 더 포함한다.
본 발명의 일 실시예에 따르면, 비일시적(non-transitory) 컴퓨터 판독 가능 저장 매체는, 컴퓨터에 의해 실행될 때, 상기 컴퓨터가 회로 및 상기 회로의 적어도 하나의 결함을 나타내는 데이터를 수신하도록 하고, 상기 회로를 제1 타이밍 특성을 취득하도록 시뮬레이팅하도록 하고, 상기 적어도 하나의 결함을 갖는 상기 회로를 제2 타이밍 특성을 취득하도록 시뮬레이팅하도록 하는 명령을 포함한다. 상기 명령은 상기 회로를 특성화하는 데에 적합할 때, 상기 컴퓨터가 상기 제1 타이밍 특성, 상기 제2 타이밍 특성, 및 상기 적어도 하나의 테스트 벡터와 연관된 제1 시간 간격 동안 적용된 복수의 스트로브에 따라 적어도 하나의 테스트 벡터와 상기 적어도 하나의 결함 간의 연관성을 더욱 식별하도록 한다.
일 실시예에 따르면, 상기 명령은 상기 컴퓨터가 상기 적어도 하나의 테스트 벡터를 이용하여 상기 제1 타이밍 특성을 상기 제2 타이밍 특성과 더욱 비교하도록 한다.
본 발명의 일 실시예에 따르면, 컴퓨터 시스템은 회로 및 상기 회로의 적어도 하나의 결함을 나타내는 데이터를 수신하고, 상기 회로를 제1 타이밍 특성을 취득하도록 시뮬레이트하고, 상기 적어도 하나의 결함을 갖는 상기 회로를 제2 타이밍 특성을 취득하도록 시뮬레이트하도록 동작한다. 상기 컴퓨터 시스템은 상기 컴퓨터 시스템이 상기 회로를 특성화하는 데에 적합할 때, 상기 제1 타이밍 특성, 상기 제2 타이밍 특성, 및 상기 적어도 하나의 테스트 벡터와 연관된 제1 시간 간격 동안 적용된 복수의 스트로브에 따라 적어도 하나의 벡터와 상기 적어도 하나의 결함 간의 연관성을 식별하도록 더욱 동작한다.
일 실시예에 따르면, 상기 컴퓨터 시스템은 상기 적어도 하나의 테스트 벡터를 이용하여 상기 제1 타이밍 특성을 상기 제2 타이밍 특성과 비교하도록 더욱 동작한다.
본 발명의 실시예의 특성과 장점은 다음의 상세한 설명과 첨부한 도면을 참조하여 더 잘 이해될 것이다.
도 1은 본 발명의 실시예를 이용할 수 있는, 집적 회로의 설계 및 제조시의 간략화된 예시의 단계를 도시한다.
도 2는 본 발명의 일 실시예에 따라, 회로를 특성화하기 위한 컴퓨터 구현 방법의 간략화된 예시의 플로우챠트를 도시한다.
도 3은 본 발명의 일 실시예에 따라, 도 2에 도시한 바와 같이 컴퓨터 구현 방법의 데이터 수신 방법에 대한 예시의 플로우챠트를 도시한다.
도 4a는 본 발명의 실시예를 이용할 수 있는, 정상 회로의 예시적인 도식을 나타내는 데이터를 도시한다.
도 4b는 본 발명의 일 실시예에 따라, 하나의 결함 주입 회로를 형성하기 위해 도 4a에 도시한 정상 회로에 주입된 쇼트 타입의 결함의 예시의 도식을 나타내는 데이터를 도시한다.
도 4c는 본 발명의 일 실시예에 따라, 다른 결함 주입 회로를 형성하기 위해 도 4a에 도시한 정상 회로에 주입된 오픈 타입의 결함의 예시의 도식을 나타내는 데이터를 도시한다.
도 5는 본 발명의 일 실시예에 따라서, 도 3에 도시한 리버티 파일로부터 추출된 변수에 따라 간략화된 예시의 타이밍도를 도시한다.
도 6은 본 발명에 일 실시예에 따라서, 도 2에 도시한 바와 같은 정상 회로를 시뮬레이팅하는 단계에 대한 예시의 플로우챠트를 도시한다.
도 7은 본 발명의 일 실시예에 따라서, 도 4a 및 도 4c에 각각 도시된 정상 회로와 결함 주입 회로의 시뮬레이트된 타이밍 특성에 대한 간략화된 예시의 타이밍도를 도시한다.
도 8은 본 발명의 일 실시예에 따라서, 도 2, 도 4b 및 도 4c에 도시한 바와 같은 다수의 결함 주입 회로를 시뮬레이팅하는 단계에 대한 예시의 플로우챠트를 도시한다.
도 9는 본 발명의 일 실시예에 따라서, 도 2에 도시한 바와 같은 적어도 하나의 테스트 벡터와 적어도 하나의 결함 간의 관계를 식별하는 단계에 대한 예시의 플로우챠트를 도시한다.
도 10은 본 발명의 일 실시예에 따라서, 도 9에 도시한 바와 같은 출력 타이밍 특성이 에러인지 무슨 종류의 에러인지를 판정하는 단계에 대한 예시의 플로우챠트를 도시한다.
도 11은 본 발명의 실시예들과 결합할 수 있는 컴퓨터 시스템의 예시의 블럭도를 도시한다.
도 1은 집적 회로의 설계 및 제조시의 여러 단계(101A)를 도시한다. 프로세스는 제품 아이디어(100A)에서 시작하고, 이것은 전자 설계 자동화(EDA) 소프트웨어(110)를 이용하여 실현될 수 있다. 칩(170)은 제작 단계(150) 및 패키징 및 어셈블리 단계(160)를 실행하여 최종 설계로 제조될 수 있다. EDA 소프트웨어(110)를 이용하는 예시의 설계 흐름은 오직 설명의 목적으로만 이하 설명된다. 예를 들어, 실재 집적 회로 설계는 설계자가 후술되는 순서와는 다른 순서의 설계 흐름 단계를 실행할 것을 요구할 수 있다.
시스템 설계(112)에서, 설계자는 구현되는 기능을 설명한다. 설계자는 또한 기능을 개선하고 비용을 체크하기 위해 만약에 어찌되는지 계획을 실행할 수 있다. 또한, 하드웨어-소프트웨어 아키텍쳐 파티션(architecture partition)이 이 단계에서 일어날 수 있다. 설계 및 기능 확인 단계(114)에서, 하드웨어 기술 언어(HDL) 설계는 기능의 정밀도를 위해 형성 및 체크될 수 있다.
합성 및 설계 단계(116)에서, HDL 코드는 넷리스트(netlist)로 변환될 수 있으며, 이것은 타겟 기술에 최적화될 수 있다. 또한, 테스트는 최종 칩을 체크하기 위해 설계 및 구현될 수 있다. 넷리스트 확인 단계(118)에서, 넷리스트는 타이밍 제한 사항과의 준수 및 HDL 코드와의 일치에 대해 체크될 수 있다. 설계 계획 단계(120)에서, 칩에 대한 전체 평면도가 타이밍 및 최고위 루팅을 위해 구성 및 분석될 수 있다. 다음에, 물리적 구현 단계(122)에서, 배치 및 루팅이 실행될 수 있다.
분석 및 추출 단계(124)에서, 회로 기능은 트랜지스터 레벨에서 확인될 수 있다. 물리적 확인 단계(126)에서, 설계는 모든 기능, 제조, 전기 또는 리소그래피 문제들을 정정하기 위해 체크될 수 있다. 해상도 강화 단계(128)에서, 기하학적 조정이 레이아웃에 실행되어 설계의 제조 가능성을 개선할 수 있다. 최종적으로, 마스크 데이터 준비 단계(130)에서, 설계는 최종 칩을 생산하기 위해 마스크의 제조를 위해 테이프아웃(140)될 수 있다. 이중 패터닝 프로세스 기술(DPT) 또는 다중 패터닝 프로세스 기술(MPT) 리소그래피 프로세스는 단일 마스크 광리소그래피 인쇄 프로세스를 이용하여 제공된 패턴 밀도보다 더 큰 패턴 밀도를 가지고 둘 이상의 개별 마스크를 이용하여 단일 층의 IC 프로세스에 대해 복잡한 설계 의도나 형상을 인쇄하는데에 이용될 수 있다. 본 발명의 실시예는 예를 들어, 물리적 확인(126), 테스트 패턴 발생, 로직 진단, 또는 오류 분리 및 생산성 향상의 단계들에서 이용될 수 있다.
결함은 표준 셀에 대한 트랜지스터 레벨 특성화를 이용하여 특성화될 수 있다. 표준 셀의 결함의 트랜지스터 레벨 특성화의 결과는 셀 인지 로직 테스트 모델(cell-aware logic test model)을 형성하기 위해 소위 셀 인지 결함 특성을 이용하여 로직 레벨 시뮬레이터에 전달될 수 있다. 셀 인지 로직 테스트 모델은 테스트 패턴 형성을 위한 테스트 패턴 형성 툴에 의해 이용될 수 있고/있거나 복잡한 IC 칩에 특정 유형의 결함이 존재하는지 식별하기 위해 결함 진단 툴에 의해 이용될 수 있다. 그러나 기존의 셀 인지 결함 특성화는 정적 및 동적 결함 특성화를 개별적으로 처리하기 위해 두 별개의 시뮬레이션 패스를 필요로 하므로 상당한 연산 리소스를 요구한다. 따라서, 이 특성화에 필요한 연산 리소스를 줄이면서 셀 인지 결함 특성화의 정밀도를 향상시키는 것이 요망되고 있다.
본 발명의 실시예에 따르면, 자동화 기술은 하나의 시뮬레이션 패스 동안 제조 결함에 의해 야기된 정적 및 동적 회로 타이밍 에러를 분석하면서, 셀 인지 결함 특성화의 정밀도를 개선하기 위해 다수의 스트로브를 이용하는 자동화 기술이 제시된다. 도 2는 본 발명의 일 실시예에 따라서, 회로를 특성화하기 위한 컴퓨터 구현 방법(200)의 예시의 고위 플로우챠트를 도시한다. 컴퓨터 구현 방법(200)은 회로 및 회로의 적어도 하나의 결함을 나타내는 데이터를 수신하는 단계(210)로 시작한다(205). 다수의 스트로브 포인트를 이용하여, 이하 "정상 회로"로 언급되는, 어떤 결함도 없는 회로의 출력 신호를 나타내는 타이밍 특성을 취득하도록 SPICE 테스트벤치(testbench)를 이용하여 결함이 없는 회로가 시뮬레이트된다(215). 다수의 스트로브 포인트를 이용하여, "결함 주입 회로"로 이하 언급되는, 결함을 갖는 회로의 출력 신호를 나타내는 타이밍 특성을 취득하도록 SPICE 테스트벤치를 이용하여 적어도 하나의 결함을 갖는 회로가 시뮬레이트된다(220). 결함이 있고 없는 회로를 시뮬레이팅하는 단계는 어느 순서로나 실행될 수 있거나 병렬로 실행될 수도 있다. 여러 유형의 다수의 결함을 특성화하는 방법을 설명하는 상세 내용이 또한 제시될 것이다.
다음에, 컴퓨터 구현 방법(200)은 이하 더 상세히 설명되는 바와 같이, 컴퓨터가 회로를 특성화하는 데에 적합할 때, 정상 회로에 대한 트랜지스터 레벨 타이밍 특성, 결함 회로에 대한 트랜지스터 레벨 타이밍 특성, 및 적어도 하나의 테스트 벡터와 연관된 시간 간격 동안 적용된 다수의 스트로브에 따라서 로직 레벨 시뮬레이션을 위한 적어도 하나의 테스트 벡터와 적어도 하나의 결함 간의 연관성을 식별한다(225). 다음에 식별 단계의 결과는 결함 검출 정보를 포함하는 기록 셀 테스트 모델(CTM) 파일을 기록하는(230) 데에 이용된다. 이 방법의 종료(235) 후에, CTM 파일은 후술하는 바와 같이 결함이나 다수의 결함의 영향 아래 복잡한 IC의 로직 및 타이밍 동작을 시뮬레이트하기 위해 로직 레벨 시뮬레이션에 대한 입력으로 이용될 수 있다.
도 3은 본 발명의 일 실시예에 따라서, 도 2에서 도시한 바와 같이 컴퓨터 구현 방법(200)의 데이터를 수신하는 단계(210)에 대한 예시의 플로우챠트를 도시한다. 데이터를 수신하는 단계(210)는 SPICE 넷리스트(305) 및 SPICE 모델(310)을 수신하여 회로가 트랜지스터 레벨에서 회로가 나중에 시뮬레이트 및 특성화될 수 있게 하는 단계를 포함한다.
도 4a는 본 발명의 실시예들을 이용하며, 도 3에 도시된 SPICE 넷리스트(305) 및 SPICE 모델(310)로 특정될 수 있는 정상 회로(400A)의 예시의 개략도를 나타내는 데이터를 도시한다. 일 실시예에서, 정상 회로(400A)는 표준 셀 라이브러리의 셀일 수 있다. 다른 실시예에서, 정상 회로(400A)는 예를 들어 디지털 라이브러리 셀과 같은 다수의 셀 라이브러리의 한 셀일 수 있으며 단순히 표준 셀인 것은 아니다. 예를 들어, 정상 회로는 결함에 대해 특성화될 수 있는 메모리 회로일 수 있다. 일 예에서, 정상 회로(400A)는 표준 셀 라이브러리에서 보통 보이는 두 입력 로직 AND 게이트로 기능한다. 정상 회로(400A)는 PMOS 트랜지스터(405, 410, 425 및 NMOS 트랜지스터(415, 420, 430)를 포함할 수 있다. PMOS 트랜지스터(405, 410)둘 다는 소스가 Vdd에 접속되어 있고, 드레인은 노드 B에 접속되어 있어, 결국 CMOS 인터버 접속된 PMOS 트랜지스터(425) 및 NMOS 트랜지스터(430)의 게이트에 접속된다. NMOS 트랜지스터(415, 420)는 노드 B와 GND 사이에 전류를 흐르게 할 수 있게 병렬 접속되어 있다. 입력 A1은 PMOS 트랜지스터(405) 및 NMOS 트랜지스터(415)의 게이트에 접속된다. 입력 A2은 PMOS 트랜지스터(410)와 NMOS 트랜지스터(420)의 게이트에 접속된다. 출력 X은 CMOS 인버터 접속된 PMOS 트랜지스터(425) 및 NMOS 트랜지스터(430)에 의해 구동된다.
두 입력 A1 또는 입력 A2이 로직 저 레벨에 있을 때마다 또는 두 입력 모두 저 레벨일 때마다, NMOS 트랜지스터(415, 420) 중 하나나 둘 다가 오프이고 PMOS 트랜지스터(405, 410) 중 하나가 온이 되어 노드 B를 Vdd에 가까이 당기고 CMOS 인버터 접속된 PMOS 트랜지스터(425)와 NMOS 트랜지스터(430)가 출력 X를 GND 또는 로직 저 레벨이 되게 하도록 한다. 두 입력 A1 및 A2 모두가 로직 하이 레벨일 때에만 NMOS 트랜지스터(415, 420)가 턴 온인 동안 PMOS 트랜지스터(405, 410)가 셧 오프되게 하여, 노드 B를 GND에 가까이 당기고, CMOS 인버터가 출력 X를 로직 하이또는 Vdd 레벨에 가까이 당기게 하고 정상 회로(400A)가 AND 게이트로서 정확하게 기능할 수 있게 한다.
도 3을 다시 참조하면, 데이터 수신 단계(210)는 컴퓨터의 사용자 입력 장치로부터 셋업 파일을 수신하는 단계(315)를 더 포함할 수 있다. 셋업 파일은 다음에 스트로브 간격, 타이밍 마진, 일정한 핀 값, 유저 정의 결함 등과 같은 사용자 정의 변수를 취득하도록 처리될 수 있다(325). 일 실시예에서, 셋업 파일(315)에서 특정된 일부나 모든 변수들은 미리 결정된 값이나 디폴트 값으로 제공될 수 있어 컴퓨터의 사용자 입력 장치로부터 입력을 더이상 필요로 하지 않는다. 일 실시예에서, 결함을 나타내는 데이터는 컴퓨터에 의해 자동으로 생성된 결함 데이터를 교체 및/또는 보충하기 위해 컴퓨터의 사용자 입력 장치를 이용하여 수신될 수 있다.
데이터 수신 단계(210)는 소위 리버티 파일(Liberty file)(320)로부터 초기 데이터를 수신하는 단계를 더 포함하고, 이 파일은 정상 회로 및 결함 주입 회로에 대한 타이밍 특성을 취득하기 위해 이용되는 회로 시뮬레이션을 나중에 초기화하기 위해 이용되는 적어도 하나의 변수와 연관된 적어도 하나의 값을 추출하기(330) 위해 이용될 수 있다. 변수는 다음의 변수들: 타이밍, 전압, 온도, 부하 용량, 양 또는 음의 에지(edge)와 같은 클럭 에지 활성화 유형, 논리 조합, 래치(latch) 및/또는 플립-플롭 셀(flip-flop cell)과 같은 셀 유형, 및/또는 클럭, 입/출력, 파워 또는 그라운드 핀과 같은 회로의 핀 기능의 모든 조합을 포함할 수 있다.
도 5는 본 발명의 일 실시예에 따른, 도 3에 도시한 리버티 파일(320)로부터 추출된 변수에 따른 간략화된 예시의 타이밍도(500)를 도시한다. 도 3, 4, 및 5를 참조하면, 타이밍도(500)는 수직축(502)에는 입력 신호의 전압 값 V를, 수평축(504)에는 시간 함수 T를 도시한다.
타이밍도(500)는 정상 회로(400A)의 A1과 같은 입력 신호가 로직 저 저압 레벨, VOL(512)에서 로직 고 전압 레벨, VOH(513)로 구동되어 변이(505)한 것을 실선으로 더욱 도시하고, 이때 변수 VOL(512) 및 VOH(513)의 값은 리버티 파일(320)로부터 추출된다(330). 이 예에서, 리버티 파일(320)은 로직 레벨 변이가 VOL(512)와 VOH(513) 사이에서 단순히 절반이나 50%의 입력 전압 레벨에서 발생하도록 특정하지만, 다른 실시예에서 개별의 VIL 및 VIH 전압 값은 로직 레벨 변이 레벨에 대해 다르게 특정될 수 있다.
변이(505)는 "0, 1" 또는 "0에서 1"로 특정된 한 쌍의 로직 테스트 벡터 입력과 연관될 수 있고, 이때 이하 "벡터 간격"으로 또한 언급되는 벡터 시간 간격(515)은 "1"과 같은 하나의 입력 테스트 벡터와 연관된다. 리버티 파일(320)은 또한 ".lib 클럭" 시간 간격(520)과, 바로 이어지는 타이밍 마진 시간 간격(525)을 포함하는, 벡터 간격(515)을 더 특정할 수 있다. ".lib 클럭" 시간 간격(520)은 입력 슬루(slew) 시간 간격(530)과 바로 연속하여 이어지는 셀 지연 시간 간격(535) 및 변이 시간 간격(540)을 포함하고, 이들은 또한 리버티 파일(320)로 특정될 수 있다.
벡터 간격(515), ".lib 클럭" 시간 간격(520), 및 입력 슬루 시간 간격(530)은 모두 변이(505)의 발생 개시시 시작할 수 있다. 입력 슬루 시간 간격(530)은 변이(505)가 셀 지연 시간 간격(535)을 시작할 때의 전압 레벨의 50%에 도달할 때(514) 종료한다. 셀 지연 시간 간격(535)은 정상 회로(400A)의 출력 타이밍 특성(510)이 변이 시간 간격(540)을 시작할 때의 전압 레벨의 50%에 도달할 때(514) 종료한다. ".lib 클럭" 시간 간격(520)은 타이밍 마진 시간 간격(525)을 시작할 때에 출력 타이밍 특성(510)이 고 전압 레벨에 도달할 때 종료한다.
벡터 간격(515) 및 타이밍 마진 시간 간격(525) 둘 다는 입력 신호 A1의 다음 변이가 시작할 때 종료한다. 예를 들어, 다음 벡터 간격(515')은 입력 신호 A1가 VOH(513)에서 VOL(512)로 구동될 때 도시된 바와 같이 시작할 수 있다. 다음 벡터 간격(515')은 이 예에서 도시한 바와 같이, "1, 0" 또는 "1에서 0"으로 특정된 다른 쌍의 로직 테스트 벡터 입력과 연관될 수 있다. 일 실시예에서, 하강 변이의 정의는 상승 변이에 대해 상술한 바와 같이 유사하게 리버티 파일(320)에 의해 특정되거나, 다른 실시예에서는 상승 변이와는 다른 변수로 리버티 파일(320)에 특정될 수 있다.
다른 전압 도메인이나 다른 클럭 타이밍 조건으로 동작할 수 있는 표준 셀로 인해 리버티 파일(320)에 특정된 여러 변수 값을 이용할 수 있는 많은 가능한 표준 셀 회로 유형이 있다는 것이 이해된다. 따라서 트랜지스터 레벨 시뮬레이션을 위한 많은 다양한 초기 변수를 제공하기 위해 리버티 파일(320)을 이용하게 되면 셀 인지 결함 특성화 동안 에러를 크게 단순화하고 방지할 수 있다.
다시 도 3을 참조하면, 데이터 수신 단계(210)는 SPICE 넷리스트(305), SPICE 모델(310), 사용자 입력 장치로부터 수신된 처리된(325) 변수, 및 정상 회로(400A)의 적어도 하나의 요소를 나타내는 데이터에 따른 다수의 결함 중 적어도 하나의 결함을 나타내는 데이터를 형성하도록(335) 리버티 파일(320)로부터 적어도 하나의 추출된(330) 변수를 이용하는 단계를 더 포함한다. 일 실시예에서, 회로 소자 크기가 고려되지 않는다면, 정상 회로(400A)는 이 예에서 두 유형의 요소: NMOS 트랜지스터 및 PMOS 트랜지스터를 포함한다. 일 실시예에서, 각 트랜지스터 유형은 여러 다수의 결함 유형과 연관될 수 있다. 다른 결함 유형은, 예를 들어 금속 숏 또는 금속 오픈과 같은 비트랜지스터 유형의 회로 소자와 관련될 수 있다는 것이 이해되어야 한다.
일 실시예에서, 각 유형의 트랜지스터 요소에 대해, 표 1에서 목록화된 다수의 결함을 나타내는 데이터는 데이터를 형성하는 단계(335)에서 형성된다. 모든 트랜지스터 관련 결함의 완전한 목록이 아닌, 표 1에서 열거된 아홉 개의 트랜지스터 관련 결함은, 하나의 회로 소자 유형에 대해서도 결함이 드러날 수 있는 많은 방법이 있다는 것을 증명해 준다. 따라서 한 번에 하나 이상의 결함이 정상 회로에 주입될 수 있는 조합의 수는 단순한 예의 정상회로(400A)에 대해서도 매우 큰데, 이는 자동화된 결함 생성과 주입을 바람직하게 만들어 표준 셀에 미치는 결함의 영향을 잘 특성화할 수 있게 한다. 다른 실시예에서, 다수의 결함 중 하나 이상은 사용자 입력 장치를 통해 제공될 수 있다.
드레인 투 게이트 쇼트
소스 투 게이트 쇼트
드레인 투 소스 쇼트
드레인 투 벌크 쇼트
소스 투 벌크 쇼트
게이트 투 벌크 쇼트
게이트 오픈
소스 오픈
드레인 오픈
도 3 및 도 5를 다시 참조하면, 데이터를 수신하는 단계(210)는 표 1에 열거된 다수의 결함 중 하나 이상을 주입하는 단계를 포함하는 SPICE 테스트벤치를 형성하고 결함 주입 회로를 형성하도록 테스트 벡터 시간 간격(515) 당 다수의 스트로브(S0-S9)를 이용하여 SPICE 테스트벤치를 초기화하는 단계(340)를 더 포함할 수 있다. 일 실시예에서, 스트로브 타이밍 간격(550) 및/또는 초기 스트로브 타이밍 오프세트(555)는 미리 정해진 디폴트 값에 의해 제공될 수 있다. 다른 실시예에서, 스트로브 타이밍 간격(550) 및/또는 초기 스트로브 타이밍 오프세트(555)는 사용자 입력 장치를 통해 제공될 수 있다. 가능한 수의 결함의 두 예와 이들이 정상 회로(400A)의 전기 타이밍 특성에 미치는 영향을 이하 설명한다.
도 4b는 본 발명의 일 실시예에 따라서, 하나의 결함 주입 회로(400B)를 형성하기 위해서, 도 4a에 도시된 정상 회로(400A)에 쇼트(435) 유형 결함이 주입된 예시의 도식을 나타내는 데이터를 도시한다. 도 4b는 다음은 예외로 하고 도 4a에 도시한 것과 동일한 요소 및 기능을 도시한다. 도 4b는 NMOS 트랜지스터(415)의 드레인과 GND 사이에 주입된 표 1에서 열거된 드레인 투 벌크 쇼트(435) 유형의 결함을 포함할 수 있다. (NMOS 트랜지스터(415)의 벌크 접속은 GND에 접속될 수 있다는 것이 이해된다.) 쇼트(435)를 나타내는 데이터는 예를 들어 10K ohms의 값을 가질 수 있는 저항의 변수로 특성화될 수 있다. 쇼트(435)는 후술하는 바와 같이 출력 X에서 VOL에서 VOH로의 상승 변이를 일으킬 수 있다.
도 4c는 본 발명의 일 실시예에 따라서, 다른 결함 주입 회로(400C)를 형성하기 위해 오픈(400) 유형의 결함이 도 4a에 도시한 정상 회로(400A)에 주입된 예시의 도식을 나타내는 데이터를 도시한다. 도 4c는 다음을 예외로 하고 도 4a에 도시한 것과 동일한 요소 및 기능을 도시한다. 도 4c는 NMOS 트랜지스터(420)의 드레인과 병렬로 주입되며 NMOS 트랜지스터(420)의 드레인과 NMOS 트랜지스터(415)의 소스 사이에 접속되는 표 1에서 열거된 드레인 오픈(440) 유형의 결함을 포함할 수 있다. 오픈(440)을 나타내는 데이터는 예를 들어 100K ohms의 값을 갖는 저항의 변수로 특성화될 수 있다. 쇼트(435)는 후술하는 바와 같이 출력 X에서 VOL에서 VOH로의 상승 변이의 지연을 초래할 수 있다.
도 3 및 4a를 다시 참조하여, 데이터를 수신하는 단계(210)는 적어도 하나의 테스트 벡터를 포함하고 정상 회로(400A)의 다수의 입력 신호 때 단 하나의 입력에 대해 신호 변이를 갖는 바로 인접한 쌍의 테스트 벡터의 모든 조합을 포함하는 컴팩트(compact) 테스트 벡터 세트를 형성하는 단계(345)를 더 포함할 수 있다. 표 2는 정상 회로(400A)에 대한 넌컴팩트(non-compact) 테스트 벡터의 일 예의 목록이다. 표 2의 좌측 제1 열은 각 테스트 벡터에 대한 벡터 번호이고 총 24개의 테스트 벡터를 열거한다.
벡터 번호
입력 A1 입력 A2
1 0 0
2 0 0
3 0 1
4 0 0
5 0 0
6 1 0
7 0 1
8 0 1
9 0 0
10 0 1
11 0 1
12 1 1
13 1 0
14 1 0
15 1 1
16 1 0
17 1 0
18 0 0
19 1 1
20 1 1
21 0 1
22 1 1
23 1 1
24 1 0
표 2의 좌측에서 제2 및 제3 열은 정상 회로(400A)의 입력(A1) 및 입력(A2)에 대한 각 로직 입력 값의 목록이다. 표 2의 실시예에서, 입력 변이는 벡터 번호 (2, 3) 및 (8, 9)에서와 같이 바로 인접하는 벡터 쌍 사이에서 일어나지만, 벡터 번호 (1, 2) 및 (7, 8)에서와 같이 바로 인접하는 다른 벡터 쌍은 셀 인지 결함 특성화의 정밀도를 개선하기 위해 회로의 전기 동작을 안정화하기 위해 입력 A1이나 입력 A2에 대해 어떤 입력 변이도 제공하지 않는다.
정상 회로(400A)의 입력 신호 A1 및 입력 신호 A2의 시점에서 오직 하나의 입력에 대한 신호 변이는 벡터 번호 (2, 3) 및 (8, 9)에서 바로 인접한 벡터 쌍들에 의해 제공되는 바와 같이 "로버스트(robust) 변이"로 불릴 수 있다. 로버스트 변이는 논로버스트(non-robust) 변이보다 더 유용한데, 이는 회로의 하나 이상의 입력이 변하고 있을 때 회로의 전기 동작에 미치는 특정 주입 결함의 영향과 연관시키는 것이 더 어렵기 때문이다. 모든 가능한 로버스트 변이의 세트는 회로에 미치는 결함의 영향을 완전히 특성화하기 위해 테스트 벡터 세트에 포함되는 것이 바람직하고 벡터 번호 (2, 3), (5, 6), (8, 9), (14, 15), (17, 18), (20, 21), 및 (23, 24)에서 바로 인접한 벡터 쌍들로 제공되는 바와 같이 표 2에 포함된다.
표 2의 목록의 논컴팩트 테스트 벡터 세트는 모든 로버스트 변이를 포함하며 양호한 특성화를 위한 안정화 주기를 제공한다. 그러나 논컴팩트 테스트 벡터는 벡터 번호 (6, 7) 및 (18, 19)에서 바로 인접한 벡터 쌍들로 제공되는 바와 같이 다수의 논로버스트 변이를 포함한다. 따라서, 논컴팩트 테스트 벡터 세트는 여분이거나 바람직하지 않은 것이다. 다시 말해, 다수의 논컴팩트 테스트 벡터는 한 번에 회로의 다수의 입력 신호 중 하나 이상에 대해 신호 변이, 즉 논로버스트 변이를 갖는 것으로 특성화되는 적어도 하나의 인접 쌍의 테스트 벡터를 포함한다.
표 3은 표 2에서 보이는 논로버스트 변이는 제거하고 모든 로버스트 변이를 포함하는 정상 회로(400A)에 대한 컴팩트 테스트 벡터 세트의 예를 열거한다. 다시 말해, 다수의 컴팩트 테스트 벡터는 한 번에 정상 회로(400A)의 다수의 입력 신호 중 하나 이상에 대한 신호 변이, 즉 논로버스트 변이를 갖는 것으로 특성화되는 인접한 쌍의 테스트 벡터를 포함하지 않는다. 열(column)의 명칭은 표 2에서와 같이 표 3에서도 동일하지만 표 3에서 열거된 테스트 벡터의 수는, 표 2에 열거된 24개의 테스트 벡터의 수보다 적은 17개의 테스트 벡터이다. 다시 말해, 다수의 컴팩트 테스트 벡터는 다수의 논컴팩트 테스트 벡터를 열거한 개수 예를 들어, 24 보다 더 적은 수, 예를 들어 17개가 열거된다.
벡터 번호
입력 A1
입력 A2
1
0 0
2
0 0
3
1 0
4
1 0
5
1 1
6
1 1
7
0 1
8
0 1
9
1 1
10
1 1
11
1 0
12
1 0
13
0 0
14
0 0
15
0 1
16
0 1
17
0 0
테스트 벡터의 길이를 감소시키는 것은 회로 특성화를 위해 선택된 각 조합의 결함에 대한 연산 시간을 향상시킨다. 또한, 오직 하나의 컴팩트 테스트 벡터 세트가 하나의 연산시 정적 및 동적 결함에 대한 셀 인지 결함 특성화를 실행하는 데에 필요하므로, 두 연산(즉, 하나의 연산에서는 정적 결함을 검출하고 다른 연산에서는 동적 결함을 검출)에서 논컴팩트 테스트 벡터를 이용하는 공지의 기술과 비교하여 연산 리소스를 더욱 줄여준다. 하나의 컴팩트 테스트 벡터 세트가 일 연산 패스로 정적 및 동적 결함 둘 다를 검출하는 데에 충분하다는 것을 이하 나타낼 것이다.
표 3에 열거된 컴팩트 테스트 벡터는 다음과 같이 생성될 수 있다. 표 2에 열거된 언컴팩트 테스트 벡터 세트는 벡터 번호 (1, 2, 3), (4, 5, 6), - (22, 23, 24)와 같이 세 개의 바로 인접한 순차적 테스트 벡터로 분할된다는 것이 이해될 수 있다. 벡터 번호, 1, 4, -, 22와 같이, 세 개의 순차적 테스트 벡터에서 제1의 테스트 벡터는 상술된 안정화 시간 간격을 나타낸다. 벡터 번호 (2, 3), (5, 6), - , (23, 24)와 같이, 각 세 개의 순차적 테스트 벡터에서 제2 및 제3의 순차적 테스트 벡터는 출력 X에서 로버스트 변이와 연관된 바로 인접한 테스트 벡터의 쌍을 나타낸다.
표 3에서 열거된 컴팩트 테스트 벡터는 표 2에서 열거된 논컴팩트 테스트 벡터 세트에서 세 개의 바로 인접한 순차 테스트 벡터 중 어느 하나를 선택함으로써, 예를 들어, 벡터 번호 (4, 5, 6)를 컴팩트 테스트 벡터 세트에서 제1의 순차적 테스트 벡터이도록, 즉 벡터 번호 (1, 2, 3)을 컴팩트 테스트 벡터 세트에서 선택하여 생성될 수 있다. 다음에, 테스트 벡터 요소 1, 0로 시작하는 표 2로부터 벡터 번호 (13, 14, 15)와 같이, 부분적으로 생성된 컴팩트 테스트 벡터 세트의 바로 마지막 테스트 벡터에서 테스트 벡터 요소와 동일한 테스트 벡터 요소로 시작하는 표 2에서 열거된 논컴팩트 벡터 세트의 다른 세 개의 바로 인접한 순차적 테스트 벡터를 선택한다. 다음에, 벡터 번호 (14, 15)와 같이, 논컴팩트 테스트 벡터 세트의 현재 선택된 세 개의 순차적 테스트 벡터에서 제2 및 제3의 순차적 테스트 벡터는 표 3에서 열거된 컴팩트 테스트 벡터의 벡터 번호 (4, 5)를 형성하도록 콤팩트 테스트 벡터 세트에 첨부된다.
테스트 벡터 요소 1, 0은, 말하자면, 이전에 선택된 세 개의 바로 인접한 순차적인 테스트 벡터를 다음에 선택된 세 개의 바로 인접한 순차적인 테스트 벡터와 중첩시켜 "재사용"된다는 것에 유의한다. 상기 가장 최근의 선택 과정은 표 2에서 열거된 논컴팩트 테스트 벡터 세트에서 모든 세 개의 바로 인접한 순차적인 테스트 벡터가 사용될 때까지 반복되어 표 3에 열거된 컴팩트 테스트 벡터 세트가 결과된다.
표 3에서 열거된 컴팩트 테스트 벡터는 모든 로버스트 변이를 포함하고 양호한 특성화를 위해 안정화 주기를 제공하지만, 컴팩트 테스트 벡터는 논로버스트 변이를 포함하지 않는다. 다시 말해, 많은 컴팩트 테스트 벡터는 한 번에 회로의 복수의 입력 신호의 오직 하나의 입력에 대해 신호 변이를 갖는 것으로 특성화된 인접 쌍의 테스트 벡터의 모든 조합, 즉 모든 조합의 로버스트 변이를 포함한다.
도 6은 본 발명의 일 실시예에 따라서, 도 2에 도시한 215개의 정상 회로(400A)를 시뮬레이팅하는 단계의 예시의 플로우챠트를 도시한다. 정상 회로(400A)의 시뮬레이팅 단계(215)는 제1 변이를 가능하게 하는 컴팩트 테스트 벡터 세트 중 제1의 바로 인접한 테스트 벡터 쌍, 예를 들어, 표 3에서 벡터 번호(2, 3)를 선택하는 단계(605)를 포함한다. 선택적으로, 바로 제1의 벡터, 즉 표 3에서 벡터 번호 (1)는 상술한 바와 같이 정상 회로(400A)에 대해 안정화 시간을 제공하기 위해 벡터 번호 (2, 3) 이전에 선택될 수 있다.
다음에, SPICE 테스트벤치는 테스트 벡터 시간 간격(515) 당 다수의 스트로브(S0-S9)를 이용하고 컴팩트 테스트 벡터 세트 중 선택된 바로 인접한 테스트 벡터 쌍, 예를 들어 표 3에서 벡터 번호 (2, 3)를 이용하거나, 선택적으로 표 3에서 제1의 세 개의 벡터 번호 (1, 2, 3)를 선택하여 연관된 출력 타이밍 특성을 취득하도록 결함 없는 정상 회로(400A)를 시뮬레이트한다(610).
도 7은 본 발명의 일 실시예에 따른, 도 4a 내지 도 4c에서 각각 도시된 정상 회로(400A) 및 결함 주입된 회로(400B, 400C)의 시뮬레이트된 타이밍 특성(700)에 대한 간략화된 예시의 타이밍도를 도시한다. 시뮬레이트된 타이밍 특성(700)은 다음은 예외로 하고 도 5에 도시된 것과 동일한 타이밍 정의 및 파형을 포함한다. 실시예를 더욱 쉽게 설명하는 예시로서, 시뮬레이트된 타이밍 특성(700)은 정상 회로(400A) 및 결함 주입 회로(400B)의 출력 X가 VOL에서 VOH까지 양의 방향으로의 변이의 원인이 되는 테스트 벡터 쌍의 제2 테스트 벡터와 연관된 세부 사항을 제공한다.
그러나, 제1 쌍의 선택된 테스트 벡터는 양의 변이를 생성하거나 생성하지 않을 수도 있고 또는 정상 회로(400A)에서 동작하는 표 3으로부터 제1의 세 개의 벡터 번호 (1, 2, 3)의 예에서와 같이 변이를 전혀 생성하지 않을 수도 있다. 출력 X에 대한 양의 방향 변이를 얻기 위해서 표 3에서 벡터 번호 (4, 5)를 선택하기 위해서는 먼저 점프해야 한다. 그럼에도, 음의 방향으로의 변이와 같이 양의 변이와는 다른 변이나 비변이 유형의 원인이 되는 벡터 쌍은 당업자에 의해 양의 방향으로 가는 변이와 유사한 것으로 이해될 것이다. 따라서, 시뮬레이트된 타이밍 특성(700)은 일 예로, 정상 회로(400A)의 출력 X의 출력 타이밍 특성(510)을 포함한다.
도 6-7을 다시 참조하면, 정상 회로(400A)를 시뮬레이팅하는 단계(215)는 다수의 스트로브(S0-S9)의 각 다른 것에 대한 스트로브 타이밍 및 좌측에서 "정상"으로 붙혀진 행에서 표 4에서 나열된 바와 같이 시뮬레이트된 출력 타이밍 특성(510)과 연관된, 로직 값, 즉 0 또는 1을 로깅(logging)하는 단계(615)를 더 포함한다. 스트로브 타이밍은 단순히 실시예를 잘 설명하기 위해서 벡터 시간 간격(515)의 시작을 말하기 위한 것이다. 출력 타이밍 특성(510)은 벡터 시간 간격(515)의 시작과 S0-S3 사이의 구간 동안에 로직 변이 임계치의 50% 이하로 유지하는 것을 알 수 있다. 따라서, S0-S3 사이의 구간 동안 시뮬레이트된 출력 타이밍에 대해 로깅된 로직 값은 로직 0이다. S4-S9 사이의 구간 동안 시뮬레이트된 출력 타이밍 특성(510)에 대해 로깅된 로직 값은 로직 1이다. S4-S9 사이의 구간 동안 시뮬레이트된 출력 타이밍 특성(510)에 대해 로깅된 값은 다음에 출력 타이밍 특성(510)이 로직 변이 임계치의 50% 이상으로 상승하기 때문에 로직 1이 된다.
스트로브
식별
S0 S1 S2 S3 S4 S5 S6 S7 S8 S9
스트로브
타이밍(ns)
3 7 11 15 19 23 27 31 35 39
1에 고정
1 1 1 1 1 1 1 1 1 1
고속
0 0 0 1 1 1 1 1 1 1
정상
0 0 0 0 1 1 1 1 1 1
저속
0 0 0 0 0 0 1 1 1 1
0에 고정
0 0 0 0 0 0 0 0 0 0
정상 회로(400A)를 시뮬레이팅하는 단계(215)는 컴팩트 테스트 벡터 세트 중 선택된 바로 인접한 테스트 벡터 쌍이 복수의 바로 인접한 테스트 벡터 쌍 중 마지막 것인지를 결정한다. 컴팩트 테스트 벡터 세트 중 선택된 바로 인접한 테스트 벡터 쌍이 복수의 바로 인접한 테스트 벡터 쌍 중 마지막 것이 아니면, 컴팩트 테스트 벡터 세트 중 다음 바로 인접한 테스트 벡터 쌍이 선택될 수 있고(625) 시뮬레이팅(610), 로깅(615) 및 선택(625) 단계가 다수의 바로 인접한 테스트 벡터 쌍 중 마지막 하나가 시뮬레이팅(61) 되고 결과가 로깅(615)될 때까지 반복될 수 있다.
다른 실시예에서, 테스트 벡터에 대한 선택 프로세스는 정상 회로(400A)의 입력 A1과 입력 A2 각각에 대한 다수의 변이로 연속적인 입력 타이밍 파형을 형성하기 위해서 표 3에서 전체 리스트의 컴팩트 테스트 벡터를 이용하여 한 번의 연속적인 패스로 SPICE 트랜지스터 레벨 시뮬레이션(610)에 대한 입력 타이밍 파형을 셋업할 수 있다. 표 4에서 로직 데이터 열들 중 하나와 같이, 스트로브(S0-S9)와 관련된 10개의 로직 데이터 값은 하나의 실시예에서는 각 테스트 벡터에 대해 또는 다른 실시예에서는 컴팩트 테스트 벡터 중 각 바로 인접한 테스트 벡터 쌍에 대해 로깅될 수 있다.
도 8은 본 발명의 일 실시예에 따른, 도 2, 도 4b 및 도 4c에서 도시한 바와 같이, 결함 주입 회로(400B, 400C)를 시뮬레이팅하는 단계(220)에 대한 예시의 플로우챠트를 도시한다. 다수의 결함 주입된 회로(400B, 400C)를 시뮬레이팅하는 단계(220)는 쇼트(435) 유형의 결함을 가지는 결함 주입 회로(400B)를 선택하는 것과 같이 시뮬레이팅하기 위해 다수의 결함 중 하나를 선택하는 단계(805)를 포함한다. 다수의 결함은 정상 회로(400A)에 포함된 요소 중 일부나 모두에 대해 표 1에서 열거된 결함 중 일부나 모두를 포함할 수 있다. 도 6 및 도 8을 동시에 참조하면, 다음 몇 단계, 제1의 바로 인접한 테스트 벡터 쌍을 선택하고(810), 시뮬레이팅하고(815), 로깅하고(820), 컴팩트 테스트 벡터 세트 중 선택된 바로 인접한 테스트 벡터 쌍이 마지막인지를 판정하는(825) 단계는 다음을 제외하고 도 6을 참조하여 상술된 각 단계(605, 610, 615, 620 및 625)와 유사하다.
선택된 결함에 대해 테스트 벡터 쌍 중 마지막이 시뮬레이트되면, 다수의 결함 주입 회로(400B, 400C)를 시뮬레이팅하는 단계(220)는 다수의 결함 중 마지막이 선택되었는지 결정하고, 선택되지 않았다면 다수의 결함 중 다음 결함이 선택되고(840) 단계(810-830)는 결함 중 마지막이 시뮬레이팅될 때까지 반복된다. 다시, 다른 실시예에서, 테스트 벡터의 선택 프로세스는 표 3의 컴팩트 테스트 벡터의 전체 리스트를 이용하여 하나의 연속적 패스에서 SPICE 트랜지스터 레벨 시뮬레이션(815)에 대한 입력 타이밍 파형을 셋업하여 결함 주입 회로(400B, 400C)의 입력 A1과 입력 A2에 대한 다수의 변이를 갖는 연속적 입력 타이밍 파형을 형성한다.
도 7, 도 8 및 표 4를 다시 참조하면, 시뮬레이트된 타이밍 특성(700)은 다음은 예외로 하고 도 5에 도시된 것과 동일한 타이밍 정의와 파형을 포함한다. 시뮬레이트된 타이밍 특성(700)은 결함 주입 회로(400B)의 출력 X와 연관된 출력 타이밍 특성(705)을 포함한다. 로깅(820) 단계 동안, 다수의 로직 값은 상승하는 변이가 더 빨라서 정상 회로(400A)에 대해 표시된 바와 같이 19ns 스트로브 타이밍에서의 스트로브(S4) 대신에, 15ns 스트로브 타이밍에서의 스트로브(S3)에 의해 로직 1 값에 이르렀기 때문에 표 4에서 "고속"으로 식별된 행에서 열거된 바와 같이 로깅된다. 다시 말해, 다수의 스트로브(S0-S9)는 정상 회로(400A)의 출력 X의 출력 타이밍 특성(510)의 정상 변이와 연관된 스트로브(S4) 및 결함 주입 회로(400B)의 출력 X의 출력 타이밍 특성(705)의 이전의 에러 변이와 연관된 스트로브(S3)를 포함한다.
또한, 다수의 스트로브의 이용 때문에, 시뮬레이션(815)은 다수의 스트로브(S3, S4)와 연관된 4ns의 시차(715), 출력 타이밍 특성(510, 및 출력 타이밍 특성(705)을 결정할 수 있다. 시차(715)는 아래 설명되는 바와 같이 매우 유용한 것이지만 시뮬레이션 동안 하나의 스트로브만을 이용할 수 있는 공지의 셀 인지 결함 특성화 기술을 이용하는 것으로 성취가능한 것은 아니다.
시뮬레이트된 타이밍 특성(700)은 결함 주입 회로(400C)의 출력 X와 연관된 출력 타이밍 특성(710)을 포함한다. 로깅 단계(820) 동안 다수의 로직 값은 상승하는 변이가 지연되어 정상 회로(400A)에 대해 표시된 바와 같이 19ns의 스트로브 타이밍에서의 스트로브(S4) 대신에, 27ns의 스트로브 타이밍에서의 스트로브(S6)에 의해 로직 1 값에 이르기 때문에 표 4에서 "저속"으로 식별된 행에서 열거된 바와 같이 로깅된다. 이 예에서 시뮬레이션(815)은 결함 주입 회로(400C)에 대해 다수의 스트로브(S4, S6)와 연관된 8ns의 시차(717), 출력 타이밍 특성(510), 및 출력 타이밍 특성(710)을 결정할 수 있다.
결함의 저항값이 충분히 극한이면, 즉 회로가 출력에서 변이를 형성하도록 하는 결함 저항보다 더 적거나 크면, 정적 결함이 발생할 수 있다. 출력 타이밍 특성(720)은 모든 스트로브(S0-S9)에 대해 "1에 고정" 결함과 연관되어 로직 1로 로깅된(820) 정적 결함의 일 예이다. 출력 타이밍 특성(725)은 모든 스트로브(S0-S9)에 대해 "0에 고정" 결함과 연관되어 로직 0으로 로깅된(820) 정적 결함의 일 예이다.
도 9는 본 발명의 일 실시예에 따르면, 도 2에서 도시한 바와 같이 적어도 하나의 테스트 벡터와 적어도 하나의 결함 간의 관계를 식별하는 단계(225)에 대한 예시의 플로우챠트를 도시한다. 도 4a, 도 4b, 도 7 및 도 9를 동시에 참조하여, 관계 식별 단계(225)는 표 4에서 "정상"으로 식별된 행에 나열된 바와 같은 결함이 없는 정상 회로(400A)와 연관된 다수의 스트로브(S0-S9)의 각 다른 것에 대한 스트로브 타이밍과 연관되는 로직 값, 즉 0이나 1을 판독하는 단계(905)를 포함할 수 있다.
판독 단계(905)와 동시에 또는 어느 순서로나, 관계 식별 단계(225)는 표 4에서 "고속", "저속"으로 각각 식별된 행에 나열같이 각각 쇼트(435), 오픈(440)인 다수의 결함의 각 다른 것과, 표 3에서 열거된 바와 같이 컴팩트 테스트 벡터의 세트 중 다수의 인접 테스트 벡터 세트의 각 다른 것에 대해, 결함 주입 회로(400B, 400C)와 연관된 다수의 스트로브(S0-S9) 중 각 다른 것에 대한 스트로브 타이밍과 연관된, 로직 값, 즉 0이나 1을 판독하는 단계(910)를 더 포함할 수 있다.
상기 로직 결함 데이터는 10 스트로브 × 2 결함 × 8 로버스트(테스트 벡터 쌍에 바로 인접한), 총 160개의 로직 데이터 엔트리로 열거될 수 있다. 또한, 다른 실시예에서, 데이터는 10 스트로브 × 2 결함 × 컴팩트 테스트 벡터 세트 중 17 테스트 벡터, 총 340개의 로직 데이터 엔트리로 열거될 수 있다. 상술된 바와 같이, 셀 인지 결함 특성화에 대해 충분히 열거될 때 결함의 수는 주로 정상 회로의 트랜지스터 총수에 좌우되며 결함 주입 회로(400B, 400C)에 대해 설명되는 두 결함 유형의 예와 비교하여 더 큰 로직 데이터 세트를 형성할 수 있다.
다음에, 정상 회로(400A)의 출력 타이밍 특성(510)은 다수의 인접한 테스트 벡터 쌍들의 각 다른 것이나 모든 테스트 벡터에 대해 반복하고, 표 1에 나열되며 결함이 생기기 쉬운 모든 회로 소자와 연관된 다수의 결함의 각 다른 것에 대해 반복하여, 다수의 스트로브(S0-S9)의 각 다른 것에서 컴팩트 테스트 벡터 세트의 적어도 하나의 테스트 벡터를 이용하여 각 결함 주입 회로(400B, 400C)의 출력 타이밍 특성(705 또는 710)과 비교될 수 있다(915).
다음에, 출력 타이밍 특성(705 또는 710)이 타이밍 에러인지, 예를 들어 결함 주입 회로에 대해 스트로브(S0-S9)와 연관된 로직 값이 정상 회로에 대해 스트로브(S0-S9)와 연관된 로직 값과 일치하는지를 판정하고(920), 일치한다면 출력 타이밍 특성(750 또는 710)이 정적 에러인지 동적 에러인지를 판정한다. 도 10은 본 발명의 일 실시예에 따라, 도 9에 도시한 바와 같이 출력 타이밍 특성(705 또는 710)이 에러인지 어떤 종류의 에러인지를 판정하는 단계(920)를 위한 예시의 플로우챠트를 도시한다. 도 4b, 도 4c, 도 7, 도 10, 및 표 4를 동시에 참조하면, 판정 단계(920)는 출력 타이밍 특성(705 및 710)에서 에러를 검출하는 단계(1005) 및 50%와 같은 로직 레벨 임계치가 넘었는지 판정하는 단계(1010), 및 넘었다면 출력 타이밍 특성(705 또는 710)이 출력 타이밍 특성(510)의 변이 이전이나 이후에 발생한 변이를 포함하는지 판정하는 단계(1015)를 포함할 수 있다. 출력 타이밍 특성(705 또는 710)이 출력 타이밍 특성(510)의 변이 이전이나 이후에 발생한 변이를 포함하면 출력 타이밍 특성(705 또는 710)의 타이밍 에러가 반복 가능한지를 판정한다(1020). 다시 말해, 단계(1015)는 출력 타이밍 특성(710)이 정상 회로(400A)의 출력 타이밍 특성(510)의 타이밍 변이 후에 발생하는 결함 주입 회로(400C)의 출력 X의 타이밍 변이를 포함하는지를 판정하거나 출력 타이밍 특성(705)이 정상 회로(400A)의 출력 타이밍 특성(510)의 타이밍 변이 이전에 발생한 결함 주입 회로(400B)에 대한 출력 X의 타이밍 변이를 포함하는지를 판정한다.
출력 타이밍 특성(705 또는 710)의 타이밍 에러가 반복 가능하다면, 출력 타이밍 특성(705 또는 710)에서의 타이밍 에러 유형이 동적 타이밍 에러인지 그리고 연관된 결함, 예를 들어 쇼트(435) 또는 오픈(440)이 각각 동적 유형 결함인지가 판정된다(1025). 다음에, 시차, 예를 들어 다수의 스트로브(S4, S6)와 연관된 시차(717)에 따라 동적 결함, 예를 들어, 오픈(440)을 특성화하는, 변수, 예를 들어 저항값, 예를 들어 100K ohms를 연관시킨다(1030). 시차, 예를 들어 시차(717)는 스트로브(S4)와 연관된 스트로브 타이밍, 예를 들어 19ns(표 4로부터)와 스트로브(S6)와 연관된 스트로브 타이밍, 예를 들어 27ns 간의 차이이다. 따라서, 시차, 예를 들어 시차(717)는 27-19=8ns가 된다.
오픈(440)에 대한 저항값이 200K ohms로 증가된 다른 예를 가정하고 상술된 실시예를 이용하여 출력 타이밍 특성(710)의 변이가 스트로브(S8) 바로 전에 로직 임계치의 50% 넘게 증가하기 위해 더욱 지연되었다고 판정된다. 다음에 시차(717)는 35-19=16ns가 되고, 이에 의해 결함의 정도나 심각도 및 타이밍 동작이나 회로 간의 모델을 세울 수 있다. 따라서, 본 명세서에 설명된 실시예를 이용하여, 단일의 스트로브 셀 인지 결함 특성화를 이용하여 가능한 결함의 제조를 진단하는 것을 돕도록 더 정밀한 정보를 갖는 것이 가능하다.
단계(1010)에서 50%와 같은 로직 레벨 임계치가 넘지 않았다고 판정되면, 패턴 의존성이 있는지, 즉 컴팩트 벡터 세트의 입력 벡터에 따라 출력 타이밍 특성(705 또는 710)의 결과 변경이 있는지가 판정된다(1040). 패턴 의존도가 없다면, 즉 출력 타이밍 특성(705 또는 710)이 컴팩트 벡터 세트의 입력 벡터에 따라 변하지 않았다면, 출력 타이밍 특성(705 또는 710)의 타이밍 에러가 반복 가능한지 판정한다(1045). 타이밍 에러가 반복 가능하면, 출력 타이밍 특성(705 또는 710)이 다수의 스트로브(S0-S9) 각각 동안 실질적으로 정적이며 연관 결함은 정적 결함 유형이라고 판정된다(1050). 이와 관련하여, 실질적으로 정적이라는 것은 출력 X에 대한 출력 타이밍 특성이 다수의 스트로브(S0-S9) 중 어느 것 동안에나 리버티 파일로부터 추출된 로직 임계치 레벨 이상으로 오르거나 아래로 내려가지 않는 것을 의미한다. 따라서, 본 방법은 컴퓨터 구현 방법을 통한 단일 패스 동안에 다수의 컴팩트 테스트 벡터에 따라서, 정적 에러 및/또는 동적 에러인 타이밍 에러 및/또는 결함 유형을 식별하며, 이는 정적 에러를 식별하는 하나의 특성화 패스와 동적 에러를 식별하는 다른 별개의 특성화 패스를 이용하는 공지의 방법과 비교하여 연산 시간 및/또는 리소스를 감소시킨다.
정적 결함은 정적 결함 유형의 두 유형, "1에 고정" 및 "0에 고정"으로 더욱 분류된다. 시뮬레이트된 타이밍 특성(700)은 "1에 고정" 유형의 정적 결함으로 분류되거나 이와 연관되는 출력 타이밍 특성(720) 및 "0에 고정" 유형의 정적 결함으로 분류되거나 이와 연관되는 출력 타이밍 특성(725)을 더 포함한다. 표 4는 상기 실시예에 의해 로깅된 바와 같이 "1에 고정" 및 "0에 고정" 유형의 정적 결함에 대한 로직 값 및 스트로브 타이밍 정보를 나타낸다.
단계(1015)에서 출력 타이밍 특성(705 또는 710)이 출력 타이밍 특성(510)의 변이 이전이나 후에 발생하는 변이를 포함하지 않았다고 판정되거나, 단계(1020 또는 1045)에서 출력 타이밍 특성(705, 710, 720, 725)의 에러가 반복 가능하지 않다고 판정되면, 결함은 불일치이지만 때로 유효한 에러로 검출되어(1035) 분류될 수 있다.
도 9를 참조하면, 타이밍 결함을 판정하고 분류한 후에, 연관성의 식별 단계(225)는 셀 테스트 모델(CTM) 파일에 대한 기록 단계(230) 및 타이밍 에러가 검출되면 다수의 결함 중 각 다른 것에 대한 결함 검출 정보를 포함하는 단계를 더 포함한다. 정적 에러가 검출되면, 정적 결함과 연관된 데이터 및 정적 결함을 검출하기 위한 연관 테스트 벡터는 CTM 파일에 포함될 수 있다. 동적 에러가 검출되면, 동적 결함과 연관된 데이터 및 동적 결함을 검출하기 위한 연관 테스트 벡터는 CTM파일에 포함될 수 있다. CTM 파일은 상술된 실시예에서 특징으로 하는 제조 결함의 대상이 될 때 대다수의 표준 셀이나 심지어 전체 IC의 로직 동작을 시뮬레이팅하는 데에 이용되는 다른 로직 시뮬레이션 툴에 대한 입력으로 이용될 수 있다.
CTM 파일의 예는 파일의 각 라인에 앞에 참고용으로 라인 번호를 붙혀 아래와 같이 제공된다.
1. - Cell: SEP_AN2_1
2. InSignals: [A1, A2]
3. OutSignals: [X]
4. Defects:
5. - Id: D2
6. Type: short
7. Description: Cg99 VBP VSS 1 status=undet
8. Attributes:
9. - Class: UD
10. ......
11. - Id: D464
12. Type: short
13. Description: XMNA1 I1:F88 VBN 10000.0 status=dynamic_det small_delay=30.0ps
14. Attributes:
15. - Class: DT
16. - DetEquivalent: D26
17. - Behavior: small_delay
18. ......
19. - Id: D595
20. Type: open
21. Description: R_I1N1_F86_XMNA1 I1N1:F86_XMNA1 I1N1:F86 100000.0 status=dynamic_det
22. Attributes:
23. - Class: DT
24. - DetEquivalent: D15
25. - Behavior: delay
26. Detections:
27. - [Table, Static]
28. - [A1,A2, X, D3,D6,D28,D37,D49,D51,D53,D94,D184]
29. - [0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1]
30. - [0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0]
31. - [1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0]
32. - [1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0]
33. - [Table, Dynamic]
34. - [A1,A2, X, D1,D7,D15,D26,D38,D244,D324,D364,D484,D666,D686,D696]
35. - [R, 1, R, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0]
36. - [1, R, R, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1]
37. - [F, 1, F, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0]
38. - [1, F, F, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1]
상기 목록의 CTM 파일과 도 4b 및 도 4c를 동시에 참고하면, D464는 쇼트(435)에 대응하고 D595는 오픈(440)에 대응한다. 예를 들어, 상기 목록의 CTM 파일은 결함 D595가 라인 번호 20에서 오픈형 결함이고 라인 번호(21)에서 동적 유형 타이밍 에러에 대한 100K ohms에 대응한다는 것을 나타낸다. 상기 목록의 CTM 파일은 또한 결함 D464가 라인 번호(37 및 38)에서 각각 나타낸 바와 같이, 벡터 "A1=F, A2=1" 및"A1=1, A2=F"로 검출된 동적 결함인 것을 나타낸다. 결함(595)은 라인 번호(35 및 36)에서 나타낸 바와 같이, 벡터 "A1=R, A2=1" 및 "A1=1, A2=R"로 검출된다.
도 11은 본 발명의 실시예와 결합할 수 있는 컴퓨터 시스템(1100)의 예시의 블록도이다. 도 11은 본 발명에 관한 실시예를 단지 설명하기 위한 것이지 청구항에서 서술된 바와 같이 본 발명의 영역을 제한하는 것이 아니다. 당업자라면 다른 변형, 수정, 및 대안들이 이해될 것이다. 일 실시예에서, 컴퓨터 시스템(1100)은 통상 모니터(1110), 컴퓨터(1120), 유저 출력 장치(1130), 유저 입력 장치(1140), 통신 인터페이스(1150) 등을 포함한다.
도 11에서 도시한 바와 같이, 컴퓨터(1120)는 버스 서브시스템(1190)을 통해 다수의 주변 장치와 통신하는 프로세서(160)를 포함한다. 이들 주변 장치는 유저 출력 장치(1130), 유저 입력 장치(1140), 통신 인터페이스(1150), 및 랜덤 액세스 메모리(RAM)(1170)와 디스크 드라이브(1180)와 같은 저장 서브시스템을 포함한다.
유저 입력 장치(1140)는 컴퓨터(1120)에 정보를 입력하기 위한 모든 가능한 유형의 장치 및 메커니즘을 포함한다. 이들은 키보드, 키패드, 디스플레이에 결합된 터치 스크린, 음성 인식 시스템과 같은 오디오 입력 장치, 마이크로폰, 및 다른 유형의 입력 장치를 포함한다. 여러 실시예에서, 유저 입력 장치(1130)는 통상 컴퓨터 마우스, 트랙볼, 트팩 패드, 조이스틱, 무선 리모트, 드로잉 태블릿, 음성 명령 시스템, 아이 트래킹 시스템 등으로 구현된다. 유저 입력 장치(1140)는 통상 버튼 등의 클릭과 같은 명령으로 모니터(1110)에 나타나는 물체, 아이콘, 텍스트 등을 유저가 선택할 수 있게 한다.
유저 출력 장치(1140)는 컴퓨터(1120)로부터 정보를 출력하기 위한 모든 가능한 유형의 장치 및 메커니즘을 포함한다. 이들은 디스플레이(예를 들어, 모니터(1110)), 오디오 출력 장치와 같은 비시각적 디스플레이 등을 포함할 수 있다.
통신 인터페이스(1150)는 다른 통신 네트워크와 장치에 인터페이스를 제공한다. 통신 인터페이스(1150)는 데이터를 다른 시스템으로부터 수신하고 다른 시스템에 전송하기 위한 인터페이스로 작용한다. 통신 인터페이스(1150)의 실시예는 이더넷 카드, 모뎀(전화, 위성, 케이블, ISDN), (비동기식) 디지털 가입자 회선(DSL) 유닛, 파이어와이어(FireWire) 인터페이스, USB 인터페이스 등을 포함한다. 에를 들어, 통신 인터페이스(1150)는 컴퓨터 네트워크, 파이어와이어 등에 결합될 수 있다. 다른 실시예에서, 통신 인터페이스(1150)는 컴퓨터(1120)의 마더보드에 물리적으로 일체화되며, DSL 등과 같은 소프트웨어 프로그램일 수 있다.
여러 실시예에서, 컴퓨터 시스템(1100)은 또한 HTTP, TCP/IP, RTP/RTSP 프로토콜 등과 같은 네트워크를 통해 통신을 가능하게 하는 소프트웨어를 포함할 수 있다. 본 발명의 다른 실시예에서, 다른 통신 소프트웨어 및 전송 프로토콜은 또한 에를 들어 IPX, UDP 등에 이용될 수 있다. 일부 실시예에서, 컴퓨터(1120)는 프로세서(1160)로서 인텔(Intel) 사의 하나 이상의 제온(Xeon) 마이크로프로세서를 포함할 수 있다. 또한, 일 실시예에서, 컴퓨터(1120)는 UNIX 기반의 운영 시스템을 포함한다.
RAM(1170) 및 디스크 드라이브(1180)는 실행 가능한 컴퓨터 코드, 인간 판독 가능 코드 등을 포함하여, 본 발명의 실시예와 같은 데이터를 저장하도록 구성된 유형 매체의 예들이다. 다른 유형의 유형 매체는 플로피 디스크, 분리성 하드 디스크, CD-ROMS, DVD 및 바코드와 같은 광 저장 매체, 플래시 메모리와 같은 반도체 메모리, 비일시적 판독 전용 메모리(ROMS), 배터리 전원의 휘발성 메모리, 네트워크 저장 장치 등을 포함한다.
본 발명의 기능을 제공하는 소프트웨어 코드 모듈과 명령은 RAM(1170) 및 디스크 드라이브(1180)에 저장될 수 있다. 이들 소프트웨어 모듈은 프로세서(1160)에 의해 실행될 수 있다. RAM(1170) 및 디스크 드라이브(1180)는 또한 본 발명에 따라 이용되는 데이터를 저장하기 위한 저장소를 제공할 수 있다.
RAM(1170) 및 디스크 드라이브(1180)는 프로그램 실행 동안 명령과 데이터의 저장을 위한 주 랜덤 액세스 메모리(RAM) 및 고정된 비일시적 명령이 저장되는 판독 전용 메모리(ROM)를 포함하는 다수의 메모리를 포함한다. RAM(1170) 및 디스크 드라이브(1180)는 프로그램 및 데이터 파일에 대한 영구(비휘발성) 저장을 제공하는 파일 저장 서브시스템을 포함할 수 있다. RAM(1170) 및 디스크 드라이브(1180)는 또한 분리성 플래쉬 메모리와 같은 분리성 저장 시스템을 포함할 수 있다.
버스 서브시스템(1190)은 컴퓨터(1120)의 여러 구성 부품과 서브시스템이 의도한 대로 서로 통신하게 하는 메커니즘을 제공한다. 버스 서브시스템(1190)이 단일 버스로 개략적으로 도시되어 있지만, 버스 서브시스템의 다른 실시예는 다중 버스를 이용할 수 있다.
도 11은 본 발명을 구체화할 수 있는 컴퓨터 시스템을 나타낸다. 당업자에게는 많은 다른 하드웨어와 소프트웨어 구성이 본 발명에 이용하기에 적합하다는 것이 쉽게 명백하게 될 것이다. 예를 들어, 컴퓨터는 데스크톱, 휴대용, 랙 마운트(rack-mounted) 또는 태블릿 구성일 수 있다. 부가적으로, 컴퓨터는 일련의 네트워크 컴퓨터일 수 있다. 또한, PentiumTM 또는 ItaniumTM 마이크로프로세서; 어드밴스드 마이크로 디바이스(Advaned Micro Devices, Inc) 사의 OpteronTM 또는 AthlonXPTM; 등과 같은 다른 마이크로프로세서의 이용을 생각할 수 있다. 또한, 마이크로소프트 사의 Windows®, WindowsXP®, WindowsNT®, 썬 마이크로시스템 사의 솔라리스, LINUX, UNIX 등과 같은 다른 유형의 운영 시스템을 생각할 수 있다. 또 다른 실시예에서, 상술된 기술은 칩이나 보조 처리 기판에 구현될 수 있다.
본 발명의 여러 실시예는 소프트웨어나 하드웨어 또는 이 둘의 조합의 로직의 형태로 구현될 수 있다. 로직은 컴퓨터 시스템의 프로세서가 본 발명의 실시예에 개시된 일련의 단계를 실행하도록 하는 데에 적합한 일련의 명령으로 컴퓨터 판독 가능 또는 기기 판독 가능한 비일시적 저장 매체에 저장될 수 있다. 로직은 정보 처리 장치가 본 발명의 실시예에 개시된 일련의 단계를 실행하도록 하는 데에 적합한 컴퓨터 프로그램 제품의 일부를 형성한다. 본 명세서에 제공된 공개와 개시에 기초하여, 당업자라면 본 발명을 구현하는 다른 방법들이 가능하게 될 것이다.
본 명세서에 개시된 데이터 구조물과 코드는 컴퓨터 판독 가능 저장 매체 및/또는 하드웨어 모듈 및/또는 하드웨어 장치에 부분적으로 또는 완전히 저장될 수 있다. 컴퓨터 판독 가능 저장 매체는 이에만 제한하는 것은 아니지만, 코드 및/또는 데이터를 저장할 수 있는, 휘발성 메모리, 비휘발성 메모리, 디스크 드라이브와 같은 자기 및 광 저장 장치, 자기 테이프, CD(컴팩트 디스크), DVD(디지털 다기능 디스크 또는 디지털 비디오 디스크) 또는 현재 공지되거나 나중에 개발될 그 외 매체를 포함한다. 본 명세서에 개시된 하드웨어 모듈이나 장치는 이에만 제한하는 것은 아니지만, 특수 용도 집적 회로(ASIC), 필드 프로그래머블 게이트 어레이(FPGA), 전용 또는 공유 프로세서, 및/또는 그 외 현재 공지되거나 나중에 개발될 하드웨어 모듈이나 장치를 포함한다.
본 명세서에 개시된 방법 및 프로세스는 컴퓨터 판독 가능 저장 매체나 장치에 저장된 코드 및/또는 데이터로 부분적으로 또는 완전히 구체화될 수 있으므로, 컴퓨터 시스템이 코드 및/또는 데이터를 판독 및 실행할 때, 컴퓨터 시스템은 관련 방법 및 프로세스를 실행한다. 방법 및 프로세스는 하드웨어 모듈과 장치에 부분적으로 또는 완전히 구현될 수 있으므로, 하드웨어 모듈이나 장치가 활성화될 때, 관련 방법과 프로세스를 실행할 수 있다. 본 명세서에 개시된 방법 및 프로세스는 코드, 데이터 및 하드웨어 모듈이나 장치의 조합을 이용하여 구체화될 수 있다.
본 발명의 실시예의 상기 설명은 제한하고자 하는 것이 아니고 설명을 위한 것이다. 부가하여, 래치 및/또는 플롭에 대응하는 상술된 것과 유사한 원리는 다른 순차적 논리 회로 소자에 적용될 수 있다. 다른 수정 및 변형은 당업자에게 명백하고 첨부한 청구범위의 영역 내에 속하는 것이다.

Claims (51)

  1. 회로를 특성화하기 위한 컴퓨터 구현 방법에 있어서,
    상기 컴퓨터가 상기 회로 및 상기 회로의 적어도 하나의 결함을 나타내는 데이터를 수신하는 단계;
    상기 컴퓨터를 이용하여, 상기 회로를 제1 타이밍 특성을 취득하도록 시뮬레이팅하는 단계;
    상기 컴퓨터를 이용하여, 상기 적어도 하나의 결함을 갖는 상기 회로를 제2 타이밍 특성을 취득하도록 시뮬레이팅하는 단계; 및
    상기 컴퓨터를 이용하여, 상기 컴퓨터가 상기 회로를 특성화하는 데에 적용될 때, 상기 제1 타이밍 특성, 제2 타이밍 특성 및 적어도 하나의 테스트 벡터와 연관된 제1 시간 간격 동안 적용된 복수의 스트로브에 따라서 상기 적어도 하나의 테스트 벡터와 상기 적어도 하나의 결함 간의 연관성을 식별하는 단계
    를 포함하는 컴퓨터 구현 방법.
  2. 제 1항에 있어서,
    상기 적어도 하나의 테스트 벡터를 이용하여 상기 제1 타이밍 특성을 상기 제2 타이밍 특성과 비교하는 단계를 더 포함하는 컴퓨터 구현 방법.
  3. 제 1항에 있어서,
    상기 식별 단계는 상기 제2 타이밍 특성이 상기 복수의 스트로브의 각각 동안 실질적으로 정적인지 판정하는 단계를 더 포함하는 컴퓨터 구현 방법.
  4. 제 1항에 있어서,
    상기 식별 단계는 상기 제2 타이밍 특성이 상기 제1 타이밍 특성의 제2 변이 이후에 발생한 제1 변이를 포함하는지 판정하는 단계를 더 포함하는 컴퓨터 구현 방법.
  5. 제 1항에 있어서,
    상기 제2 타이밍 특성이 상기 제1 타이밍 특성의 제2 변이 이전에 발생한 제1 변이를 포함하는지 판정하는 단계를 더 포함하는 컴퓨터 구현 방법.
  6. 제 1항에 있어서,
    상기 식별 단계는 상기 제2 타이밍 특성이 타이밍 에러인지 판정하는 단계를 더 포함하는 컴퓨터 구현 방법.
  7. 제 1항에 있어서,
    상기 식별 단계는 상기 제2 타이밍 특성이 타이밍 에러로 판정될 때 상기 제2 타이밍 특성이 정적 에러인지 동적 에러인지 판정하는 단계를 더 포함하는 컴퓨터 구현 방법.
  8. 제 1항에 있어서,
    상기 수신 단계는 상기 컴퓨터를 이용하여, 상기 회로의 적어도 하나의 요소를 나타내는 데이터에 따라서 상기 적어도 하나의 결함을 나타내는 데이터를 형성하는 단계를 포함하는 컴퓨터 구현 방법.
  9. 제 1항에 있어서,
    상기 회로는 복수의 셀의 라이브러리 중 하나의 셀인 컴퓨터 구현 방법.
  10. 제 1항에 있어서,
    상기 식별 단계는 상기 복수의 스트로브와 연관된 시차, 상기 제1 타이밍 특성 및 상기 제2 타이밍 특성을 결정하는 단계를 더 포함하는 컴퓨터 구현 방법.
  11. 제 1항에 있어서,
    상기 복수의 스트로브는 상기 제1 타이밍 특성의 제1 변이와 연관된 제1 스트로브 및 상기 제2 타이밍 특성의 제2 변이와 연관된 제2 스트로브를 포함하는 컴퓨터 구현 방법.
  12. 제 1항에 있어서,
    상기 식별 단계는 상기 복수의 스트로브와 연관된 시차에 따라 상기 적어도 하나의 결함을 특성화하는 변수의 값을 연관시키는 단계를 더 포함하는 컴퓨터 구현 방법.
  13. 제 12항에 있어서,
    상기 시차는 제1 스트로브와 연관된 제1 시간과 제2 스트로브와 연관된 제2 시간 간의 차인 컴퓨터 구현 방법.
  14. 제 1항에 있어서,
    상기 수신 단계는 제1 복수의 테스트 벡터를 형성하는 단계를 포함하고, 상기 적어도 하나의 테스트 벡터는 한 번에 상기 회로의 복수의 입력 신호 중 하나 이상에 대해 신호 변이를 갖는 것을 특성으로 하는 적어도 하나의 인접한 쌍의 테스트 벡터를 포함하는 제2 복수의 테스트 벡터를 열거한 제2 개수보다 더 적은 제1 개수로 열거되는 상기 제1 복수의 테스트 벡터에 포함되는 컴퓨터 구현 방법.
  15. 제 14항에 있어서,
    상기 제1 복수의 테스트 벡터는 한 번에 상기 회로의 복수의 입력 신호의 하나의 입력에 대해 신호 변이를 갖는 것을 특성으로 하는 인접한 쌍의 테스트 벡터의 모든 조합을 포함하는 컴퓨터 구현 방법.
  16. 제 14항에 있어서,
    상기 제1 복수의 테스트 벡터는 한 번에 상기 회로의 복수의 입력 신호의 하나 이상에 대해 신호 변이를 갖는 것을 특성으로 하는 인접한 쌍의 테스트 벡터를 포함하지 않는 컴퓨터 구현 방법.
  17. 제 1항에 있어서,
    상기 식별 단계는 상기 적어도 하나의 테스트 벡터를 포함하는 제1 복수의 테스트 벡터에 따라 상기 컴퓨터 구현 방법을 통한 단일 패스 동안, 정적 에러와 동적 에러로 이루어진 그룹에서 선택된 에러를 식별하는 단계를 더 포함하는 컴퓨터 구현 방법.
  18. 컴퓨터에 의해 실행될 때, 상기 컴퓨터가:
    회로 및 상기 회로의 적어도 하나의 결함을 나타내는 데이터를 수신하는 단계;
    상기 회로를 제1 타이밍 특성을 취득하도록 시뮬레이팅하는 단계;
    상기 적어도 하나의 결함을 갖는 상기 회로를 제2 타이밍 특성을 취득하도록 시뮬레이팅하는 단계; 및
    상기 컴퓨터가 상기 회로를 특성화하는 데에 적합할 때, 상기 제1 타이밍 특성, 상기 제2 타이밍 특성, 및 적어도 하나의 테스트 벡터와 연관된 제1 시간 간격 동안 적용된 복수의 스트로브에 따라서 상기 적어도 하나의 테스트 벡터와 상기 적어도 하나의 결함 간의 연관성을 식별하는 단계
    를 실행하도록 하는 명령을 포함하는 비일시적 컴퓨터 판독 가능 저장 매체.
  19. 제 18항에 있어서,
    상기 컴퓨터에 의해 실행될 때, 상기 적어도 하나의 테스트 벡터를 이용하여 상기 컴퓨터가 상기 제1 타이밍 특성을 상기 제2 타이밍 특성과 비교하도록 하는 명령을 더 포함하는 비일시적 컴퓨터 판독 가능 저장 매체.
  20. 제 18항에 있어서,
    상기 식별 단계는 상기 제2 타이밍 특성이 상기 복수의 스트로브의 각각 동안 실질적으로 정적인지를 판정하는 단계를 더 포함하는 비일시적 컴퓨터 판독 가능 저장 매체.
  21. 제 18항에 있어서,
    상기 식별 단계는 상기 제2 타이밍 특성이 상기 제1 타이밍 특성의 제2 변이 이후에 발생하는 제1 변이를 포함하는지를 판정하는 단계를 더 포함하는 비일시적 컴퓨터 판독 가능 저장 매체.
  22. 제 18항에 있어서,
    상기 식별 단계는 상기 제2 타이밍 특성이 상기 제1 타이밍 특성의 제2 변이 이전에 발생한 제1 변이를 포함하는지를 판정하는 단계를 더 포함하는 비일시적 컴퓨터 판독 가능 저장 매체.
  23. 제 18항에 있어서,
    상기 식별 단계는 상기 제2 타이밍 특성이 타이밍 에러인지를 판정하는 단계를 더 포함하는 비일시적 컴퓨터 판독 가능 저장 매체.
  24. 제 18항에 있어서,
    상기 식별 단계는 상기 제2 타이밍 특성이 타이밍 에러인 것으로 판정될 때 정적 에러인지 동적 에러인지를 판정하는 단계를 더 포함하는 비일시적 컴퓨터 판독 가능 저장 매체.
  25. 제 18항에 있어서,
    상기 수신 단계는 상기 컴퓨터를 이용하여 상기 회로의 적어도 하나의 요소를 나타내는 데이터에 따라서 상기 적어도 하나의 결함을 나타내는 데이터를 생성하는 단계를 포함하는 비일시적 컴퓨터 판독 가능 저장 매체.
  26. 제 18항에 있어서,
    상기 회로는 복수의 셀의 라이브러리 중 하나의 셀인 비일시적 컴퓨터 판독 가능 저장 매체.
  27. 제 18항에 있어서,
    상기 식별 단계는 상기 복수의 스트로브, 상기 제1 타이밍 특성, 및 상기 제2 타이밍 특성과 연관된 시차를 결정하는 단계를 더 포함하는 비일시적 컴퓨터 판독 가능 저장 매체.
  28. 제 18항에 있어서,
    상기 복수의 스트로브는 상기 제1 타이밍 특성의 제1 변이와 연관된 제1 스트로브 및 상기 제2 타이밍 특성의 제2 변이와 연관된 제2 스트로브를 포함하는 비일시적 컴퓨터 판독 가능 저장 매체.
  29. 제 18항에 있어서,
    상기 식별 단계는 상기 복수의 스트로브와 연관된 시차에 따라서 상기 적어도 하나의 결함을 특성화하는 변수 값을 연관시키는 단계를 더 포함하는 비일시적 컴퓨터 판독 가능 저장 매체.
  30. 제 29항에 있어서,
    상기 시차는 제1 스트로브와 연관된 제1 시간과 제2 스트로브와 연관된 제2 시간 간의 시차인 비일시적 컴퓨터 판독 가능 저장 매체.
  31. 제 18항에 있어서,
    상기 수신 단계는 제1 복수의 테스트 벡터를 생성하는 단계를 포함하고, 상기 적어도 하나의 테스트 벡터는 한 번에 상기 회로의 복수의 입력 신호 중 하나 이상에 대해 신호 변이를 갖는 것을 특성으로 하는 적어도 하나의 인접 쌍의 테스트 벡터를 포함하는 제2 복수의 테스트 벡터를 나열한 제2 개수보다 적은 제1 개수로 나열한 상기 제1 복수의 테스트 벡터에 포함된 비일시적 컴퓨터 판독 가능 저장 매체.
  32. 제 31항에 있어서,
    상기 제1 복수의 테스트 벡터는 한 번에 상기 회로의 복수의 입력 신호의 하나의 입력에 대해 신호 변이를 갖는 것을 특성으로 하는 인접 쌍의 테스트 벡터의 모든 조합을 포함하는 비일시적 컴퓨터 판독 가능 저장 매체.
  33. 제 31항에 있어서,
    상기 제1 복수의 테스트 벡터는 한 번에 상기 회로의 복수의 입력 신호의 하나 이상의 입력에 대해 신호 변이를 갖는 것을 특성으로 하는 인접 쌍의 테스트 벡터를 포함하지 않는 비일시적 컴퓨터 판독 가능 저장 매체.
  34. 제 18항에 있어서,
    상기 식별 단계는 상기 적어도 하나의 테스트 벡터를 포함하는 제1 복수의 테스트 벡터에 따라서 컴퓨터 구현된 방법을 통한 단일 패스 동안, 정적 에러와 동적 에러로 이루어진 그룹에서 선택된 에러를 식별하는 단계를 더 포함하는 비일시적 컴퓨터 판독 가능 저장 매체.
  35. 컴퓨터 시스템에 있어서:
    회로 및 상기 회로의 적어도 하나의 결함을 나타내는 데이터를 수신하고;
    상기 회로를 제1 타이밍 특성을 취득하도록 시뮬레이트하고;
    상기 적어도 하나의 결함을 갖는 상기 회로를 제2 타이밍 특성을 취득하도록 시뮬레이트하고;
    상기 컴퓨터 시스템이 상기 회로를 특성화하는 데에 적합할 때, 상기 제1 타이밍 특성, 상기 제2 타이밍 특성, 및 적어도 하나의 테스트 벡터와 연관된 제1 시간 간격 동안 적용된 복수의 스트로브에 따라 상기 적어도 하나의 테스트 벡터와 상기 적어도 하나의 결함 간의 연관성을 식별하도록 동작하는 컴퓨터 시스템.
  36. 제 35항에 있어서,
    상기 적어도 하나의 테스트 벡터를 이용하여 상기 제1 타이밍 특성을 상기 제2 타이밍 특성과 비교하도록 더욱 동작하는 컴퓨터 시스템.
  37. 제 35항에 있어서,
    상기 식별하는 동작은 상기 제2 타이밍 특성이 상기 복수의 스트로브 각각 동안에 실질적으로 정적인지 판정하는 동작을 더 포함하는 컴퓨터 시스템.
  38. 제 35항에 있어서,
    상기 식별하는 동작은 상기 제2 타이밍 특성이 상기 제1 타이밍 특성의 제2 변이 이후에 발생하는 제1 변이를 포함하는지 판정하는 동작을 더 포함하는 컴퓨터 시스템.
  39. 제 35항에 있어서,
    상기 식별하는 동작은 제2 타이밍 특성이 상기 제1 타이밍 특성의 제2 변이 이전에 발생하는 제1 변이를 포함하는지 판정하는 동작을 더 포함하는 컴퓨터 시스템.
  40. 제 35항에 있어서,
    상기 식별하는 동작은 상기 제2 타이밍 특성이 타이밍 에러인지 판정하는 동작을 더 포함하는 컴퓨터 시스템.
  41. 제 35항에 있어서,
    상기 식별하는 동작은 상기 제2 타이밍 특성이 타이밍 에러인 것으로 판정될 때 정적 에러인지 동적 에러인지 판정하는 동작을 더 포함하는 컴퓨터 시스템.
  42. 제 35항에 있어서,
    상기 수신하는 동작은 상기 컴퓨터를 이용하여 상기 회로의 적어도 하나의 요소를 나타내는 데이터에 따라서 상기 적어도 하나의 결함을 나타내는 데이터를 생성하는 동작을 포함하는 컴퓨터 시스템.
  43. 제 35항에 있어서,
    상기 회로는 복수의 셀의 라이브러리 중 하나의 셀인 컴퓨터 시스템.
  44. 제 35항에 있어서,
    상기 식별하는 동작은 상기 복수의 스트로브, 상기 제1 타이밍 특성 및 상기 제2 타이밍 특성과 연관된 시차를 결정하는 동작을 더 포함하는 컴퓨터 시스템.
  45. 제 35항에 있어서,
    상기 복수의 스트로브는 상기 제1 타이밍 특성의 제1 변이와 연관된 제1 스트로브 및 상기 제2 타이밍 특성의 제2 변이와 연관된 제2 스트로브를 포함하는 컴퓨터 시스템.
  46. 제 35항에 있어서,
    상기 식별하는 동작은 상기 복수의 스트로브와 연관된 시차에 따라서 상기 적어도 하나의 결함을 특성화하는 변수 값을 연관시키는 동작을 더 포함하는 컴퓨터 시스템.
  47. 제 46항에 있어서,
    상기 시차는 제1 스트로브와 연관된 제1 시간과 제2 스트로브와 연관된 제2 시간 간의 차이인 컴퓨터 시스템.
  48. 제 35항에 있어서,
    상기 수신하는 동작은 제1 복수의 테스트 벡터를 생성하는 동작을 포함하고, 상기 적어도 하나의 테스트 벡터는 한 번에 상기 회로의 복수의 입력 신호 중 하나 이상에 대해 신호 변이를 갖는 것을 특성으로 하는 적어도 하나의 인접 쌍의 테스트 벡터를 포함하는 제2 복수의 테스트 벡터를 나열한 제2 개수보다 적은 제1 개수로 나열한 상기 제1 복수의 테스트 벡터에 포함된 컴퓨터 시스템.
  49. 제 48항에 있어서,
    상기 제1 복수의 테스트 벡터는 한 번에 상기 회로의 복수의 입력 신호의 일 입력에 대해 신호 변이를 갖는 것을 특성으로 하는 인접 쌍의 테스트 벡터의 모든 조합을 포함하는 컴퓨터 시스템.
  50. 제 48항에 있어서,
    상기 제1 복수의 테스트 벡터는 한 번에 상기 회로의 복수의 입력 신호의 하나 이상의 입력에 대해 신호 변이를 갖는 것을 특성으로 하는 인접 쌍의 테스트 벡터의 모든 조합을 포함하는 컴퓨터 시스템.
  51. 제 35항에 있어서,
    상기 식별하는 동작은 상기 적어도 하나의 테스트 벡터를 포함하는 제1 복수의 테스트 벡터에 따라서 컴퓨터 구현된 방법을 통한 단일 패스 동안, 정적 에러와 동적 에러로 이루어진 그룹에서 선택된 에러를 식별하는 동작을 더 포함하는 컴퓨터 시스템.
KR1020170099356A 2016-08-05 2017-08-07 다수의 스트로브 지점을 이용한 셀 인지 결함 특성화 및 파형 분석 KR101991393B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/230,079 US10515167B2 (en) 2016-08-05 2016-08-05 Cell-aware defect characterization and waveform analysis using multiple strobe points
US15/230,079 2016-08-05

Publications (2)

Publication Number Publication Date
KR20180016319A KR20180016319A (ko) 2018-02-14
KR101991393B1 true KR101991393B1 (ko) 2019-06-20

Family

ID=61069561

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170099356A KR101991393B1 (ko) 2016-08-05 2017-08-07 다수의 스트로브 지점을 이용한 셀 인지 결함 특성화 및 파형 분석

Country Status (5)

Country Link
US (1) US10515167B2 (ko)
KR (1) KR101991393B1 (ko)
CN (1) CN107688694B (ko)
DE (1) DE102017117496A1 (ko)
TW (1) TWI732909B (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10528692B1 (en) * 2017-11-07 2020-01-07 Synopsis, Inc. Cell-aware defect characterization for multibit cells
CN113126481A (zh) * 2019-12-31 2021-07-16 钟国诚 控制目标装置及用于控制可变物理参数的方法
US11379649B2 (en) * 2020-01-31 2022-07-05 Synopsys, Inc. Advanced cell-aware fault model for yield analysis and physical failure analysis
CN116973736B (zh) * 2023-09-22 2023-12-19 悦芯科技股份有限公司 一种基于fail周期的ATE测试方法及系统

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6247165B1 (en) 1998-03-31 2001-06-12 Synopsys, Inc. System and process of extracting gate-level descriptions from simulation tables for formal verification
US7194668B2 (en) * 2003-04-11 2007-03-20 Advantest Corp. Event based test method for debugging timing related failures in integrated circuits
EP1480227A1 (en) * 2003-05-22 2004-11-24 Koninklijke Philips Electronics N.V. Testing integrated circuits with fault dictionary
US7673260B2 (en) 2005-10-24 2010-03-02 Cadence Design Systems, Inc. Modeling device variations in integrated circuit design
CN102751734B (zh) * 2011-04-18 2014-12-10 周锡卫 一种多电力多蓄电智能平衡供电系统
WO2013016305A2 (en) 2011-07-22 2013-01-31 Nvidia Corporation Component analysis systems and methods
TWI537760B (zh) 2012-01-05 2016-06-11 聯華電子股份有限公司 積體電路設計與製造方法
US8683400B1 (en) 2012-11-21 2014-03-25 Cadence Design Systems, Inc. System and method for fault sensitivity analysis of mixed-signal integrated circuit designs
KR20200084600A (ko) * 2019-01-03 2020-07-13 에스케이하이닉스 주식회사 집적회로 칩

Also Published As

Publication number Publication date
TWI732909B (zh) 2021-07-11
CN107688694B (zh) 2021-05-04
US20180039721A1 (en) 2018-02-08
KR20180016319A (ko) 2018-02-14
TW201807607A (zh) 2018-03-01
US10515167B2 (en) 2019-12-24
CN107688694A (zh) 2018-02-13
DE102017117496A1 (de) 2018-03-15

Similar Documents

Publication Publication Date Title
KR101991393B1 (ko) 다수의 스트로브 지점을 이용한 셀 인지 결함 특성화 및 파형 분석
US8875077B1 (en) Fault sensitivity analysis-based cell-aware automated test pattern generation flow
US9342647B2 (en) Integrated circuit design method and apparatus
US10528692B1 (en) Cell-aware defect characterization for multibit cells
US8209650B2 (en) Method and system for entry and verification of parasitic design constraints for analog integrated circuits
US10657207B1 (en) Inter-cell bridge defect diagnosis
US10262097B2 (en) Method to optimize standard cells manufacturability
US9703658B2 (en) Identifying failure mechanisms based on a population of scan diagnostic reports
US6370493B1 (en) Simulation format creation system and method
US9298875B2 (en) Semiconductor circuit design method, memory compiler and computer program product
US8091052B2 (en) Optimization of post-layout arrays of cells for accelerated transistor level simulation
US8091049B2 (en) Integrated single spice deck sensitization for gate level tools
US20090222774A1 (en) Method for evaluating the quality of a computer program
US20220327269A1 (en) Computing device and method for detecting clock domain crossing violation in design of memory device
US20060026479A1 (en) Verification vector creating method, and electronic circuit verifying method using the former method
CN113569510A (zh) 通过考虑单元间时序进行的单元感知缺陷特性化
CN110750956B (zh) 逻辑闸阶层验证方法以及验证系统
US6965853B2 (en) Back annotation apparatus for carrying out a simulation based on the extraction result in regard to parasitic elements
US7689953B1 (en) Method and apparatus for determining cell-based timing elements from a transistor-level design
JP4985211B2 (ja) 論理回路のシミュレーション
US8881081B1 (en) Method and apparatus for extracting delay parameter
Chen et al. Improving Efficiency of Cell-Aware Fault Modeling By Utilizing Defect-Free Analog Simulation
CN112329374B (zh) 一种针对大规模电路的单粒子效应快速仿真方法
Tian On improving estimation of root cause distribution of volume diagnosis
US20230019641A1 (en) Systems and methods for modeling via defect

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right