KR100901522B1 - 심볼릭 시뮬레이션을 이용한 스캔 체인 고장 진단 방법 및장치 - Google Patents

심볼릭 시뮬레이션을 이용한 스캔 체인 고장 진단 방법 및장치 Download PDF

Info

Publication number
KR100901522B1
KR100901522B1 KR1020070078815A KR20070078815A KR100901522B1 KR 100901522 B1 KR100901522 B1 KR 100901522B1 KR 1020070078815 A KR1020070078815 A KR 1020070078815A KR 20070078815 A KR20070078815 A KR 20070078815A KR 100901522 B1 KR100901522 B1 KR 100901522B1
Authority
KR
South Korea
Prior art keywords
scan
failure
scan chain
cell
scan cell
Prior art date
Application number
KR1020070078815A
Other languages
English (en)
Other versions
KR20090014690A (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 KR1020070078815A priority Critical patent/KR100901522B1/ko
Publication of KR20090014690A publication Critical patent/KR20090014690A/ko
Application granted granted Critical
Publication of KR100901522B1 publication Critical patent/KR100901522B1/ko

Links

Images

Classifications

    • 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/2851Testing of integrated circuits [IC]
    • 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/2832Specific tests of electronic circuits not provided for elsewhere
    • G01R31/2834Automated test systems [ATE]; using microprocessors or computers
    • 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/318342Generation of test inputs, e.g. test vectors, patterns or sequences by preliminary fault modelling, e.g. analysis, simulation
    • G01R31/318357Simulation
    • 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/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318536Scan chain arrangements, e.g. connections, test bus, analog signals
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L22/00Testing or measuring during manufacture or treatment; Reliability measurements, i.e. testing of parts without further processing to modify the parts as such; Structural arrangements therefor
    • H01L22/30Structural arrangements specially adapted for testing or measuring during manufacture or treatment, or specially adapted for reliability measurements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Manufacturing & Machinery (AREA)
  • Power Engineering (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

본 발명은 스캔 체인 고장 진단 방법 및 장치에 관한 것으로서, 특히 스캔 체인 내부의 고장으로 인한 칩의 불량을 줄이는데 사용되는 스캔 체인 내부의 고장 스캔 셀을 검출하는 방법 및 장치를 개시한다. 본 발명의 스캔 체인 고장 진단 방법은 복수개의 스캔 체인들을 고장 스캔 체인과 정상 스캔 체인으로 구분하고, 고장 스캔 체인의 고장 유형을 결정하는 단계; 및 고장 스캔 체인에서 고장 스캔 셀 후보 그룹을 결정하는 단계; 심볼릭 테스트 패턴에 따른 시뮬레이션 출력값을 이용하여 고장 스캔 체인에서 고장난 스캔 셀을 결정하는 단계를 포함한다. 본 발명에 따르면, 스캔 셀의 고장 진단율을 향상시킬 수 있고, 또한 스캔 체인 내부의 단일 고장 뿐만 아니라 복수개의 스캔 셀에 다중 고장이 있는 경우에도 고장난 스캔 셀의 정확한 위치를 탐색할 수 있다.
스캔 체인, 스캔 셀, 심볼릭 시뮬레이션

Description

심볼릭 시뮬레이션을 이용한 스캔 체인 고장 진단 방법 및 장치{Scan chain diagnosis method and apparatus using symbolic simulation}
본 발명은 스캔 체인 고장 진단 방법 및 장치에 관한 것으로서, 특히 스캔 체인 내부의 고장으로 인한 칩의 불량을 줄이는데 사용되는 스캔 체인 내부의 고장 스캔 셀을 검출하는 방법 및 장치에 관한 것이다.
일반적으로 스캔 체인(scan chain)은 집적 회로(integrated circuit)의 테스트를 위한 제어능력(controllability)와 가시성(observability)을 높이기 위해서 사용되어져 왔다. 따라서, 대부분의 IC 테스트에서는 스캔 체인 자체에는 고장이 없는 것을 가정하고 테스트가 수행되었다.
하지만, 실제로 대부분의 IC의 내부에는 약 10~30% 정도의 스캔 플립플롭으로 구성된 스캔 체인이 존재하며, 스캔 체인에서 고장이 발생될 확률은 전체 칩의 고장 발생률의 약 10~30% 정도로 추산할 수 있다. 종래의 대부분의 회로 테스트 기법들과 고장 진단 기법들은 스캔 체인 내부의 고장을 고려하지 않았으며, 논리 회로 자체의 고장에 대해서만 연구 개발되어져 왔다.
스캔 체인은 IC 테스트 시에 입력 패턴을 논리 회로에 가해주고, 그 입력 패 턴에 대한 테스트 결과를 받아서 출력값을 내보내기 때문에, 회로의 고장 테스트에서 가장 중요한 역할을 하는 부분이다. 따라서, 이에 대한 고장 진단은 논리 회로 내부에 대한 고장 진단을 하기 이전에 원천적으로 우선되어져야 한다.
종래의 스캔 체인 고장 진단 방법들은 크게 하드웨어적 기법과 소프트웨어적 기법 이렇게 2가지로 나눌 수 있다. 하드웨어적 기법은 주로 스캔 플립플롭을 수정하고 논리 회로를 추가하여 고장 진단이 용이하도록 스캔 체인을 구성하는 방법이다. 그러나, 실제로 이 방법은 논리 회로의 추가에 따라 발생되는 하드웨어 오버헤드의 문제가 있으며, 또한 추가된 논리 회로로 인한 고장의 발생 가능성이 높기 때문에 실제로 스캔 체인 고장의 진단에 거의 사용되지 않는다.
한편, 종래의 소프트웨어적 스캔 체인 고장 진단 방법으로는 고장난 스캔 체인과 고장 모델을 알아내기 위한 테스트 패턴을 가해주고, 고장난 스캔 체인에 테스트 패턴을 넣어서 스캔 출력을 캡쳐하여, 캡쳐된 스캔 출력값의 시뮬레이션 값과 실제 고장 칩에서 발생된 값을 비교하여 스캔 체인 내에서 고장의 위치를 알아내는 방법이 있다. 하지만, 이러한 방법들은 고장이 있는 스캔 체인의 정보만을 이용하고 고장으로 인해서 변경되는 스캔 입력 패턴에 대한 영향을 시뮬레이션 시에 고려하지 않기 때문에 그 결과가 정확하지 못하다는 단점을 가지고 있었다. 또한 기존의 많은 방법들이 스캔 체인 내부에 하나의 고장이 있는 것만을 가정하였기 때문에 체인 내부에 여러 개의 고장이 있을 시에는 고장 진단의 정확도가 떨어지며, 여러 개의 고장을 고려한 제대로 된 고장 진단을 할 수 없다는 문제가 있다.
관련 문헌으로서, 스탠리(K. Stanley)는 “High Accuracy Flush and Scan Software(2000)"에서 플러시 태스트 패턴을 이용한 단일 고장의 스캔 체인을 진단하는 방법을 개시한 바 있으며, 카오(Y.-L. Kao) 외 2인은 ”Jump Simulation : A Technique for Fast and Precise Scan Chain Fault(2006)"에서 점프 시뮬레이션을 이용하여 고장 후보 스캔 셀의 상한과 하한을 계산하는 방법을 개시한 바 있다.
상술한 스캔 체인 고장 진단과 관련된 종래 기술의 한계를 고려하여, 본 발명은 고장이 있는 스캔 체인 뿐만 아니라 정상 스캔 체인에 입력되는 입력 패턴에 따른 시뮬레이션 결과를 고장 스캔 체인의 진단에 이용하고, 또한 스캔 체인 내부에 존재하는 복수 개의 고장 셀들에 대한 진단의 정확성을 향상시킬 수 있는 신규의 심볼릭 시뮬레이션 기법을 채택한 스캔 체인 고장 진단 방법 및 장치를 제공하는 것을 목적으로 한다.
상기 기술적 과제를 해결하기 위한 본 발명에 따른 스캔 체인 고장 진단 방법은 a) 복수개의 스캔 체인들을 고장 스캔 체인과 정상 스캔 체인으로 구분하고, 고장 스캔 체인의 고장 유형을 결정하는 단계; b) 상기 고장 스캔 체인에서 고장 스캔 셀 후보 그룹을 결정하는 단계; 및 c) 상기 고장 스캔 체인에서 고장난 스캔 셀을 결정하기 위해 상기 복수개의 스캔 체인들에 입력되는 소정의 테스트 패턴들 중 상기 고장 스캔 체인에 입력되는 테스트 패턴을 상기 b)단계에서 결정된 고장 스캔 셀 후보 그룹에 속하는 스캔 셀의 입력값들 중의 적어도 하나 이상을 변수 처리한 심볼릭 테스트 패턴으로 수정하고, 상기 심볼릭 테스트 패턴에 따른 시뮬레이션 출력값을 이용하여 상기 고장 스캔 체인에서 고장난 스캔 셀을 결정하는 단계를 포함한다.
본 발명은 스캔 체인의 내부에서 발생된 고장의 영향에 따른 고장 정보와, 고장 정보를 논리 회로(logic circuit)를 통해서 전파할 수 있도록 하는 심볼릭 테스트 패턴을 이용하는 새로운 고장 스캔 체인 진단 알고리즘에 관한 것이다. 본 발명에서 제안하는 심볼릭 테스트 패턴을 정확하게 이용하기 위해서는 기존의 로직 시뮬레이션 기법이나 고장 시뮬레이션 기법들과는 다른 새롭게 개발된 고장 심볼을 이용한 심볼릭 시뮬레이션 기법이 필요하다. 본 발명이 제안하는 심볼릭 시뮬레이션 기법에 따라 심볼릭 시뮬레이션 결과로 나온 시뮬레이션 결과와 실제 칩의 에러 값을 비교하면, 정확한 스캔 체인 고장 진단이 가능하다.
본 발명에서 a)단계는 플러시 테스트 패턴(flush test pattern)을 이용하여 수행됨이 바람직하다. b)단계는 상기 복수개의 스캔 체인들에 고장 스캔 셀 후보 그룹을 결정하기 위한 소정의 테스트 패턴들 중에서 상기 고장 스캔 체인의 테스트 패턴을 X로 수정함에 따른 상기 고장 스캔 체인의 시뮬레이션 출력값을 계산하는 단계; 상기 계산된 시뮬레이션 출력값과 상기 복수개의 스캔 체인들에 고장 스캔 셀 후보 그룹을 결정하기 위한 상기 소정의 테스트 패턴들에 따른 시뮬레이션 출력값을 이용하여 상기 고장 스캔 셀 후보 그룹의 상한 또는 하한을 결정하는 단계; 상기 고장 스캔 셀 후보 그룹을 결정하기 위한 상기 소정의 테스트 패턴들 중 상기 상기 결정된 상한 또는 하한을 기준으로 상기 고장 스캔 체인의 테스트 패턴을 재수정함에 따른 상기 고장 스캔 체인의 시뮬레이션 출력값을 계산하는 단계; 및 상기 재수정된 테스트 패턴에 따른 고장 스캔 체인의 시뮬레이션 출력값을 이용하여 고장 후보 셀 그룹을 결정하는 단계를 포함한다.
본 발명에서 c)단계는 상기 고장 스캔 체인에서 상기 고장난 스캔 셀을 결정 하기 위해 상기 복수개의 스캔 체인들에 입력되는 소정의 테스트 패턴들 중 상기 고장 스캔 체인에 입력되는 테스트 패턴을 상기 b)단계에서 결정된 고장 스캔 셀 후보 그룹에 속하는 스캔 셀의 입력값을 변수 처리한 심볼릭 테스트 패턴으로 수정하는 단계; 심볼릭 테스트 패턴에 따른 정상 스캔 체인의 시뮬레이션 출력값을 계산하는 단계; 고장난 스캔 셀을 결정하기 위해 복수개의 스캔 체인들에 입력되는 소정의 테스트 패턴을 입력함에 따른 정상 체인의 시뮬레이션 출력값을 계산하는 단계; 고장난 스캔 셀을 결정하기 위해 상기 복수개의 스캔 체인들에 입력되는 소정의 테스트 패턴을 복수개의 스캔 체인에 입력함에 따른 정상 체인의 실제 출력값을 측정하는 단계; 및 상기 출력값들을 이용하여 고장 스캔 셀을 결정하는 단계를 포함한다.
본 발명에서 심볼릭 테스트 패턴은 상기 고장 스캔 체인에 입력되는 테스트 패턴에서 상기 b) 단계를 통해 결정된 고장 스캔 셀 후보 그룹에 속하는 스캔 셀의 입력값 중 스캔 체인 고장에 따른 영향을 받을 수 있는 입력값을 SFi - 여기에서 i는 스캔 셀의 위치이다 - 로 수정한 패턴이다. 본 발명에서 고장 스캔 셀 여부를 판단하기 위한 고장 지수는, 정상 스캔 체인의 출력값들 중에서 상기 SFi와 관련된 출력값에 따른 스캔 셀의 출력값들이 서로 동일한 경우, 상기 SFi와 관련된 스캔 셀의 고장 지수값을 감소시킬 수 있고, 정상 스캔 체인의 출력값들 중에서 상기 선택된 출력값에 따른 스캔 셀의 출력값이 상이한 경우, 상기 SFi와 관련된 스캔 셀의 고장 지수값을 증가시킴으로써 고장 지수가 소정의 기준값 보다 높은 스캔 셀을 고 장 스캔 셀로 결정할 수 있다.
상기 또 다른 기술적 과제를 해결하기 위한 본 발명에 따른 스캔 체인 고장 진단 장치는 복수개의 스캔 체인들을 고장 스캔 체인과 정상 스캔 체인으로 구분하고, 고장 스캔 체인의 고장 유형을 결정하는 고장 스캔 체인 결정부; 상기 고장 스캔 체인에서 고장 스캔 셀 후보 그룹을 결정하는 후보 그룹 결정부; 및 상기 고장 스캔 체인에서 고장난 스캔 셀을 결정하기 위해 상기 복수개의 스캔 체인들에 입력되는 소정의 테스트 패턴들 중 상기 고장 스캔 체인에 입력되는 테스트 패턴을 상기 결정된 고장 스캔 셀 후보 그룹에 속하는 스캔 셀의 입력값들 중의 적어도 하나 이상을 변수 처리한 심볼릭 테스트 패턴으로 수정하고, 상기 심볼릭 테스트 패턴에 따른 시뮬레이션 출력값을 이용하여 상기 고장 스캔 체인에서 고장난 스캔 셀을 결정하는 고장 스캔 셀 결정부를 포함한다.
또한, 본 발명은 상술한 스캔 체인 고장 진단 방법을 컴퓨터 상에서 수행하기 위한 프로그램이 기록된 컴퓨터에서 판독 가능한 기록 매체를 제공한다.
본 발명에 따르면, 기존과 달리 고장이 있는 스캔 체인의 정보 뿐만 아니라 고장이 없는 스캔 체인으로 입력되는 심볼 값을 이용함으로써, 스캔 셀의 고장 진단율을 향상시킬 수 있고, 또한 스캔 체인 내부의 단일 고장 뿐만 아니라 복수개의 스캔 셀에 다중 고장이 있는 경우에도 고장난 스캔 셀의 정확한 위치를 탐색할 뿐만 아니라, 반도체 칩 생산 수율을 향상시키고, 반도체 회로의 테스트 비용을 효과적으로 절감시킬 수 있다.
이하에서는 도면과 실시예를 참조하여 본 발명의 스캔 체인 고장 진단 방법 및 장치에 대하여 구체적으로 설명한다.
도 1은 본 발명의 일 실시예에 따른 스캔 체인 고장 진단 장치를 포함하는 고장 진단 시스템을 나타내는 블록도이다. 본 실시예에서 고장 진단 시스템은 스캔 체인 고장 진단 장치(10), ATE(20), 스캔 체인 회로(30) 및 논리회로(40)를 포함한다. 특히, 고장 진단 장치(10)는 고장 스캔 체인 결정부(12), 후보 그룹 결정부(14) 및 고장 스캔 셀 결정부(16)을 포함한다.
고장 스캔 체인 결정부(12)는 복수개의 스캔 체인들을 고장 스캔 체인과 정상 스캔 체인으로 구분하고, 고장 스캔 체인의 고장 유형을 결정한다. 후보 그룹 결정부(14)는 고장 스캔 체인 결정부(12)를 통해 결정된 고장 스캔 체인에서 고장 스캔 셀 후보 그룹을 결정한다.
고장 스캔 셀 결정부(16)는 고장 스캔 셀 후보 그룹에 속하는 스캔 셀 들 중에서 고장난 스캔 셀들을 결정한다. 특히, 고장 스캔 셀 결정부(16)는 상기 고장 스캔 체인에서 고장난 스캔 셀을 결정하기 위해 상기 복수개의 스캔 체인들에 입력되는 소정의 테스트 패턴들 중 상기 고장 스캔 체인에 입력되는 테스트 패턴을 상기 결정된 고장 스캔 셀 후보 그룹에 속하는 스캔 셀의 입력값들 중의 적어도 하나 이상을 변수 처리한 심볼릭 테스트 패턴으로 수정하고, 상기 심볼릭 테스트 패턴에 따른 심볼릭 시뮬레이션 출력값을 이용하여 상기 고장 스캔 체인에서 고장난 스캔 셀을 결정한다. 상기 심볼릭 시뮬레이션에 대하여는 후술한다.
ATE(Automatic test equipment, 20)는 고장 진단 장치(10)로 부터의 제어 신호에 따라 발생한 테스트 패턴을 스캔 체인(30)에 입력시킨다. 스캔 체인 회로(30)는 논리회로의 고장을 테스트하기 위한 것으로 주로 스캔 플립플롭으로 구성된다. 일반적으로 집적화된 논리 회로의 테스트를 위해서는 복수개의 스캔 체인이 필요하지만, 도 1에서는 하나의 스캔 체인만을 간략화하여 도시하였다.
스캔 체인 회로(30)는 복수개의 스캔 셀들 즉 SC1(31), SC2(32), SC3(33), SC4(34)와 SC5(35)로 구성된다. ATE(20)에서 생성된 입력 패턴은 입력단(a)를 통해 SC1(31)로 입력되고, 입력된 값들은 a1 내지 a4 의 경로를 통해 모든 스캔 셀들과 논리회로(40)에 입력값을 전달한다. 논리회로(40)은 입력 값에 따른 회로의 출력값을 b1 내지 b5를 통해 스켄 셀에 전달한다.
도 2는 본 발명의 일 실시예에 따른 스캔 체인 고장 진단 방법을 나타내는 흐름도이다. 도 2에 도시된 스캔 체인 고장 진단 방법은 스캔 체인 고장 진단 장치(10)에서 시계열적으로 수행되는 하기의 단계들을 포함한다.
110단계에서, 고장 스캔 체인 결정부(12)는 복수개의 스캔 체인들을 고장 스캔 체인과 정상 스캔 체인으로 구분하고, 고장 스캔 체인의 고장 유형을 결정한다. 고장 스캔 체인과 그 유형을 결정하기 위한 입력 패턴은 예를 들어 스탠리(Stanley)가 제안한 플러쉬 테스트 패턴(flush test pattern)이 있다. 플러쉬 테스트는 스캔 체인의 입력 노드에 입력값을 넣고, 스캔 체인이 마치 연속적인 와이어 처럼 동작할 수 있도록 스캔 클락을 유지시키고, 입력값에 따라 출력값을 체크 함으로써 고장 스캔 체인을 결정하는 방식이다. 플러쉬 테스트 패턴을 이용하면 고장이 있는 스캔 체인과, 그 스캔 체인에서 마지막으로 존재하는 고장의 타입을 알 수 있다.
스캔 체인에 발생하는 고장의 예로는 고착 고장과 천이 고장이 있다. 고착 고장은 하나 또느 그 이상의 셀이 0 또는 1로 머물러 있는 상태로 그 값이 변하지 않는 고장을 의미하며, stuck-at 1, stuck-at 0이 있다. 천이 고장은 메모리 셀의 값이 0에서 1로 상향 천이되지 않거나, 1에서 0으로 하향 천이되지 않는 고장을 의미한다.
120단계 내지 140단계는 후보 그룹 결정부(14)가 고장 스캔 셀 후보 그룹을 결정하는 단계이다. 고장 스캔 체인의 고장 스캔 셀 상한선을 정확하게 계산하기 위해서는 원래의 테스트 패턴을 그대로 사용하기 보다는 수정된 테스트 패턴을 사용하는 것이 바람직하다. 원래의 테스트 패턴은 스캔 체인에서 스캔 입력으로 테스트 패턴이 삽입되는 동작에서 고장의 영향이 고려되지 않기 때문에 정확한 로직 시뮬레이션을 할 수 없고, 이 시뮬레이션 결과는 원래의 결과값과 많이 달라지게 된다. 따라서 스캔 입력으로 테스트 패턴이 삽입되는 동작시의 고장의 영향을 고려하고 정확한 로직 시뮬레이션을 하기 위하여 본 발명에서는 수정된 테스트 패턴을 사용한다. 수정된 테스트 패턴은 고장 스캔 셀 후보의 상한선 보다 위의 스캔 셀과 상한선 아래의 스캔 셀값 이렇게 2가지로 구분되며, 상세한 설명은 후술한다.
120단계에서, 후보 그룹 결정부(14)는 고장이 있는 고장 스캔 체인의 경우에는 테스트 패턴을 모두 X로 수정한 테스트 패턴을 이용하여 로직 시뮬레이션을 수 행한다. 물론, 고장이 없는 정상 스캔 체인의 테스트 패턴은 원래의 테스트 패턴 값을 그대로 이용된다. 로직 시뮬레이션을 위한 상술한 입력 패턴은 ATE(Automatic test equipment, 20)를 통해 스캔 체인(30)에 입력된다.
130단계에서, 후보 그룹 결정부(14)는 원래의(수정되지 않은) 테스트 패턴 생성을 입력으로 하는 시뮬레이션을 수행한다. 특히 후보 그룹 결정부(14)는 테스트 패턴 생성을 위한 신호를 ATE(30)에 전달하고, ATE(20)는 상기 전달된 신호에 따른 테스트 패턴을 생성하여 스캔 체인(30)에 입력시킨다. 테스트 패턴은 ATPG(Automatic Test Pattern Generation)를 이용하여 생성할 수 있다.
140단계에서, 후보 그룹 결정부(14)는 120, 130단계의 결과를 이용하여 재수정된 테스트 패턴을 생성하고, 재수정된 테스트 패턴에 따른 시뮬레이션을 수행하여 고장 스캔 셀 후보 그룹을 결정한다. 특히, 본 단계는 세부적으로 120, 130단계에서 계산된 출력값을 이용하여 고장 스캔 셀 후보 그룹의 상한 또는 하한의 위치를 결정하는 단계, 상기 상한 또는 하한 밖에 위치하는 스캔 셀 값은 고장의 영향을 고려한 값으로 세팅한 다음, 상기 상한 또는 하한 안쪽에 위치하는 스캔 셀 값은 모두 X로 재수정한 테스트 패턴에 따른 로직 시뮬레이션을 수행하는 단계, 상기 로직 시뮬레이션 결과를 이용하여 고장 스캔 셀 후보 그룹의 상한, 하한의 위치를 결정하는 단계를 포함한다. 여기에서 고장의 영향을 고려한 값을 예를 들어 설명하면, 현재 고장 스캔 체인의 고장이 stuck-at 1인 경우 상한 밖의 스캔 셀은 1로 고착될 것이므로 고장의 영향을 고려한 상한 스캔 셀 이후의 패턴값은 모두 1이 된다. 상기 재수정된 테스트 패턴은 고장에 따른 영향을 고려한 패턴값을 포함하고, 또한 고장의 영향을 정확하게 고려할 수 없는 값들은 모두 X로 세팅한 값도 포함하기 때문에 보다 정확한 고장 후보 셀의 상한 또는 하한을 구할 수 있다. 고장 후보 셀 그룹의 상한, 하한은 이후의 과정인 심볼릭 시뮬레이션의 효율성과, 고장 진단시 탐색 시간과 관련된 것이므로 상술한 방법에 따라 상한, 하한을 정확하게 결정하는 것이 바람직하다.
도 3은 도 2의 실시예 150단계에서 수정된 테스트 패턴에 대한 개념을 설명하는 참고도이다. 도 3에는 고장 스켄 체인의 셀(SC1~SC9)에 입력되는 정상 테스트 패턴(Good test pattern), 스캔 인(Scan in) 값, 정상 테스트 패턴에 따른 시뮬레이션 출력값(Sim. with good test pattern), 실제의 출력값(Real output response), 언로드 출력값(Unloaded response), 수정된 테스트 패턴(Modified test pattern)이 도시되어 있다. stuck-at 1의 고장이 스캔 셀의 상한인 SC6을 통과한 값은 1로 고착될 것므로 1로 설정하고, 상기 상한 이전의 스캔 셀 값은 X로 설정하면 수정된 테스트 패턴을 생성할 수 있다. 상기 수정된 테스트 패턴 "XXXXXX111"을 이용하여 다시 로직 시뮬레이션을 수행하면 고장 스캔 셀의 상한을 정확하게 구할 수 있다.
도 4는 고장 스캔 셀의 상한을 결정하는 개념을 설명하는 참고도이다. 고장 후보 스캔 셀 그룹을 생성하기 위해서는 고장 스캔 체인에서 고장의 위치가 있을 가능성이 있는 위치의 상한을 계산하여야 한다. 고장 스캔 셀의 상한을 구하기 위해서는 이를 계산하기 위한 수정된 테스트 패턴에 대한 로직 시뮬레이션을 하여야 한다. 로직 시뮬레이션 결과값과 원래 고장 스캔 체인에서의 스캔 셀과의 값을 서로 비교한다.
스캔 체인 내부의 가장 바깥쪽(scan out 포트에 가장 가까운 쪽)의 고장 타입이 stuck-at 1 고장이라면 실제 회로에서는 이 고장 이전의 스캔 셀값들은 전부 1로서 출력값이 나왔을 것이다. 그러나, 시뮬레이션을 하게 되면 도 4에서 보는 바와 같이 원래의 로직 시뮬레이션을 했을 때의 결과(“010001”)로 나오기 때문에 이 결과를 비교하면 연속되어서 1값이 나오기 시작되는 위치를 찾을 수 있다. 고장 스캔 체인의 가장 바깥쪽 고장 타입은 상술한 110단계에서의 플러시 테스트를 통해서 미리 정보를 얻을 수 있고, 고장 타입을 알면 고장 스캔 셀의 상한선을 구할 수 있게 되는데, 도 4에서 고장 스캔 셀의 상한은 SC3이라고 결정할 수 있다. 이때 고장 스캔 셀 후보 그룹은 도 4에 표시된 것처럼 3개의 스캔셀을 포함한 크기가 되게 된다. 고장 스캔 셀 윈도우의 크기는 고장 스캔 체인의 맨 첫 번째 스캔 셀에서부터 고장 스캔 셀의 상한선 셀까지의 스캔셀의 개수로 표시한다.
고장 스캔 셀의 상한선을 구하는 방법은 고장 스캔 체인에서의 가장 바깥쪽 고장의 타입이 stuck-at 0(1)고장일 때는 실제 출력값이 연속된 0(1)이 마지막까지 계속되는 부분에서 시뮬레이션 결과값이 1(0)이 되는 부분 중 가장 바깥쪽에 위치하는 스캔 셀이 상한선이 된다. 고장 스캔 체인에서 가장 바깥쪽에 존재하는 고장의 타입이 천이 고장인 경우에 스캔 셀의 상한선을 구하기 위해서는 두 개의 이웃한 셀의 값이 필요하다. 예를 들어, 슬로우 투 라이스(slow-to-rise) 타입의 천이 고장인 경우는 SCi -1과 SCi의 시뮬레이션 값이 각각 0과 1일 때 실제 고장 칩에서의 스캔 출력값이 SCi -1과 SCi 모두 0인 경우 SCi -1 이전의 스캔 셀에 고장이 존재한다고 할 수 있다 .따라서 SCi -1이 고장 스캔 셀의 상한선이 된다. 다른 천이 고장도 마찬가지의 방법으로 쉽게 구할 수 있다.
150단계에서 고장 스캔 셀 결정부(16)는 고장 스캔 체인의 테스트 패턴을 수정한 심볼릭 테스트 패턴(SF 패턴)을 생성한다. 일반적인 로직 시뮬레이션 기법에서는 {0, 1, X} 이렇게 3개의 값을 이용하여 시뮬레이션을 한다. 하지만, 이러한 로직 시뮬레이션 정보만을 가지고는 정확하게 고장 스캔 셀을 결정하는 것은 어렵다. 이에 본 실시예의 심볼릭 시뮬레이션을 이용한 고장 진단 방법은 스캔 체인 내부의 고장에 대한 정보를 가지고 있는 새로운 시뮬레이션을 위한 심볼릭 로직값 SFi을 포함하는 심볼릭 테스트 패턴을 이용한다. 심볼릭 로직값 SFi는 고장 후보 스캔 셀의 위치를 의미하며 i 번째 스캔 셀에 고장의 영향을 추후에 심볼릭 시뮬레이션을 한 후에 고장 스캔 셀의 정보를 이용하여 고장의 위치를 파악하는데 사용된다.
도 5는 도 2의 실시예 150단계에서 심볼릭 테스트 패턴의 개념을 설명하기 위한 참고도이다. 심볼릭 테스트 패턴을 구성하는 심볼릭 로직값 SFi 값은 도 5에서 보는 바와 같이 고장 스캔 후보 셀 그룹의 스캔 셀 들 중에서 고장의 영향을 받을 수 있는 위치의 스캔 셀 각각에 SFi 값을 세팅한다. 도 5의 경우에서는 스캔 체인 내부에 하나의 고장만이 있다고 가정하였고 이 고장의 타입이 stuck-at 1 고장이라 고 하면 원래의 테스트 패턴 1은 고장의 영향에 상관없이 1이므로 그대로 사용하고 후보 그룹 내부에서 나머지 패턴 값이 0인 부분에 SFi 값을 채워주도록 한다. 반대로 stuck-at 0 고장의 경우 테스트 패턴 0은 고장의 영향에 상관없이 0이 되므로 그대로 사용하고 나머지 패턴값이 1인 부분에 SFi 값을 채워주면 된다. 도 5의 예에서는 SF1과 SF3가 채워지게 되고 이렇게 만들어진 테스트 패턴을 심볼릭 테스트 패턴(SF 패턴)이라고 한다.
160단계에서 고장 스캔 셀 결정부(16)는 150단계에서 SF 패턴을 입력으로 하여 시뮬레이션을 수행한다. SF 패턴을 가지고 회로를 시뮬레이션 하기 위해서는 새로운 심볼릭 시뮬레이션 기법이 필요하다. 따라서 본 발명에서는 SF 심볼을 위한 심볼릭 시뮬레이션 기법도 제공한다. 본 발명에서 제안하는 심볼릭 시뮬레이션 방법에서는 좀 더 빠르게 시뮬레이션을 가능하도록 하기 위해서 하나의 게이트에서 SF 값을 가지지 않은 나머지 입력 값이 제어값(controlling value)인지, 비제어값(non-controlling value)인지 여부에 따라 게이트 출력값의 처리를 따로 한다.
도 6은 AND 게이트에서 SF 심볼의 입력값에 따른 출력값 계산의 예를 나타낸 참고도이다. 도 6과 같이 각각의 게이트에서 SFi 값을 처리하여 출력단으로 전달하는 과정을 이용하여 전체적인 회로에 대해서 심볼릭 시뮬레이션을 수행할 수 있다.도 6에 도시된 게이트에서 SF 값을 가지지 않는 나머지 입력값 중 하나라도 제어값이면, 그 게이트의 출력값은 제어값이 된다. 또한, 하나의 게이트에서 SFi 값을 가 지지 않는 나머지 입력값들이 모두 비제어값이면 그 게이트의 출력값은 SFi가 된다. 마지막으로 게이트의 입력값이 각각 SFi 와 SFj 라면 그 출력값은 각 SF 값들의 곱으로 나타낸다. 이렇게 함으로써 좀 더 효율적이고 빠르게 심볼릭 시뮬레이션을 할 수 있도록 한다. 도 7은 도 6에서 AND 게이트에 대한 진리표를 나타낸 참고도이다. 160단계에서는 도 7의 진리표에 따른 심볼을 처리하는 심볼릭 시뮬레이션을 수행한다.
170단계에서 고장 스캔 셀 결정부(16)는 고장 스캔 셀 후보 그룹에 속하는 각각의 셀에 따른 고장 지수를 계산한다. 본 단계는 원래의 테스트 패턴으로 만들어진 시뮬레이션 결과와 실제 칩에서의 결과를 비교하여 고장 셀을 가려내는 단계로서, 특히 본 단계는 고장 스캔 셀 후보 그룹에 속하는 셀 들 중 GOP 에 해당하는 셀에 따른 고장 지수를 계산한다. 심볼릭 시뮬레이션의 출력 값들을 살펴보면 하나의 SF 값이 다른 SF 값과 서로 곱해지지 않고 하나의 출력값으로 나오는 스캔 셀 들이 있다. 도 8을 참고하면, 하나의 출력값으로 나오는 스캔 셀은 도 8에서 제1 스캔 체인의 SC2, SC3, SC8, 이 있으며, 본 발명에서는 하나의 SF값만이 전파되는 출력값 또는 스캔 셀 값을 GOP(Good Output Port)라고 정의한다.
본 발명에서 GOP는 고장이 있는 스캔 체인의 고장 스캔 셀 후보 그룹에 속하는 스캔 셀 정보 SFi가 전달되어진 것을 의미하며, 동시에 고장이 존재하지 않는 정상 스캔 체인이나 회로의 출력단이기 때문에 이 값은 시뮬레이션 값과 실제 칩에서 나오는 값이 같다는 것을 의미한다. 그러나, 원래의 테스트 패턴을 이용하여 로직 시뮬레이션을 한 값과 실제 회로에서의 출력값을 비교했을 때 고장이 없는 스캔 체인이나 회로의 출력단에서 그 값이 서로 상이하면 이 값은 고장이 있는 스캔 체인 내부의 고장에 의해서 테스트 패턴을 삽입할 때 고장의 영향으로 인해 원래의 테스트 패턴이 변경되었다는 것을 의미한다. 따라서, 이 경우에 같은 위치의 스캔 셀이나 출력단이 GOP이고, 그 값이 SFi 라면 고장 스캔 셀 윈도우의 i 번째 스캔 셀 SCi이 고장 후보일 확률이 높다는 것을 의미한다. 이 경우에는 스캔 셀 SCi의 고장 정도를 나타내는 고장 지수를 상승시킨다.
한편, GOP인 스캔 셀이나 출력단에서 원래의 테스트 패턴을 이용한 로직 시뮬레이션 값과 실제 회로의 출력값이 서로 같다면 GOP로 전파된 고장 후보 셀 값 SFi는 실제로 아무런 고장이 없다는 것을 의미하기 때문에 고장 스캔 셀 후보 그룹의 i 번째 스캔 셀을 고장 후보 리스트에서 아예 삭제하거나, 고장 지수를 감소시킨다. 또한, 고장 스캔 셀 후보 그룹의 i를 후보 그룹에서도 삭제하고, 이후의 시뮬레이션에서 고장 후보 셀 윈도우에 SF값을 채워넣을 때 원래의 테스트 패턴 값을 채워넣으므로써 SF 패턴을 생성할 수도 있다.이러한 방식을 이용함으로써 빠르게 고장 후보 셀 윈도우를 줄여나가고 정확하게 실제 고장의 위치를 검출할 수 있게 된다.
도 8은 도 2의 실시예 170단계에서 심볼릭 시뮬레이션 출력값과 GOP들을 이용한 고장 셀 진단 방법을 나타내는 참고도이다. 도 8에는 입력되는 정상 테스트 패턴(Good test pattern), SF 패턴(SF pattern), 정상 테스트 패턴에 따른 시뮬레 이션 출력값(Sim. with good test pattern), SF 출력값(SF output response), 실제 출력값(Fail log response)이 도시되어 있다.
제1 스캔 체인의 SC2는 심볼릭 시뮬레이션 출력값으로 SF6 값으로 갖는 GOP로서, SC2의 SF6 출력값은 1이고, 실제 출력값은 0으로서 심볼릭 시뮬레이션 출력값과 실제의 출력값이 서로 상이하므로 SF6 과 관련된 고장 스캔 체인의 스캔 셀 SC6은 고장이 존재할 가능성이 높은 것이다. 따라서, 이 경우 스캔 셀 SC6의 고장 지수를 소정의 값 만큼 상승시킨다. 반면에, 제1 스캔 체인의 SC3는 심볼릭 시뮬레이션 출력값으로 SF7 값으로 갖는 GOP로서, SC3의 SF7 출력값은 1이고, 실제 출력값은 0으로서 심볼릭 시뮬레이션 출력값과 실제의 출력값이 서로 상이하므로 SF7 과 관련된 고장 스캔 체인의 스캔 셀 SC7은 고장이 존재할 가능성이 낮기 때문에 고장 지수를 소정의 값 만큼 감소시키거나, 또는 고장 셀에서 제외시킨다.
상기와 같이 심볼릭 시뮬레이션 출력값과 실제 칩의 에러로 인한 출력값을 비교하고, 고장 후보인 스캔 셀들 각각의 고장 지수를 조절하는 알고리즘을 본 발명에서는 스코어 매칭 알고리즘(score matching algorithm)이라 칭한다. 이러한 스코어 매칭 알고리즘을 이용하면, 하나의 고장뿐만 아니라 여러 개의 고장이 존재할 때에도 실제 고장의 영향을 고려하여 정확하게 고장의 위치를 찾아낼 수 있다.
180단계에서 고장 스캔 셀 결정부(16)는 고장 스캔 셀을 결정할 수 있는지 여부를 판단한다. 현재 상태에서 고장 스캔 셀을 결정할 수 있는 경우 190단계를 통해 고장 스캔 셀의 리스트를 출력하고, 고장 스캔 셀을 결정할 수 없는 경우 다시 160단계 이후를 반복하여 수행한다.
도 8의 예에서는 정상 스캔 체인인 제1 스캔 체인에 대한 시뮬레이션 결과가 도시되어 있는데, 고장 스캔 셀 후보 그룹에서 SC6은 고장일 가능성이 높고, SF7 은 고장일 가능성이 낮음을 확인할 수 있다. 제1 스캔 체인 이외의 정상 스캔 체인에 대해서도 위와 같은 과정을 반복하고, 최종적인 고장 지수값과 소정의 기준값의 대소를 비교하고, 고장 지수값이 기준값 보다 큰 경우는 해당 스캔 셀은 고장 스캔 셀로 결정할 수 있게 된다. 준비된 테스트 패턴을 다 가하기 전에 고장 스캔 셀들이 수렴되면, 수렴된 고장 후보인 스캔 셀 들이 실제 고장의 위치가 되는 것이고, 준비된 테스트 패턴을 다 가할 때까지 고장 후보들이 수렴되지 않았다면 이 고장 후보들 중에서 고장 지수가 높으면 높을수록 실제 고장일 확률이 높다는 것을 의미하게 되는 것이다. 이렇게 심볼릭 시뮬레이션과 결과 분석을 통한 고장 진단을 준비된 테스트 패턴의 수만큼 계속 반복함으로써 스캔 체인 내부의 고장의 위치를 정확하게 알아낼 수 있다.
한편 본 발명의 스캔 체인 고장 진단 방법은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.
컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현하는 것을 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트 들은 본 발명이 속하는 기술 분야의 프로그래머들에 의하여 용이하게 추론될 수 있다.
이제까지 본 발명에 대하여 바람직한 실시예를 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 본 발명을 구현할 수 있음을 이해할 것이다. 그러므로, 상기 개시된 실시예 들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 한다.
본 발명의 스캔 체인 고장 진단 방법 및 장치는 고장이 있는 스캔 체인의 정보 뿐만 아니라 고장이 없는 스캔 체인으로 입력되는 심볼 값을 이용함으로써, 스캔 셀의 고장 진단율을 향상시킬 수 있고, 또한 스캔 체인 내부의 단일 고장 뿐만 아니라 복수개의 스캔 셀에 다중 고장이 있는 경우에도 고장난 스캔 셀의 정확한 위치를 탐색할 수 있다. 스캔 셀의 고장 진단율의 향상은 실제 반도체 생산 공정을 고려하여 볼 때, 칩을 생산을 위한 셋업과 실제의 생산 초기 단계에서 발생할 수 있는 초기 불량률, 이로 인한 생산 수율의 저하 및 테스트 비용에 따른 문제를 완화시키며, 반도체 칩 생산 가격을 향상시키는데 기여할 수 있다.
도 1은 본 발명의 일 실시예에 따른 스캔 체인 고장 진단 장치를 포함하는 고장 진단 시스템을 나타내는 블록도이다.
도 2는 본 발명의 일 실시예에 따른 스캔 체인 고장 진단 방법을 나타내는 흐름도이다.
도 3은 도 2의 실시예 150단계에서 수정된 테스트 패턴에 대한 개념을 설명하는 참고도이다.
도 4는 고장 스캔 셀의 상한을 결정하는 개념을 설명하는 참고도이다.
도 5는 도 2의 실시예 150단계에서 심볼릭 테스트 패턴의 개념을 설명하기 위한 참고도이다.
도 6은 AND 게이트에서 SF 심볼의 입력값에 따른 출력값 계산의 예를 나타낸 참고도이다.
도 7은 도 6에서 AND 게이트에 대한 진리표를 나타낸 참고도이다.
도 8은 도 2의 실시예 170단계에서 심볼릭 시뮬레이션 출력값과 GOP들을 이용한 고장 셀 진단 방법을 나타내는 참고도이다.

