KR20100086024A - 스캔 체인을 분석하고, 스캔 체인에서의 홀드 타임 결함의 수 또는 위치를 판정하는 방법 - Google Patents

스캔 체인을 분석하고, 스캔 체인에서의 홀드 타임 결함의 수 또는 위치를 판정하는 방법 Download PDF

Info

Publication number
KR20100086024A
KR20100086024A KR1020107011990A KR20107011990A KR20100086024A KR 20100086024 A KR20100086024 A KR 20100086024A KR 1020107011990 A KR1020107011990 A KR 1020107011990A KR 20107011990 A KR20107011990 A KR 20107011990A KR 20100086024 A KR20100086024 A KR 20100086024A
Authority
KR
South Korea
Prior art keywords
scan chain
scan
pattern
value
hold time
Prior art date
Application number
KR1020107011990A
Other languages
English (en)
Other versions
KR101592042B1 (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
Priority claimed from US11/931,847 external-priority patent/US7853846B2/en
Application filed by 베리지 (싱가포르) 피티이. 엘티디. filed Critical 베리지 (싱가포르) 피티이. 엘티디.
Publication of KR20100086024A publication Critical patent/KR20100086024A/ko
Application granted granted Critical
Publication of KR101592042B1 publication Critical patent/KR101592042B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

스캔 체인의 환경 변수는 홀드 타임 결함을 발생시킬 것으로 생각되는 값으로 설정되고, 스캔 체인을 통해 패턴이 시프트된다. 패턴은, 제2 논리 상태의 적어도 1개 비트가 후속되는, 제1 논리 상태의 적어도 n개의 연속 비트로 이루어진 배경 패턴을 갖는데, 여기에서 n은 스캔 체인의 길이이다. 스캔 체인에서의 가능한 홀드 타임 결함의 수는 i) 적어도 1개 비트가 스캔 체인의 출력에서 전이를 발생시킬 것으로 예상되는 클럭 사이클과 ii) 적어도 1개 비트가 스캔 체인의 출력에서 실제로 전이를 발생시키는 클럭 사이클 사이의 차이로서 판정된다. 스캔 체인이 정확하게 동작하는 환경 변수 값이 존재한다면, 홀드 타임 결함의 위치(들)가 판정될 수 있다.

Description

