KR101643776B1 - 스캔 테스트 시스템 및 방법 - Google Patents

스캔 테스트 시스템 및 방법 Download PDF

Info

Publication number
KR101643776B1
KR101643776B1 KR1020097022707A KR20097022707A KR101643776B1 KR 101643776 B1 KR101643776 B1 KR 101643776B1 KR 1020097022707 A KR1020097022707 A KR 1020097022707A KR 20097022707 A KR20097022707 A KR 20097022707A KR 101643776 B1 KR101643776 B1 KR 101643776B1
Authority
KR
South Korea
Prior art keywords
xtol
prpg
care
scan
mode
Prior art date
Application number
KR1020097022707A
Other languages
English (en)
Other versions
KR20110070649A (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 KR20110070649A publication Critical patent/KR20110070649A/ko
Application granted granted Critical
Publication of KR101643776B1 publication Critical patent/KR101643776B1/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/317Testing of digital circuits
    • G01R31/3177Testing of logic operation, e.g. by logic analysers
    • 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
    • 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/318544Scanning methods, algorithms and patterns
    • G01R31/318547Data generators or compressors
    • 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/302Contactless testing
    • G01R31/304Contactless testing of printed or hybrid circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Control Of Indicators Other Than Cathode Ray Tubes (AREA)

Abstract

스캔 테스트와 스캔 압축이 비용 절감과 실장 품질을 실연하는데 주요하다. 보다 복잡한 설계에서 새로운 결함 타입은 증가된 압축을 필요로 한다. 그러나 알려지지 않은 (X) 값의 증가된 밀도가 압축 효율을 감소시킨다. 스캔 압축 방법은 매우 높은 압축과 알려지지 않은 임의의 밀도에 대한 풀 커버리지를 달성할 수 있다. 설명된 기술이 DFT와 ATPG 흐름에 완전히 결합될 수 있다. 이들 방법을 산업상의 설계에 사용하는 것이 다른 방법에 대한 일관되고 예측 가능한 이점을 증명하도록 한다.

Description

스캔 테스트 시스템 및 방법{FULLY X-TOLERANT, VERY HIGH SCAN COMPRESSION SCAN TEST SYSTEMS AND TECHNIQUES}
본 발명은 집적 회로(IC)의 스캔 테스트에 관한 것으로, 특히, 스캔 테스트 동안 사용 가능한 압축 기술 및 구조체에 관한 것이다.
IC에서 로직 설계가 더 크고 더 복잡해지면서 IC의 무결함 성능을 강화하는 보다 복잡한 테스트가 요구되고 있다. 이 테스트는 IC의 설계, 제조, 및 서비스 비용의 중요한 부분을 나타낼 수 있다. 간단한 모델에서, IC의 테스트는 회로의 입력에 복합 테스트 패턴을 제공하는 단계와 결함 발생을 검출하는 출력을 모니터하는 단계를 포함한다. 그러므로, 한 세트의 패턴이 실질적으로 모든 가능한 결함을 검출할 수 있다면, 100%에 접근하는 결함 커버리지가 달성된다.
결함 커버리지를 보다 잘 이용하고 테스트 비용을 최소화하기 위해, DFT(design-for-test)가 이용될 수 있다. 하나의 DFT 기술에서, 로직 설계에 구조체가 사용될 수 있다. 특히, IC에서 구현되는 로직 설계는 일반적으로 복수의 상태 요소(state elements), 예를 들어 플립-플롭(flip-flop)과 같은 일련의 저장 요소를 포함한다. 이 상태 요소들은 설계에 기초하여 변화하는 연산된 길이의 스캔 체인(scan chain)에 연결될 수 있다. 일 실시예에서, 설계 내의 모든 상태 요소들은 스캔 가능하다. 즉, 각 상태 요소는 스캔 체인 안에 있다. 스캔 체인 내의 상태 요소는 일반적으로 스캔 셀(scan cell)이라 불린다. DFT에서, 각 스캔 체인은 테스트 모드 동안 컨트롤 및 관측 노드로 기능을 하는 스캔-입력 핀과 스캔-출력 핀을 포함한다.
상기 스캔 체인은 클로킹(clocking)에 의해 미리 결정된 로직 신호에 스캔 셀을 통해 로드된다. 그러므로, 최장 스캔 체인이 500 스캔 셀을 포함하면, 적어도 500 클럭 사이클이 로딩 프로세스를 완료하기 위해 사용된다. 실제 실시예에서, 소프트웨어는 상이한 스캔 체인 길이에 대해 보완할 수 있고, 그에 의해 각 테스트 패턴으로부터 출력이 적절히 인식되고 분석되는 것을 보장한다.
스캔 체인에 대한 테스트 패턴은 외부 테스트 장치를 사용하여 생성될 수 있다. 그러한 장치를 사용하여, N개의 입력과 스캔 셀을 가진 설계에 2N 입력 패턴을 적용하는 것에 의해 철저한 테스트가 이루어질 수 있다. 그러나, 이 테스트 접근은 입력 개수의 증가로 상업상 비실용적이다.
이 문제를 해결하기 위하여, 100%에 가까운 결합 커버리지를 제공하면서 더 작은 세트의 패턴을 생성하기 위해 결정론적 자동테스트패턴생성(ATPG)이 사용될 수 있다. 특히, 결정론적 ATPG에서, 각 테스트 패턴은 가능한 많은 결함에 대하여 테스트하도록 설계된다. 그러나, 테스트 패턴에 감소가 있더라도, 결정론적 ATPG 패턴은 여전히, 스캔 체인에 직접 입력되는 다수의 패턴을 위해, 그리고 상기 체인으로부터 기대되는 출력을 위해, 테스트 애플리케이션 장치(테스터) 내에 상당한 저장 공간을 필요로 한다. 또한, 이 테스트 방법은 그 오프-칩(off-chip) 액세스 시간 때문에 수반된 비효율성을 가진다.
대안으로, 및 현재의 복잡한 IC에서는 더 자주, IC가 스스로 빠르게 자신을 테스트하도록 허용하는 구조체가 설계에 추가될 수 있다. 이들 내장 셀프-테스트(BIST) 구조체는 여러 패턴 생성기를 포함할 수 있으며, 가장 전형적인 예는 의사랜덤패턴생성기(PRPG)이다. PRPG에 의해 생성된 패턴이 테스트되는 설계 내의 스캔 체인을 통해 전달된 후, 결함이 검출되는 지를 결정하기 위해 출력이 분석된다. 실시예의 PRPG를 사용하는 스캔 테스트 시스템 및 기술의 예는, 본 명세서에 참조로 포함되는, 2007년 6월 26일에 등록된 미국 특허 제7,237,162호, "Deterministic BIST Architecture Tolerant Of Uncertain Scan Chain Outputs"에 설명되어 있다.
IC 스캔 테스트 동안 높은 결함 커버리지를 달성하기 위해, 특히 소형화 프로세스 기술 및 새로운 IC 재료의 관점에서, 상이한 결함 모델(예를 들어, 고착(stuck-at), 변환 지연, 및 쇼트/오픈 모델)이 사용된다. 안타깝게도, 시간 의존 및 시퀀스 의존 결함 모델을 위한 테스트 패턴이 새로운 기술에 대해 점차 중요하더라도, 그러한 테스트 패턴은 2~5 배 더 많은 테스트 시간과 데이터를 필요로 할 수 있다. 테스트 데이터 분량과 테스트 애플리케이션 시간에서의 현행 증가는 다음 세대 도구에 대해 적어도 10배 계속될 전망이다. 그러므로, 스캔만의(scan-alone) 스캔 테스트는 테스트 비용을 제어하는 방법으로 불충분해졌다. 최신 ATPG로 생성된 고도로 조밀한 벡터 세트는 테스트 비용을 감소시키기 위해 온-칩(on-chip) 압축 및 복원을 필요로 한다.
스캔 압축은 테스트 패턴 분량, 테스트 애플리케이션 시간, 및 테스터 핀 카운트 요건을 감소시켜 테스트 비용을 낮춘다. 스캔 부하 압축 기술은 "비-케어(don't care)" 비트(즉, 테스트된 설계에서 결함을 나타내지 않는 비트)에 비교하여 스캔 입력 데이터 내의 "케어(care)" 비트(즉, 타깃(target) 결함의 검출을 달성할 수 있는, 기설정된 스캔 셀 내에 저장된 값)가 적은 것을 이용한다. 스캔 언로드(scan unload) 압축 기술은 에러 값이 다소 랜덤하게, 및 동시에 소수의 스캔 체인에서만 나타난다는 사실을 이용한다. 특히, 테스트된 설계는 케어 비트와 비-케어 비트에 더해 불확실한 비트를 때때로 출력한다. 이름이 암시하듯이, 불확실한 비트(여기서 "X"라 불림)는 알려지지 않은 값(즉, ATPG 프로세스 동안 사용된 시뮬레이션에 의해 정확하게 예측될 수 없는 값)을 가진다. 결과적으로, X 비트는 스캔 출력의 분석을 오염시킬 수 있다. 또한, 그러한 X 비트는 마스킹 관측(masking observation)에 의해 언로드 압축을 제한할 수 있고, X를 방지하거나 스캔 출력에 대한 그들의 영향을 회피하기 위해 추가 케어 비트를 요구하여 로드 압축을 제한할 수도 있다.
안타깝게도, 복잡한 결함 모델과 마찬가지로, 도전적인 설계와 기술이 X 값을 캡쳐하는 스캔 셀의 수를 증가시킬 수 있다. 정적(static) X는 동작 파라미터에 민감하지 않은 '0'-지연 시뮬레이션에서 보이는 미지의 값을 지칭한다. 전형적인 정적 X는 모델화되지 않은 블록(예컨대, 아날로그 또는 메모리 블록) 및 버스 컨텐션(bus contentions)을 포함한다. 정적 X는 설계 시에 알려지지만, 대부분 단순 고정값을 가지지 않는다. 또한, "동적(dynamic)" X는 타이밍, 동작 파라미터(예를 들어, 전압 및 온도), 또는 제작 결함 때문에 발생한다.
그러므로 몇몇 도전적인 목표를 동시에 만족시킬 수 있는 스캔 압축 방법에 대한 필요가 발생한다.
복수의 스캔 체인을 포함하는 집적 회로(IC) 설계를 테스트하기 위한 시스템이 제공된다. 이 스캔 테스트 시스템은 언로드 블럭과 2개의 PRPG(pseudo-random pattern generator) 프로세싱 체인을 포함한다. 제 1 PRPG 프로세싱 체인은 설계의 결함 확인을 위한 패턴을 생성하기 위해 제 1 시드(seed)를 수신할 수 있다. 즉, 패턴이 복수의 스캔 체인에 적용된다. 제 2 PRPG 프로세싱 체인은 XTOL(X-tolerant) 컨트롤 비트를 생성하기 위해 제 2 시드를 수신할 수 있고, XTOL 컨트롤 비트는 스캔 체인의 가관측성(observability)의 레벨을 결정한다. 상기 언로드 블럭은 복수의 스캔 체인과 XTOL 컨트롤 비트로부터 스캔 출력을 수신하고 설계 분석을 위한 테스트 출력을 생성할 수 있다.
일 실시예에서, 제 1 PRPG 프로세싱 체인은 케어 PRPG와 케어 위상 시프터(phase shifter)를 포함할 수 있다. 케어 PRPG는 제 1 시드를 수신할 수 있다. 케어 위상 시프터는 상기 복수의 스캔 체인에 압축된 출력을 제공할 수 있다. 제 1 PRPG 프로세싱 체인은 또한, 케어 PRPG로부터 입력을 수신하고 케어 위상 시프터에 출력을 제공하는 케어 섀도우 레지스터(shadow register)를 포함한다. 케어 PRPG는, 일정 값이 스캔 체인 안으로 시프트되어 시프트 파워를 감소시키도록, 케어 섀도우 레지스터를 홀드 모드로 하는 Pwr_ctrl (파워 컨트롤) 신호를 제공한다.
제 2 PRPG 프로세싱 체인은 XTOL PRPG, XTOL 위상 시프터, 및 XTOL 섀도우 레지스터를 포함할 수 있다. XTOL PRPG는 제 2 시드를 수신할 수 있다. XTOL 위상 시프터는 XTOL PRPG의 출력을 수신할 수 있다. XTOL 섀도우 레지스터는 XTOL 위상 시프터의 출력을 수신하고 XTOL 컨트롤 비트를 제공한다. 일 실시예에서, XTOL PRPG는 XTOL 섀도우 레지스터를 홀드 모드에 놓는 홀드 신호를 생성하도록 설정된 어드레스 가능 PRPG 섀도우를 포함한다.
스캔 테스트 시스템은 테스터로부터 입력을 수신하고, 제 1 PRPG 프로세싱 체인과 제 2 PRPG 프로세싱 중 하나로 출력을 제공하도록 설정된, 어드레스 가능(addressable) PRPG 섀도우를 추가로 포함한다. 케어 PRPG와 XTOL PRPG는 v필요시 임의의 시프트 사이클에서 리시딩(reseeding)하도록 구성된다. 그러므로, 스캔 테스트 시스템은 시프트 당 X-컨트롤을 제공할 수 있다.
일 실시예에서, 상기 언로드 블럭은 XTOL 셀렉터(selector), X-디코더, 컴프레서(compressor), 및 다입력 시프트 레지스터(MISR: Multiple-input shift register)를 포함할 수 있다. XTOL 셀렉터는 내부 스캔체인 출력을 수신할 수 있다. X-디코더는 XTOL 컨트롤 비트를 사용하여 XTOL 셀렉터를 컨트롤할 수 있다. 컴프레서는 XTOL 셀렉터의 출력을 수신할 수 있다. MISR은 컴프레서의 출력을 수신하고 테스트 출력을 생성할 수 있다. 유리하게, XTOL 셀렉터 및 X-디코더는 풀 가관측성 모드(full observability mode), 비-가관측성 모드(no-observability mode), 단일 체인 모드(single chain mode), 및 복수 가관측성 모드(multiple chain mode) 중 하나를 제공하도록 구성될 수 있다.
일 실시예에서, X-디코더는 2-레벨 디코딩 시스템 중 제1의 것을 포함할 수 있다. 예를 들어, 제1 레벨에서, X-디코더는 그룹 당(체인 당이 아님) 출력을 제공한다. 제 2 레벨에서, 그룹으로부터 체인으로의 디코딩이 각각의 개별 체인에서 실행된다. 제 1 AND 게이트는 스캔 체인으로부터 제 1 입력을 수신하고 멀티플렉서는 제 1 게이트에 제 2 입력을 제공한다. 제 2 AND 게이트 및 OR 게이트는 모두 XTOL 컨트롤 비트를 수신하며, 상기 멀티플렉서는 제 2 AND 게이트 및 OR 게이트 중 하나로부터의 출력을 선택한다.
전술한 스캔 테스트 시스템은 0부터 거의 100% 까지의 임의의 X 밀도에 유리하게 적용되고, 최적화된 스캔 ATPG와 동일한 테스트 커버리지를 구비한 매우 높은 압축을 제공할 수 있다. 단일의 스캔 입력과 스캔 출력처럼 작게 정의될 수 있다. 설계 로직은 변경 없이 유지될 수 있으므로, 전술한 스캔 테스트 시스템의 병합을 용이하게 한다.
케어 비트를 케어 PRPG에 맵핑하는 방법 또한 제공된다. 이 방법은, 모든 케어 비트가 단일 시드에 맵핑될 수 있는 시프트의 최대 윈도우를 결정하는 단계를 포함한다. 최대 윈도우를 결정하는 단계는, 시프트 사이클에 의해 케어 비트를 정렬(sorting)하는 단계를 포함하고, 각 시프트 사이클에 대하여, 윈도우 내의 케어 비트의 전체 숫자가 미리 연산된 한계를 초과하지 않도록 최대 윈도우를 연산하는 단계를 포함한다. 상기 윈도우 내의 모든 케어 비트가 단일 시드에 맵핑 가능한 경우, 단일의 시드는 케어 PRPG 안으로 로드될 수 있다. 모든 케어 비트가 단일 시드에 맵핑 가능하지 않은 경우 윈도우는 리니어하게 감소될 수 있다.
XTOL 컨트롤 비트를 XTOL PRPG에 맵핑하는 방법 또한 제공된다. 이 방법은, 모든 XTOL 컨트롤 비트가 단일 시드에 맵핑 가능한 시프트의 최대 윈도우를 결정하는 단계와 최대 윈도우에 대한 최적 스타트를 결정하는 단계를 포함한다. 풀 가관측성 모드에 대하여, 상기 방법은 XTOL 이네이블(enable) 비트를 턴오프(turn off)하는 제 1 옵션과 XTOL 이네이블 비트를 온(on) 상태로 남겨놓는 제 2 옵션 중 어느 것이 나은지를 결정하고, 그 다음 더 나은 옵션을 선택하는 단계를 추가로 포함할 수 있다.
스캔 테스트에 대한 가관측성 모드를 선택하는 방법이 또한 제공된다. 이 방법은 가관측성 모드와 연관된 모드 장점(mode merits)을 초기화하는 단계를 포함한다. 각 시프트에 대하여, 알려지지 않은 값(X)를 묵과하는(let through) 임의의 가관측성 모드가 제거될 수 있다. 또한, 스캔 테스트의 제1 타깃을 검출하는 데 실패하는 임의의 가관측성 모드 또한 제거된다. 모드 장점은 관측된 제 2 타깃의 수에 기초하여 제 2 결함에 대하여 증가될 수 있다. 각 시프트에 대하여, 전체 모드 장점에 기초하는 시프트에 대한 최선의 가관측성 모드와 차선의 가관측성 모드가 결정될 수 있다. 그렇게 결정된 가관측성 모드는 XTOL 시드에 매핑될 수 있다. 가관측성 모드는 전체 가관측성, 비-가관측성, 단일 가관측성, 복수의 가관측성(및 그들의 보완물)을 포함할 수 있다.
도 1은 온-칩 컴프레서와 디컴프레서를 구비한 단순화한 스캔 테스트 시스템을 나타낸다.
도 2A는 풀 XTOL(X-tolerant)을 제공하도록 설정된 스캔 테스트 시스템을 도시한다.
도 2B는 케어 섀도우 레지스터를 추가로 포함하는 도 2A의 스캔 테스트 시스템을 도시한다.
도 3A는 PRPG 섀도우 레지스터 실시예를 도시한다.
도 3B는 XTOL PRPG의 셀 실시예와 XTOL 위상 시프터와 XTOL 섀도우 레지스터의 상응하는 셀을 도시한다.
도 3C는 케어 PRPG의 실시예 셀과 케어 위상 시프터와 XTOL 섀도우 레지스터의 상응하는 셀을 도시한다.
도 4는 테스터 및 ATPG 패턴과 관련된 파형의 실시예를 도시한다.
도 5는 압축된 패턴을 적용하는 상태 흐름의 실시예를 도시한다.
도 6은 가관측성을 최대화하는 동안 가장 작은 XTOL-컨트롤 비트를 사용하여 X를 효율적으로 블로킹할 수 있는 언로드 블록 실시예를 도시한다.
도 7은 X-디코더에서 사용되는 2-레벨 디코딩 블록의 실시예를 도시한다.
도 8은 복수 가관측성 모드에서 여러 그룹핑의 사용을 나타내는 그래프를 도시한다.
도 9는 XTOL 셀렉터 품질의 두 측정(measure)을 나타내는 그래프를 도시한다.
도 10은 케어 PRPG 시드에 케어 비트를 맵핑하는 맵핑 기술의 실시예를 도시한다.
도 11은 관측 모드 선택 기술을 도시한다.
도 12는 XTOL PRPG 시드에 XTOL-컨트롤 비트를 맵핑하는 맵핑 기술의 실시예를 도시한다.
도 13은 전술한 적응성 스캔 압축 기술을 포함하는 디지털 ASIC 설계 흐름의 실시예의 간단한 표시를 나타낸다.
도 1은 테스터로부터 입력(즉, 시드)을 수신하는 로드 디컴프레서(101), 로드 디컴프레서(101)에 의해 생성된 스캔 비트를 수신하는 복수의 스캔 체인(102), 및 스캔 체인(102)으로부터 스캔 출력을 수신하는 언로드 컴프레서(104)를 포함하는 종래의 테스트 시스템(100)을 개략적으로 나타낸다. 일 실시예에서, 로드 디컴프레서(101)는, 테스터로부터의 결정론적 ATPG-연산된 값을 가지고 반복적으로 리시드(reseeding)된 PRPG(pseudo-random pattern generator)가 매우 높은 로드 데이터 압축을 제공할 수 있기 때문에, PRPG를 포함할 수 있다. 결정론적 ATPG 동안 연산된 로드 값은, 모든 케어 비트가 PRPG 시드에 적절하게 로드되도록, PRPG 상태로서 "인코드" 또는 "맵핑"될 수 있다. 일반적인 실시예에서, 복수의 테스트 패턴이 각 PRPG 시드로부터 생성될 수 있다.
결함 검출을 위해 필요한 케어 비트에 부가해서, 로드 디컴프레서(101)는 또한, 컨트롤 라인(103)을 통해 언로드 컴프레서(104)에 제공되는 X-컨트롤 비트를 공급할 수 있다. 언로드 컴프레서(104)가 적은 X의 존재하에서 에러 검출을 보장할 수 있다 하더라도, 추가 X는 과도한 X가 로드 디컴프레서(101)로부터 유래된 비트로 컨트롤되지 않으면 테스트 커버리지 손실을 야기할 수 있다. 특히, X가 컨트롤 되지 않는 경우 요구되는 출력 비트보다 추가된 XTOL 컨트롤 비트가 더 작으면 X-컨트롤 비트 추가는 압축된 전체 데이터 부피를 실질적으로 감소시킬 수 있다.
그러나, 어느 X-컨트롤 비트가 요구되는 지를 결정하는 것은 도전일 수 있다. 테스트 애플리케이션 시간을 감소시키기 위해, 스캔 패턴의 로드는 이전 언로드에 오버랩될 수 있다. 그러므로, 로드 디컴프레서(101)는, 커버리지의 로스나 과도한 X가 패턴 카운트에서의 받아들여질 수 없는 증가를 일으키지 않도록, 이전 언로드를 위한 X-컨트롤 비트와 함께 현재 패턴(스캔 체인(102)에 공급되는)을 위한 로드 케어 비트를 동시에 공급해야 한다.
불행히, X-컨트롤 비트는 일반적인 스캔 ATPG 흐름에서 너무 늦을 때까지 알려지지 않는다. 다시 말해. X-컨트롤 비트는 로드 케어 비트가 이전 M(예를 들어, 32) 패턴을 위해 세트된 후에만 알려지며, 이 시점에, 로드 디컴프레서(101) 내의 충돌은 만족할 수 없는 상황을 초래한다. 이전 패턴 정보는, 어느 셀이 관찰을 위해 X-컨트롤을 요구할 것 같은 지를 예측하기 위해, 스캔 셀 마다 저장될 수 있다. 그러나, 이 저장소는 추가 메모리와 CPU 작업을 필요로 한다. 또한, 예측 실패 시, 패딩 패턴이 필요할 수 있으며, 이것은 테스트 데이터와 사이클 모두에 원치 않게 부가된다. 일 실시예에서, X-컨트롤 비트는 내부 체인의 로드 당 하나의 세트로 제한될 수 있다. 즉, X-컨트롤 비트는 모든 시프트 사이클에 대하여 변화되지 않고, X를 오버-마스킹 할 가능성이 있으며, 따라서 풀 커버리지를 달성하기 위해 패턴 카운트를 증가시키는 문제가 있다.
도 2A에 도시된 스캔 테스트 시스템(200)의 일 측면에서, 로드 케어 비트와의 충돌을 피하면서, X 비트의 시프트 마다 제어를 제공하기 위해 듀얼 PRPG가 사용될 수 있다. 이 최적화를 제공하기 위해, 케어 비트 PRPG(CARE PRPG)(202)는 케어(및 비-케어) 비트를 생성할 수 있고, 분리된 XTOL PRPG(X-Tolerant PRPG)(206)는 XTOL 컨트롤 비트를 생성할 수 있다. PRPG 섀도우 레지스터(201)는 테스터로부터 시드를 수신할 수 있고, 케어 PRPG(202) 또는 XTOL PRPG(206) 중 하나를 위한 적절한 시드를 생성할 수 있다.
도 3A는 멀티플렉서(331) 및 플립-플롭(332)를 포함하는 개략적인 PRPG 섀도우 레지스터(330)를 도시한다. 동일한 컨트롤 신호 Mux-control에 의해 컨트롤 되는 멀티플렉서(331)는, 가능한 경우, 이전 셀로부터 뿐만 아니라 테스터로부터 시드를 수신한다. 동일한 클럭(간략함을 위해 미도시)에 의해 클럭되는 플립-플롭(332)은, 이전 셀의 플립-플롭(332) 또는 이전 셀의 멀티플렉서(331)의 출력을 수신한다. 미국 특허 제7,237,162호가 PRPG 섀도우 레지스터에 대한 구성 예를 더욱 상세히 설명한다. PRPG 섀도우 레지스터(300)의 출력, 즉 XTOL 이네이블과 케어 PRPG 또는 XTOL PRPG 중 하나를 위한 비트는 플립-플롭(332)에 의해 제공된다. 다시 도 2A를 참조하면, 케어 PRPG(202)는 입력보다 출력을 더 많이 가질 수 있는 케어 위상 시프터(203)에 그 출력을 제공할 수 있다. 그러므로, 협조해서, 케어 PRPG(202)와 케어 위상 시프터(203)는 케어(및 비-케어) 비트를 위한 로드 압축을 제공할 수 있다. 대조적인 구성에서, XTOL PRPG(206)는, 출력보다 더 많은 입력을 포함할 수 있는 XTOL 위상 시프터(207)에, 그 출력을 제공할 수 있다.
사실상 PRPG는 기설정된 피드백 구성을 가진 시프트 레지스터이다. 그러므로, PRPG의 인접 셀은 서로 의존한다. 즉, 제 1셀의 다운스트림인 제 2 셀이 제 1 셀에 의해 1 클럭 전에 미리 저장된 값을 저장할 수 있다. 기설정된 셀로부터 입력을 수신하는 XOR 게이트를 이용하여 일반적으로 구현되는 위상 시프터는, 결함 검출이 PRPG의 선형 의존성에 의해 최소한으로 방해받도록, PRPG의 인접 셀 사이의 선형 의존성을 감소시킨다. 위상 시프터와 PRPG의 여러 구성이 IC 테스트 기술 분야의 당업자에게 알려져 있으므로 여기서 상세히 설명하지 않는다.
일 실시예에서, PRPG 섀도우 레지스터(201)는 언로드 블럭(205)에서 XTOL 허용성을 턴오프하기 위해 XTOL 이네이블 비트(1-비트 레지스터 내에 저장될 수 있음)를 제공할 수 있다. 이네이블 비트를 턴오프하는 것은, X 컨트롤을 필요로 하지 않는 인접 시프트 사이클의 윈도우를 위한 XTOL PRPG 비트를 필요로 하지 않는 것에 의해, 압축된 데이터 부피를 감소시킬 수 있다. XTOL PRPG(206)는 계속 시프트하지만, 언로드 블럭(205)에 대한 컨트롤은 XTOL 이네이블 신호에 의해 불가능해질 수 있다. 이네이블되는 경우, XTOL PRPG(206)는 언로드 블럭(205)에 시프트 마다 X-컨트롤을 제공할 수 있다.
일 실시예에서, XTOL 이네이블 비트는 케어 PRPG(202) 또는 XTOL PRPG(206) 중 하나가 리시딩될 때만 변경될 수 있다. 그러므로, XTOL 이네이블 비트는 매우 낮은 X 밀도를 가진 설계를 위해 XTOL 비트를 상당히 감소시킬 수 있지만, 비교적 질이 낮은 컨트롤을 제공한다. 중간 및 높은 X 밀도에 대해 XTOL 비트를 추가로 감소시키기 위해, 더 정밀한 컨트롤이 또한 제공될 수 있다. 특히, X 분포가 대부분의 설계에서 고도로 고르지 못하고, 그에 의해 인접 사이클을 위해 XTOL 컨트롤 비트가 재사용되는 것을 허용한다(그리고, ATPG에 의해 생성되는 것과 같은 패턴이 재사용에 적합하도록 조정될 수 있다). 그러므로, 일 실시예에서, XTOL PRPG(206)의 전용 채널은 XTOL 섀도우 레지스터(208)에 홀드(Hold) 비트를 제공할 수 있다. 이 홀드 비트는 XTOL 섀도우 레지스터(208) 내의 XTOL PRPG 데이터가 계속 변경되지 못하도록 한다.
XTOL 섀도우 레지스터(208)가 언로드 컴프레서(205)에 일정한 XTOL 컨트롤 비트를 제공하는 동안, XTOL PRPG(206)는 XTOL 컨트롤 비트의 새로운 세트가 필요한 경우 다음 상태로 진행할 수 있다. 일 실시예에서, XTOL 섀도우 레지스터(208)를 제어하기 위해 시프트 마다 단일의 비트가 XTOL 위상 시프터(207)로부터 요구된다.
전술한 바와 같이, XTOL 위상 시프터(207)는 유리하게 입력보다 적은 출력을 가진다. 그러므로, XTOL 위상 시프터(207)의 출력에(XTOL PRPG(206)의 출력에 보다는) XTOL 섀도우 레지스터(208)를 배치하는 것이 섀도우 레지스터를 더 감소시킨다. 일 실시예에서, XTOL-컨트롤 비트의 수는 약 log(# 스캔 체인)가 된다. 또한, XTOL PRPG(206)로부터 언로드 블럭(205)으로의 긴 결합 경로가 XTOL 위상 시프터(207) 다음에 XTOL 섀도우 레지스터(208)를 배치하는 것에 의해 크게 감소된다.
도 3B는 XTOL PRPG(206)의 셀의 예와, XTOL 위상 시프터(207) 및 XTOL 섀도우 레지스터(208)의 상응하는 셀들의 예를 도시한다. 일 실시예에서, XTOL PRPG의 셀(301)은 이전 XTOL PRPG 셀로부터의 비트와 함께 PRPG 섀도우(예를 들어, 도 2A의 PRPG 섀도우(201))로부터의 비트를 입력으로서 수신하는 멀티플렉서(312)를 포함할 수 있다(옵션 XOR(311)에 의해 표시되듯이, XOR 게이트는 이전 XTOL PRPG 셀의 출력을 생성하는 것을 주의). 이들 비트 사이에서 선택하는 것은, 테스트에 의해 생성되는 XTOL shadow_transfer 신호에 의해 결정된다. 일 실시예에서, 멀티플렉서(312)는 XTOL shadow_transfer가 온일 때 PRPG 섀도우 입력을 선택한다. 셀(301)은 클럭-제어되는 저장 장치(예를 들어, D-플립-플롭)(313)을 추가로 포함할 수 있으며, 이것은 멀티플렉서(312)의 선택된 출력 비트를 수신하고 신호를 다음 XTOL PRPG 셀에 제공한다.
XTOL 위상 시프터의 셀(320)은, 최소한 멀티플렉서(312)의 선택된 출력을 입력으로서 수신하는 XOR 게이트를, 포함할 수 있다. 일 실시예에서, 위상 시프트 기능을 제공하기 위해, 이 XOR 게이트는 또 다른 XTOL PRPG 셀로부터 하나 이상의 다른 멀티 플렉서 출력 또한 수신할 수 있다. 도 3B에 도시된 각각의 위상 시프터 채널은, 위상 시프트된 출력을 생성하는 데 사용되는 셀들의 특유한 조합을 가질 수 있다. 각 조합을 위한 셀의 선택은 기술 분야의 당업자에게 알려져 있으므로 여기서 추가로 상세히 설명하지 않는다.
일 실시예에서, XTOL 섀도우 레지스터의 셀(320)은, 셀(320)의 출력과 피드백 신호를 입력으로서 수신하는 멀티플렉서(322)를, 포함할 수 있다. 일 실시예에서, 이들 비트 사이에서 선택하는 것은, XTOL shadow_transfer 신호와 OR된 !Hold 신호(즉, Hold 신호의 반대)에 의해 결정되고, 이는 테스트에 의해 생성된다. 구체적으로, 일 실시예에서, 멀티플렉서(322)는, XTOL shadow-transfer가 온일 때 또는 홀딩이 아닐 때, XTOL 위상 시프터 셀(320)의 출력을 선택한다. 멀티플렉서(322)는 홀딩 시 저장 장치(323)로부터 피드백을 선택한다.
셀(302)은, 멀티플렉서(322)의 선택된 출력을 수신하고 X-디코드 신호를 제공하는 클럭-제어된 저장장치(예를 들어, D-타입 플립-플롭)을 추가로 포함할 수 있다. 이 X-디코드 신호는 멀티플렉서(322)에 입력으로 제공된 피드백 신호이다. 추가로, 저장 장치(313,323)는 동일한 클럭 신호, 즉 XTOLPRPGclk에 의해 컨트롤될 수 있다.
이 구성에서, 멀티플렉서(322)는 유리하게, XTOL 섀도우에 데이터를 홀드하거나, XTOL PRPG(206)으로부터 XTOL 섀도우 레지스터(208)로의 데이터를 캡쳐하는 재-순환 멀티플렉서로 기능한다. 일 실시예에서, PRPG 섀도우 입력이 멀티플렉서(312)에 의해 선택될 때, XTOL 위상 시프터 셀(320)로부터의 입력이 멀티플렉서(322)에 의해 선택된다. 또한, 이전 PRPG 셀 입력이 멀티플렉서(312)에 의해 선택될 때, 위상 시프터의 셀(320)의 출력이 멀티플렉서(322)에 의해 선택되거나, Hold 신호에 따라 '323'의 출력이 선택된다. XTOL-컨트롤의 새로운 세트를 가지고 XTOL 섀도우의 즉시 리프레시를 제공하기 위해, XTOL 위상 시프터 입력이 XTOL PRPG 셀의 입력으로부터 얻어진다(위상 시프터가 PRPG 셀의 출력에 연결된 종래의 구성과는 다르다).
전체 XTOL PRPG 셀의 서브세트(subset)가 Hold 신호를 생성하는 데 사용될 수 있다. 예를 들어, 도 3B에 도시되는 바와 같이, 멀티플렉서(312)의 출력과 하나 이상의 다른 유사한 출력이 위상-시프트 구성요소(314)에 제공될 수 있다. 일 실시예에서, 위상-시프트 구성요소(314)로 제공될 수 있다. 일 실시예에서, 위상-시프트 구성요소(314)는 XOR 게이트를 포함할 수 있다. 위상-시프트 구성요소(314)의 출력은 Hold 신호이다.
추가로, 중간 XTOL PRPG 셀(301)이 도시되어 있지만, 최초 및 최종 XTOL PRPG 셀은 다음의 예외를 가진 유사한 구성을 가진다. 구체적으로, 최초 XTOL PRPG 셀은, 이전 XTOL PRPG 셀로부터 입력을 수신하는 대신, 최종 XTOL PRPG 셀의 출력을 수신하는 멀티플렉서(312)를, 포함한다. 논리적으로는, 최종 XTOL PRPG 셀은, 다음 XTOL PRPG 셀에 출력을 제공하는 대신 최초 XTOL PRPG 셀에 출력을 제공하는 저장 장치(313)를, 포함한다.
도 2B에 도시되는 실시예에서, 케어 섀도우 레지스터는 스캔 테스트 시스템(200, 도2A)에 포함될 수 있다. 도 3C는 케어 PRPG(202)의 셀과 케어 섀도우(1001)의 상응하는 셀의 예가 도시된다. 일 실시예에서, 케어 PRPG의 셀(350)은, 이전 케어 PRPG 셀로부터의 비트와 함께 PRPG 섀도우(예를 들어, 도 2A의 PRPG 섀도우(201)로부터의 비트를 입력으로서 수신하는 멀티플렉서(342)를 포함할 수 있다(옵션 XOR(341)로 표시되는 바와 같이, XOR 게이트는 이전 XTOL PRPG 셀의 출력을 생성함). 이들 비트 사이에서의 선택은, 케어 shadow_transfer 신호에 의해 결정되고, 이는 테스터에 의해 생성된다. 셀(350)은 클럭-제어된 저장 장치(예를 들어 D-플립-플롭)(343)를 추가로 포함할 수 있으며, 이는 멀티플렉서(342)의 선택된 출력을 수신하고 신호를 다음 케어 PRPG 셀에 제공한다.
전체 케어 PRPG 셀의 서브셋은 파워 컨트롤 신호를 생성하는 데 사용될 수 있다. 예를 들어, 도 3C에 도시된 바와 같이, 멀티플렉서(342)의 출력과 하나 이상의 다른 유사한 출력이 위상-시프트 구성요소(344)에 제공될 수 있다. 일 실시예에서, 위상-시프트 구성요소(344)는 XOR 게이트를 포함할 수 있다. 위상-시프트 구성요소(344)의 출력은 Pwr ctrl 신호이다.
일 실시예에서, 케어 섀도우 레지스터의 셀(351)은 멀티플렉서(342)의 출력과 피드백 신호를 입력으로서 수신하는 멀티플렉서(346)를 포함할 수 있다. 일 실시예에서, 이들 비트 사이에서의 선택은, !Pwr 이네이블 신호(Pwr 이네이블 신호(테스터에 의해 제공되고, 예를 들어 1-비트 레지스터에 저장된 글로벌 파워 신호)의 반대), !Pwr ctrl 신호, 및 케어 shadow_transfer 신호(테스터에 의해 생성됨)의 OR 연산에 의해 결정된다.
셀(351)은, 멀티플렉서(346)의 선택된 출력을 수신하고 케어 위상 시프터(203)의 상응하는 셀에 출력을 제공하는 클럭-제어된 저장 장치(예를 들어 D-타입 플립-플롭)을, 추가로 포함할 수 있다. 이 출력은 멀티플렉서(346)에 입력으로 제공된 피드백 신호이다. 추가로, 저장 장치(343,347)는, 클럭-제어된 저장 장치(347)를 위해 역전되는 동일한 클럭 신호, 즉 CAREPRPGclk에 의해, 컨트롤된다.
일 실시예에서, Pwr 이네이블 신호가 0이면, Pwr_ctrl 신호와 케어 shadow_transfer 신호는 무시되고, 케어 섀도우 셀(351)은 케어 PRPG 셀(350)의 콘텐츠를 멀티플렉서(342)에 의한 출력으로 복사한다. 그러나, Pwr 이네이블 신호가 1이면, Pwr_ctrl 신호와 케어 shadow_transfer 신호는 케어 섀도우 셀(351)이 그 현재 값을 홀드하는지 또는 케어 PRPG 셀(350)로부터의 새로운 값을 클럭하는지 결정한다. 케어 PRPG 셀(350)과 케어 섀도우 셀(351)의 이 구성은 반복되는 값을 스캔 체인 내에 시프팅하는 것에 의해 상당한 파워 감소를 제공할 수 있다. 구체적으로, 케어 비트와 파워를 트레이드 오프하기 위해 임의의 비-케어 시프트가 사용될 수 있다.
다시 도 2A를 참조하면, PRPG 섀도우 레지스터(201)는 임의 오버랩을 가진 어드레스 가능한 섀도우로 특징지어질 수 있다. 구체적으로, PRPG 섀도우 레지스터(201)는 유리하게 케어 PRPG(202)를 위해 다음 케어 시드 또는 XTOL PRPG(206)을 위한 다음 XTOL 시드를 로드할 수 있다. 특히, 이 로딩은 스캔 체인(204)의 값을 시프팅 또는 홀딩하는 동안 수행될 수 있고, 그에 의해 내부 시프트 사이클과 임의의 오버랩을 가진 리시딩 사이클을 허용한다. 그러므로, 상기 리시딩 주파수는, 시드를 로드하는 데 필요한 사이클의 수에 의해 제한되지 않는다. PRPG 섀도우(201)의 콘텐츠는 그 다음 케어 PRPG(202) 또는 XTOL PRPG(206) 중 하나에, 단일 사이클 안에, 전송된다.
최적화된 스캔 ATPG는 모든 패턴에 의해 테스트될 복수의 결함을 결합하는 것에 의해 패턴 카운트를 상당하게 감소시킬 수 있다. 처음에, 결합은 매우 유효하며 각 패턴은 큰 수의 결함을 테스트하기 위해 큰 수의 케어 비트를 사용한다. 생성된 각각의 다음 테스트 패턴에 대해 다수의 아직 테스트되지 않은 결함이 감소함에 따라, 패턴 당 결함을 결합할 기회가 빠르게 감소하므로, 패턴 당 더욱더 적은 케어 비트가 사용된다. 케어 비트는 시드에 맵핑되므로, 초기 패턴은 다수의 시드를 필요로 하는 반면에, 이후의 패턴은 더욱더 적은 시드를 필요로 한다. 반면에, 테스터는 로드 당 일정한 수의 비트를 공급하도록 적절하게 구성된다.
PRPG 섀도우(201)는, 원하는 결정론적 테스트를 얻기 위해 테스터로부터 반복적으로 리시딩될 수 있다. 대안으로, PRPG(202, 206)는, 원하는 케어 비트가 생성되도록, 테스터 데이터의 스트림(모든 테스트 사이클은 PRPG 섀도우(201)에 저장될 수 있는 전체 개수의 비트의 서브세트를 제공하는, 즉 증분 리시딩)을 계속해서 수신할 수 있다. 그러나, 설계는 케어-비트 핫 스팟(hot sopts)(즉, 많은 테스트 패턴을 위한 상당한 숫자의 케어 비트를 필요로 하는 지역)을 가질 수 있다. 제한된 테스터 대역폭 때문에, 약간의 데이터 값만 PRPG 모든 시프트 사이클에 제공될 수 있고, 이는 모든 케어 비트를 만족시키기에 충분하지 않다. 이 경우에 있어서, 스캔 체인(204)의 로드는 몇몇 사이클 동안 멈춰야 한다.
그러므로, 일 실시예에서, PRPG 섀도우(201)의 리시딩은, 패턴 경계를 가로질러 데이터를 스트리밍하는 것에서 발생하는 복잡성을 회피하는 데, 사용될 수 있다(즉, 증분 리시딩을 다루는 것은 새롭고 완전한 시드와 작용하는 것보다 상당히 더 복잡할 수 있음). 또한, 로드 사이에서 독립성을 유지하기 위해, 각 패턴 로드는 풀 케어 PRPG 로드로부터 시작될 수 있다. 모든 시프트에서 사용할 수 있는 케어 비트의 수를 최대화하기 위해, 리시딩은 필요할 때 스캔 체인(204)의 시프트를 멈추는 능력과 결합될 수 있다. 일 실시예에서, 새로운 시드가 모든 시프트만큼(필요하면) 자주 로드될 수 있고, 그에 의해 테스터 대역폭에 독립적으로 PRPG 섀도우(201)에 값의 공급을 최대화한다.
그러므로, PRPG 섀도우(201)의 리시딩의 관점에서, 케어 PRPG(202) 또는 XTOL PRPG(206) 중 하나는 임의의 시프트 사이클에서 필요한 경우 리시딩될 수 있다. 필요하면, 스캔 체인(204)의 시프트가 케어 PRPG(202) 및/또는 XTOL PRPG(206)를 리시딩하는 동안 멈춰질 수 있다. PRPG 섀도우(201)의 리시딩과 스캔 체인(204)의 시프팅의 이 오버랩은 ATPG에 의해 결정될 수 있다.
일 실시예에서, 케어 PRPG(202)와 XTOL PRPG(206)는 각 테스터 로드(시드)가 동일한 양의 데이터를 가지도록 길이가 동일하다. 전술한 바와 같이, PRPG 섀도우(201)가 XTOL 이네이블 비트를 포함하기 때문에, PRPG 섀도우(201)는 케어 PRPG(202) 또는 XTOL PRPG(205) 중 하나보다 1 비트 더 길 수 있다. PRPG 섀도우(201)의 콘텐츠가 케어 PRPG(202) 또는 XTOL PRPG(206) 중 하나로 전송될(병렬로) 때, XTOL 이네이블 비트가 세팅되고 다음 섀도우 전송 때까지 변경되지 않고 남는다.
특히, 시드는 필요할 때만 로드된다. 테스터는 각 리시딩을 고정된 사이즈의 로드로 보며; 내부적으로, 하나 이상의 시드가 내부 로드/언로드 동작을 제어한다. 도 4는 테스터 및 ATPG 패턴과 연관된 파형(400)의 예를 도시한다. 파형(401)은 테스터로부터 PRPG 섀도우의 로딩을 나타낼 수 있다. 파형(402)은 ATPG 패턴 로드에 기초하는 스캔 체인의 시프팅을 나타낼 수 있다. 이들 파형에 의해 도시된 바와 같이, 시드를 로드하는 사이클의 수가 4이면(파형(401)으로 도시됨), 패턴의 최초 4 사이클은 시드를 로드하고, 시드를 케어 PRPG로 전송하는 사이클이 뒤따르는(사이클 410 참조) 그 다음 2 사이클 동안 내부 체인이 시프트하고(파형 402로 도시됨), 로딩을 완료하기까지 2개의 사이클이 제 2 시드 동안 더 기다린다. 그 다음 내부 시프트가 다시 시작되고, 2 사이클 후, 제 3 시드가 내부(즉, 스캔 셀) 시프팅과 오버랩된 로딩을 시작한다. 이 실시예에서, 테스터는 동일한 패턴, 전송이 이어지는 4개의 로드, 또는 반복된 테스터 사이클을 공급한다. 내부 로드는 복수의 시드를 필요로 할 수 있고, 외관에 독립적이고, 더 빠르거나 더 늦은 클럭을 이용할 수 있다.
다시 도 2를 참조하면, 스캔 테스트 시스템(200)은 3개의 압축 기술을 동시에 사용할 수 있다. 첫째, 테스트 생성은, 케어 PRPG(202)가 필요한 만큼, 심지어 모든 시프트 마다, 자주 리시딩될 수 있기 때문에, 패턴당 복수의 결함을 통합할 수 있다. 밀도가 높은 적은 패턴들을 시드 내에 인코딩하면(복수의 시드를 하나의 패턴으로), 밀도가 낮은 많은 패턴들을 인코딩하는 것보다 전체 데이터 양이 더 적다. 그러므로, 유리하게 패턴 내 복수의 결함에 대하여 케어 비트를 "재-사용"할 수 있다. 둘째, 케어 비트의 PRPG 인코딩은 매우 높은 데이터 압축을 제공할 수 있다. 특히, 분리 케어 및 XTOL PRPG는 케어 및 XTOL 컨트롤 비트 모두에 대한 압축의 독립적인 최적화를 허용한다. 셋째, 테스터 반복 사이클은 비-오버헤드, 독립형 로드 데이터 압축 기술로 사용될 수 있다. 일 실시예에서, 테스터 반복은 리시딩이 진행되고 있지 않을 때 스캔 체인(204)의 값을 시프트하는 데 사용될 수 있다.
도 5는 압축된 패턴을 적용하는 상태 흐름의 예를 도시한다. 패턴은, 최초 시드가 PRPG 섀도우에 로드되고 옵션으로 데이터 언로드되는 "테스터 모드"에서, 시작한다. 최초 시드는, 각 패턴이 로드 케어 비트를 필요로 하지만 XTOL 비트를 필요로 하지 않을 수 있기 때문에, 케어 PRPG에 대하여 지정된다. 내부 체인은 "테스터 모드"(501) 동안 시프트하지 않는다. 대신, 내부 체인은 값을 홀드한다. 일 실시예에서, "테스터 모드"(501)는 #시프트/시드 사이클(즉, PRPG 섀도우를 재 로드하는데 필요한 사이클의 수)(예를 들어 도 4의 파형(401)의 첫번째 4개의 사이클)을 가질 수 있다. PRPG 섀도우 컨텐츠는 그 다음, 한 사이클에서, "섀도우-PRPG 모드(shadow to PRPG mode)"(502)에서 케어 또는 XTOL PRPG 중 하나로 전송된다.
"섀도우-PRPG 모드"(502) 일 때 3개의 가능한 다음 단계가 있다. 또 하나의 시드(예를 들어, 최초의 케어 시드 후 XTOL 시드)를 즉시 필요로 하면, "테스터 모드"(501)에 다시 들어갈 수 있다. 또 하나의 시드가 몇 사이클 후 필요한 경우, "섀도우 모두"(504)에 들어갈 수 있다. 마지막으로, 또 하나의 시드가 몇 개의 사이클 동안 필요하지 않으면, "자율 모드"(503)에 들어갈 수 있다.
"섀도우 모두"(504)는 또 하나의 시드가 C 사이클에서 필요하고 C ≤ #시프트/시드(즉, PRPG 섀도우를 다시 로드하기 위해 필요한 사이클의 수)일 때 사용될 수 있다. C 사이클 동안, 테스터로부터 PRPG 섀도우를 로딩하는 것은 내부 체인을 시프트하는 것과 오버랩한다(즉, #시프트/시드 - C). "섀도우 모드"(504)에서, PRPG 섀도우는 내부 시프트 로드로 가능한 많이 오버랩시키 것에 의해 테스트 사이클의 전체 숫자를 최소화하는 데 사용될 수 있다. 차례로, 가능한 많이 리시딩을 배치하여 오버랩을 최대화하기 위해 ATPG 프로세스를 조정할 수 있다. 일 실시예에서, "섀도우 모두"(504)는 #시프트/시드 사이클을 가진다(예를 들어, 도 4에서 4 사이클, C=2). 본 실시예에서, "섀도우 모드"(504)는 항상 PRPG 섀도우의 컨텐츠를 "섀도우-PRPG 모드"(502)에서 선택된 PRPG로 전송하는 것이 항상 뒤따른다.
"자율 모드"(503)는 현재 패턴에서 더 이상의 시드가 필요하지 않은 경우 또는 다른 시드가 C사이클에서 필요하고 C > #시프트/시드일 경우 사용될 수 있다. 현재 패턴에서 다른 시드가 필요하지 않을 때, 테스터 반복은, PRPG에 의해 제공되는 데이터를 가지고 내부 로드/언로드를 완료하는 데 사용될 수 있다. 이 케이스에서, 테스터는, "캡쳐 모드"(505)(기설정된 스캔 셀 내의 값을 캡쳐함)에서 하나 이상의 캡쳐 사이클이 뒤따르는 다수의 사이클 동안 시프트 클럭을 펄싱(pulse)할 필요가 있다. 반대로, C 사이클 및 C > #시프트/시드에서 다른 시드가 필요한 경우, 테스터 반복은, "섀도우 모드"(504)가 뒤따르는 C -#시프트/시드 사이클 동안 사용될 수 있다. 예를 들어, 도 4에서, C=6, 최초 2 사이클은 "섀도우 모드"(504)에서 4 사이클이 뒤따르는 "자율 모드(503)"에 있다. 본 실시예에서, "테스터 모드"(501)는 항상 "캡쳐 모드"(505)를 뒤따른다.
MILR(Multiple-input shift register)는, 이론적으로 매우 높은 언로드 압축을 제공하더라도, 하나의 X 값에 의해서도 소용없게 될 수 있다. 적극적 DFT(design-for-test)가 설계로부터 모든 X를 제거하기 위해 사용될 수 있지만 그 비용이 허용가능하지 않고 동적 X는 아직 나타날 수 있다. 하나의 알려진 기술에서, 모든 X는 MISR 이전에 블로킹될 수 있지만, 블로킹 컨트롤을 위해 커다란 입력 데이터가 증가하고 너무 질이 낮은 블로킹 때문에 관측성이 감소될 수 있다. 다른 알려진 기술에서, X는 각각의 미지의 값을 그 자체와 XOR 연산하여 MISR로부터 주기적으로 제거된다. 이 기술은 높은 X 밀도에 대해 대량의 입력 데이터를 필요로 한다. 또 다른 알려진 기술에서, MISR에서의 X의 수명은 MISR 피드백을 제거하고 대신에 출력 데이터의 스트림을 계속 관찰하는 것에 의해 제한될 수 있고, 그에 의해, 어떤 XTOL을 대신하여 압축을 감소시킨다(그 다음 더 많은 입력 데이터를 가지고 X를 볼로킹하여 강화될 수 있음). 또 다른 기술에서, MISR 대신 조합 압축은 출력 데이터의 스트림을 계속 관찰하는 것이 필요하지만, XTOL을 위해 압축을 희생한다.
일 실시예에서, 시프트 마다 XTOL(전술됨)의 정확한 컨트롤이 MISR로 실현된 매우 높은 압축과 결합될 수 있다. 도 6은 가관측성을 최대화하면서 가장 적은 XTOL-컨트롤 비트를 사용하여 효율적으로 X를 블로킹할 수 있는 언로드 블록(205)의 예를 도시한다. 일 실시예에서, 언로드 블록(205)은 X-디코더(601), XTOL 셀렉터(602), 컴프레서(604), 및 MISR(606)을 포함할 수 있다. XTOL 셀렉터(602)는 스캔 체인(204)으로부터 입력을 수신할 수 있고 그 출력을 컴프레서(604)에 제공한다. XTOL 셀렉터(602)는 X-디코더(601)에 의해 컨트롤 될 수 있다. X-디코더(601)는 XTOL 컨트롤 신호(시프트 마다 변경할 수 있음)와 XTOL 이네이블 신호(리시딩 마다 변경할 수 있음)를 수신할 수 있다.
일 실시예에서, 컴프레서(604)는 1,2,3, 또는 임의의 홀수 에러(Xs)에 대한 비-에일리어싱(no aliasing)을 보증하도록 설계될 수 있고, 이는 그 출력이 MISR(606)에 연결되고 그리하여 적은 수의 포트에 제한되지 않기 때문에 가능하다. 컴프레서(604)는 또한 2-에러 MISR 취소를 제거하도록 설계될 수 있다. XTOL 셀렉터(602)의 일 실시예에서, 각 디코더(700)의 출력은 컴프레서(604)의 3개의 위상-시프트 구성요소(예를 들어 XOR 게이트)에 제공될 수 있다(즉 3개의 팬아웃이 사용됨). 어느 세트의 위상-시프트 구성요소가 각 팬아웃을 수신하는지 결정하는 것은 테스트 기술 분야의 당업자에게 알려져있으므로, 여기서 설명하지 않는다.
일 실시예에서, MISR(606)은 "테스터 모드"(도 5의 501)에서 매 테스트 패턴 후에 언로드 될 수 있고 언로드될 때 0으로 리셋된다. 분리된 스캔 입력과 출력 핀이 사용 가능하면, MISR 언로드는 테스터 사이클을 최소화하도록 시드 로드와 오버랩될 수 있다. 실패 에러 시그너처(failing error signature)는 패턴 진단을 제공하도록 분석될 수 있다. 대안으로, 사용자는 패턴 세트의 마지막에서만 MISR(606) 언로드하도록 선택할 수 있고, 그에 의해 높은 데이터 압축을 제공하지만 직접 진단 지원을 제공하지는 않는다.
XTOL 셀렉터(602)는 풀 가관측성 모드, 비 가관측성 모드, 단일 체인 모드, 및 복수의 가관측성 모드를 지원하도록 설정될 수 있다. 풀 가관측성 모드는 무-X(X-free) 시프트를 위해 사용될 수 있고 가능한 경우 선호된다. 오프 상태에서 XTOL 이네이블 신호는 리시딩 사이에서 풀 가관측성을 가능하게 한다(XTOL 이네이블 신호가 변경될 수 있을 때). XTOL 이네이블 신호가 온일 때, 풀 가관측성은 최소 숫자의 XTOL 컨트롤 비트로 선택될 수 있다. X-체인(즉, 하나 이상의 X를 포함하는 스캔 체인)은, 설정되면, 이 모드에서 관측되지 않는다(X-체인은 2008년 9월 30일 출원된 미국 특허 출원 제12/242,573호, "Increasing Scan Compression by Using X-chains"에 자세히 설명된다). 비-가관측성 모드는, 모든 MISR 입력이 블로킹되어야 하는 경우에, 시프트를 위해 사용될 수 있다. 일부 X가 많은 설계에서 이 모드를 자주 사용하며, 따라서 적은 XTOL 컨트롤 비트를 가지고 선택가능할 것이다.
단일 체인 모드는, 타깃 셀이 관측되는 경우, 시프트를 위한 단일 내부 체인을 관측하는 데 사용될 수 있다. 이 모드는 X-체인 관측을 허용하고 풀 XTOL을 제공할 수 있는 유일한 모드이다. 즉, 아무리 많은 다른 셀이 X라도 임의의 셀이 관측될 수 있다. 일반적인 설계에서 많은 수의 내부 체인 때문에, 단일 체인을 선택하는 것은 일반적으로 많은 XTOL 비트를 필요로 한다. 그러므로 이 모드는 최소한으로 사용되어야 한다.
복수 가관측성 모드는 각 설계를 위해 맞춰질 수 있다. 이 모드에서, 스캔 체인의 여러 서브셋이 관측될 수 있다. 그러므로, 복수 가관측성 모드는 단일 및 풀 가관측성 모드 사이의 중간 영역을 커버한다. 이 모드의 선택은, 스캔 체인의 지정된 서브 셋을 선택하는데 필요하도록, 가장 작은 가능한 비트가 코딩될 수 있다.
일 실시예에서, XTOL 셀렉터(602)를 위한 모드는 X가 컴프레서(604)를 통과하지 않은 경우만 선택될 수 있다. 임의의 모드 선택이 시프트당 단일 XTOL 비트를 사용하여 인접 시프트 사이클에 대하여 반복될 수 있다. 복수 가관측성 모드는, 2개의 스캔 체인이 모든 그룹에 함께 있지 않도록 설정될 수 있으므로, 스캔 체인 중 하나에 X가 있더라도 다른 스캔 체인 관측을 위한 모든 복수 가관측성 모드의 선택을 방해하지 않는다.
복수 가관측성 모드 생성을 위해, 둘 이상의 파티션(partitions)이 비 X-체인의 세트에 정의된다. 각 파티션은 전체 세트를 포함한다. 상호 배타적인 그룹이, 각 체인이 각 파티션의 한 그룹에 정확히 속하도록, 각 파티션 안에 정의된다. 추가로, 각 체인은, 파티션당 그룹의 개수의 곱이 적어도 체인 개수만큼 크게 되도록, 파티션 당 하나의 그룹씩 고유 세트의 그룹들 안에 있다. 그 파티션에 관한 임의의 그룹 또는 그 보완물이 복수 가관측성 모드에서 선택될 수 있다.
복수 가관측성 모드에 따른 단순 체인 파티셔닝이 10 체인과 2 파티션을 사용하여 설명될 수 있다. 예를 들어, 파티션 1은 각각 5 체인의 2 그룹을 포함할 수 있는 데 반해, 파티션 2는 각각 2 체인의 5 그룹을 포함할 수 있다. 그룹의 전체 숫자는 7(즉 2+5)이다. 실시예 그룹은 그룹 0(0,1,2,3,4), 그룹 1(5,6,7,8,9), 그룹 2(0,5), 그룹 3(1,6), 그룹 4(2,7), 그룹 5(3,8), 그룹 6(4,9)을 포함한다. 일 실시예에서, 어느 두 체인도 동일한 2 그룹에 있지 않도록, 10 (2x5) 관측이 허용된다(예를 들어, 그룹 0 관측, 그룹 1 관측, 그룹 2 관측, 그룹~2 관측(즉,1,2,3,4,6,7,8,9), 등).
다른 보다 현실적인 설계 예에서, 1024 체인과 4 파티션을 고려한다. 본 예에서, 파티션 1은 각 그룹에 512 체인을 가진 2 그룹을 포함할 수 있고, 파티션 2는 각 그룹에 256 체인을 가진 4 그룹을 포함할 수 있고, 파티션 3은 각 그룹에 128 체인을 가진 4 그룹을 포함할 수 있고, 파티션 4는 각 그룹에 64 체인을 가진 16 그룹을 포함할 수 있다. 그룹의 전체 수는 30(즉,2+4+8+16)이다. 어느 두 체인도 동일한 4 그룹에 있지 않으므로, 1024 조합이 허용된다(즉, 2x4x8x16).
임의의 하나의 체인을 선택할 가능성을 제공하는 것은 레이아웃에 특별한 주의를 요한다. X-디코더가 개별 체인 블로킹을 제공하도록 그 입력을 완전 디코드하는 단순한 구현이 와이어 정체를 가져올 수 있다. 특히, 도 7에 보다 상세히 도시된 디코딩 블럭(700)은 와이어-효율적인 구성을 제공할 수 있다.
일 실시예에서, 블럭(700)은 스캔 체인 출력과 멀티플렉서(702)로부터의 출력을 수신하는 AND 게이트(701)를 포함할 수 있다. 멀티플렉서(702)는 2개의 로직 게이트(공유 로직(703)으로 불림), 즉, OR 게이트(704)와 AND 게이트(705)로부터 출력을 수신할 수 있다. AND 게이트(701)는 도시 목적만을 위해 멀티플렉서(702)와 공유 로직(703)으로부터 분리되어 도시된다. 각 스캔 체인(711)은 단 하나의 상응하는 디코딩 블럭(700)을 가진다. 이웃 스캔 체인들이 제 2 레벨의 디코딩에서 일부 로직을 공유할 수 있다(즉, 공유 로직(703)). 이 공유는 디코딩 기술의 당업자에게 알려져 있으므로 여기서 상세히 설명하지 않는다. 그러므로, 디코딩 블럭(700)은 논리적 구현을 나타내지만 상이한 물리적 구현을 가질 수 있다.
로직 게이트(704,705)가 동일한 입력을 수신한다. 즉, 한 세트의 그룹을 지정한다. 그러나, 스캔 체인(711)에 따라, 입력들의 세트(즉, 31개 가능 입력으로부터 선택됨)는 디코딩 블럭(700)들 사이에서 변화될 수 있다. X-디코더(601)는 그룹당 하나의 출력을 제공하고, 또한 단일 체인 모드가 활성화될 때 표시하는 "단일 체인" 컨트롤(모든 멀티플렉서(702)에 공통됨)을 수행한다. 예를 들어, 1024개 체인(전술한 보다 복잡한 파티셔닝 참조)에서, X-디코더(601)는 31개 출력(단순 구현에서 1024에 대해서)(710)을 제공할 수 있고, 하나의 XTOL 이네이블 신호와 13개 XTOL 컨트롤 신호를 입력으로 수신할 수 있으며, 각각의 공유로직(703)은 한 세트의 4개 입력을 수신한다. 14개 디코더 입력으로부터 31개 디코더 출력을 생성하는 것은 디코드 기술 분야의 당업자에게 잘 알려져 있으므로, 여기에서 설명되지 않는다. 스캔 체인당 하나의 디코딩 블럭(700)을 제공하는 것은, 체인이 속하는 모든 그룹의 단순한 세트인 고유 "어드레스"를 가지고, 개별 체인 선택을 가능하게 한다. 예를 들어, 전술한 단순 포지셔닝을 다시 참조하면, 세트(그룹 0, 그룹 2)는 체인 0을 유일하게 선택하는 반면에, 세트(그룹 0, 그룹 3)는 체인 1을 유일하게 선택한다. X-디코더(601)로부터 또한 생성되는 단일 체인 컨트롤은 모든 멀티플렉서(702)에 대해 컨트롤로만 작용한다.
간단한 예가 추가로 제공된다. 단일의 체인 컨트롤 신호가 온이면, 임의의 스캔 체인이 단일 체인 모드에서 관측될 수 있다. 단일 체인 컨트롤 신호가 오프되면, 스캔 체인은 다른 모드(즉, 풀 가관측성, 비-가관측성, 및 복수의 가관측성)에서 관측될 수 있다. OR 게이트(704)와 AND 게이트(705)로의 공유 입력은 상기 스캔 체인이 속하는(상기 파티셔닝 참조) 4 그룹이다(즉, 각 스캔 체인은 각 파티션에 하나씩 정확하게 4 그룹 내의 멤버가 된다).
풀 가관측성 모드에서, XTOL 이네이블은 0(오프), 단일 체인 컨트롤 신호가 0(즉, 단일 체인 컨트롤에 있지 않음), 및 X-디코더(601)의 다른 30개 출력은 1이 될 것이다. 도 7에 도시된 바와 같이, 단일 체인 컨트롤 신호가 0이면, 모든 멀티플렉서(702)는 OR 게이트(704)의 출력을 선택할 것이다. OR 게이트(704)로의 모든 입력이 1이므로, 멀티플렉서(702)의 출력만 1이다. AND 게이트(701)에 적용된 1은 모든 스캔 체인의 가관측성을 허용한다.
반면에, XTOL 이네이블이 1이면, XTOL 컨트롤 신호가 가관측성 모드를 결정하는 데 사용된다. 예를 들어, 비-가관측성 모드에서, 단일 체인 컨트롤 신호가 0이고 X-디코더(601)의 다른 30개의 출력 또한 0이다. 멀티플렉서(702)는 다시 한번 OR 게이트(704)의 출력을 선택하고, 이는 이 케이스에서 0을 출력한다. AND 게이트(701)에 적용되는 0은 모든 스캔 체인 값을 블로킹한다.
단일 체인 모드에서, 단일 체인 제어 신호는 1이다. 그러므로, 멀티플렉서(702)는 AND 게이트(705)의 출력을 선택한다. X-디코더(601)의 30개의 다른 출력 중 넷이 1이 되고 다른 26개가 0이 된다. 특히, 4개의 1을 수신하는 단 하나의 스캔 체인, 즉 관측을 위해 선택된 스캔 체인이 있을 것이다.
복수 가관측성 모드에서, 단일 체인 컨트롤 신호는 0이다. 그러므로, 멀티플렉서(702)는 OR 게이트(704)의 출력을 선택한다. X-디코더(601)로의 30개의 다른 출력 중 일부는 0이 될 것이고 다른 일부는 1이 될 것이다. OR 게이트(704)로의 4 입력 중 적어도 하나가 1이면, 상응하는 스캔 체인이 관찰된다.
복수 가관측성 모드에서 그룹핑의 품질은 시프트 당 X의 개수의 함수로 체인 관측의 확률을 연산하는 것에 의해 분석적으로 예측될 수 있다. 1024개의 체인에 대한 결과는 도 8과 9에 도시된다. 가장 높은 가관측성, 즉, 무-X 모드가 각 케이스에서 선택되었으며, 따라서 풀 가관측성이 X가 없는 경우 선택되고, 1 또는 소수의 X를 위해 15/16 모드 중 하나, 그 다음 7/8 모드 중 하나, 계속해서 3/4, 1/2, 1/4, 1/8, 및 1/16이 선택된다.
도 8에 도시된 바와 같이, 15/16은 1개의 X를 위해서만 사용되고, 드물게 2개의 X를 위해, 그리고 더 많은 X를 위해서는 거의 사용되지 않는다. 도 8에서 모든 곡선의 합은 임의 개수의 X에 대해 100%이다. 예를 들어, 1/4은 시프트 당 2 내지 7개의 X에 대해 가장 적당한 것이며, 1/8 모드는 시프트 당 7 내지 19개의 X를 위해 가장 적당한 모드이고, 그 다음 1/16은 더 많은 X를 위해서 가장 적당하다. 단일 가관측성 모드는 도 8에 포함되지 않는다. 보완 모드, 15/16, 7/8, 3/4는 시프트 당 약 2개 X의 매우 얇은 영역에서만 사용가능하지만, 이는 실제 설계에서 매우 잦은 상황이므로, 보완 모드가 가장 자주 사용된다.
도 9는 XTOL 셀렉터 품질의 두 측정을 도시한다. 제 1 곡선(901)은 관측되는 체인의 평균 수를 보여주며, 이것은 X가 증가하면서 급격히 감소한다. 특히, 상기 체인들의 20%는 시프트 당 6개의 X로 여전히 관측될 수 있고 상기 체인들의 10%는 시프트 당 19개의 X까지 여전히 관측될 수 있다. 이 가관측성은 이전 솔루션으로 가능한 것보다 훨씬 더 높다. 예를 들면, 관측된 체인의 평균은 조합 컴프레서 또는 셀렉터에 대해 일반적으로 겨우 3%이다. 도 2의 제2 곡선은, 일부 다른 체인들이 X에 있는 경우, 복수 관측 모드에서 관측 가능한 체인들, 즉 관측 가능한(반드시 한번에는 아님) 체인들의 비율을 나타낸다. 관측 가능한 체인은, X가 대부분의 패턴에 대하여 X인 어떤 셀 설계 내에 집중하는 경향이 있기 때문에, 중요하다. XTOL 비트 비용이 높은 단일 체인 가관측성을 이용할 필요가 없이, 동일 패턴에서 모두는 아니더라도, ATPG가 결함 관측을 위해 다른 체인을 효율적으로 관측하는 것은 중요하다. 제 2 곡선(902)에 의해 표시되는 바와 같이, 높은 가관측성은 시프트 당 X의 높은 개수에도 불구하고 유지될 수 있다. 예를 들어 50% 가관측성은 시프트 당 15개의 X에도 불구하고 여전히 유지될 수 있다.
이제 케어 및 XTOL 시드에 테스트 패턴을 최적화하고 맵핑하기 위해 수정된 ATPG 프로세스가 설명된다. 도 10은 케어 비트를 케어 PRPG 시드에 맵핑하는 맵핑 기술(1000)의 실시예가 도시된다. 기술(1000)에서, 각 패턴에 대하여, 테스트 제너레이터는 제 1 및 제 2 결함을 위해 필요한 경우 플래그(flagged) 된, 원하는 케어 비트를 저장한다. 시프트 당 케어 비트의 개수가 유지된다. 제2 결함의 결합은 단일 시프트에서 만족될 수 있는 비트의 최대 개수에 의해 제한되고, 이는 작은 마진을 제외한 케어 PRPG의 길이와 동일하다. 케어 비트의 리스트가 기술(1000)에서 사용되며, 이는 요구되는 케어 시드를 패턴마다 연산 및 저장한다.
맵핑 기술(1000)에서, 케어 비트는 시프트 사이클(1001)에 의해 정렬되고, 변수 start_shift는 0으로 초기화되고, 변수 리미트(limit)는 시드에 맵핑이 이루어질 가능성이 있는 마진을 제외한 PRPG 길이에 한정된다. 윈도우 내의 케어 비트의 총 숫자가 미리 연산된 제한(1002)을 초과하지 않도록, start_shift부터 end_shift까지, 시프트의 최대 윈도우가 연산된다. 윈도우 내의 모든 케어 비트가 단일 시드에 맵핑되면(즉, 리니어 시스템이 솔루션을 가지면)(1003,1004), 시드는 저장되고(1005), 사이클 start_shift에서 케어 PRPG 안으로 로드될 것이고 사이클 end_shift+1까지 모든 케어 비트를 생성한다. 최종 시프트가 포함되지 않았으면(1006), 시프트의 새로운 윈도우가 유사하게 진행된다(1002). 최종 시프트가 포함되었으면, 프로세스는 종료한다(1007).
윈도우 내의 모든 케어 비트가 단일 시드로 맵핑(1004) 될 수 있는 게 아니면, 윈도우는 end_shift가 여전히 start_shift보다 큰 것으로 가정하여(1008) 직선적으로 감소되고(end_shift--), 결과로서 얻어진 케어 비트를 시드에 맵핑하도록 시도된다(1003). 드문 경우에, 단일 시프트의 케어 비트라도 end_shift > start_shift가 참이 아닌 시점에서는 시드에 맵핑될 수 없다. 이 경우에서, 시드에 맵핑될 수 있는 케어 비트의 최대 개수를 결정하기 위해 이진 서치(bunary search)가 실행된다(1009). 상기 서치 동안 모든 단계에서, 케어 비트의 리니어 시스템을 위한 솔루션이 구해진다. 제1 결함에 대하여 플래그된 케어 비트는, 있다면, 제1 결함이 테스트 제너레이터에 의해 다시 타깃으로 되지 않기 때문에, 제2 결함에 대하여 우선권이 주어진다.
시드로부터 연산된 PRPG 값은 스캔 체인 안으로 로드되고 결함 시뮬레이션이 실행된다. 떨어진 케어 비트 때문에 검출되지 않은 제2 결함은 그 다음 미래 패턴에서 다시 타깃으로 된다.
M(예를 들어 32) 패턴이 생성되고 각각이 케어 시드에 맵핑된 후, 케어 PRPG로부터 로드된 값에 기초하여, 어느 스캔 셀이 타깃 결함을 캡쳐하고 어느 셀이 X를 캡쳐했는지 결정하기 위해 시뮬레이션이 실행된다. 이 정보는 그 다음 각 패턴에 대한 XTOL 시드를 연산하기 위해 사용될 수 있다. 도 11은 관측 모드를 선택하는 기술(1100)을 도시한다. 특히, 모든 패턴과 모든 시프트에 대하여, 다음과 같이 모드가 선택되어야 한다: 어느 X도 허용되지 않고, 제1 타깃 결함이 있다면 관측되고, 가능한 한 많은 제2 타깃 또한 관측되고, 가능한 많은 타깃 아닌 셀이 관측되고, 가능한 적은 XTOL 비트가 요구된다.
모든 패턴에 대하여, 각 모드(즉, 풀 가관측성, 비 가관측성, 단일, 복수, 및 그 보완물)에는 모드 장점(mode merits)가 초기에 할당되며(1101), 이것은 가관측성에 비례하고, 얼마나 많은 XTOL-컨트롤을 선택할 필요가 있는지에 역비례한다. 일 실시예에서, 유사한 X-분포를 가진 상이한 패턴에 대하여 상이한 모드가 선호되고, 그리하여 모든 관측 가능한 체인의 우연한 관측이 가능하도록 작은 랜덤 컴포넌트가 추가된다. 이 시점에서, 모드의 장점 값은 모든 시프트에 대하여 동일하다.
다음, 각 시프트에 대하여, 하나 이상의 셀을 X에서 선택하는 모드는 그 시프트에 대한 고려에서 제외된다(1102). 제1 타깃 결함을 관측한 시프트에 대하여, 제1 타깃 관측 셀을 관측하지 않은 모든 모드가 제거된다(1103). 임의의 단일 체인을 관측하는 능력은 적어도 제1 타깃이 항상 관측 가능한 것을 보장한다. 다음, 남은 모드의 장점 값은 관측된 제2 타깃 셀의 개수와 비례하여 상승된다(1104). 최종 시프트에 대하여 가장 높은 장점 값을 가지는 두 모드는 그 다음에 베스트(best)와 베스트 2로 저장된다(1105).
모든 시프트에 대하여, 최후에서 2번째의 것으로부터 최초의 것까지, 각 모드는 shift+1의 두 최선의 모드 중 하나(curr 및 curr2로 저장됨)가 뒤따르는 베터로 업데이트된 장점 값을 가진다. 모드를 홀드하는 것은 가장 낮은 XTOL-컨트롤 비용을 가진다. 즉, 단일 비트이다. 현재 시프트에 대하여 가장 높은 장점 값을 가지는 두 모드가 그 다음에 베스트와 베스트2로 저장되고 다음 시프트를 위해 사용된다(1106). 일 실시예에서, 빠른 실행을 위해, 상기 두 개의 베스트 모드만이 연산되고 사용된다. 마지막으로, 상기 선택된 베스트 모드는 XTOL 시드에 맵핑되고(1108), 그 다음 관측될 수 없는 제2 결함이 재활성화되어(1209), 그들이 장래 테스트 패턴에 의해 타깃이 될 수 있다.
도 12는 XTOL-컨트롤 비트를 XTOL PRPG 시드에 맵핑하는(즉 도 11의 단계1108을 구현하는) 맵핑 기술(예를 들어 도 12의 단계 1208)의 예를 도시한다. 맨 먼저 맵핑 기술(1200)에서, 변수 start_shift가 0으로 초기화되고 변수 리미트(limit)는 시드에의 맵핑이 결정될 가능성이 있는 마진을 제한 PRPG 길이로 초기화된다.
윈도우의 초기 시프트 연산은, 먼저 모든 풀 가관측성 사이클 동안 XTOL 섀도우를 홀드하는데(홀드를 위해 시프트당 1비트가 필요) 충분한 비트가 새로운 XTOL 시드에 의해 공급될 수 있는 지를 고려한다(1202). 충분한 비트가 남아있지 않으면, XTOL_이네이블을 즉시 턴오프하는 것이 유리하다(예컨대, 더미 시드를 이용하여)(1203). 최종 시프트가 포함되지 않았다면(1204), 시프트의 새로운 윈도우가 그 다음 처리될 수 있다(1206).
start_shift에서 end_shift까지, 시프트의 최대 윈도우가, 윈도우 내의 XTOL-컨트롤 비트의 총 개수가 미리 연산된 제한을 초과하지 않도록, 연산된다. 시드 연산을 위해 리니어 시스템의 솔루션을 구한다(1207). 윈도우 내의 모든 케어 비트가 단일 시드에 맵핑될 수 있으면(즉, 리니어 시스템이 솔루션을 가지면)(1208), 시드가 저장되고(1209) 사이클 start_shift에서 XTOL PRPG 안으로 로드될 것이고 사이클 end_shift+1까지 모든 케어 비트를 생성한다. 최종 시프트가 포함되지 않았으면(1210), 시프트의 새로운 윈도우가 그 다음 유사하게 처리된다(1202). 최종 시프트가 포함되었다면, 처리는 종료된다(1205).
윈도우 내의 모든 XTOL-컨트롤 비트가 단일 시드에 맵핑될 수 없으면(1208), 윈도우는 선형으로 감소되고(end_shift--) 그 결과 생성된 케어 비트를 시드에 맵핑하는 시도가 이루어진다(1207). XTOL 컨트롤 비트의 개수가 XTOL PRPG 길이보다 훨씬 작기 때문에, 필요한 비트는 드롭(drop)되지 않으며, 단일 시프트를 맵핑하는 것은 실제로는 언제나 가능하다.
하기 표 1은 내부 체인 길이 = 100을 가진 설계와 XTOL 컨트롤의 유효한 사용을 위한 테스트 패턴의 예를 나타낸다. 최초 20개 시프트 사이클(시프트 사이클 0...19)에 X가 없으며, 따라서 XTOL 이네이블은 초기 케어 PRPG 시드의 로드에 의해 셋 오프되고, 풀 가관측성 모드(FO)를 선택한다. 이 사이클에서 100% 가관측성이 있다(X-체인이 없는 것을 가정하면). 사이클 20은 1개의 X를 가진다. 그러므로 사이클 20에 앞서서, XTOL PRPG 로드와 XTOL 이네이블 온으로 설정된다(상기 시드가 이전 사이클에서 내부 시프트와 오버랩되어 로드된다). XTOL PRPG로부터 유도된 8비트를 사용하여 15/16 모드가 선택된다. 사이클 21 내지 29는 다시 X가 없다; 그러나, XTOL 이네이블이 이제 온이므로 사이클 21에서 XTOL PRPG의 3비트를 사용하여 풀 가관측성 모드가 선택된다. 이후, 사이클 22 내지 29에서 XTOL 섀도우의 값을 홀드하기 위해 시프트 당 단 1비트만 사용된다. 사이클 30은 5개의 X를 가진다. 이 경우에서, XTOL 1/4 모드를 선택하기 위해 PRPG로부터 8비트가 사용되며, 이는 다음 사이클의 필요 또한 만족시키기 위해 선택된다. 구체적으로, 사이클 31 내지 39는 시프트 당 3 내지 7개의 X를 가지며 동일한 1/4 모드가 사용된다. XTOL 섀도우의 값을 홀드하기 위해 시프트 당 단 1비트가 사용된다. 최종 60 사이클은 X가 없다. 그러므로, 다른 시드가 로드되고 XTOL 이네이블이 풀 가관측성을 위해 오프 설정된다. 특히, 이 실시예에서, 11 사이클에서 전체 50개 X를 블로킹하는 데 단지 36개의 XTOL 비트만 사용되고 92%의 평균 가관측성을 달성한다.
Figure 112009066509830-pct00001
삭제
도 13은 전술한 풀 XTOL, 매우 높은 스캔 압축을 포함하는 디지털 ASIC 설계 흐름의 예를 개략적으로 나타낸다. 높은 레벨에서, 프로세스는 제품 아이디어로 시작하고(단계 1300), EDA 소프트웨어 설계 프로세스에서 실현된다(단계 1310). 설계가 종료될 때, 테이프 아웃(tape out) 될 수 있다(이벤트 1340). 테이프 아웃 이후, 제조 프로세스(1350)와 패키징 및 어셈블리 프로세스(단계 1360)가 궁극적으로 완제품 칩(결과 1370)을 가져온다.
EDA 소프트웨어 설계 프로세스(1310)는 실제로 간단성을 위해 선형 방식으로 도시된 복수의 단계(1312 ~ 1330)으로 구성된다. 실제 ASIC 설계 프로세스에서, 특정 디자인은 임의 테스트를 통과할 때까지 단계들을 반복해야 한다. 유사하게, 임의의 실제 설계 프로세스에서, 이들 단계는 상이한 순서와 조합으로 발생할 수 있다. 이 설명은 그러므로 특정 ASIC를 위하여 명확하거나, 추천되는 설계 흐름이라기보다는 일반적인 설명으로 제공된다.
EDA 설계 프로세스의 개략적인 설명의 컴포넌트 단계(단계1310)가 이제 제공될 것이다:
시스템 설계(단계 1312): 설계자가 실행하길 원하고, 기능성, 체크 비용 등을 개선할 계획의 가정을 실행할 수 있는 기능성을 설명한다. 하드웨어-소프트웨어 구분이 이 단계에서 일어날 수 있다. 이 단계에서 이용될 수 있는 Synopsys 사의 EDA 소프트웨어 제품의 예는 Model Architect, Saber, System Studio, 및 DesginWare®제품들을 포함한다.
로직 설계와 기능 검증(단계 1314): 이 단계에서, 시스템 내의 모듈을 위해 VHDL 또는 Verilog 코드가 기록되고 설계는 기능적 정확성을 위해 체크된다. 보다 상세히, 설계가 정확한 출력을 생성하는 것을 강화하기 위해 체크되도록 한다. 이 단계에서 이용될 수 있는 Synopsys 사의 EDA 소프트웨어 제품의 예는 VCS, VERA, DesginWare®, Magellan, Formality, ESP 및 LEDA 제품들을 포함한다.
테스트를 위한 종합 및 설계(단계 1316): 여기서, VHDL/Verilog는 네트리스트로 변환된다. 네트리스트는 타깃 기술을 위해 최적화될 수 있다. 또한, 완제품의 체크를 허용하는 테스트의 설계와 실행이 일어난다. 이 단계에서 이용될 수 있는 Synopsys 사의 EDA 소프트웨어 제품의 예는 Desgin Compiler®, Power Compiler, Tetramax, 및 DesginWare®제품들을 포함한다.
네트리스트 검증(단계 1318): 이 단계에서, 네트리스트는 타이밍 제약과의 순응에 대하여 그리고 VHDL/Verilog 소스 코드와의 통신에 대하여 체크된다. 이 단계에서 이용될 수 있는 Synopsys 사의 EDA 소프트웨어 제품의 예는 Formality, PrimeTime, 및 VCS 제품들을 포함한다.
설계 플래닝(단계 1320): 여기서, 칩에 대한 전체 평면도가 타이밍 및 탑-레벨 라우팅을 위해 구성 및 분석된다. 이 단계에서 이용될 수 있는 Synopsys 사의 EDA 소프트웨어 제품의 예는 Astro 및 IC Compiler 제품들을 포함한다.
물리적 실행(단계 1322): 배치(회로 소자의 배치) 및 라우팅(동일한 것의 연결)이 이 단계에서 일어난다. 이 단계에서 이용될 수 있는 Synopsys 사의 EDA 소프트웨어 제품의 예는 Astro 및 IC Compiler 제품들을 포함한다.
분석 및 추출(단계 1324): 이 단계에서, 회로 기능이 트랜지스터 레벨에서 검증되고, 이는 차례로 가정 개선을 허용한다. 이 단계에서 이용될 수 있는 Synopsys 사의 EDA 소프트웨어 제품의 예는 AstroRail, Prime Rail, Primetime, 및 Star RC/XT 제품들을 포함한다.
물리적 검증(단계 1326): 이 단계에서 여러 체크 기능이 제작, 전기적 이슈, 리소그래피 이슈, 및 회로에 대한 정확성을 강화하도록 실행된다. 이 단계에서 이용될 수 있는 Synopsys 사의 EDA 소프트웨어 제품의 예는 Hercules 제품을 포함한다.
분해능 향상(단계 1328): 이 단계는 설계의 제조 가능성을 개선하는 레이아웃의 기하학적 조작을 포함한다. Synopsys 사의 EDA 소프트웨어 제품의 예는 Proteus, ProteusAF, 및 PSMGen 제품들을 포함한다.
마스크 데이터 준비(단계 1330): 이 단계는 완제품 칩을 생산하는 데 사용되는 리소그래피를 위한 마스크의 생산을 위해 "테이프-아웃" 데이터를 제공한다. Synopsys 사의 EDA 소프트웨어 제품의 예는 CATS® 자매 제품들을 포함한다.
본 발명의 실시예가 여기서 첨부 도면과 함께 상세히 설명되었지만, 본 발명은 전술한 정확한 실시예에 한정되는 것이 아니다. 상기 실시예들은 완전한 것을 의도하지 않으며 본 발명을 전술한 정확한 형태에 제한하는 것을 의도하지도 않는다. 그러므로, 다양한 변형과 수정이 이루어질 수 있다.
예를 들어, 전술한 온-칩 압축 구성요소는 각 설계를 위해, 예를 들어 스캔 입력, 출력, 내부 체인, 및 옵션으로 X-체인의 수에 기초하여 개별적으로 최적화될 수 있다. 논리적으로, 더 작은 설계는 더 작은 PRPG와 MISR(예를 들어 32 비트)를 이용할 수 있는 반면에, 큰 설계는 더 큰 PRPG와 MISR(예를 들어 64 또는 100+ 비트까지도) 또는 라우팅을 용이하게 하는 복수 컴프레서/디컴프레서 구조체 까지도 사용하여야 한다. PRPG 및 MISR 길이는 테스터 사이클의 숫자를 로드 및 언로드 데이터의 균형을 잡기 위해 정밀하게 조절될 수 있다. 예를 들어 6개 스캔 입력, 12개 스캔 출력, 및 1024개 체인을 가진 설계는, 로딩하는 11개 사이클의 모든 비트를 이용하기 위해 PRPG 섀도우 길이가 66이고, 6으로 나누어질 수 있도록, 65-비트 PRPG로 설정될 수 있다. 상응하는 MISR은 12(출력의 개수)에 의해 나누어질 수 있는 60 비트 길이가 될 수 있다.
구성에 상관없이, 테스트 애플리케이션 동안의 동작이 도 5에 도시된 상태 다이어그램에 설명된다. 또한, 로딩 시드와 언로딩 MISR은 내부 시프트와 상이한 클럭 주파수에서 작동한다. 이 경우에서, 테스트 시스템을 위한 하드웨어는 변경이 필요 없다: 즉, "섀도우 모드"가 사용되는 사이클의 개수의 임계치만이 조정될 필요가 있다. 스캔 입력과 출력의 수는 1만큼 낮을 수 있고; 먼저 MISR을 언로드하고 그 다음 시드를 로드하기 위해 하나의 양방향 비트라도 "테스트 모드"에서 사용될 수 있다. 특히, 데이터 부피는 스캔 입력과 출력의 수에 독립적이다.
PRPG 섀도우 레지스터는 여기에 참조로 결합되는, 2005년 9월 27일에 특허된 미국 특허 제6,950,974호, "Efficient Compression and Application of Deterministic Patterns in a Logic BIST Architecture"와 2007년 6월 26일에 특허된 미국 특허 제7,237,162호, "Deterministric BIST Architecture Tolerant of Uncertain Scan Chain Outputs"에 설명된다. 섀도우 레지스터를 위한 다른 구성, 예를 들어 저장 소자 대 멀티플렉서의 수를 변화시키는 것이 다른 실시예에서 사용될 수 있다.
따라서, 본 발명의 범위는 다음 청구범위와 그들의 균등물에 의해서 한정된다.

Claims (29)

  1. 복수의 스캔 체인을 포함하고, 집적회로(IC)로 구현된 설계를 테스트하기 위한 스캔 테스트 시스템에 있어서,
    상기 설계의 오류 식별을 위하여 상기 복수의 스캔 체인에 적용되는 패턴을 생성하기 위해 제 1 시드를 수신하는 제 1 PRPG(pseudo-random pattern generator) 프로세싱 체인;
    상기 스캔 체인의 가관측성 레벨을 결정하는 XTOL(X-tolerant) 컨트롤 비트를 생성하기 위해 제 2 시드를 수신하는 제 2 PRPG 프로세싱 체인;
    상기 복수의 스캔 체인 및 상기 XTOL 컨트롤 비트로부터 스캔 출력을 수신하고, 시프트 당 X-컨트롤을 제공하고, 상기 설계 분석을 위한 테스트 출력을 생성하는 언로드 블록; 및
    테스터로부터 입력을 수신하고, 상기 제 1 PRPG 프로세싱 체인으로의 상기 제 1 시드 및 상기 제 2 PRPG 프로세싱 체인으로의 상기 제 2 시드 중 하나를 선택적으로 제공하는 주소 지정 가능(addressable) PRPG 섀도우 레지스터를 포함하는 것을 특징으로 하는 스캔 테스트 시스템.
  2. 제 1 항에 있어서,
    상기 제 1 PRPG 프로세싱 체인은,
    상기 제 1 시드를 수신하기 위한 케어(CARE) PRPG; 및
    상기 케어 PRPG의 출력을 수신하고 상기 복수의 스캔 체인에 출력을 제공하는 케어 위상 시프터를 포함하는 것을 특징으로 하는 스캔 테스트 시스템.
  3. 제 2 항에 있어서,
    상기 케어 PRPG로부터 입력을 수신하고 상기 케어 위상 시프터로 출력을 제공하는 케어 섀도우 레지스터를 추가로 포함하는 것을 특징으로 하는 스캔 테스트 시스템.
  4. 제 3 항에 있어서,
    상기 케어 PRPG는 상기 케어 섀도우 레지스터를 유지 모드에 놓는 파워 컨트롤 신호를 제공하여 상수 값이 상기 복수의 스캔 체인으로 시프트되도록하여 시프트 파워를 감소시키는 것을 특징으로 하는 스캔 테스트 시스템.
  5. 제 4 항에 있어서,
    제 2 PRPG 프로세싱 체인은,
    상기 제 2 시드를 수신하는 XTOL PRPG;
    상기 XTOL PRPG의 출력을 수신하는 XTOL 위상 시프터; 및
    상기 XTOL 위상 시프터의 출력을 수신하고 상기 XTOL 컨트롤 비트를 제공하는 XTOL 섀도우 레지스터를 포함하는 것을 특징으로 하는 스캔 테스트 시스템.
  6. 제 5 항에 있어서,
    상기 XTOL PRPG는 상기 XTOL 섀도우 레지스터를 유지 모드로 놓는 홀드 신호를 생성하도록 설정되는 것을 특징으로 하는 스캔 테스트 시스템.
  7. 제 6 항에 있어서,
    상기 케어 PRPG와 상기 XTOL PRPG는 필요한 경우, 임의의 시프트 사이클에서 다시 시딩(seeding)하도록 설정되는 것을 특징으로 하는 스캔 테스트 시스템.
  8. 삭제
  9. 삭제
  10. 제 1 항에 있어서,
    상기 언로드 블록은,
    상기 스캔 출력을 수신하는 XTOL 셀렉터;
    상기 XTOL 컨트롤 비트를 사용하여 상기 XTOL 셀렉터를 컨트롤하는 X-디코더;
    상기 XTOL 셀렉터의 출력을 수신하는 컴프레서; 및
    상기 컴프레서의 출력을 수신하고 상기 테스트 출력을 생성하는 MISR(multiple-input shift register)을 포함하는 것을 특징으로 하는 스캔 테스트 시스템.
  11. 제 10 항에 있어서,
    상기 XTOL 셀렉터 및 상기 X-디코더는 풀 가관측성 모드, 비-가관측성 모드, 단일 체인 모드, 및 복수의 가관측성 모드 중 하나를 제공하도록 설정되는 것을 특징으로 하는 스캔 테스트 시스템.
  12. 제 11 항에 있어서,
    상기 X-디코더는 상기 복수의 스캔 체인 각각에 연결된 출력을 가지는 디코딩 블록을 포함하는 것을 특징으로 하는 스캔 테스트 시스템.
  13. 제 12 항에 있어서,
    특정 스캔 체인에 대한 상기 디코딩 블록은 상기 특정 스캔 체인이 구성원인 한 세트의 그룹을 수신하는 것을 특징으로 하는 스캔 테스트 시스템.
  14. 제 1 항에 있어서,
    상기 언로드 블록은 상기 주소 지정 가능 PRPG 섀도우 레지스터에 의해 생성되는 XTOL 이네이블 비트에 의해 추가로 제어되는 것을 특징으로 하는 스캔 테스트 시스템.
  15. 복수의 스캔 체인을 포함하고 IC로 구현된 설계를 테스트하기 위한 스캔 테스트 시스템에 있어서,
    시드를 수신하는 PRPG 섀도우 레지스터;
    상기 PRPG 섀도우 레지스터로부터 시드를 수신하는 케어 PRPG;
    상기 케어 PRPG의 출력을 수신하는 케어 섀도우 레지스터;
    상기 케어 섀도우 레지스터의 출력을 수신하고, 채널들 사이의 선형 의존성을 최소화하고, 상기 복수의 스캔 체인을 위한 스캔 비트를 생성하는 케어 위상 시프터;
    상기 PRPG 섀도우 레지스터로부터 다른 시드를 수신하는 XTOL(X-tolerant) PRPG;
    상기 XTOL PRPG의 출력을 수신하고 상기 채널들 사이의 선형 의존성을 최소화하는 XTOL 위상 시프터;
    상기 XTOL 위상 시프터의 출력을 수신하는 XTOL 섀도우 레지스터; 및
    상기 복수의 스캔 체인과 상기 XTOL 섀도우 레지스터로부터 스캔 출력을 수신하고, 시프트 당 X-컨트롤을 제공하고, 상기 설계의 분석을 위한 테스트 출력을 생성하는 언로드 블록을 포함하는 것을 특징으로 하는 스캔 테스트 시스템.
  16. 제 15 항에 있어서,
    상기 XTOL PRPG는 상기 XTOL 섀도우 레지스터를 홀드 모드에 놓는 홀드 신호를 생성하도록 설정되는 것을 특징으로 하는 스캔 테스트 시스템.
  17. 제 15 항에 있어서,
    상기 언로드 블록은,
    상기 스캔 출력을 수신하는 XTOL 셀렉터;
    상기 XTOL 섀도우 레지스터의 XTOL 컨트롤 출력을 사용하여 상기 XTOL 셀렉터를 컨트롤하는 X-디코더;
    상기 XTOL 셀렉터의 출력을 수신하는 컴프레서; 및
    상기 컴프레서의 출력을 수신하고 상기 테스트 출력을 생성하는 MISR을 포함하는 것을 특징으로 하는 스캔 테스트 시스템.
  18. 제 17 항에 있어서,
    상기 XTOL 셀렉터와 상기 X-디코더는 풀 가관측성 모드, 비-가관측성 모드, 단일 체인 모드, 및 복수의 가관측성 모드 중 하나를 제공하도록 설정되는 것을 특징으로 하는 스캔 테스트 시스템.
  19. 제 17 항에 있어서,
    상기 X-디코더는 각각의 상기 복수의 스캔 체인에 연결된 출력을 가지는 디코딩 블록을 포함하는 것을 특징으로 하는 스캔 테스트 시스템.
  20. 제 19 항에 있어서,
    특정 스캔 체인을 위한 상기 X-디코더는 상기 특정 스캔 체인이 구성원인 한 세트의 그룹을 수신하는 것을 특징으로 하는 스캔 테스트 시스템.
  21. 제 18 항에 있어서,
    상기 언로드 블록은 상기 PRPG 섀도우 레지스터에 의해 생성되는 XTOL 이네이블 비트에 의해 추가로 제어되는 것을 특징으로 하는 스캔 테스트 시스템.
  22. 케어 비트를 케어 PRPG로 맵핑하는 방법에 있어서,
    상기 케어 비트는 집적 회로 설계의 오류를 식별하기 위한 패턴을 생성하는 데 사용되고,
    모든 케어 비트가 단일 시드에 맵핑 가능한 시프트의 최대 윈도우를 결정하는 단계; 및
    스캔 테스트 시스템을 사용하여, 상기 케어 비트를 상기 최대 윈도우를 사용하여 상기 케어 PRPG로 맵핑하는 단계를 포함하고,
    상기 최대 윈도우를 결정하는 단계는 시프트 사이클에 의해 상기 케어 비트를 정렬하는 과정을 포함하는 것을 특징으로 하는 케어 비트 맵핑 방법.
  23. 제 22 항에 있어서,
    상기 최대 윈도우를 결정하는 단계는,
    각각의 시프트 사이클에 대하여 상기 케어 비트를 정렬하는 단계;
    윈도우 내의 케어 비트의 총 수가 미리 연산된 한계를 초과하지 않도록 최대한의 윈도우를 연산하는 단계; 및
    상기 윈도우 내의 모든 케어 비트가 단일 시드에 맵핑 가능하면, 상기 케어 PRPG 안으로 단일 시드를 로딩하는 단계를 포함하는 것을 특징으로 하는 케어 비트 맵핑 방법.
  24. 제 23 항에 있어서,
    모든 케어 비트가 상기 단일 시드에 맵핑 가능하지 않으면, 상기 윈도우를 선형으로 감소시키는 것을 특징으로 하는 케어 비트 맵핑 방법.
  25. XTOL 컨트롤 비트를 XTOL PRPG에 맵핑하는 방법에 있어서,
    모든 XTOL 컨트롤 비트가 단일 시드에 맵핑 가능하도록 시프트의 최대 윈도우를 결정하는 단계; 및
    상기 최대 윈도우에 대한 적정 스타트를 결정하는 단계를 포함하는 것을 특징으로 하는 XTOL 컨트롤 비트를 XTOL PRPG에 맵핑하는 방법.
  26. 제 25 항에 있어서,
    풀 가관측성 모드에 대하여,
    XTOL 이네이블 비트를 턴오프하는 제 1 옵션 또는 XTOL 이네이블 비트를 온으로 놔두는 제 2 옵션 중 어느 것이 나은지를 결정하는 단계; 및
    상기 나은 옵션을 선택하는 단계를 포함하는 것을 특징으로 하는 XTOL 컨트롤 비트를 XTOL PRPG에 맵핑하는 방법.
  27. 스캔 테스트를 위하여 가관측성 모드를 선택하는 방법에 있어서,
    상기 가관측성 모드와 관련된 모드 장점들을 초기화하는 단계;
    각 시프트에 대하여, 미지 값 (X)을 통과시키는 임의의 가관측성 모드를 제거하는 단계;
    각 시프트에 대하여, 상기 스캔 테스트의 첫번째 타깃을 감지하지 못한 임의의 가관측성 모드를 제거하는 단계;
    관측된 다수의 제 2 타깃에 기초한 제 2 오류에 대한 모드 장점을 증가시키는 단계;
    각 시프트에 대하여, 전체 모드 장점에 기초하는 시프트에 대한 최상의 가관측성 모드와 제 2 최상의 가관측성 모드를 결정하는 단계; 및
    결과적인 가관측성 모드들은 XTOL 시드들에 맵핑하는 단계를 포함하는 것을 특징으로 하는 스캔 테스트를 위하여 가관측성 모드를 선택하는 방법.
  28. 제 27 항에 있어서,
    상기 가관측성 모드는 풀 가관측성, 비-가관측성, 단일 가관측성, 및 복수의 가관측성을 포함하는 것을 특징으로 하는 스캔 테스트를 위하여 가관측성 모드를 선택하는 방법.
  29. 제 28 항에 있어서,
    상기 가관측성 모드들은 각 가관측성 모드의 보완물을 포함하는 것을 특징으로 하는 스캔 테스트를 위하여 가관측성 모드를 선택하는 방법.
KR1020097022707A 2008-10-21 2009-09-01 스캔 테스트 시스템 및 방법 KR101643776B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US10723908P 2008-10-21 2008-10-21
US61/107,239 2008-10-21
US12/363,520 US7979763B2 (en) 2008-10-21 2009-01-30 Fully X-tolerant, very high scan compression scan test systems and techniques
US12/363,520 2009-01-30

Publications (2)

Publication Number Publication Date
KR20110070649A KR20110070649A (ko) 2011-06-24
KR101643776B1 true KR101643776B1 (ko) 2016-07-28

Family

ID=42109585

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097022707A KR101643776B1 (ko) 2008-10-21 2009-09-01 스캔 테스트 시스템 및 방법

Country Status (8)

Country Link
US (3) US7979763B2 (ko)
EP (1) EP2201395B1 (ko)
JP (2) JP2010539518A (ko)
KR (1) KR101643776B1 (ko)
CN (2) CN101821641B (ko)
HK (1) HK1140821A1 (ko)
TW (1) TWI438456B (ko)
WO (1) WO2010047883A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230059328A (ko) 2021-10-26 2023-05-03 연세대학교 산학협력단 로직 비스트 캡쳐 전력 감소 회로 및 방법

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8065651B2 (en) * 2009-01-29 2011-11-22 Synopsys, Inc. Implementing hierarchical design-for-test logic for modular circuit design
US7930607B2 (en) * 2009-02-10 2011-04-19 Ozgur Sinanoglu Circuit for boosting encoding capabilities of test stimulus decompressors
US8856601B2 (en) * 2009-08-25 2014-10-07 Texas Instruments Incorporated Scan compression architecture with bypassable scan chains for low test mode power
WO2011051791A2 (en) 2009-10-30 2011-05-05 Synopsys, Inc. Method and system for lithography hotspot correction of a post-route layout
US8429473B2 (en) * 2010-03-16 2013-04-23 Synopsys, Inc. Increasing PRPG-based compression by delayed justification
US8898529B2 (en) * 2010-05-19 2014-11-25 Universität Potsdam High performance compaction for test responses with many unknowns
US10345369B2 (en) 2012-10-02 2019-07-09 Synopsys, Inc. Augmented power-aware decompressor
US9157961B2 (en) 2013-03-15 2015-10-13 Synopsys, Inc Two-level compression through selective reseeding
US9171123B2 (en) 2013-08-30 2015-10-27 Synopsys, Inc. Diagnosis and debug using truncated simulation
US9448282B1 (en) * 2014-02-12 2016-09-20 Cadence Design Systems, Inc. System and method for bit-wise selective masking of scan vectors for X-value tolerant built-in self test
US9268892B1 (en) * 2014-12-19 2016-02-23 International Business Machines Corporation Identification of unknown sources for logic built-in self test in verification
US10380303B2 (en) 2015-11-30 2019-08-13 Synopsys, Inc. Power-aware dynamic encoding
US9666302B1 (en) * 2015-12-28 2017-05-30 Taiwan Semiconductor Manufacturing Co., Ltd. System and method for memory scan design-for-test
TWI612317B (zh) 2016-11-01 2018-01-21 國立成功大學 一種測試資料之解壓縮器及其測試方法
US10247780B2 (en) * 2017-08-02 2019-04-02 Texas Instruments Incorporated Re-programmable self-test
US11681843B2 (en) * 2018-01-17 2023-06-20 Siemens Industry Software Inc. Input data compression for machine learning-based chain diagnosis
WO2020043014A1 (en) * 2018-08-28 2020-03-05 Changxin Memory Technologies, Inc. Boundary test circuit, memory and boundary test method
CN109188246B (zh) * 2018-09-06 2020-09-08 长沙理工大学 一种安全的加密芯片可测试性设计结构
US11422186B1 (en) * 2019-06-20 2022-08-23 Synopsys, Inc. Per-shift X-tolerant logic built-in self-test
US11378934B2 (en) * 2019-09-09 2022-07-05 Baker Hughes Oilfield Operations Llc Shadow function for protection monitoring systems
TWI707150B (zh) * 2019-09-27 2020-10-11 瑞昱半導體股份有限公司 晶片及其測試方法
CN112731121A (zh) * 2019-10-14 2021-04-30 瑞昱半导体股份有限公司 芯片及其测试方法
TWI789198B (zh) * 2022-01-04 2023-01-01 瑞昱半導體股份有限公司 掃描鏈設計與電路測試方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002181905A (ja) * 2000-12-13 2002-06-26 Hitachi Ltd 半導体集積回路のテスト方法及びテストパターン発生回路
JP2007322414A (ja) * 2006-05-02 2007-12-13 Fujitsu Ltd 半導体集積回路、記録媒体、テストデータ生成装置およびlsi試験装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6389562B1 (en) * 1999-06-29 2002-05-14 Sony Corporation Source code shuffling to provide for robust error recovery
US6684358B1 (en) * 1999-11-23 2004-01-27 Janusz Rajski Decompressor/PRPG for applying pseudo-random and deterministic test patterns
JP4228061B2 (ja) * 2000-12-07 2009-02-25 富士通マイクロエレクトロニクス株式会社 集積回路の試験装置および試験方法
US6950974B1 (en) 2001-09-07 2005-09-27 Synopsys Inc. Efficient compression and application of deterministic patterns in a logic BIST architecture
US6807646B1 (en) * 2002-03-04 2004-10-19 Synopsys, Inc. System and method for time slicing deterministic patterns for reseeding in logic built-in self-test
JP3877635B2 (ja) * 2002-04-24 2007-02-07 松下電器産業株式会社 入力パターン供給器と半導体集積回路の検査方法
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
US7032148B2 (en) * 2003-07-07 2006-04-18 Syntest Technologies, Inc. Mask network design for scan-based integrated circuits
WO2005031378A1 (en) * 2003-09-26 2005-04-07 Koninklijke Philips Electronics N.V. Method and system for selectively masking test responses
US7231570B2 (en) * 2004-05-26 2007-06-12 Syntest Technologies, Inc. Method and apparatus for multi-level scan compression
US7395473B2 (en) * 2004-12-10 2008-07-01 Wu-Tung Cheng Removing the effects of unknown test values from compacted test responses
US7610527B2 (en) * 2005-03-16 2009-10-27 Nec Laboratories America, Inc. Test output compaction with improved blocking of unknown values
US7376875B2 (en) * 2005-07-14 2008-05-20 International Business Machines Corporation Method of improving logical built-in self test (LBIST) AC fault isolations
WO2007098167A2 (en) * 2006-02-17 2007-08-30 Mentor Graphics Corporation Multi-stage test response compactors
CN101663648B (zh) * 2007-02-12 2012-10-03 明导公司 低功耗扫描测试技术及装置
US7949921B2 (en) * 2007-09-21 2011-05-24 Synopsys, Inc. Method and apparatus for synthesis of augmented multimode compactors

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002181905A (ja) * 2000-12-13 2002-06-26 Hitachi Ltd 半導体集積回路のテスト方法及びテストパターン発生回路
JP2007322414A (ja) * 2006-05-02 2007-12-13 Fujitsu Ltd 半導体集積回路、記録媒体、テストデータ生成装置およびlsi試験装置
US20070288821A1 (en) * 2006-05-02 2007-12-13 Fujitsu Limited Semiconductor integrated circuit, test data generating device, lsi test device, and computer product

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230059328A (ko) 2021-10-26 2023-05-03 연세대학교 산학협력단 로직 비스트 캡쳐 전력 감소 회로 및 방법
KR102630258B1 (ko) 2021-10-26 2024-01-25 연세대학교 산학협력단 로직 비스트 캡쳐 전력 감소 회로 및 방법

Also Published As

Publication number Publication date
WO2010047883A2 (en) 2010-04-29
US20110258503A1 (en) 2011-10-20
CN101821641B (zh) 2013-09-04
EP2201395A2 (en) 2010-06-30
TWI438456B (zh) 2014-05-21
EP2201395A4 (en) 2013-03-27
US7979763B2 (en) 2011-07-12
WO2010047883A3 (en) 2010-06-17
JP2012230131A (ja) 2012-11-22
CN201740851U (zh) 2011-02-09
US20130268817A1 (en) 2013-10-10
JP2010539518A (ja) 2010-12-16
US8464115B2 (en) 2013-06-11
TW201017193A (en) 2010-05-01
KR20110070649A (ko) 2011-06-24
US8645780B2 (en) 2014-02-04
HK1140821A1 (en) 2010-10-22
JP5591886B2 (ja) 2014-09-17
US20100100781A1 (en) 2010-04-22
CN101821641A (zh) 2010-09-01
EP2201395B1 (en) 2014-10-29

Similar Documents

Publication Publication Date Title
KR101643776B1 (ko) 스캔 테스트 시스템 및 방법
US7925465B2 (en) Low power scan testing techniques and apparatus
US5383143A (en) Self re-seeding linear feedback shift register (LFSR) data processing system for generating a pseudo-random test bit stream and method of operation
US8479067B2 (en) Test architecture including cyclical cache chains, selective bypass scan chain segments, and blocking circuitry
Wohl et al. Fully X-tolerant, very high scan compression
US7308634B2 (en) Systems and methods for LBIST testing using multiple functional subphases
Al-Yamani et al. Seed encoding with LFSRs and cellular automata
US11815555B2 (en) Universal compactor architecture for testing circuits
US9157961B2 (en) Two-level compression through selective reseeding
Han et al. Test resource partitioning based on efficient response compaction for test time and tester channels reduction
EP3756021B1 (en) Flexible isometric decompressor architecture for test compression
Kim et al. A New Scan Partition Scheme for Low‐Power Embedded Systems
Shanmugasundaram Test time optimization in scan circuits
Sun Reducing Power During Manufacturing Test Using Different Architectures
Goel et al. Power-aware test data compression and bist
ME et al. A Low Power Structure Design of 2D-LFSR and Encoding Technique for BIST
Ishikawa et al. Test data reduction for BIST-aided scan test using compatible flip-flops and shifting inverter Code
Stroud Pseudo-Exhaustive BIST
Bhattacharya et al. Low-Energy Pattern Generator for Random Testing

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
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: 20190617

Year of fee payment: 4