Claims (14)

  1. 스캔 체인 고장 진단 방법에 있어서,
    a) 복수개의 스캔 체인들을 고장 스캔 체인과 정상 스캔 체인으로 구분하고, 고장 스캔 체인의 고장 유형을 결정하는 단계;
    b) 상기 고장 스캔 체인에서 고장 스캔 셀 후보 그룹을 결정하는 단계; 및
    c) 상기 복수개의 스캔 체인들에 입력되는 테스트 패턴들 중 상기 b)단계에서 결정된 고장 스캔 셀 후보 그룹에 속하는 스캔 셀에 입력되는 테스트 패턴을 수정하되, 상기 a)단계에서 결정된 고장의 유형에 따른 영향을 받을 수 있는 스캔 셀에 대한 입력값을 변수 처리한 심볼릭 테스트 패턴으로 수정하고, 상기 심볼릭 테스트 패턴에 따른 시뮬레이션 출력값을 이용하여 상기 고장 스캔 체인에서 고장난 스캔 셀을 결정하는 단계를 포함하는 것을 특징으로 하는 스캔 체인 고장 진단 방법.
  2. 제 1 항에 있어서,
    상기 c)단계는 상기 복수개의 스캔 체인들에 고장난 스캔셀을 결정하기 위한 소정의 테스트 패턴들을 각각 입력함에 따른 정상 스캔 체인의 실제 출력값과 시뮬레이션 출력값을 더욱 고려하여 고장난 스캔 셀을 결정하는 것을 특징으로 하는 스캔 체인 고장 진단 방법.
  3. 제 1 항에 있어서,
    상기 a)단계는 플러시 테스트 패턴을 이용하여 수행되는 것을 특징으로 하는 스캔 체인 고장 진단 방법.
  4. 제 1 항에 있어서, 상기 b)단계는
    b1) 상기 복수 개의 스캔 체인들의 고장 스캔 셀 후보 그룹을 결정하기 위한 소정의 테스트 패턴 들 중에서 상기 고장 스캔 체인의 테스트 패턴을 X로 수정하고, 상기 수정된 테스트 패턴에 따른 고장 스캔 체인의 시뮬레이션 출력값을 계산하는 단계;
    b2) 상기 b1) 단계에서 계산된 시뮬레이션 출력값과, 상기 복수 개의 스캔 체인들의 고장 스캔 셀 후보 그룹을 결정하기 위한 소정의 테스트 패턴들에 따른 시뮬레이션 출력값을 이용하여 상기 고장 스캔 셀 후보 그룹의 상한 또는 하한을 결정하는 단계;
    b3) 상기 복수개의 스캔 체인들에 고장 스캔 셀 후보 그룹을 결정하기 위한 상기 소정의 테스트 패턴들 중 상기 상기 결정된 상한 또는 하한을 기준으로 상기 고장 스캔 체인의 테스트 패턴을 재수정하고, 상기 재수정된 테스트 패턴에 따른 상기 고장 스캔 체인의 시뮬레이션 출력값을 계산하는 단계; 및
    b4) 상기 b3)단계에서 계산된 출력값을 이용하여 고장 스캔 셀 후보 그룹을 결정하는 단계를 포함하는 것을 특징으로 하는 스캔 체인 고장 진단 방법.
  5. 제 4 항에 있어서,
    상기 고장 스캔 체인의 테스트 패턴을 재수정하는 것은,
    상기 복수개의 스캔 체인들에 고장 스캔 셀 후보 그룹을 결정하기 위한 상기 소정의 테스트 패턴들 중 상기 b2)단계에서 결정된 상한 또는 하한을 기준으로 고장의 영향을 고려할 수 없는 스캔 셀의 입력값은 X로 하고, 고장의 영향을 고려할 수 있는 스캔 셀의 입력값은 상기 고장 유형에 따른 입력값으로 수정하는 것을 특징으로 하는 스캔 체인 고장 진단 방법.
  6. 제 5 항에 있어서,
    상기 b4)단계에서 계산된 출력값을 이용하여 고장 후보 그룹을 결정하는 것은,
    b41) 상기 고장 스캔 체인을 이루는 각각의 스캔 셀에 상기 재수정된 테스트 패턴을 입력시키는 단계; 및
    b42) 상기 각각의 스캔 셀에 입력된 값을 쉬프트 시킴에 따라 얻어지는 상기 고장 스캔 체인의 출력값과, 상기 b41) 단계에서 상기 스캔 셀에 입력된 값을 이용하여 상기 고장 스캔 셀 후보 셀 그룹을 결정하는 단계를 포함하는 것을 특징으로 하는 스캔 체인 고장 진단 방법.
  7. 제 1 항에 있어서, 상기 b)단계는
    b1) 상기 고장 스캔 체인을 이루는 각각의 스캔 셀에 소정의 패턴의 입력값 을 입력시키는 단계; 및
    b2) 상기 입력값과 상기 각각의 스캔 셀의 입력값을 쉬프트 시키고, 상기 고장 스캔 체인의 출력값을 이용하여 상기 고장 스캔 셀 후보 그룹을 결정하는 단계를 포함하는 것을 특징으로 하는 스캔 체인 고장 진단 방법.
  8. 제 1 항에 있어서, 상기 c) 단계는
    c1) 상기 고장 스캔 체인에서 상기 고장난 스캔 셀을 결정하기 위해 상기 복수개의 스캔 체인들에 입력되는 소정의 테스트 패턴들 중 상기 고장 스캔 체인에 입력되는 테스트 패턴을 상기 b)단계에서 결정된 고장 스캔 셀 후보 그룹에 속하는 스캔 셀의 입력값을 변수 처리한 심볼릭 테스트 패턴으로 수정하는 단계;
    c2) 상기 심볼릭 테스트 패턴에 따른 정상 스캔 체인의 시뮬레이션 출력값을 계산하는 단계;
    c3) 상기 c1) 단계의 고장난 스캔 셀을 결정하기 위해 상기 복수개의 스캔 체인들에 입력되는 소정의 테스트 패턴을 입력함에 따른 상기 정상 스캔 체인의 시뮬레이션 출력값을 계산하는 단계;
    c4) 상기 c1) 단계의 고장난 스캔 셀을 결정하기 위해 상기 복수개의 스캔 체인들에 입력되는 소정의 테스트 패턴을 상기 복수개의 스캔 체인에 입력함에 따른 상기 정상 스캔 체인의 실제 출력값을 측정하는 단계; 및
    c5) 상기 c2), c3) 및 c4)단계의 출력값을 이용하여 고장 스캔 셀을 결정하는 단계를 포함하는 것을 특징으로 하는 스캔 체인 고장 진단 방법.
  9. 제 8 항에 있어서,
    상기 심볼릭 패턴은 상기 c1) 단계에서 상기 고장 스캔 체인에 입력되는 테스트 패턴에서 상기 b)단계를 통해 결정된 고장 스캔 셀 후보 그룹에 혹하는 스캔 셀의 입력값 중 스캔 체인 고장에 따른 영향을 받을 수 있는 입력값을 SFi - 여기에서 i는 스캔 셀의 위치이다 - 로 수정한 패턴인 것을 특징으로 하는 스캔 체인 고장 진단 방법.
  10. 제 9 항에 있어서, 상기 c5)단계에서 상기 고장 스캔 셀을 결정하는 것은,
    상기 c2) 단계에서 계산된 시뮬레이션 출력값 들 중에서 상기 SFi와 관련된 출력값을 선택하고,
    상기 c3)와 c4) 단계를 통해 계산된 상기 정상 스캔 체인의 시뮬레이션 출력값과 실제 출력값의 쌍들 중에서, 상기 선택된 출력값에 따른 스캔 셀의 출력값이 동일한지 여부에 따라 고장 스캔 셀 여부와 관련된 고장 지수를 조절시키며,
    상기 조절된 고장 지수와 소정의 기준값의 대소 비교를 통해 고장 스캔 셀을 결정하는 것을 특징으로 하는 스캔 체인 고장 진단 방법.
  11. 제 10 항에 있어서,
    상기 고장 지수를 조절시키는 것은,
    상기 c1)와 c3) 단계를 통해 계산된 상기 정상 스캔 체인의 출력값들 중에서 상기 선택된 출력값에 따른 스캔 셀의 출력값이 동일한 경우, 상기 SFi와 관련된 스캔 셀의 고장 지수값을 감소시키거나, 또는 SFi와 관련된 스캔 셀을 상기 고장 스캔 셀 후보 그룹에서 제외시키고,
    상기 c1)와 c3) 단계를 통해 계산된 상기 정상 스캔 체인의 출력값들 중에서 상기 선택된 출력값에 따른 스캔 셀의 출력값이 상이한 경우, 상기 SFi와 관련된 스캔 셀의 고장 지수값을 증가시키는 것임을 특징으로 하는 스캔 체인 고장 진단 방법.
  12. 제 1 항 내지 제 11 항 중 어느 한 항에 따른 스캔 체인 고장 진단 방법을 컴퓨터 상에서 수행하기 위한 프로그램이 기록된 컴퓨터에서 판독 가능한 기록 매체.
  13. 스캔 체인 고장 진단 장치에 있어서,
    복수개의 스캔 체인들을 고장 스캔 체인과 정상 스캔 체인으로 구분하고, 고장 스캔 체인의 고장 유형을 결정하는 고장 스캔 체인 결정부;
    상기 고장 스캔 체인에서 고장 스캔 셀 후보 그룹을 결정하는 후보 그룹 결정부; 및
    상기 복수개의 스캔 체인들에 입력되는 테스트 패턴들 중 상기 결정된 고장 스캔 셀 후보 그룹에 속하는 스캔 셀에 입력되는 테스트 패턴을 수정하되, 상기 결정된 고장의 유형에 따른 영향을 받을 수 있는 스캔 셀에 대한 입력값을 변수 처리한 심볼릭 테스트 패턴으로 수정하고, 상기 심볼릭 테스트 패턴에 따른 시뮬레이션 출력값을 이용하여 상기 고장 스캔 체인에서 고장난 스캔 셀을 결정하는 고장 스캔 셀 결정부를 포함하는 것을 특징으로 하는 스캔 체인 고장 진단 장치.
  14. 제 13 항에 있어서,
    상기 고장 스캔 셀 결정부는 상기 복수개의 스캔 체인들에 고장난 스캔셀을 결정하기 위한 소정의 테스트 패턴들을 각각 입력함에 따른 정상 스캔 체인의 실제 출력값과 시뮬레이션 출력값을 더욱 고려하여 고장난 스캔 셀을 결정하는 것을 특징으로 하는 스캔 체인 고장 진단 장치.