스캔 체인을 분석하고, 스캔 체인에서의 홀드 타임 결함의 수 또는 위치를 판정하는 방법 {METHODS FOR ANALYZING SCAN CHAINS, AND FOR DETERMINING NUMBERS OR LOCATIONS OF HOLD TIME FAULTS IN SCAN CHAINS}
[관련 출원에 대한 상호 참조]
이 출원은, 여기에 참고 문헌으로서 포함되어 있는, 2007년 10월 31일에 출원된 출원번호 제11/931,847호의 부분 계속 출원(continuation-in-part)이다.
기술 노드(technology nodes)가 축소함에 따라, 테스트를 위해 장치에 추가되는 스캔 체인에서 좀더 많은 결함이 발견된다. 이는, 이 문서에서 설명되는 바와 같이, 많은 원인에 기인한다. 새로운 집적 회로를 출시하기 위해서는 그리고 수용 가능한 수준으로 수율을 증가시키기 위해서는, 스캔 체인 결함을 식별하기 위한 새로운 방법 및 장치가 필요하다.
스캔 체인은 테스트 및 수율-증가(yield-bring-up)를 위한 중요 항목이다. 스캔 체인이 고장나면, 스캔 체인은 (수율 손실 문제에 더해서) 테스트 중인 장치(예를 들어, 칩)(DUT;device under test)를 불량 유형(fail bin)으로 분류할 뿐만 아니라 조합, 순차, 전력-분배, 또는 클럭 로직으로부터 유래하는 다른 불량의 시기적절하고 정확한 평가를 저지하고 방해한다.
DFT(design for test) 또는 스캔 방법론의 접근 방법은 설계 중인 모든 플립플롭을 스캔 플립플롭으로 대체하는 것이다. 스캔 플립플롭(또는 스캔 셀)은 각 플립플롭쪽으로 2가지 경로를 제공하는데: 첫번째 경로는 설계 임무를 위한 경로이고, 두번째 경로는 테스트를 용이하게 하기 위한 경로이다.
스캔 플립플롭을 위한 가장 일반적인 2가지 접근 방법은 MUXD 접근 방법 및 LSSD(Level Sensitive Scan Design) 접근 방법이다. MUXD 접근 방법은 플립플롭의 D-입력 전단(front end)에 멀티플렉서(mux)를 배치한다. 스캔 인에이블(scan enable;SE)로서 공지된, 멀티플렉서에 대한 선택기가 멀티플렉서의 미션 모드 입력을 사용할 것인지 아니면 스캔 테스트 입력을 사용할 것인지를 판정한다. LSSD 접근 방법은 여러 개의 비중첩 클럭을 사용하는데: 그 중 한 쌍은 미션 데이터를 전파하기 위해 분리된 마스터 및 슬레이브 래치(separated Master and Slave latches)를 조작하고; 그 중 다른 한 쌍은 분리된 마스터 및 슬레이브 래치를 조작하여 스캔 시프트 동작을 발생시킨다. LLSD 접근 방법에 의해, 총체적인 스캔 시프트 및 샘플 동작이 단 한 쌍의 클럭으로써 또는 모든 클럭의 조합으로써 수행될 수 있다.
DUT(Device Under Test)의 스캔 플립플롭(또는 스캔 셀)을 스캔 체인이라고 하는 하나 이상의 시프트 레지스터에 스티칭하는 것에 의해, 각각의 플립플롭이 사전 설정되거나 관찰될 수 있다. 이로써 DUT의 부회로에서의 결함을 찾아내는데 집중할 테스트 패턴이 구성될 수 있다.
설명하기가 좀더 쉽고 간단하므로, 추가적인 설명은 MUXD형 스캔을 집중적으로 다룰 것이다. MUXD형 스캔에서, 각각의 스캔 플립플롭은 플립플롭의 D-입력에서 멀티플렉서에 의해 제어되는 2가지 입력 경로를 가진다. 스캔 인에이블이 행사되는(asserted) 경우, 스캔 체인은 시프트 레지스터로서 동작한다. 이것은 각각의 플립플롭이 특정 상태로 설정될 수 있게 한다. 값들이 장치를 벗어나 스캔 출력 내로 시프트됨에 따라, 각 플립플롭 상태의 관찰도 가능하게 한다. LSSD는 Storey 등의 "Delay Test Simulation", 14th Design Automation Conference Proceedings, pp. 492-494(1977년 6월)에 의해 그리고 미국특허 제3,783,254호 및 제4,293,919호에서 설명된다.
스캔 체인에서의 결함(또는 흠)을 위해 일반적으로 인정되는 몇가지 모델: 블록 체인(blocked chain), 브리징(bridging), 및 홀드 타임(hold time)이 존재한다.
블록 체인 - 이 조건은 스캔 모드 동안에 스캔 출력을 관찰하는 것에 의해 판정된다. 출력이 체인 내로 시프트되는 데이터에 상관없이 고정 수준이면, 체인은 하나 이상의 지점에서 블록화되고, 스캔 출력에 가장 가까운 블록이 그 체인으로부터 관찰되는 것을 좌우한다. 이 결함 모델은 일반적으로, 스캔 체인 출력이 블록의 그 지점에 배치된 순차 구성 요소로부터의 "stuck-at-0" 또는 "stuck-at-1"이다.
브리징 - 브리징 결함은, 하나의 스캔 체인을 통과 중인 데이터가 다른 스캔 체인의 또는 동일 스캔 체인에서의 다른 위치의 데이터를 변경할 수 있을 때의 데이터 종속성(data dependency) 조건이다. 의심되는 메커니즘은, 연관된 2개 신호가 반대 값인 경우에 나타나는 "침략자-희생자(aggressor-victim)" 쇼트 또는 브리지(short or bridge)이다.
홀드 타임 - 홀드 타임 결함은, 1개 플립플롭으로부터의 데이터가 체인에서 앞쪽을 향해 돌진하게 하는 조건이다. 홀드 타임 결함은, 플립플롭의 클럭 투 큐 타임(Clock-to-Q times) 및 클럭 스큐(clock skew)에 비해 긴 와이어 경로를 포함하는 다수 팩터에 기인한다. 출력에서 발생되는 데이터가 여전히 토글링 중이지만 스큐되어 보일 때(정확한 응답이지만 시간적으로 시프트되어 보일 때) 또는 비트가 누락(데이터 스미어링(data smearing) 또는 비트 건너뛰기(bit skipping)) 중일 때 이 조건이 의심된다. 전반적으로, 홀드 타임 결함은 "우발적 암호화(accidental encryption)"로 보여질 수 있다. 스캔 입력에 인가된 비트 수가 스캔 출력에서의 데이터와 일치하지 않으면, 홀드 타임 결함이 존재할 가능성이 있다. 일부 경우에서, 홀드 타임 결함은, 스캔 체인이 실제로 가진 것보다 적은 플립플롭을 가진 것처럼 보이게 한다.
홀드 타임은 스캔 체인에서의 인접한 2개 셀 사이의 데이터 통신 결함인데, 이 경우, 스캔 입력에 가장 가까운 비트가 침략자 셀이고 스캔 출력에 가장 가까운 비트가 희생자 셀이다. 홀드 타임 결함이 존재할 경우, 희생자 셀의 데이터 값이 침략자 셀의 데이터 값으로 대체된다. 결과로서 발생하는 데이터 스트림은 침략자의 데이터를 2번 나타내고, 희생자의 데이터는 손실된다. 홀드 타임 결함의 일반적인 3가지 유형이 존재한다.
표준 홀드 타임 결함 - 양자의 데이터 상태(침략자 및 희생자) 모두가 부적절하게 통신되는 경우, 스캔 체인에서의 누락 플립플롭을 시뮬레이션하는 불량 표시(fail signature)가 발생한다.
데이터 1 홀드 타임 결함 - 침략자 셀의 데이터가 논리 1(logic one)인 경우, 그 데이터가, 희생자의 데이터를 겹쳐쓰기하면서, 1개 위치(location) 앞쪽으로 풀링(pulling)된다. 결과로서 발생하는 불량 표시는 너무 많은 1을 가진다.
데이터 0 홀드 타임 결함 - 침략자 셀의 데이터가 0인 경우, 그 데이터가, 희생자의 데이터를 겹쳐쓰기하면서, 1개 위치 앞쪽으로 풀링된다. 결과로서 발생하는 불량 표시는 너무 많은 0을 가진다.
통상적으로, 스캔 체인 테스트 로직이 동작 중이라는 것을 보장하기 위해, 장치의 기능 로직에 대한 테스트를 수행하기 앞서 스캔 체인 테스트 로직에 대한 테스트가 수행될 것이다. 스캔 체인 테스트 로직에 대한 이들 테스트는 흔히 스캔 체인 무결성 테스트로 알려져 있다. 가장 일반적인 접근 방법은 스캔 입력에서 일련의 1 및 0을 송신하는 것이다. 스캔 인에이블이 행사됨으로써, 스캔 체인은 사실상 커다란 시프트 레지스터이다. 스캔 인에이블의 지속적 행사로써, 기능 로직은 테스트로부터 제거된다. 체인에서의 스캔 셀 수와 동일한 'n'개의 클럭 사이클 이후에, 스캔 체인이 정확하게 동작한다면 스캔 출력에서 입력 스트림이 관찰되어야 한다.
스캔 체인이 스캔 입력으로부터의 데이터를 스캔 출력쪽으로 안정적으로 전송하지 않으면, 전체 스캔 방법론이 쓸모없게 된다. 체인을 로드하기 위한 입력 데이터 및 체인을 언로드하기 위한 출력 데이터 모두가 손상된다. 통상적으로 이것 자체가 스캔 체인 무결성 불량(scan chain integrity failure)을 입증한다. 이것은 스캔 체인을 실제보다 적어도 1개 플롭만큼 짧아 보이게 한다. 클럭 스큐 쟁점은 타이밍 클로저(timing closure)와 같은 설계 쟁점이나, 잘못된 바이어스 또는 약한 클럭-트리 버퍼(weak clock-tree buffers)와 같은, 제조 결함에 의해 발생될 수 있다. 나노미터 형상에서, 클럭 스큐 쟁점은, 홀드 타임 쟁점으로 인한 수율 손실을 발생시키면서, 대부분 2가지의 조합에 의해 발생된다.
오늘날 ATPG 도구에 의해 발생되는 전통적인 체인 무결성 패턴은 '0-0-1-1-0-0-1-1' 시퀀스의 반복 스트림으로서 구현된다. 이 시퀀스는 하나 거른 벡터마다 달라지는 데이터를 가진다. 따라서, 표준 홀드 타임 결함을 가진 장치는 1개 비트만큼 시프트되는 것처럼 보이고, 마지막 비트는 불명료하다. 시프트되어 나오는 마지막 비트는 패턴의 일부가 아닌데; 그것은 스캔 아웃 시퀀스가 인가되었을 때 스캔 인 핀(scan in pin)에 존재했던 상태이다. 도 1을 참고한다. 단일 표준 홀드 타임 결함의 불량 표시는 기본적으로 통과(pass)-불량(fail)-통과-불량이라는 것에 주의한다.
흔히, 홀드 타임 결함은 타이밍에 민감하다. 다시 말해, 플립플롭 Q 출력의 상승 시간(rise time)과 하강 시간(fall time)이 비대칭이므로, 홀드 타임 결함은 플립플롭이 1 데이터 상태는 전송할 수 있지만 나머지 데이터 상태에 대해서는 그렇지 않게 할 수 있다. 이러한 불량은 하강 시간보다 느린 상승 시간을 가진 Q-출력에 의해 발생될 수 있다.
도 2에 표시된 일례는, "0"이 침략자 상태이고 "1"이 희생자 상태인 단일 홀드 타임 결함을 가정한다. 장치가 단일 체인에 대해 여러 개의 홀드 타임 결함을 가질 경우, 데이터는 각 오류에 대해 1 사이클을 시프트한다. 좀더 작은 외형의 장치가 단일 체인에 대해 여러 개의 홀드 타임 결함을 가진다는 것이 상당히 일반적이다. 표준 00110011 패턴에 의해, 체인은 데이터 4개 위치를 시프트할 수 있고, 패턴의 끝에서는 실제로 스캔 체인 테스트를 통과할 수 있을 것이다.
앞서 언급된 바와 같이, 테스트 방법론을 위한 설계에서, 플립플롭은 듀얼 기능을 가진다. 정상 또는 기능 모드 동안, 플립플롭은 데이터 상태를 회로에 래치하고 설계에서의 다음 논리 구름(cloud of logic)쪽으로 전송될 값을 저장한다. 테스트 모드 동안, 플립플롭은 조합 로직에 테스트 자극을 제공하는데 그리고 로직 동작의 결과를 캡처하는데 사용된다. 테스트 패턴을 DUT쪽으로 그리고 DUT 밖으로 전송하기 위해, 플립플롭은 하나 이상의 직렬 시프트 레지스터로서 재구성된다.
레지스터의 2개 뱅크 사이의 논리량(amount of logic)이 너무 커서 데이터가 로직을 통해 전파할 수 없고 스캔 체인이 클러킹되기 전에 허용되는 셋업 타임 이내에 플립플롭을 위한 입력에서 안정될 수 없다면, 셋업 침해(setup violation)로서 알려진 설계 문제의 유형이 발생할 수 있다. 이것이 발생하는 경우, 플립플롭쪽으로 클러킹되는 결과는 올바르지 않을 수 있다. 이것은 "타이밍 분석"이라는 항목과 연관된 설계 방법론 및 도구에 의해 해결된다.
원하는 스캔 패턴이 하나 이상의 스캔 체인 내로 로드되고 난 후, 스캔 인에이블은 행사되지 않고 장치의 로직은 미션 모드에서 한 번 이상 클러킹된다. 로직 동작의 결과는 장치의 스캔 플립플롭에 캡처된다. 이 결과가 테스트 시스템에 의해 검사될 수 있도록 하기 위해서는, 이 결과를 DUT 밖으로 끌어 내는 것이 바람직스럽다. 이것은 플립플롭을 다시 직렬 시프트 모드화한 다음 다수 스캔 체인(들)에서의 모든 비트가 스캔 출력 포트(들) 밖으로 시프트하기 위한 충분한 클럭을 인가하는 것에 의해 수행된다. 대부분의 설계는 다른 것보다 긴 일부 스캔 체인을 가지므로, 가장 긴 스캔 체인조차도 완전히 언로드되기에 충분한 횟수만큼 데이터를 시프트하는 것이 중요하다. 좀더 짧은 체인은 오버 시프트(over shift)되므로 X(don't care) 상태로 패딩(padding)된다. 데이터가 시프트 인될 때, 동일한 이 기술이 적용되는데, 이 경우, 좀더 짧은 체인은 통상적으로 실제 데이터 스트림 이전에 더미(dummy) "0" 데이터로 사전-패딩된다. 이때, 스캔 인 포트를 통해 새로운 테스트 패턴을 시프트 인하는 것이 일반적이다.
스캔 레지스터의 전통적인 구현에서는, 전하 흐름 또는 전류에 클럭 이벤트 뿐만 아니라 상태 변화를 확립할 것이 요구된다. 장치의 전도 매체에서의 결함은 전류의 속도를 늦출 수 있고, 그에 따라, 상태 변화 또는 클럭 이벤트가 그것의 원하는 시점으로부터 지연될 수 있다. 더 나아가, 클럭 신호는 칩 전체에 걸쳐 분산되어야 하고 전류를 부스팅할 것을 버퍼에 요구한다. 2개의 임의 클럭 신호가 그들의 레지스터에서의 도달에 차이를 가질 수도 있는데, 이를 클럭 스큐라고 하며 버퍼 사이즈 및 클럭 신호를 전달하는 와이어의 라우팅을 조정하는 것에 의해 관리될 수 있다.
홀드 타임 결함의 영향에 대한 일례로서, 비트 0가 스캔 아웃 포트에 가장 가깝고 비트 7이 스캔 인 포트에 가장 가까운, 길이 8의 스캔 체인(즉, 8개 비트 위치의 플립플롭 또는 스캔 셀)을 고려한다. 기능 클럭 이후에, 장치의 논리 상태는, 다음과 같이, 스캔 체인의 8개 레지스터내에 전체적으로 캡처된다.
V(0) V(1) V(2) V(3) V(4) V(5) V(6) V(7)
정확한 시프트 레지스터에서, 8개 비트 각각이 직렬로 시프트 아웃되고 I(0)로 시작하는 새로운 테스트 패턴이 시프트 인된다. 그런데, 비트 6이 홀드 타임 결함을 나타낸다고 가정한다. 제1 시프트 클럭에서, V(0)가 스캔 아웃 포트로부터 방출된다. 그러나, 비트 6에서의 오류는 이러한 제1 시프트 동안 V(6)이 아니라 V(7)을 캡처하게 한다. 8개 시프트 클럭이 인가된 이후에, 스캔 아웃에서 캡처되는 패턴은 다음과 같을 것이다.
V(0) V(1) V(2) V(3) V(4) V(5) V(7) I(0)
또한, 다음과 같이 나타날 수도 있는, 입력 테스트 패턴에 대한 상기 스캔 체인의 손상도 고려한다.
I(0) I(1) I(2) I(3) I(4) I(5) I(7) I(N)
스캔 체인은 통상적으로 10,000개 레지스터(즉, 플립플롭 또는 셀)로 이루어질 수 있다는 것과 1 % 미만이 홀드 타임 결함을 나타낸다 하더라도, 스캔 체인에서의 수 백개 비트가 무효화될 수 있다는 것을 알 수 있을 것이다.
본 발명의 예시적 실시예가 도면에 표시되는데,
도 1은 제1의 예시적 홀드 타임 결함을 나타내고;
도 2는 제2의 예시적 홀드 타임 결함을 나타내며;
도 3은 예시적 DUT에 결합된 예시적 테스트 시스템을 나타내고;
도 4는 스캔 체인에서의 홀드 타임 결함의 수를 판정하는 제1의 예시적 방법을 나타내며;
도 5는 스캔 체인에서의 적어도 하나의 홀드 타임 결함의 위치를 판정하는 제1의 예시적 방법을 나타내고;
도 6은 스캔 체인을 분석하는 제1의 예시적 방법을 나타내며;
도 7은 스캔 체인을 분석하는 제2의 예시적 방법을 나타내고;
도 8은 스캔 체인에서의 홀드 타임 결함의 수를 판정하는 제2의 예시적 방법을 나타내며;
도 9는 스캔 체인에서 적어도 하나의 홀드 타임 결함의 위치를 판정하는 제2의 예시적 방법을 나타낸다.
다음 설명에서, 상이한 도면에 등장하는 유사한 참조 번호는 유사한 구성 요소/사양을 참조한다는 것에 유의한다. 따라서, 대부분, 상이한 도면에 등장하는 유사한 구성 요소/사양이 도면 각각에 대해 상세히 설명되지는 않을 것이다.
하나 이상의 스캔 체인에서의 홀드 타임 결함의 수 또는 위치를 판정하는 새로운 여러 방법을 설명하기 전에, 예시적인 테스트 중인 장치(DUT;300), 스캔 체인(314, 316) 및 테스트 시스템(312)이 개시될 것이다. 도 3은 2개의 스캔 체인(314, 316)을 구비하는 예시적 회로(또는 DUT;300)를 나타내는데, 2개의 스캔 체인 중 첫번째는 회로(300)의 조합 로직(310)과 상호 접속되는 일련의 4개 플립플롭(302, 304, 306, 308)을 구비한다. 조합 로직(310)은 간략화를 위해 "블랙 박스"에 들어 있다. 일례로서, 각각의 스캔 체인(314, 316)은 해당 플립플롭(302, 304, 306, 308)의 데이터 입력(D) 앞에 신호 멀티플렉서를 추가하는 것에 의해 생성된다. 스캔 인에이블(Scan Enable;SE)이라고 하는 단일 제어 신호가 이들 멀티플렉서의 선택을 제어하기 위해 추가된다. 다른 방법으로, LSSD 기술과 같은, 다른 방법으로도 스캔 체인(314, 316)이 생성될 수 있다. SE 신호가 로우(low)일 때, 회로(300)는 정상적으로 동작하는데, 이는 플립플롭(302, 304, 306, 308)쪽으로의 데이터 입력이 조합 로직(310)으로부터 유래하는 것을 의미한다. SE 신호가 하이(high)일 경우에는, 각 플립플롭(302, 304, 306, 308)의 입력이 다른 플립플롭의 출력에 또는 회로(300)의 외부 스캔 아웃(SO) 핀에 접속된다. 스캔 체인의 제1 플립플롭(302)쪽으로의 데이터 입력도 회로(300)의 외부 핀(즉, 스캔 인(SI) 핀)쪽으로 방향이 변경된다. 테스트(또는 분석) 패턴이 스캔 체인(314) 내로 시프트된 후, SE 신호는 1 사이클 동안 로우가 되고, 시프트 인된 테스트 패턴으로부터 발생하는 조합 로직(310)의 데이터 출력이 플립플롭(302, 304, 306, 308)에 캡처된다. 그 다음, SE 신호는 다시 하이가 되고, 캡처된 데이터 결과는 SO 핀 밖으로 시프트되어 테스트 시스템(312)에 의해 예상 결과와 비교된다. 조합 로직(310)의 동작 결함은 어떤 것이든 데이터 출력 시퀀스 중 하나 이상 비트가 예상 결과와 달라지게 할 것이다.
예시적 테스트 시스템(312)은 장치(300)의 (스캔 테스트 또는 DFT 테스트로도 알려진) 구조적 테스트를 수행할 수 있고, 일부 경우에서는, 회로(300)의 기능 테스트를 수행할 수도 있다. 데이터 패턴 메모리에는 장치(300)쪽으로 인가될 테스트 패턴 및 장치(300)로부터 판독될 것으로 예상되는 데이터 패턴이 로드된다. 테스트 시스템(300)은 1) 오류가 발생할 때마다(예를 들어, 출력 데이터 상태가 예상되는 데이터 상태와 상이할 경우) 테스트를 종료하거나 2) 전체 패턴 세트를 완료하고 관찰되는 모든 오류를 기록하기 위한 선택 가능 모드를 가질 수도 있다. 이를 실현하기 위해서, 테스트 시스템은 데이터 캡처 메모리를 가져야 한다. 이 메모리는 오류가 관찰되는 데이터 사이클 카운트 및 출력 핀을 기록할 수 있다. 데이터 캡처 메모리의 다른 모드는 장치(300)의 스캔 출력으로부터 판독되는 원시(실제) 상태를 기록하는 것이다.
도 4 내지 도 9는 DUT의 스캔 체인을 분석하는 다양한 예시적 방법(400, 500, 600, 700, 800, 900)을 나타낸다. 이들 방법은 특별히 홀드 타임 결함을 위한 스캔 체인의 분석에 적합하지만, 다른 오류 유형을 위해 스캔 체인을 분석하는데도 사용될 수 있다.
도 4는 스캔 체인에서의 가능한 홀드 타임 결함의 수를 판정하는 예시적 방법(400)을 나타낸다. 방법(400)은 (블록 402에서) 스캔 체인이 홀드 타임 결함 분석을 위한 양호한 후보인지를 판정하는 단계 및 그렇다면, (블록 404에서) 다수 스캔 테스트 결과를 사용해 스캔 체인에서의 가능한 홀드 타임 결함의 수를 판정하는 단계를 구비한다. 가능한 홀드 타임 결함의 수를 판정하는 예시적 방법은 이 명세서에서 이후에 논의될 것이다.
도 5는 스캔 체인에서의 적어도 하나의 가능한 홀드 타임 결함의 위치를 판정하는 예시적 방법(500)을 나타낸다. 방법(500)은 (블록 502에서) 스캔 체인이 홀드 타임 결함 분석을 위한 양호한 후보인지를 판정하는 단계를 구비한다. 그렇다면, (블록 504에서) 스캔 체인이 홀드 타임 결함 거동을 나타낸 환경 변수 값이 (환경 변수의 제1 값으로) 기록된다. 그 다음, 환경 변수는 하나 이상의 상이한 값으로 설정되고, (블록 506에서) 스캔 체인이 홀드 타임 결함 거동을 나타내지 않으면서 동작하는, 환경 변수의 제2 값이 존재하는지에 대한 판정이 이루어진다. 제2 값이 존재한다고 판정되면, (블록 508에서) 다수 스캔 테스트 결과가 스캔 체인에서의 적어도 하나의 가능한 홀드 타임 결함의 위치를 판정하는데 사용된다. 다수 스캔 테스트는 환경 변수의 제1 및 제2 값을 사용해 수행된다. 스캔 체인에서의 적어도 하나의 가능한 홀드 타임 결함의 위치를 판정하는 예시적 방법은 이 명세서에서 이후에 논의될 것이다.
방법(500)에 의해 변경되는 환경 변수는 다양한 형태를 취할 수 있고, 일부 경우에서는, 공급 전압, 온도, 또는 스캔 시프트 클럭 속도 중 하나 이상을 포함할 수도 있다. 본 발명자에 의한 실험은, 일부 경우에서, 스캔 체인(또는 전체로서 DUT)의 공급 전압을 높이거나 낮추는 것이 홀드 타임 쟁점을 생성하거나 제거하기에 충분할 정도로 스캔 체인의 내부 타이밍을 변경할 수 있다는 것을 보여 주었다. 온도 및 스캔 시프트 클럭 속도(도 3에서의 CK 속도) 또한 내부 타이밍에 영향을 미칠 수 있고 스캔 체인의 효과적인 동작에 기여할 수 있다.
도 6은 도 4 및 도 5에 표시된 방법(400, 500)을 조합하여 구현하는 예시적 방법(600)을 나타낸다. 방법(600)은 (블록 602에서) 스캔 체인을 시프트 모드화하는 것으로 시작한다. 그후, 환경 변수의 하나 이상의 값 각각에 대해, 방법(600)은 일련의 단계를 반복한다(블록 604 참고하기) .
블록 606에서는, 일정하지 않은 시퀀스 패턴(non-constant sequence pattern)이 스캔 체인을 통해 시프트되고, (블록 608에서는) 스캔 체인의 출력이 관찰된다. "일정하지 않은 시퀀스 패턴"은 여기에서 적어도 2개의 논리 상태를 구비하는 패턴으로 정의된다. 반드시 그래야 하는 것은 아니지만, "일정하지 않은 시퀀스 패턴"이 2 이상의 논리 상태 사이의 빈번한 전이를 구비하는 것도 바람직스럽다. "일정하지 않은"이 패턴에 반복이 없어야 한다는 것을 의미하는 것은 아니다.
블록 610에서는, 일정하지 않은 시퀀스 패턴이 예상 시간에서 스캔 체인으로부터 출력되는지가 판정된다. 그렇다면, (블록 612에서) 스캔 체인은 환경 변수의 특정 값에서 "양호한 것"으로 식별된다. 그렇지 않다면, 방법(600)은 단계 614로 진행한다. 블록 614에서는, 스캔 체인의 출력이 토글하는지가 판정된다. 예상치 못한 토글 패턴(unexpected toggle pattern)이 스캔 체인으로부터 출력되는 경우(즉, 블록 614가 예로 응답되는 경우), 스캔 체인은 홀드 타임 결함 분석을 위한 양호한 후보이다. 평탄선 패턴(flat line pattern)이 스캔 체인으로부터 출력되는 경우, (블록 616에서) 스캔 체인은 "평탄선화된 것"으로 식별된다. "평탄선 패턴"은 여기에서 단일 논리 상태(예를 들어, 모두 논리 1 또는 모두 논리 0)를 가진 일련의 연속적인 비트로 이루어진 패턴으로서 정의된다. 일정하지 않은 시퀀스 패턴에 응답하여 평탄선 패턴을 출력하는 스캔 체인은 (예를 들어, 그라운드 쇼트때문에) 통상적으로 블록화된다.
홀드 타임 결함 분석은 판정 블록 618에서 시작하고, 스캔 체인이 환경 변수의 임의 값에서 일정하지 않은 시퀀스 패턴을 출력하는지를 판정하는 단계를 구비한다. 스캔 체인이 환경 변수의 임의 값에서 일정하지 않은 시퀀스 패턴을 출력하는데 실패하면, (블록 620에서는) 제1 수의 스캔 테스트 결과에 기초해 스캔 체인에서의 가능한 홀드 타임 결함의 수가 판정된다. 그러나, 스캔 체인이 일정하지 않은 시퀀스 패턴을 출력하면, (블록 622에서는) 제2 수의 스캔 테스트 결과에 기초해 스캔 체인에서의 적어도 하나의 가능한 홀드 타임 결함의 위치가 판정된다(그리고 바람직스럽기로는, 모든 홀드 타임 결함의 위치가 판정된다). 제2 수의 스캔 테스트는 환경 변수의 제1 및 제2 값을 사용해 수행된다.
방법(400, 500 및 600)의 단계는 예시일 뿐이고, 방법(400, 500, 600)의 다양한 변경이 존재한다. 일부 경우에서는, 추가 단계가 방법(400, 500, 600)에 삽입될 수도 있다. 또한, 동일하거나 상이한 경우에서, 단계가 수행되는 순서가 달라질 수도 있다.
도 7은 방법(600)의 변경(700)을 나타내는데, 여기에서는, 스캔 체인이 예상치 못한 토글 패턴을 출력하는 (따라서 홀드 타임 결함 분석을 위한 양호한 후보인) 경우, 스캔 체인이 환경 변수의 임의 값에서 일정하지 않은 시퀀스 패턴을 출력하는지의 여부와 상관없이 (블록 702에서) 스캔 체인에서의 가능한 홀드 타임 결함의 수가 판정된다.
가능한 홀드 타임 결함의 수 또는 위치를 판정하는 예시적 방법을 개시하기 전에, "배경 패턴(background pattern)"의 개념이 도입될 것이다. 배경 패턴은 적어도 n개의 연속 비트 패턴(pattern of at least n contiguous bits)인데, 여기에서, n은 분석 중인 스캔 체인의 길이이다. 가능한 홀드 타임 결함을 가진 스캔 체인은 데이터가 달라지는 중일 때 안정적으로 로드되거나 언로드될 수 없기 때문에 그리고 그러한 스캔 체인의 길이는 일관성이 없어 보이기 때문에, 분석 패턴(즉, 스캔 체인의 출력이 관찰될 패턴)을 스캔 체인에 로드하기 전에 배경 패턴을 스캔 체인에 로드하는 것이 바람직스럽다. 배경 패턴은 미지 데이터 전이(unknown data transitions)의 스캔 체인을 플러싱(flushing)하는 역할을 한다. 배경 패턴에 후속될 분석 패턴의 유형에 따라, 배경 패턴은, 예를 들어, 논리 1의 적어도 n개의 연속 비트 또는, 다른 방법으로, 논리 0의 적어도 n개의 연속 비트일 수 있다. 일부 경우에서는, 침략자 비트가 분석 패턴을 손상시키지 않는다는 것을 보장하기 위해, 분석 패턴에 배경 패턴이 후속될 수도 있다.
배경 패턴의 개념을 논의한 상태에서, 도 8은 스캔 체인에서의 가능한 홀드 타임 결함의 수를 판정하는 예시적 방법(800)을 나타낸다. 일례로써, 방법(800)은 도 4, 도 6 또는 도 7에 표시된 방법(400, 600, 700) 중 어떤 것을 실행한 결과로서 실행될 수도 있다.
방법(800)은 (블록 802에서) 스캔 체인의 환경 변수 값을 스캔 체인에서 홀드 타임 결함을 발생시킬 것으로 생각되는 값으로 설정하는 것으로 시작한다. 그 다음, (블록 804에서는) 스캔 체인을 통해 패턴이 시프트된다. 패턴은, 제2 논리 상태의 적어도 1개 비트가 후속하는, 제1 논리 상태의 적어도 n개의 연속 비트로 이루어진 배경 패턴을 구비하는데, 여기에서, n은 스캔 체인의 길이이다. 스캔 체인을 통해 패턴을 시프트하는 동안 또는 패턴을 시프트한 후에, (블록 806에서는) i) 적어도 1개 비트가 스캔 체인의 출력에서 전이를 발생시킬 것으로 예상되는 클럭 사이클과 ii) 적어도 1개 비트가 스캔 체인의 출력에서 실제로 전이를 발생시키는 클럭 사이클 사이의 차이로서 스캔 체인에서의 가능한 홀드 타임 결함의 수가 판정될 수 있다. 다시 말해, 홀드 타임 결함은 데이터가 하나 이상의 스캔 셀을 통해 지나치게 빨리 전파하는 것을 가능하게 하기 때문에, 방법(800)은, "제2 논리 상태의 적어도 1개 비트"가 몇 개의 클럭 사이클만큼 "지나치게 빨리" 스캔 체인의 출력에서 전이를 발생시키는지를 판정한다. 제2 논리 상태의 적어도 1개 비트가 예상 시점에서 전이를 발생시킨다면, 스캔 체인은 홀드 타임 결함을 갖지 않을 수도 있고; 제2 논리 상태의 적어도 1개 비트가 전이를 지나치게 늦게 발생시킨다면, 스캔 체인은 홀드 타임 결함 이외의 오류를 가질 수도 있다.
제1 논리 상태의 배경 패턴에 수반되는 "제2 논리 상태의 적어도 1개 비트"가 단일 비트로만 이루어질 수도 있지만, 견고성(robustness)을 위해(그리고 기존의 스캔 체인 로드 프로세스와의 호환성을 위해) "제2 논리 상태의 적어도 1개 비트"를 제2 논리 상태의 적어도 n개의 연속 비트로서 구성하는 것이 바람직스럽다.
방법(800)은, 앞서 설명된 바와 같이, 일 "극성(polarity)"의 홀드 타임 결함의 수(예를 들어, 상승 에지 또는 논리 0-1 오류 수, "또는" 하강 에지 또는 논리 1-0 오류 수)가 판정될 수 있게 한다. 그러나, 방법(800)은 상승 에지 홀드 타임 결함의 수 "및" 하강 에지 홀드 타임 결함의 수의 판정을 가능하게 하도록 확장될 수 있다. 예를 들어, 일 실시예에서, 방법(800)에 따라 스캔 체인을 통해 시프트되는 패턴은, 제1 논리 상태의 2n개 비트, 제2 논리 상태의 2n개 비트, 제1 논리 상태의 n개 비트를 기재된 순서대로 구비할 수도 있다. 이 실시예에서, 스캔 체인을 통해 패턴을 시프트하는 동안이나 스캔 체인을 통해 패턴을 시프트한 후에, 상승 및 하강 에지 홀드 타임 결함의 수는 i) 개개 에지가 스캔 체인으로부터 출력될 것으로 예상되는 클럭 사이클과 ii) 개개 에지가 스캔 체인으로부터 실제로 출력되는 클럭 사이클 사이의 차이로서 판정될 수 있다. 스캔 체인을 통해 시프트되는 패턴에는 제1 논리 상태의 선행 2n개 비트가 제공되는데, 체인에서의 홀드 타임 결함은 스캔 체인의 "겉보기" 길이를 변경시킬 수 있기 때문이고, 2n개 비트가 완전한 스캔 체인 워싱의 좀더 양호한 가능성을 제공한다.
가능한 홀드 타임 결함의 위치를 판정하는 예시적 방법을 개시하기 전에, 환경 변수의 제1 및 제2 값을 판정하는 예시적 방법이 논의될 것이다. 제1 값은 스캔 체인에서 홀드 타임 결함 거동이 관찰되는 값이고, 제2 값은 스캔 체인에서 홀드 타임 결함 거동이 관찰되지 않는 값이다.
일부 경우에서, 환경 변수의 제1 및 제2 값은 단순히 사용자로부터 그것을 수신하는 것에 의해 판정될 수도 있다. 예를 들어, 사용자는 컴퓨터의 사용자 인터페이스를 통해 값을 입력하는 것에 의해 또는 값을 전자 파일에 저장하는 것에 의해 그것을 제공할 수 있다. 사용자는, 제1 값은 스캔 체인으로 하여금 홀드 타임 결함 거동을 나타내게 할 것이고 제2 값은 그렇지 않을 것이라는 의혹 또는 지식에 기초해 값을 제공할 수도 있고; 또는 사용자는, 제1 값은 "목표값"(또는 스캔 체인을 위한 환경 변수의 정상 동작 범위 이내)이라는 것에 기초해 그리고 제2 값은 스캔 체인을 위한 환경 변수의 정상 동작 범위를 벗어난다는 것에 기초해 값을 제공할 수도 있다. 제2 값이, 환경 변수의 정상 동작 범위를 벗어나기는 하지만 스캔 체인을 손상시키지는 않을 것으로 예상되는 범위 이내라는 것을 보장하기 위해 주의가 취해질 수도 있다.
다른 경우에서, 환경 변수의 제1 또는 제2 값은 방법(600;도 6)과 같은 방법을 사용해 식별될 수도 있다. 즉, (블록 606, 608, 610, 614에서) 복수개 환경 변수 값(즉, 2개 이상의 값) 각각에 대해, 예상 시점에서 스캔 체인으로부터 일정하지 않은 시퀀스 패턴이 출력되는지를 판정하기 위해 일정하지 않은 시퀀스 패턴이 스캔 체인을 통해 시프트될 수 있다. 그 다음, (블록 618에서) 환경 변수의 제1 값은, 스캔 체인이 예상치 못한 토글 패턴을 출력하게 하는 복수개 값 중 하나(또는 목표값이나 스캔 체인의 정상 동작 범위 이내 값)로서 식별될 수 있다. 그 다음, (블록 610에서) 환경 변수의 제2 값은, 예상 시점에서 일정하지 않은 시퀀스 패턴이 스캔 체인으로부터 출력되게 하는 복수개 값 중 하나로서 식별될 수 있다.
일부 실시예에서, 방법(600)의 블록 604 내부 단계는 목표값보다 낮은 값에서 시작한 다음 증가하는 환경 변수 값에 대해 순차적으로 반복될 수도 있다. 다른 실시예에서, 블록 604 내부 단계는 목표값보다 높은 값에서 시작한 다음 감소하는 환경 변수 값에 대해 순차적으로 반복될 수도 있다. 어떤 경우이든, 블록 604의 단계가 반복되는 환경 변수 값은 환경 변수 값을 스텝 사이즈에 따라 스테핑(stepping)(또는 스위핑(sweeping))하는 것에 의해 판정될 수 있다. 스텝 사이즈는 제1 및 제2 값이 존재하는지를 판정하기에 충분한 분해능(resolution)을 제공하도록 선택될 수 있다. 다른 방법으로, 환경 변수 값은 무작위로 또는 어떤 값이 작용할 수 있는지의 지식에 기초해 선택될 수도 있다.
바람직스럽기로는, 방법(600)의 블록 604 내부 단계는 결과가 반복 가능하다는 것을 보장하기 위해 환경 변수 값 각각에 대해 한번보다 많이 반복된다.
환경 변수의 제1 또는 제2 값을 식별하는 다른 방법은 상이한 환경 변수 값에 대해 방법(800)과 같은 방법을 수행하는 것에 의한 것이다. 그 다음, 제1 값은 스캔 체인이 예상 시점(또는 클럭 사이클) 이전에 전이를 출력하게 하는 값으로서 식별될 수 있고, 제2 값은 스캔 체인이 예상 시점에서 전이를 출력하게 하는 값으로서 식별될 수 있다.
환경 변수의 적합한 제1 및 제2 값을 판정하는 다양한 예시적 방법을 논의하였으므로, 이제는 스캔 체인에서의 가능한 홀드 타임 결함의 수를 판정하는 예시적 방법(900)을 나타내는 도 9를 참조할 것이다. 일례로써, 방법(900)은 도 5, 도 6 또는 도 7에 표시된 방법(500, 600, 700) 중 어떤 것을 실행한 결과로서 실행될 수도 있다.
방법(900)의 실행은, 스캔 체인의 환경 변수가 제1 값 및 제2 값으로 다르게 설정될 수 있다는 것을 가정하는데, 제1 값은 스캔 체인에서 홀드 타임 결함을 발생시킬 것으로 생각되고, 제2 값은 스캔 체인에서 홀드 타임 결함을 발생시키지 않을 것으로 생각된다. 이러한 맥락에서, 방법(900)은 (블록 902에서) 환경 변수가 제2 값으로 설정되어 있는 상태에서 적어도 하나의 스캔 패턴을 스캔 체인 내로 시프트하는 것으로 시작한다(여기에서, N은 스캔 체인 내로 시프트될 스캔 패턴의 수이다). 스캔 체인 내로 시프트되는 스캔 패턴 각각에 대해, 특정 스캔 패턴을 스캔 체인 내로 시프트한 후, 환경 변수는 일시적으로 (블록 906에서) 제1 값으로 설정된다(블록 904 참고하기). 그 다음, 스캔 체인은 (블록 908에서) 환경 변수의 제1 값에서 적어도 한번 클러킹된다. 그 후, (블록 910에서) 환경 변수는 제2 값으로 복귀되고, 환경 변수가 제2 값으로 유지되는 상태에서, 특정 스캔 패턴이 스캔 체인 밖으로 시프트된다. 매 비트 기반으로, 스캔 체인 밖으로 시프트되는 특정 스캔 패턴 각각은 (블록 912에서) 비트 차이의 적어도 1개 위치를 식별하기 위해 예상 스캔 패턴과 비교된다. 비트 차이가 식별될 때마다, (블록 914에서) 그 차이에 기초해 가능한 홀드 타임 결함의 새로운 위치가 식별된다.
방법(900)은 환경 변수의 안전한 값(즉, 제2 값)에서 데이터를 스캔 체인 밖으로 시프트하기 때문에, 불량 비트는, 스캔 체인이 환경 변수의 제1 값에서 클러킹(즉, 스캔 체인에서 홀드 타임 결함을 발생시킬 것으로 생각되는 환경 변수 값에서 클러킹)될 때의 데이터 오-전송(mis-transfer)을 지시한다. 바람직스럽기로는, 스캔 체인의 출력이 관찰되는 스캔 패턴 각각의 로드 이전에, 배경 패턴 로드가 원치않는 데이터의 스캔 체인을 워싱(washing)하는데 사용된다.
흔히, 방법(900)에 따라 스캔 체인을 통해 시프트되는 패턴 또는 패턴들은, 00110011 패턴을 반복하는 것과 같은, 체인 무결성 패턴에 기초할 수 있다.
방법(900)은, 스캔 체인이 환경 변수의 제1 값에서 시프트될 때, 적어도 하나의 추가 클럭을 도입하기 때문에, 스캔 체인의 출력에서 예상되는 스캔 패턴(들)은 적어도 1개 비트만큼 감소될 것이다. 이것은 로드된 패턴의 선행 비트 또는 비트들(leading bit or bits)이, 정상적인 언로드 프로세스 동안이 아니라, 추가 클럭(들) 동안에 시프트 아웃된다는 사실 때문이다. 따라서, 짝수 패리티의 스캔 체인을 위해, 다음 패턴이 로드되고 예상된다.
로드 패턴: 00110011
예상 패턴: 0110011
홀드 타임 결함이 다른 데이터 전이에 대해서는 발생하지 않으면서 일부 데이터 전이에 대해서만 발생할 수 있기 때문에, 방법(900)은, 스캔 체인이 환경 변수의 제1 값에서 클러킹될 때, 스캔 체인에서의 스캔 셀 각각이 논리 0-1, 논리 1-1, 논리 1-0 및 논리 0-0 전이를 경험한다는 것을 보장하도록 구성될 수 있다. 일 실시예에서, 이것은 스캔 체인을 통해 00110011 반복 패턴의 상이한 위상(phases)을 시프트한 다음, 위상 패턴 각각에 대해, 환경 변수의 제1 값에서 단 한번 스캔 체인을 클러킹하는 것에 의해 실현된다. 좀더 구체적으로, 상이한 위상은 다음과 같다.
제1 위상: 00110011 (즉, 16진수 3의 위상)
제2 위상: 01100110 (즉, 16진수 6의 위상)
제3 위상: 11001100 (즉, 16진수 C의 위상)
제4 위상: 10011001 (즉, 16진수 9의 위상)
위상의 명명 규칙 및 그것이 적용되는 순서는 중요하지 않다.
상기한 예시적 위상 패턴 및 짝수 패리티 스캔 체인이 주어진 상태에서, 다음 패턴이 로드되고 예상된다.
제1 위상의 로드 패턴: 00110011
제1 위상의 예상 패턴: 0110011
제2 위상의 로드 패턴: 01100110
제2 위상의 예상 패턴: 1100110
제3 위상의 로드 패턴: 11001100
제3 위상의 예상 패턴: 1001100
제4 위상의 로드 패턴: 10011001
제4 위상의 예상 패턴: 0011001
상기 위상 패턴은 예시일 뿐이고, 스캔 체인이 환경 변수의 제1 값에서 클러킹될 때, 스캔 체인에서의 스캔 셀 각각이 논리 0-1, 논리 1-1, 논리 1-0 및 논리 0-0 전이를 경험한다는 것을 보장하는데 다른 패턴이 사용될 수 있다. 스캔 셀을 모든 가능한 논리 전이에 노출시키도록 방법(900)을 구성하는 것에 의해, 방법(900)은, 홀드 타임 결함(들)의 극성에 상관없이, 모든 가능한 홀드 타임 결함의 위치(들)가 판정될 수 있게 한다.
반복 패턴의 사본이 자체적으로 무너지는 것을 방지하기 위해, 반복 패턴의 길이가 스캔 체인에서의 가능한 홀드 타임 결함의 수보다 커서는 안된다는 것에 주의해야 한다.
홀드 타임 결함의 위치가 식별되는 속도는 일정하지 않은 시퀀스 패턴으로 스캔 체인을 채우는 것에 의해 대체로 증가하지만, 때로는 홀드 타임 결함이 예상되거나 검출되는 스캔 체인의 특정 영역에 짧은 데이터 시퀀스를 적용하는 것이 도움이 된다. 예를 들어, 환경 변수의 제1(또는 안전하지 않은) 값에서 하나 이상의 사이클 동안 스캔 체인의 영역을 통해 클러킹된, 1000010000 패턴의 단일 포그라운드 벡터(foreground vector)를 가진 0 배경이 때로는 데이터 민감도를 검출할 수 있다.
여기에서 개시된 방법(400, 500, 600, 700, 800, 900)은 여러 스캔 체인을 가진 DUT에 적용될 수도 있다. 그러한 경우, 여러(또는 모든) 스캔 체인이 배경 또는 분석 패턴과 병렬로 로드될 수도 있다. 그러나, 모든 스캔 체인에 배경 패턴을 로드한 다음 단 하나의 스캔 체인에만 분석 패턴을 로드하는 것에 의해, 때때로 홀드 타임 결함의 수 또는 위치를 분리하는 것이 필요할 것이다. 또한, 스캔 체인의 길이가 균일하지 않다면, 일부 스캔 체인을 "X(don't care)" 비트로써 프리-패딩(pre-padding)하거나 포스트-패딩(post-padding)하는 것이 필요할 수도 있다. 이런 경우, 통상적으로 "don't care" 비트를 배경 패턴에 대한 이들 비트의 상태에 정합시키는 것이 바람직스러울 것이다.
방법(500, 600, 700 또는 900)이 여러 스캔 체인을 가진 DUT에 적용되는 경우, 스캔 체인 중 상이한 스캔 체인들을 위해 환경 변수의 상이한 "제2 값"(또는 안전한 값)들이 판정되거나 사용될 수도 있다.
여기에서 개시된 방법(400, 500, 600, 700, 800, 900)은 짝수 또는 홀수 패리티를 가진 스캔 체인에 적용될 수도 있다. 이들 방법 중 어떤 것이든 홀수 패리티를 가진 스캔 체인에 적용되는 경우에는, 특정 패턴이 스캔 체인으로부터 출력되는지를 판정할 때의 패턴 반전을 방법(400, 500, 600, 700, 800 또는 900)이 책임질(accounting for) 수도 있다.
앞서 논의된 바와 같이, 여기에서 개시된 방법(400, 500, 600, 700, 800, 900)은 스캔 체인에서의 홀드 타임 결함의 수 또는 위치가 판정될 수 있게 한다. 흔히, 이것은 DUT의 클럭 분배 시스템에 존재할 수도 있는 결함의 유형 또는 위치를 판정하는데 도움이 될 수 있다.
그것의 구현에 따라, 방법(400, 500, 600, 700, 800, 900)은 다양한 이점을 제공할 수 있다. 예를 들어, 방법은 홀드 타임 결함의 수 및/또는 위치를, 특정 DUT를 위해 특정 테스트 프로그램을 요구하지 않으면서, 일반화된 방법으로 판정하는 적응적 프로세스의 일부로서 구현될 수 있다. 방법은 홀드 타임 결함을 진단하기 위한 특수-목적 벡터에 대한 필요성을 최소화하거나 제거하는 기존의 체인 무결성 또는 고착(stuck-at) 벡터를 사용해서도 구성될 수 있다. 방법은 실시간 분석을 제공하도록 구성될 수도 있다.
방법(600 및 700)과 관련해서, 실시간 판정이 이루어질 수 있고, 방법(600 및 700)의 흐름은 스캔 체인이 "양호함", "평탄선화됨" 또는 홀드 타임 결함 분석을 위한 양호한 후보라는 판정에 기초해 변경될 수 있다. 스캔 체인이 홀드 타임 결함 분석을 위한 양호한 후보라고 판단되는 경우, 목표값과 상이한 환경 변수 값에서 스캔 체인이 정확하게 동작하는지의 여부에 따라, 상이한 분석 유형이 개시될 수 있다.
방법(400, 500, 600, 700, 800 및 900)은 상승 에지 홀드 타임 결함 및 하강 에지 홀드 타임 결함 양자의 수 및/또는 위치도 제공할 수 있는데, 이는 그러한 결함의 소스를 판정하는데 도움이 될 수 있다.
일부 실시예에서, 방법(400, 500, 600, 700, 800 및 900) 중 하나 이상은 체인 무결성 테스트의 실패시에 또는 스캔 체인 오류가 존재할 수도 있다는 다른 통지 이후에 자동적으로 착수될 수 있다.
여기에서 개시된 방법(400, 500, 600, 700, 800 및 900)은 다양한 방법으로 구현될 수 있고, 일부 실시예에서는, 주로 소프트웨어 또는 펌웨어에 의해 구현될 수도 있는데, 이 경우, 소프트웨어 또는 펌웨어는 컴퓨터 또는 테스트 시스템에 의해 실행되는 경우, 스캔 패턴의 시퀀스가 하나 이상의 스캔 체인의 스캔 입력(들) 및 스캔 출력(들)에 인가되게 하고 그로부터 판독되게 하는 명령을 포함할 수 있다. 또한, 소프트웨어 또는 펌웨어는 스캔 체인(들)을 위한 하나 이상의 환경 변수 값 뿐만 아니라, SE(scan enable) 및 CK(scan clock) 입력과 같은, 스캔 테스팅의 다른 변수를 제어하는 명령도 포함할 수 있다. 소프트웨어 또는 펌웨어는 컴퓨터-판독 가능 매체에 저장될 수도 있다. 컴퓨터-판독 가능 매체는, 예를 들어, 단일 위치에 또는 네트워크에 걸쳐 분산된 위치에, (하나 이상의 고정 디스크, RAM(random access memory), ROM(read-only memory) 또는 CD(compact disc)와 같은) 임의 개수의 고정 또는 이동식 매체나 고정 또는 이동식 매체의 혼합물을 포함할 수 있다. 컴퓨터-판독 가능 매체는, FPGA(field-programmable gate array)와 같은, 프로그램된 회로도 포함할 수 있다.
방법(400, 500, 600, 700, 800 및 900)은, 스캔 체인의 스캔 출력으로부터 스캔 패턴이 판독됨에 따라(또는 예상 패턴의 경우에는, 스캔 체인의 스캔 출력에 공급됨에 따라) 스캔 패턴을 비교하는 하드웨어와 같은, 하드웨어를 사용해서도 구현될 수도 있다. 더 나아가, 일례로써, 하드웨어-기반 카운터가, 얼마나 많은 클럭 사이클만큼 스캔 패턴이 스캔 출력에서 "이른" 또는 "늦은" 전이를 발생시키는지를 판정하는데 사용될 수도 있다. 방법(500, 600, 700 및 900)에 의해 이용되는 하드웨어는 패턴 제어에 따라 제1 전압과 제2 전압 사이에서 스위치될 수 있는 패턴 제어형 전원 공급 장치도 포함할 수 있다.
일부 경우에서, 방법(400, 500, 600, 700, 800 및 900)을 실행하는 것에 의해 획득되는 홀드 타임 결함의 수 또는 위치는 (STDF 파일과 같은) 파일에 저장되고 사용자 또는 다운스트림 분석 소프트웨어에 의해 나중에 판독되거나 해석될 수도 있다. 다른 방법으로, 방법(400, 500, 600, 700, 800 및 900)으로부터 유도되는 데이터는 텍스트 또는 그래픽 포맷으로 즉시 디스플레이될 수도 있다. 예를 들어, 결함의 수 또는 위치가 텍스트로 디스플레이될 수 있거나, 결함의 위치가 피해 스캔 셀(affected scan cells)의 디스플레이된 이미지에 매핑될 수 있다.

Claims (28)

  1. 테스트 중인 장치의 스캔 체인을 분석하는 방법으로서,
    상기 스캔 체인의 환경 변수(environmental variable)를 제1 값으로 설정한 다음, 예상치 못한 토글 패턴(toggle pattern)이 상기 스캔 체인으로부터 출력되는지를 판정하기 위해, 일정하지 않은 시퀀스 패턴을 상기 스캔 체인을 통해 시프트하는 단계;
    상기 환경 변수를 제2 값으로 설정한 다음, 상기 일정하지 않은 시퀀스 패턴이 예상 시점에서 상기 스캔 체인으로부터 출력되는지를 판정하기 위해, 상기 일정하지 않은 시퀀스 패턴을 상기 스캔 체인을 통해 시프트하는 단계; 및
    적어도 상기 스캔 체인이 i) 상기 환경 변수의 상기 제1 값에서는 예상치 못한 토글 패턴을 출력하고 ii) 상기 환경 변수의 상기 제2 값에서는, 상기 예상 시점에서, 상기 일정하지 않은 시퀀스 패턴을 출력하는데 실패하는 경우, 제1 수의 스캔 테스트의 결과에 기초해 상기 스캔 체인에서의 가능한 홀드 타임 결함(hold time fault)의 수를 판정하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 스캔 체인이 i) 상기 환경 변수의 상기 제1 값에서는 예상치 못한 토글 패턴을 출력하고, ii) 상기 환경 변수의 상기 제2 값에서는, 상기 예상 시점에서, 상기 일정하지 않은 시퀀스 패턴을 출력하는 경우, 제2 수의 스캔 테스트의 결과에 기초해 상기 스캔 체인에서의 적어도 하나의 가능한 홀드 타임 결함의 위치를 판정하는 단계를 더 포함하고, 상기 제2 수의 스캔 테스트는 상기 환경 변수의 상기 제1 값 및 상기 제2 값을 사용해 수행되는 방법.
  3. 제2항에 있어서,
    상기 스캔 체인에서의 상기 적어도 하나의 가능한 홀드 타임 결함의 위치를 판정하는 단계는,
    상기 환경 변수가 상기 제2 값으로 설정되어 있는 상태에서 적어도 하나의 스캔 패턴을 상기 스캔 체인 내로 시프트하는 단계;
    상기 스캔 체인 내로 시프트된 상기 적어도 하나의 스캔 패턴 각각에 대해, 특정 스캔 패턴을 상기 스캔 체인 내로 시프트한 후,
    일시적으로 상기 환경 변수를 상기 제1 값으로 설정한 다음;
    상기 스캔 체인을 적어도 한번 클러킹(clocking)한 다음;
    상기 환경 변수가 상기 제2 값으로 설정되어 있는 상태에서 상기 특정 스캔 패턴을 상기 스캔 체인 밖으로 시프트하는 단계;
    매 비트 기반으로, 상기 스캔 체인 밖으로 시프트되는 특정 스캔 패턴 각각을 예상 스캔 패턴과 비교하여 비트 차이의 적어도 1개 위치를 식별하는 단계; 및
    상기 비트 차이의 적어도 1개 위치에 기초해, 상기 스캔 체인에서의 상기 적어도 하나의 가능한 홀드 타임 결함의 위치를 판정하는 단계
    를 포함하는 방법.
  4. 제3항에 있어서,
    상기 스캔 체인에서의 상기 적어도 하나의 가능한 홀드 타임 결함의 위치를 판정할 때, 상기 스캔 체인 내로 적어도 하나의 스캔 패턴을 시프트하는 단계는,
    복수개 스캔 패턴을 상기 스캔 체인 내로 시프트하는 단계를 포함하고,
    상기 복수개 스캔 패턴은, 상기 스캔 체인이 상기 환경 변수의 상기 제1 값에서 클러킹될 때 각 스캔 셀의 논리 0-1, 논리 1-1, 논리 1-0 및 논리 0-0 전이의 경험을 보장하는 비트 시퀀스를 가짐으로써, 상기 홀드 타임 결함(들)의 극성에 상관없이, 모든 가능한 홀드 타임 결함의 위치(들)가 판정될 수 있게 하는 방법.
  5. 제4항에 있어서,
    상기 복수개 스캔 패턴은 반복하는 16진수 3, 6, C 및 9의 패턴을 포함하는 방법.
  6. 제3항에 있어서,
    상기 스캔 체인을 적어도 한번 클러킹하는 단계는 상기 스캔 체인을 단 한번 클러킹하는 단계로 이루어지는 방법.
  7. 제1항에 있어서,
    상기 스캔 체인이 i) 상기 환경 변수의 상기 제1 값에서는 예상치 못한 토글 패턴을 출력하고, ii) 상기 환경 변수의 상기 제2 값에서는 상기 일정하지 않은 시퀀스 패턴을 출력하는 경우, 제1 수의 스캔 테스트의 결과에 기초해 상기 스캔 체인에서의 가능한 홀드 타임 결함의 수를 판정하는 단계를 더 포함하는 방법.
  8. 제1항에 있어서,
    상기 환경 변수의 상기 제1 값에서 상기 스캔 체인을 통해 상기 일정하지 않은 시퀀스 패턴을 시프트한 후, i) 예상 패턴이 상기 스캔 체인으로부터 출력되는 경우라면 상기 스캔 체인을 "양호한 것"으로 식별하고, ii) 상기 스캔 체인으로부터 평탄선 패턴이 출력되는 경우라면 상기 스캔 체인을 "평탄선화된 것(flat-lined)"으로 식별하는 단계를 더 포함하는 방법.
  9. 제8항에 있어서,
    상기 스캔 체인이 상기 환경 변수의 상기 제1 값에서 예상치 못한 토글 패턴을 출력하는 경우, 상기 환경 변수를 상기 제2 값으로만 설정하는 단계를 더 포함하는 방법.
  10. 제1항에 있어서,
    사용자로부터 상기 환경 변수의 상기 제1 및 제2 값을 수신하는 단계를 더 포함하는 방법.
  11. 제1항에 있어서,
    상기 환경 변수의 복수개 값 각각에 대해, 상기 일정하지 않은 시퀀스 패턴이 예상 시점에서 상기 스캔 체인으로부터 출력되는지를 판정하기 위해 상기 스캔 체인을 통해 상기 일정하지 않은 시퀀스 패턴을 시프트하고;
    상기 복수개 값 중에서, 상기 예상 시점에서 상기 스캔 체인으로부터 상기 일정하지 않은 시퀀스 패턴이 출력되게 하는 값으로서 상기 환경 변수의 상기 제2 값을 식별하는 것에 의해,
    상기 환경 변수의 상기 제2 값을 식별하는 단계를 더 포함하는 방법.
  12. 제1항에 있어서,
    상기 제1 값은 상기 스캔 체인을 위한 상기 환경 변수의 정상 동작 범위 이내이고, 상기 제2 값은 상기 스캔 체인을 위한 상기 환경 변수의 정상 동작 범위를 벗어나는 방법.
  13. 제1항에 있어서,
    상기 스캔 체인에서의 상기 홀드 타임 결함의 수를 판정하는 단계는,
    상기 환경 변수를 상기 제1 값으로 설정하는 단계;
    그 다음, 상기 스캔 체인을 통해, 제2 논리 상태의 적어도 1개 비트가 후속하는, 제1 논리 상태의 적어도 n개의 연속 비트로 이루어진 배경 패턴을 시프트하는 단계; 및
    i) 상기 적어도 1개 비트가 상기 스캔 체인의 출력에서 전이를 발생시킬 것으로 예상되는 클럭 사이클과 ii) 상기 적어도 1개 비트가 상기 스캔 체인의 상기 출력에서 실제로 전이를 발생시키는 클럭 사이클 사이의 차이로서 상기 스캔 체인에서의 상기 가능한 홀드 타임 결함의 수를 판정하는 단계
    를 포함하는 방법.
  14. 제1항에 있어서,
    상기 스캔 체인에서의 상기 홀드 타임 결함의 수를 판정하는 단계는,
    상기 환경 변수를 상기 제1 값으로 설정하는 단계;
    그 다음, 상기 스캔 체인을 통해, 상기 제1 논리 상태의 2n개 비트, 제2 논리 상태의 2n개 비트, 제1 논리 상태의 n개 비트를 기재된 순서대로 포함하는 패턴을 시프트하는 단계 - n은 상기 스캔 체인에서의 스캔 셀 수임 - ; 및
    i) 각각의 에지가 상기 스캔 체인으로부터 출력될 것으로 예상되는 클럭 사이클과 ii) 상기 각각의 에지가 상기 스캔 체인으로부터 실제로 출력되는 클럭 사이클 사이의 차이로서, 상승 에지 홀드 타임 결함의 수 및 하강 에지 홀드 타임 결함의 수를 판정하는 단계
    를 포함하는 방법.
  15. 제1항에 있어서,
    상기 스캔 체인이 홀수 패리티를 가진다면, 상기 스캔 체인으로부터 특정 패턴이 출력되는지의 여부를 판정하는 단계는 패턴 반전을 책임지는 단계를 포함하는 방법.
  16. 제1항에 있어서,
    상기 환경 변수는 공급 전압인 방법.
  17. 제1항에 있어서,
    상기 환경 변수는 온도인 방법.
  18. 제1항에 있어서,
    상기 환경 변수는 스캔 시프트 클럭 속도인 방법.
  19. 테스트 중인 장치의 스캔 체인을 분석하는 방법으로서,
    상기 스캔 체인의 환경 변수를 제1 값으로 설정한 다음, 상기 스캔 체인으로부터 예상치 못한 토글 패턴이 출력되는지를 판정하기 위해, 상기 스캔 체인을 통해 일정하지 않은 시퀀스 패턴을 시프트하는 단계;
    상기 환경 변수를 제2 값으로 설정한 다음, 상기 스캔 체인으로부터 예상 시점에서 상기 일정하지 않은 시퀀스 패턴이 출력되는지를 판정하기 위해, 상기 스캔 체인을 통해 상기 일정하지 않은 시퀀스 패턴을 시프트하는 단계; 및
    상기 스캔 체인이 i) 상기 환경 변수의 상기 제1 값에서는 예상치 못한 토글 패턴을 출력하고, ii) 상기 환경 변수의 상기 제2 값에서는, 상기 예상 시점에서, 상기 일정하지 않은 시퀀스 패턴을 출력하는 경우, 다수 스캔 테스트의 결과에 기초해 상기 스캔 체인에서의 적어도 하나의 가능한 홀드 타임 결함의 위치를 판정하는 단계 - 상기 다수 스캔 테스트는 상기 환경 변수의 상기 제1 및 제2 값을 사용해 수행됨 -
    를 포함하는 방법.
  20. 제19항에 있어서,
    상기 환경 변수는 공급 전압인 방법.
  21. 테스트 중인 장치의 스캔 체인에서의 가능한 홀드 타임 결함의 수를 판정하는 방법으로서,
    상기 스캔 체인의 환경 변수를 상기 스캔 체인에서 홀드 타임 결함을 발생시킬 것으로 생각되는 값으로 설정하는 단계;
    그 다음, 상기 스캔 체인을 통해 패턴을 시프트하는 단계 - 상기 패턴은, 제2 논리 상태의 적어도 1개 비트가 후속되는, 제1 논리 상태의 적어도 n개의 연속 비트로 이루어진 배경 패턴을 갖고, 여기에서 n은 상기 스캔 체인의 길이임 - ; 및
    i) 상기 적어도 1개 비트가 상기 스캔 체인의 출력에서 전이를 발생시킬 것으로 예상되는 클럭 사이클과 ii) 상기 적어도 1개 비트가 상기 스캔 체인의 상기 출력에서 실제로 전이를 발생시키는 클럭 사이클 사이의 차이로서 상기 스캔 체인에서의 가능한 홀드 타임 결함의 수를 판정하는 단계
    를 포함하는 방법.
  22. 제21항에 있어서,
    상기 스캔 체인을 통해 시프트되는 상기 패턴은, 상기 제1 논리 상태의 2n개 비트, 상기 제2 논리 상태의 2n개 비트, 상기 제1 논리 상태의 n개 비트를 기재된 순서대로 포함하고;
    상기 스캔 체인에서의 상기 홀드 타임 결함의 수를 판정하는 단계는, i) 각각의 에지가 상기 스캔 체인으로부터 출력될 것으로 예상되는 클럭 사이클과 ii) 상기 각각의 에지가 상기 스캔 체인으로부터 실제로 출력되는 클럭 사이클 사이의 차이로서, 상승 에지 홀드 타임 결함의 수 및 하강 에지 홀드 타임 결함의 수를 판정하는 단계를 포함하는 방법.
  23. 제21항에 있어서,
    상기 환경 변수는 공급 전압인 방법.
  24. 테스트 중인 장치의 스캔 체인에서의 적어도 하나의 가능한 홀드 타임 결함의 위치를 판정하는 방법으로서,
    상기 스캔 체인의 환경 변수를 상기 스캔 체인에서 홀드 타임 결함을 발생시킬 것으로 생각되는 제1 값 및 상기 스캔 체인에서 홀드 타임 결함을 발생시키지 않을 것으로 생각되는 제2 값으로 교대로 설정하는 단계;
    상기 환경 변수가 상기 제2 값으로 설정되어 있는 상태에서 적어도 하나의 스캔 패턴을 상기 스캔 체인 내로 시프트하는 단계;
    상기 스캔 체인 내로 시프트되는 스캔 패턴 각각에 대해, 특정 스캔 패턴을 상기 스캔 체인 내로 시프트한 후,
    일시적으로 상기 환경 변수를 상기 제1 값으로 설정한 다음;
    상기 스캔 체인을 적어도 한번 클러킹한 다음;
    상기 환경 변수가 상기 제2 값으로 설정되어 있는 상태에서 상기 특정 패턴을 상기 스캔 체인 밖으로 시프트하는 단계;
    매 비트 기반으로, 상기 스캔 체인 밖으로 시프트되는 특정 스캔 패턴 각각을 예상 스캔 패턴과 비교하여 비트 차이의 적어도 1개 위치를 식별하는 단계; 및
    상기 비트 차이의 상기 적어도 1개 위치에 기초해, 상기 스캔 체인에서의 상기 적어도 하나의 가능한 홀드 타임 결함의 위치를 판정하는 단계
    를 포함하는 방법.
  25. 제24항에 있어서,
    상기 스캔 체인 내로 적어도 하나의 스캔 패턴을 시프트하는 단계는 상기 스캔 체인 내로 복수개 스캔 패턴을 시프트하는 단계를 포함하고, 상기 복수개 스캔 패턴은, 상기 스캔 체인이 상기 환경 변수의 상기 제1 값에서 클러킹될 때, 각 스캔 셀의 논리 0-1, 논리 1-1, 논리 1-0 및 논리 0-0 전이 경험을 보장하는 비트 시퀀스를 가짐으로써, 상기 홀드 타임 결함(들)의 극성에 상관없이, 모든 가능한 홀드 타임 결함의 위치(들)가 판정될 수 있게 하는 방법.
  26. 제25항에 있어서,
    상기 복수개 스캔 패턴은 반복하는 16진수 3, 6, C 및 9의 패턴을 포함하는 방법.
  27. 제24항에 있어서,
    상기 스캔 체인을 적어도 한번 클러킹하는 단계는 상기 스캔 체인을 단 한번 클러킹하는 단계로 이루어지는 방법.
  28. 제24항에 있어서,
    상기 환경 변수는 공급 전압인 방법.