KR1020070078815A 2007-08-07 2007-08-07 심볼릭 시뮬레이션을 이용한 스캔 체인 고장 진단 방법 및장치 KR100901522B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070078815A KR100901522B1 (ko) 2007-08-07 2007-08-07 심볼릭 시뮬레이션을 이용한 스캔 체인 고장 진단 방법 및장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070078815A KR100901522B1 (ko) 2007-08-07 2007-08-07 심볼릭 시뮬레이션을 이용한 스캔 체인 고장 진단 방법 및장치

Publications (2)

Publication Number Publication Date
KR20090014690A KR20090014690A (ko) 2009-02-11
KR100901522B1 true KR100901522B1 (ko) 2009-06-08

Family

ID=40684553

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070078815A KR100901522B1 (ko) 2007-08-07 2007-08-07 심볼릭 시뮬레이션을 이용한 스캔 체인 고장 진단 방법 및장치

Country Status (1)

Country Link
KR (1) KR100901522B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102670130B1 (ko) 2021-12-29 2024-05-27 연세대학교 산학협력단 스캔 체인의 다중 고장 진단장치 및 방법

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101390319B1 (ko) * 2012-10-17 2014-04-30 연세대학교 산학협력단 회로의 고장을 진단하는 장치 및 방법
KR102273138B1 (ko) * 2020-02-28 2021-07-02 연세대학교 산학협력단 스캔 체인 내 다중 고장을 진단하기 위한 장치 및 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7055118B1 (en) * 2004-03-01 2006-05-30 Sun Microsystems, Inc. Scan chain verification using symbolic simulation
JP3785388B2 (ja) 2002-09-17 2006-06-14 松下電器産業株式会社 故障検出方法
JP2007040921A (ja) * 2005-08-05 2007-02-15 Matsushita Electric Ind Co Ltd スキャンチェーンにおける故障位置特定方法
JP2007051936A (ja) 2005-08-18 2007-03-01 Matsushita Electric Ind Co Ltd スキャンチェーンにおける故障位置特定方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3785388B2 (ja) 2002-09-17 2006-06-14 松下電器産業株式会社 故障検出方法
US7055118B1 (en) * 2004-03-01 2006-05-30 Sun Microsystems, Inc. Scan chain verification using symbolic simulation
JP2007040921A (ja) * 2005-08-05 2007-02-15 Matsushita Electric Ind Co Ltd スキャンチェーンにおける故障位置特定方法
JP2007051936A (ja) 2005-08-18 2007-03-01 Matsushita Electric Ind Co Ltd スキャンチェーンにおける故障位置特定方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102670130B1 (ko) 2021-12-29 2024-05-27 연세대학교 산학협력단 스캔 체인의 다중 고장 진단장치 및 방법