KR1020107011990A 2007-10-31 2008-10-31 스캔 체인을 분석하고, 스캔 체인에서의 홀드 타임 결함의 수 또는 위치를 판정하는 방법 KR101592042B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US11/931,847 2007-10-31
US11/931,847 US7853846B2 (en) 2007-10-31 2007-10-31 Locating hold time violations in scan chains by generating patterns on ATE
US12/058,768 2008-03-31
US12/058,768 US8010856B2 (en) 2007-10-31 2008-03-31 Methods for analyzing scan chains, and for determining numbers or locations of hold time faults in scan chains

Publications (2)

Publication Number Publication Date
KR20100086024A true KR20100086024A (ko) 2010-07-29
KR101592042B1 KR101592042B1 (ko) 2016-02-05

Family

ID=40584468

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107011990A KR101592042B1 (ko) 2007-10-31 2008-10-31 스캔 체인을 분석하고, 스캔 체인에서의 홀드 타임 결함의 수 또는 위치를 판정하는 방법

Country Status (6)

Country Link
US (1) US8010856B2 (ko)
JP (1) JP2011502267A (ko)
KR (1) KR101592042B1 (ko)
CN (1) CN101911491B (ko)
TW (1) TWI442071B (ko)
WO (1) WO2009059207A1 (ko)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI497328B (zh) * 2010-02-12 2015-08-21 Synopsys Shanghai Co Ltd Consider the reconstruction method and device of the scan chain of the program group
US8555121B2 (en) * 2010-02-16 2013-10-08 Apple Inc. Pulse dynamic logic gates with LSSD scan functionality
US8578226B2 (en) * 2010-08-17 2013-11-05 Eigenix Apparatus and system for implementing variable speed scan testing
TWI472912B (zh) * 2012-09-11 2015-02-11 Univ Nat Cheng Kung 以電路內部事件作為觸發條件之除錯控制系統及其方法
US9188643B2 (en) * 2012-11-13 2015-11-17 Globalfoundries Inc. Flexible performance screen ring oscillator within a scan chain
US10310015B2 (en) * 2013-07-19 2019-06-04 Advanced Micro Devices, Inc. Method and apparatus for providing clock signals for a scan chain
US9885753B2 (en) * 2013-10-09 2018-02-06 Nvidia Corporation Scan systems and methods
US9128151B1 (en) 2014-05-08 2015-09-08 International Business Machines Corporation Performance screen ring oscillator formed from paired scan chains
US9097765B1 (en) 2014-05-08 2015-08-04 International Business Machines Corporation Performance screen ring oscillator formed from multi-dimensional pairings of scan chains
US9490808B2 (en) * 2014-12-01 2016-11-08 Mediatek Inc. Sensing circuit
US9618579B2 (en) * 2015-04-28 2017-04-11 Lattice Semiconductor Corporation Programmable circuits for correcting scan-test circuitry defects in integrated circuit designs
US10449879B2 (en) * 2016-04-15 2019-10-22 The Boeing Company Protective removable cover
US11681843B2 (en) * 2018-01-17 2023-06-20 Siemens Industry Software Inc. Input data compression for machine learning-based chain diagnosis
US10838449B2 (en) * 2018-07-05 2020-11-17 International Business Machines Corporation Automatic detection of clock grid misalignments and automatic realignment
TWI681200B (zh) 2018-10-19 2020-01-01 瑞昱半導體股份有限公司 晶片
US11041906B2 (en) * 2019-04-19 2021-06-22 Siemens Industry Software Inc. Optimized scan chain diagnostic pattern generation for reversible scan architecture
CN111650499B (zh) * 2020-05-29 2022-08-16 Oppo广东移动通信有限公司 扫描链故障的诊断方法、装置、测试设备及存储介质
US11579191B2 (en) * 2020-06-19 2023-02-14 Taiwan Semiconductor Manufacturing Co., Ltd. Method and system for testing an integrated circuit
US11768239B1 (en) * 2021-05-12 2023-09-26 Marvell Asia Pte Ltd Method and apparatus for timing-annotated scan-chain testing using parallel testbench
CN116106729B (zh) * 2023-02-10 2024-06-07 无锡玖熠半导体科技有限公司 基于代价损失因子的扫描链及组合逻辑故障诊断方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3783254A (en) * 1972-10-16 1974-01-01 Ibm Level sensitive logic system
US4293919A (en) * 1979-08-13 1981-10-06 International Business Machines Corporation Level sensitive scan design (LSSD) system
US6085345A (en) * 1997-12-24 2000-07-04 Intel Corporation Timing control for input/output testability
US6516432B1 (en) 1999-12-22 2003-02-04 International Business Machines Corporation AC scan diagnostic method
TW530521B (en) * 2000-08-28 2003-05-01 Koninkl Philips Electronics Nv Circuit device for operating a high-pressure discharge lamp with successive current phases
US6954887B2 (en) * 2001-03-22 2005-10-11 Syntest Technologies, Inc. Multiple-capture DFT system for scan-based integrated circuits
US7058869B2 (en) * 2003-01-28 2006-06-06 Syntest Technologies, Inc. Method and apparatus for debug, diagnosis, and yield improvement of scan-based integrated circuits
JP2005032102A (ja) * 2003-07-09 2005-02-03 Matsushita Electric Ind Co Ltd スキャンテスト設計方法、スキャンテスト回路、スキャンフリップフロップ回路、スキャンテスト回路挿入用cadプログラム、大規模集積回路及び携帯デジタル機器
US7225374B2 (en) * 2003-12-04 2007-05-29 International Business Machines Corporation ABIST-assisted detection of scan chain defects
US7107502B2 (en) * 2004-01-29 2006-09-12 International Business Machines Corporation Diagnostic method for detection of multiple defects in a Level Sensitive Scan Design (LSSD)
US7234090B2 (en) * 2004-09-02 2007-06-19 International Business Machines Corporation Method and apparatus for selective scan chain diagnostics
US7395470B2 (en) * 2005-06-09 2008-07-01 International Business Machines Corporation Method, apparatus, and computer program product for diagnosing a scan chain failure employing fuses coupled to the scan chain
US7840862B2 (en) * 2006-02-17 2010-11-23 Mentor Graphics Corporation Enhanced diagnosis with limited failure cycles
US7788561B2 (en) * 2006-08-14 2010-08-31 Yu Huang Diagnosing mixed scan chain and system logic defects
US7568139B2 (en) * 2006-12-12 2009-07-28 Inovys Corporation Process for identifying the location of a break in a scan chain in real time
US8615695B2 (en) * 2007-04-04 2013-12-24 Mentor Graphics Corporation Fault dictionary-based scan chain failure diagnosis

Also Published As

Publication number Publication date
US20090113263A1 (en) 2009-04-30
KR101592042B1 (ko) 2016-02-05
TWI442071B (zh) 2014-06-21
CN101911491A (zh) 2010-12-08
WO2009059207A1 (en) 2009-05-07
US8010856B2 (en) 2011-08-30
JP2011502267A (ja) 2011-01-20
CN101911491B (zh) 2013-07-10
TW200931045A (en) 2009-07-16

Similar Documents

Publication Publication Date Title
KR101592042B1 (ko) 스캔 체인을 분석하고, 스캔 체인에서의 홀드 타임 결함의 수 또는 위치를 판정하는 방법
US7853846B2 (en) Locating hold time violations in scan chains by generating patterns on ATE
Krstic et al. Delay fault testing for VLSI circuits
US5056094A (en) Delay fault testing method and apparatus
Hetherington et al. Logic BIST for large industrial designs: Real issues and case studies
US11073556B2 (en) Low pin count reversible scan architecture
US20030101397A1 (en) IC test cell with memory output connected to input multiplexer
US11156661B2 (en) Reversible multi-bit scan cell-based scan chains for improving chain diagnostic resolution
EP3756020A1 (en) Deterministic stellar built-in self-test
US6651238B1 (en) Providing fault coverage of interconnect in an FPGA
US10520550B2 (en) Reconfigurable scan network defect diagnosis
US11408938B2 (en) Bidirectional scan cells for single-path reversible scan chains
US7039843B2 (en) Modeling custom scan flops in level sensitive scan design
US6920597B2 (en) Uniform testing of tristate nets in logic BIST
US20020188904A1 (en) Efficiency of fault simulation by logic backtracking
US6976199B2 (en) AC LSSD/LBIST test coverage enhancement
US9869718B1 (en) Scan test architecture and method for scan testing
US7328385B2 (en) Method and apparatus for measuring digital timing paths by setting a scan mode of sequential storage elements
US11092645B2 (en) Chain testing and diagnosis using two-dimensional scan architecture
EP0358371A2 (en) Enhanced test circuit
Ahlawat et al. A cost effective technique for diagnosis of scan chain faults
Jiang Enhanced Design for Testability Circuitry for Test
Ladnushkin Flip-flops fanout splitting in scan designs
Raik et al. Hierarchical identification of untestable faults in sequential circuits
Fang At-speed scan insertion and automatic test pattern generation of integrated circuits with fault-grading and speed-grading

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E902 Notification of reason for refusal
N231 Notification of change of applicant
E701 Decision to grant or registration of patent right
FPAY Annual fee payment

Payment date: 20181226

Year of fee payment: 4