Also Published As

Publication number Publication date
KR20090014690A (ko) 2009-02-11

Similar Documents

Publication Publication Date Title
US5640403A (en) Fault diagnosis method for a sequential circuit
US20080172576A1 (en) Method for enhancing the diagnostic accuracy of a vlsi chip
JP5270458B2 (ja) 故障箇所推定装置
JP2008089549A (ja) 論理回路における多重故障の故障箇所推定システム、故障箇所推定方法および故障箇所推定用プログラム
US8898602B2 (en) Apparatus for design assist and method for selecting signal line onto which test point for test controlling is to be inserted in circuit to be designed
Wang et al. Delay-fault diagnosis using timing information
JP6381409B2 (ja) 故障診断システム、故障診断方法および故障診断プログラム
US7983858B2 (en) Fault test apparatus and method for testing semiconductor device under test using fault excitation function
US6721914B2 (en) Diagnosis of combinational logic circuit failures
CN114398848A (zh) 一种测试向量生成方法、装置及存储介质
KR101421909B1 (ko) 기준 스캔 체인 테스트 데이터를 생성하는 테스트 장치 및 테스트 시스템
KR100901522B1 (ko) 심볼릭 시뮬레이션을 이용한 스캔 체인 고장 진단 방법 및장치
KR100713206B1 (ko) 다중고착 고장 진단을 위한 매칭 방법
US20160267216A1 (en) Methods and systems for circuit fault diagnosis
US10338137B1 (en) Highly accurate defect identification and prioritization of fault locations
US6876934B2 (en) Method for determining fault coverage from RTL description
Pomeranz et al. Location of stuck-at faults and bridging faults based on circuit partitioning
JP2008527322A (ja) 回路配置並びにその検査および/または診断方法
JP5103501B2 (ja) 故障推定装置及び方法
JP2715989B2 (ja) Iddqを用いたCMOS論理回路の故障箇所の絞り込み方法
WO2008096922A1 (en) Method for diagnosing troubles in scan chain via symbolic simulation
JP4839638B2 (ja) テスタシミュレーション装置及びテストシミュレーション方法
Huang et al. Diagnose Compound Hold Time Faults Caused by Spot Delay Defects at Clock Tree
JP2000088925A (ja) 半導体デバイスの故障箇所特定方法及びその装置
JPH1152023A (ja) Lsiの故障箇所推定方法及びlsiの故障箇所推定プログラムを記録した記録媒体

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
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130312

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140423

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20150616

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20160714

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee