KR100506771B1 - 이벤트 기반 반도체 테스트 시스템 - Google Patents

이벤트 기반 반도체 테스트 시스템 Download PDF

Info

Publication number
KR100506771B1
KR100506771B1 KR10-2000-0056008A KR20000056008A KR100506771B1 KR 100506771 B1 KR100506771 B1 KR 100506771B1 KR 20000056008 A KR20000056008 A KR 20000056008A KR 100506771 B1 KR100506771 B1 KR 100506771B1
Authority
KR
South Korea
Prior art keywords
event
data
timing
memory
signal
Prior art date
Application number
KR10-2000-0056008A
Other languages
English (en)
Other versions
KR20010050616A (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 KR20010050616A publication Critical patent/KR20010050616A/ko
Application granted granted Critical
Publication of KR100506771B1 publication Critical patent/KR100506771B1/ko

Links

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/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/319Tester hardware, i.e. output processing circuits
    • G01R31/31917Stimuli generation or application of test patterns to the device under test [DUT]
    • G01R31/31922Timing generation or clock distribution
    • 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/319Tester hardware, i.e. output processing circuits
    • G01R31/31917Stimuli generation or application of test patterns to the device under test [DUT]
    • G01R31/31919Storing and outputting test patterns
    • G01R31/31921Storing and outputting test patterns using compression techniques, e.g. patterns sequencer

Abstract

테스트 신호를 테스트중인 전자 장치(electronics device under test("DUT"))에 공급하여 스트로브 신호의 타이밍에서 상기 DUT의 출력을 평가함으로써 상기 DUT를 테스트하기 위한 이벤트 기반 테스트 시스템이 개시된다. 이 이벤트 기반 테스트 시스템은, 기준 클럭 주기의 정수배와, 기준 클럭 주기의 분수로 형성된 각 이벤트의 타이밍 데이터 -상기 타이밍 데이터는 현재의 이벤트와 기준 점 간의 시간차를 나타냄- 를 저장하기 위한 이벤트 메모리, 상기 이벤트 메모리를 액세스하여 그로부터 상기 타이밍 데이터를 판독해내기 위한 어드레스 데이터를 생성하기 위한 어드레스 시퀀서, 이벤트 시작 신호를 생성하기 위한 타이밍 카운트 로직, 상기 이벤트 시작 신호와 상기 기준 클럭 주기의 분수를 나타내는 데이터에 기초하여 각각의 이벤트를 생성하기 위한 이벤트 생성 유닛, 및 테스트 프로그램을 통해 상기 이벤트 기반 테스트 시스템의 전체적인 동작을 제어하기 위한 호스트 컴퓨터를 포함한다.

Description

이벤트 기반 반도체 테스트 시스템{EVENT BASED SEMICONDUCTOR TEST SYSTEM}
본 발명은 반도체 장치에 테스트 패턴 신호를 공급하여, 그 결과로 생기는 반도체 장치의 출력 신호를 평가하기 위한 반도체 장치 테스트용 자동 테스트 장치에 관한 것으로, 더 상세하게는 반도체 장치를 평가하기 위해 테스트 패턴 신호 및 스트로브 신호로서 사용될 다양한 타이밍의 이벤트 - 이벤트의 각각의 타이밍은 사전 결정된 점으로부터의 시간 길이로 정의됨 - 를 생성하기 위한 이벤트 기반(event based) 반도체 테스트 시스템에 관한 것이다.
IC 테스터와 같은 반도체 테스트 시스템에 의해 IC와 LSI와 같은 반도체 장치를 테스트하는데 있어서, 테스트될 반도체 장치에는 사전 결정된 테스트 타이밍에 그 적당한 핀에 테스트 신호가 제공된다. 이 반도체 테스트 시스템은 테스트중인 장치로부터 테스트 신호에 응답해서 생성된 출력 신호를 수신한다. 이 출력 신호는 특정 타이밍을 갖는 스트로브 신호에 의해 샘플링되어, 기대값 데이터와 비교되어, 테스트중인 반도체 장치가 올바르게 동작하는지의 여부를 판정하게 된다.
도 1은 종래 기술의 반도체 테스트 시스템의 예를 도시하는 개략 블럭도이다. 도 1의 반도체 테스트 시스템에서, 패턴 생성기(12)는 테스트 프로세서(11)로부터 테스트 데이터를 수신한다. 패턴 생성기(12)는 파형 포맷터(14)에 공급되는 테스트 패턴 데이터와, 패턴 비교기(17)에 공급되는 기대값 패턴을 생성한다. 타이밍 생성기(13)는 전체적인 테스트 시스템의 동작을 동기화시키는 타이밍 신호를 생성한다. 도 1에서, 타이밍 신호들은 예를 들어, 패턴 생성기(12), 패턴 비교기(17), 파형 포맷터(14), 및 아날로그 비교기(16)에 공급된다.
타이밍 생성기(13)는 또한 파형 포맷터(14)에 테스트 사이클(테스터 레이트) 펄스와 타이밍 데이터를 공급한다. 패턴(테스트 벡터) 데이터는 "0"과 "1", 즉 테스트 신호 파형의 상승 및 하강 에지를 정의한다. 타이밍 데이터(타이밍 셋 데이터)는 테스트 사이클 펄스에 대한 파형의 상승 및 하강 에지의 타이밍(지연 시간)을 정의한다. 전형적으로, 타이밍 데이터는 또한 RZ(제로로의 복귀), NRZ(제로로의 비복귀) 또는 EOR(배타적 OR) 파형과 같은 파형 정보를 포함한다.
패턴 생성기(12)로부터의 패턴 데이터, 및 타이밍 생성기(13)로부터의 테스트 사이클 펄스 및 타이밍 데이터에 기초하여, 파형 포맷터(14)는 특정 파형과 타이밍을 갖는 테스트 신호를 형성한다. 파형 포맷터(14)는 드라이버(15)를 통해 DUT(19)에 테스트 신호를 송신한다. 파형 포맷터(14)는 드라이버(15)에 공급될 테스트 신호를 형성하는 셋/리셋 플립플롭(도시되지 않음)을 포함한다. 드라이버(15)는 테스트 신호의 진폭, 임피던스, 및/또는 슬류 레이트(slew rate)를 조정하고, 이 테스트 신호를 DUT(19)에 인가한다.
DUT(19)로부터의 응답 신호는 아날로그 비교기(16)에 의해 사전 결정된 스트로브 타이밍에서 기준 전압과 비교된다. 결과로 나타나는 로직 신호는 패턴 비교기(17)에 공급되는데, 여기에서는 아날로그 비교기(16)로부터의 결과로 나타나는 로직 패턴과, 패턴 생성기(12)로부터의 기대값 패턴 간에 로직 비교가 수행된다. 패턴 비교기(17)는 2개의 패턴이 상호 일치하는지의 여부를 체크하여, DUT(19)의 패스 또는 페일(fail)을 판정한다. 불량이 검출되면, 이와 같은 불량 정보는 페일 메모리(18)에 공급되고, 불량 분석을 수행하기 위해 패턴 생성기(12)로부터의 DUT(19)의 불량 어드레스의 정보와 함께 저장된다.
도 1에 도시된 것과 같은 종래의 반도체 테스트 시스템에서, 테스트중인 장치에 인가되는 테스트 신호는 세 종류의 데이터, 즉 패턴(벡터) 데이터, 타이밍 데이터 및 파형 데이터에 기초하여 사이클마다 생성된다. 도 2는 테스트 신호를 생성하기 위한 이들 세 종류의 데이터와 테스트 사이클 간의 관계의 예를 파형 표시(45)로 도시한다. 테스트 벡터 파일(41)로부터의 패턴 데이터(테스트 벡터)(46)가 패턴 생성기(12)를 통해 파형 포맷터(14)에 공급된다. 테스트 플랜 파일(42)로부터의 타이밍 데이터(47)는 타이밍 생성기(14)를 통해 파형 포맷터(14)에 공급된다. 패턴 데이터(46)는 각각의 테스트 사이클에서의 에지(1 또는 0)를 정의하고, 타이밍 데이터(47)는 파형과, 타이밍, 즉 테스트 사이클에 대한 지연 시간을 정의한다.
상술한 바와 같이, 종래의 반도체 테스트 시스템에서는, 테스트 신호와 스트로브 신호는, 각각의 테스트 사이클에 대한 패턴 데이터, 타이밍 데이터 및 파형 데이터에 기초하여 생성된다. 이와 같은 테스트 시스템을, 흔히 사이클 기반 테스트 시스템(cycle based test system)이라고 하고, 여기서는 타이밍 데이터와 패턴 데이터가 사이클마다 기술된다. LSI와 VLSI와 같은 반도체 장치를 설계하는데 오늘날 광범위하게 사용되는 컴퓨터 지원 설계(CAD) 시스템에서, 전형적인 로직 시뮬레이터는 테스트 신호와 결과를 이벤트에 기초하여 기술한다. 이벤트는 테스트 신호의 상승과 하강과 같은 논리 상태에서의 변화로서, 기준 시간 점으로부터의 시간 길이와 관련하여 정의된다. 다른 말로 표현하면, 이벤트에 기초한 테스트 신호 및 테스트 결과의 기술 방법은, 종래의 테스트 시스템에서 사용되는 테스트 사이클의 개념을 이용하지 않는다. 따라서, 종래의 사이클 기반 테스트 시스템은, 반도체 장치의 설계 단계에서 얻어진 테스트 신호와 테스트 결과를 직접 이용할 수 없다.
따라서, 본 발명의 목적은, 반도체 장치를 평가하기 위해 이벤트 메모리 내의 이벤트 데이터로부터 직접 테스트 신호와 테스트 스트로브를 생성하기 위한 이벤트 기반 반도체 테스트 시스템을 제공하는 것이다.
본 발명의 다른 목적은, 이벤트 각각의 타이밍이 사전 결정된 기준점으로부터의 시간 길이에 의해 정의되는 이벤트 기반 반도체 테스트 시스템을 제공하는 것이다.
본 발명의 또 다른 목적은, 이벤트 각각의 타이밍이 직전의 이벤트로부터의 시간 길이에 의해 정의되는 이벤트 기반 반도체 테스트 시스템을 제공하는 것이다.
본 발명의 또 다른 목적은, 이벤트 간의 시간 길이가 기준 클럭 사이클의 정수배와 기준 클럭 사이클의 분수의 조합에 의해 정의되는 이벤트 기반 반도체 테스트 시스템을 제공하는 것이다.
본 발명의 또 다른 목적은, 스케일링 인수에 비례하여 현재 이벤트의 지연 시간을 변경함으로써, 타이밍 데이터를 스케일링하여 현재 이벤트를 생성할 수 있는 이벤트 기반 반도체 테스트 시스템을 제공하는 것이다.
본 발명의 또 다른 목적은, 이벤트 메모리의 용량을 감소시키기 위해, 이벤트 메모리에 이벤트 데이터를 기억시키기 위해 데이터 압축 및 압축해제 기술을 이용하는 이벤트 기반 반도체 테스트 시스템을 제공하는 것이다.
본 발명의 또 다른 목적은, 테스트중인 반도체 장치의 설계 단계에서 CAD 시스템의 테스트 벤치에 의해 생성된 데이터를 직접 사용하여 테스트 신호와 스트로브를 생성할 수 있는 이벤트 기반 반도체 테스트 시스템을 제공하는 것이다.
본 발명은 테스트중인 전자 장치(DUT)에 테스트 신호를 공급하여 스트로브 신호의 타이밍에서 상기 DUT의 출력을 평가함으로써 상기 DUT를 테스트하기 위한 이벤트 기반 테스트 시스템에 관한 것이다. 이 이벤트 기반 테스트 시스템은, 기준 클럭 주기의 정수배(정수부 데이터)와, 기준 클럭 주기의 분수(분수부 데이터)로 형성된 각 이벤트의 타이밍 데이터 -상기 타이밍 데이터는 현재의 이벤트와 공통 기준 점 간의 시간차를 나타냄- 를 저장하기 위한 이벤트 메모리, 상기 이벤트 메모리를 액세스하여 그로부터 상기 타이밍 데이터를 판독해내기 위한 어드레스 데이터를 생성하기 위한 어드레스 시퀀서, 상기 기준 클럭 주기에 상기 정수부 데이터를 곱한 만큼 지연되는 이벤트 시작 신호를 생성하기 위한 타이밍 카운트 로직, 상기 타이밍 카운트 로직으로부터의 이벤트 시작 신호와 상기 이벤트 메모리로부터의 상기 분수부 데이터에 기초하여 각각의 이벤트를 생성하고, 이로써 상기 테스트 신호 및 스트로브 신호를 작성하기 위한 이벤트 생성 유닛, 및 테스트 프로그램을 통해 상기 이벤트 기반 테스트 시스템의 전체적인 동작을 제어하기 위한 호스트 컴퓨터를 포함한다.
본 발명의 또 다른 국면에서, 상기 이벤트 메모리는 각 이벤트의 타이밍 데이터의 정수부 데이터를 기억하기 위한 이벤트 카운트 메모리, 각 이벤트의 타이밍 데이터의 분수부 데이터를 기억하기 위한 버니어 메모리, 및 상기 클럭 카운트 메모리 및 버니어 메모리 내의 타이밍 데이터에 대응하는 각 이벤트의 종류를 나타내는 데이터를 기억하기 위한 이벤트 타입 메모리로 구성된다.
본 발명의 또 다른 국면에서, 상기 이벤트 기반 테스트 시스템은, 상기 이벤트 메모리와 상기 타이밍 카운트 로직과의 사이에, 상기 이벤트 메모리에 기억된 압축된 이벤트 데이터로부터 이벤트 데이터를 복원하기 위한 압축해제 유닛을 더 구비하고, 상기 타이밍 카운트 로직은 스케일링 인수에 비례하여 상기 이벤트 메모리로부터의 이벤트 데이터를 변경하는 스케일링 로직을 포함한다.
본 발명의 또 다른 국면에서, 상기 이벤트 생성 유닛은, 이벤트 메모리로부터의 이벤트 타입 데이터에 기초하여, 상기 타이밍 카운트 로직으로부터의 이벤트 시작 신호를 선택적으로 공급하기 위한 디멀티플렉서와, 상기 디멀티플렉서로부터의 이벤트 시작 신호를 수신하기 위한 복수의 가변 지연 회로 -상기 가변 지연 회로의 각각은 타이밍 카운트 로직으로부터의 버니어 합계에 의해 정의된 부가적인 지연을 제공함- 와, 테스트 신호 간의 가변 오프셋 지연을 제공하기 위한 수단으로 구성된다.
본 발명에 따르면, 이벤트 기반 반도체 테스트 시스템은, 반도체 장치를 평가하기 위해, 이벤트 메모리에 기억된 이벤트 데이터에 기초하여, 테스트 신호와 스트로브를 생성할 수 있다. 각 이벤트의 타이밍은 공통 기준점(절대 시간) 또는 직전의 이벤트로부터의 시간의 차이(델타 시간)에 의해 정의된다. 테스트 신호 및 스트로브는, 이전의 이벤트로부터의 델타 시간이 기준 클럭 주기의 정수배와 기준 클럭 주기의 분수의 조합에 의해 정의되는 이벤트 정보에 기초하여 생성된다.
도 3은 본 발명의 이벤트 기반 테스트 시스템의 구조 예를 도시하는 개략 블럭도이다. 이 이벤트 기반 테스트 시스템은 호스트 컴퓨터(22)와 버스 인터페이스(23)를 포함하고, 이들 양자는 시스템 버스(24)), 내부 버스(25), 어드레스 시퀀서(28), 페일 메모리(27), 이벤트 메모리(30), 압축해제 유닛(32), 타이밍 카운트 및 스케일링 로직(33), 이벤트 생성 유닛(34), 및 핀 일렉트로닉스(36)에 접속되어 있다. 이벤트 기반 테스트 시스템은 테스트중인 반도체 장치(DUT)를 평가하기 위한 것으로, 이 DUT는 전형적으로 핀 일렉트로닉스(36)에 접속된 메모리 IC, 마이크로프로세서 IC 또는 ASIC 등이다.
호스트 컴퓨터(22)의 예는 워크스테이션이다. 호스트 컴퓨터(22)는 유저 인터페이스로서 기능하고, 이로써 사용자가 테스트의 시작 및 정지 동작을 지시하거나, 테스트 프로그램 및 다른 테스트 조건을 로드하거나 또는 호스트 컴퓨터에서 테스트 결과 분석을 수행할 수 있게 한다. 호스트 컴퓨터(22)는 시스템 버스(24)와 버스 인터페이스(23)를 통해 하드웨어 테스트 시스템과 인터페이스한다. 비록 도시되어 있지 않지만, 호스트 컴퓨터(22)는 바람직하게는 다른 테스트 시스템 또는 컴퓨터 네트워크로부터 테스트 정보를 송수신하도록 통신 네트워크에 접속된다.
내부 버스(25)는 하드웨어 테스트 시스템 내의 버스이고, 흔히 어드레스 시퀀서(28), 페일 메모리(27), 압축해제 유닛(32), 타이밍 카운트 및 스케일링 로직(33) 및 이벤트 생성 유닛(34)과 같은 대부분의 기능 블럭에 접속되어 있다. 어드레스 시퀀서(28)의 예는 하드웨어 테스트 시스템에 전용인 테스트 프로세서이고, 사용자가 액세스할 수 없는 것이다. 어드레스 시퀀서(28)는 호스트 컴퓨터(28)로부터의 테스트 프로그램 및 조건에 기초하여 테스트 시스템 내의 다른 기능 블럭들에 명령을 제공한다. 페일 메모리(27)는 DUT(38)의 불량 정보와 같은 테스트 결과를 어드레스 시퀀서(28)에 의해 규정된 어드레스에 저장한다. 페일 메모리(27)에 저장된 정보는 테스트중인 장치의 불량 분석 단계에서 사용된다.
어드레스 시퀀서(28)의 일 중의 하나는, 도 3에 도시한 바와 같이 이벤트 메모리(30)에 어드레스 데이터를 제공하는 것이다. 실제의 테스트 시스템에서, 복수의 이벤트 메모리(3)가 제공되는데, 이들 각각은 테스트 시스템의 테스트 핀(테스트 채널)에 대응할 것이다. 이벤트 메모리(30)는 테스트 신호와 스트로브 신호의 각 이벤트에 대한 타이밍 데이터를 저장한다. 나중에 보다 상세히 설명하겠지만, 이벤트 메모리(30)는 기준 클럭의 한 사이클의 정수배인 타이밍 데이터를 저장하기 위한 방식과, 기준 클럭의 한 사이클의 분수 또는 분수들인 타이밍 데이터를 저장하기 위한 방식의 2개의 개별적인 방식으로 이벤트 데이터를 저장한다. 본 발명에서, 각각의 이벤트에 대한 타이밍 데이터는 역시 나중에 상세히 설명되는 공통 기준점으롭터의 시간차(절대 시간) 또는 직전의 이벤트로부터의 시간차(델타 시간)으로서 표현된다.
바람직하게는, 필요한 메모리 용량을 감소시키기 위하여 이벤트 메모리(30)내의 타이밍 데이터는 압축된다. 압축해제 유닛(32)는 이벤트 메모리(30)로부터 압축된 데이터를 수신하고, 압축해제 프로세스에 의해 타이밍 데이터를 복원한다.
타이밍 카운트 및 스케일링 로직(33)은 이벤트 메모리(30)로부터의 델타 타이밍 데이터에 기초하여 현재의 이벤트를 직접 생성할 수 이는 전체적인 타이밍 데이터를 생성하는 것이다. 이와 같은 전체적인 타이밍 데이터의 예는 이벤트 시작 신호, 및 이벤트 시작 신호로부터의 지연 시간의 조합이다. 일 국면에서, 이와 같은 전체적인 타이밍 데이터를 생성하는 프로세스는, 복수의 분수(버니어(vernier)) 타이밍 데이터가 부가되는 합산 동작(summing operation)을 포함한다. 타이밍 데이터를 합산하는 프로세스 동안, 분수 데이터의 캐리 오버 연산(carry over operation)(정수 데이터에의 오프셋)도 타이밍 카운트 및 스케일링 로직(33)에서 수행된다. 다른 국면에서, 전체적인 타이밍 데이터를 생성하는 프로세스는 합산 프로세스를 포함하지 않는다.
타이밍 카운트 및 스케일링 로직(33)은 또한 스케일링 인수에 비례하여 타이밍 데이터를 변경하는 기능을 한다. 타이밍 데이터의 이와 같은 스케일링 연산은 스케일링 인수에 의해 타이밍 데이터(각각의 델타 시간 또는 절대 시간)을 곱하는 것으로 이루어진다. 예를 들어, 스케일링 인수 "2"에 의해 시스템 (기준) 클럭의 "1.5"을 나타내는 타이밍 데이터를 스케일링하는 것은, 결과로 나타나는 타이밍 데이터가 시스템 클럭의 1.5 x 2 = 3.0가 되는 것을 의미한다. 일반적으로, 상술한 바와 같이 이벤트 카운트 및 이벤트 버니어에 의해 정의된 타이밍 데이터(지연 시간)의 경우에, 이 곱셈은 (이벤트 카운트 + 이벤트 버니어) x (스케일 인수) = 스케일링된 지연으로 구성될 것이다.
소프트웨어에 의해 상술한 합산 및 스케일링 연산을 수행할 수 있다. 그러나, 지연의 큰 데이터 베이스를 변환하는 데 필요한 시간과 이 데이터를 이벤트 기반 테스터에 데이터를 재로드하는 시간이 길어질 수 있으며, 따라서 직접적으로 하드웨어에 의해 보다 빠른 합산 및 스케일링 연산이 구현될 수 있다. 다양한 스케일링 기술이 이벤트 기반 테스트 시스템에서 사용 가능하다.
이벤트 생성 유닛(34)은 타이밍 카운트 및 스케일링 로직(33)으로부터의 전체적인 타이밍 데이터에 기초하여 실제로 이벤트를 생성하기 위한 것이다. 이와 같이 생성된 이벤트(테스트 신호 및 스트로브 신호의 상승과 하강점)는 핀 일렉트로닉스(36)를 통해 DUT(38)에 공급된다. 기본적으로, 핀 일렉트로닉스(36)는 반도체 테스트 시스템과, 테스트될 반도체 장치 간을 인터페이스하기 위한 다수의 인터페이스 회로를 포함한다. 예를 들어, 각각의 인터페이스 회로는, 도 1에 도시한 바와 같은 드라이버와 비교기로 형성되고, 드라이버, 비교기 및 DUT(38)와 관련하여 입력 및 출력 관계를 확립하는 스위치를 포함한다.
도 4는 반도체 집적 회로의 설계 단계와 반도체 집적 회로의 테스트 단계 간의 전체적인 관계를 도시하는 개략도이다. 이 예는 시스템-온-칩(SoC)(53)과 같은 대규모 집적회로(LSI)가 전자 설계 자동(EDA) 환경(51) 하에 설계되는 상황을 도시한다.
EDA 환경(51) 하에 반도체 집적 회로(53)를 설계한 후에, 설계 데이터 파일(55)과 테스트 데이파 파일(63)이 얻어진다. 다양한 데이터 변환 프로세스를 통해, 설계 데이터는, 지정된 반도체 집적 회로 내의 각 게이트를 가리키는 물리적 레벨 데이터로 변환된다. 물리적 레벨 데이터에 기초하여, 반도체 집적 회로 제조 공정(실리콘 공정)으로 실제의 집적 회로(59)가 만들어진다.
이와 같이 제조된 집적 회로는 반도체 테스트 시스템(60)에 의해 테스트된다. 집적 회로의 설계 단계를 통해 유도된 테스트 데이터를 사용하여 테스트 벤치(64)에 의해 로직 시뮬레이션을 실행함으로써, 집적 회로에서의 입력-출력 관계를 도시하는 데이터 파일(65)이 생성된다. 이와 같은 데이터 파일의 예는 Verilog의 VCD(Value Change Dump)이다.
반도체 테스트 시스템이 종래기술에서와 같이 기초한 사이클인 경우에, 변환 소프트웨어(67)에 의해 포맷 변환 프로세스가 수행되어, 이벤트 베이스 포맷에서 설명한 VCD 데이터 파일(65)이 사이클 베이스 포맷의 테스트 신호로 변환된다. 결국, 사이클 베이스의 테스트 패턴이 반도체 테스트 시스템(60) 내의 파일(68)에 저장된다. 하드웨어 테스터(69)는 장치 기능 등을 테스트하기 위해, 이 테스트 패턴을 테스트중인 장치(59)에 인가한다. 본 발명의 이벤트 기반 테스트 시스템은 도 3의 이벤트 메모리(30)에 VCD 데이터를 저장함으로써 VCD 데이터 파일(65)을 직접 이용할 수 있다.
도 5a 내지 도 5k는 이벤트 데이터에 기초하여 이벤트를 생성하기 위한 동작의 예를 도시한다. 도 6은 공통 기준 점, 즉 절대 시간에 대해 설명한 이벤트 메모리(30)로부터의 타이밍 데이터에 기초하여, 이벤트 시작 신호와 버니어 데이터를 생성하기 위한 타이밍 카운트 및 스케일링 로직(33) 내의 구조예를 도시하는 회로도이다. 도 7은 이전 이벤트, 즉 델타 시간에 대해 설명한 이벤트 메모리(30)로부터의 타이밍 데이터에 기초하여, 이벤트 시작 신호와 버니어 데이터를 생성하기 위한 타이밍 카운트 및 스케일링 로직(33) 내의 다른 구조예를 도시하는 회로도이다. 도 6의 예는 합산 기능을 가지지 않는 한편, 도 7의 예는 버니어 데이터를 합산하고 캐리 신호를 생성하기 위한 기능을 포함한다. 설명의 편의를 위해, 도 6 및 7의 회로 구조는 스케일링 로직용의 회로도를 도시하고 있지 않다는 것에 유의하여야 한다.
도 6 및 7에서, 어드레스 시퀀서(28)는 이벤트 메모리(30)에 어드레스 데이터를 공급한다. 상술한 바와 같이, 어드레스 시퀀서(28)는 마이크로프로세서를 갖는 테스터 프로세서일 수 있다. 그러나, 간단한 경우에, 어드레스 시퀀서(28)는 어드레스 카운터일 수 있다. 어드레스 카운터는 제로의 카운트에서 시작하여, 프로세트된 정지 어드레스가 검출될 때까지 하나씩 순차적으로 증가할 것이다. 비트수는 지원될 이벤트 메모리의 깊이에 따른다. 그러나, 실제의 구현에서, 16비트가 최소 필요조건일 것이다.
도 6의 예에서, 이벤트 메모리(30)는 클럭 카운트 RAM(71), 버니어 RAM(72), 및 이벤트 타입 RAM(73)으로 형성된다. 클럭 카운트 RAM(71)은 타이밍 데이터의 정수부, 즉 기준 클럭 간격의 정수배를 저장한다. 버니어 RAM(72)은 타이밍 데이터의 분수부(버니어), 즉 기준 클럭 간격의 분수를 저장한다. 이벤트 타입 RAM(73)은 이벤트 타입을 선택하기 위한 데이터를 저장한다. 이벤트 타입은 테스터 출력 핀 신호를 로직 "1". "0" 또는 "고 임피던스"로 설정하거나 또는 스트로브 신호의 타이밍에서 DUT(38)로부터의 응답 신호를 래치하기 위한 예상 데이터의 형을 설정하는 것을 선택한다.
도 6의 타이밍 카운트 및 스케일링 로직에 의해 도 5i - 도 5k의 예에서의 이벤트를 생성하기 위해서, 이벤트 메모리(30)에 저장될 데이터가 도 10a의 데이터 표에 도시되어 있다. 상술한 바와 같이, 타이밍 메모리(30)내의 타이밍 데이터는 공통 기준점에 대한 각 이벤트의 타이밍을 설명한다. 다른 말로 표현하면, 타이밍 데이터는 사전 결정된 점으로부터 생성될 이벤트의 절대 시간을 도시한다. 따라서, 도6의 타이밍 카운트 및 스케일링 로직은 합산 기능을 포함하지 않는다.
도 5a - 도 5k의 예에서, 이벤트 1의 타이밍은 도 5i에 도시한 바와 같이 기준(시작)점으로부터 1(3/16)ns(나노초)이다. 이벤트 1의 경우, 클럭 카운트 RAM(71) 내의 타이밍 데이터는 "1"인 한편, 버니어 RAM(72) 내의 데이터는 3/16이다. 이벤트 2의 타이밍은 도 5j에 도시한 바와 같이 기준점으로부터 떨어진 2(10/16)ns이다. 따라서, 클럭 카운트 RAM(71)내의 타이밍 데이터는 "2"인 한편, 버니어 RAM(72)내의 분수 데이터는 10/16이다. 이벤트 3의 타이밍이 도 5k에 도시한 바와 같이 기준점으로부터 4(2/16)이기 때문에, 클럭 카운트 RAM(71)내의 타이밍 데이터는 "4"인 한편, 버니어 RAM(72) 내의 분수 데이터는 2/16이다.
클럭 카운트 RAM(71) 내의 데이터(정수부)는 연관된 이벤트, 즉 이벤트 시작 신호를 실행하기 전에 대기할 기준(시스템) 클럭 카운트의 번호를 나타낸다. 버니어 RAM(72)에서, 버니어 부에 대해 할당된 비트 수는 클럭당 분수 단위의 수, 즉 이벤트 시작 신호후에 생성될 이벤트의 타이밍을 결정한다. 상기 예에서, 분수 단위의 수는 기준 클럭의 각 사이클마다 "16"이다.
이벤트 메모리(30)로부터의 이벤트 데이터는 도 6의 타이밍 카운트 및 스케일링 로직에 의해 수신된다. 본 예에서, 도 6의 회로도는 기준 클럭 펄스 수(도 5a)를 카운트 다운하기 위한 다운 카운터(75)만을 포함한다. 프로세트된 데이터가 제로에 도달할 때 다운 카운터(75)가 기준 클럭을 카운트하고 터미널 카운트(이벤트 시작 신호)를 생성하도록, 클럭 카운트 RAM로부터의 데이터는 다운 카운터(75)를 미리 설정한다. 버니어 RAM(72)로부터의 버니어 데이터와 이벤트 타입 RAM으로부터의 이벤트 타입 데이터는 이벤트 생성 유닛(34)에 직접 공급된다.
따라서, 도 5a-도 5k의 예에서, 도 5b에 도시한 이벤트 시작 신호와 도 5c에서 분수 시간차를 도시하는 버니어 데이터가 이벤트 생성 유닛(34)에 공급되어, 도 5i의 이벤트 1을 생성하게 된다. 다음에, 2개의 클럭 펄스를 카운트할 때 도 5d의 이벤트 시작 신호가 생성되고, 도 5e의 분수 시간차 10/16를 도시하는 버니어 데이터와 함께 이벤트 생성 유닛(34)에 제공되어, 도 5j의 이벤트 2를 생성하게 된다. 4개의 클럭 펄스를 카운트할 때 도 5g의 이벤트 시작 신호가 생성되고, 도 5h의 분수 시간차 2/16를 도시하는 버니어 데이터와 함께 이벤트 생성 유닛(34)에 공급되어, 도 5k의 이벤트 3을 생성하게 된다.
도 7의 예는 이전 이벤트로부터 각 이벤트의 시간차, 즉 델타 시간을 도시하는 이벤트 데이터를 처리하는데 사용될 합산 기능을 갖는다. 이 경우에, 이벤트 메모리(30) 내의 현재 이벤트의 타이밍 데이터는 이전 이벤트로부터의 지연 시간으로서 표현된다. 따라서, 도 5i의 이벤트 1의 경우에, 클럭 카운트 RAM(71)내의 타이밍 데이터는 "1"인 한편, 버니어 RAM(72)내의 데이터는 3/16이다. 이벤트 2의 타이밍은 도 5j에 도시한 바와 같이 이벤트 1과는 떨어진 1(7/16)ns이다. 따라서, 클럭 카운트 RAM(71) 내의 타이밍 데이터는 "1"인 한편, 버니어 RAM(72) 내의 분수 데이터는 7/16이다. 도 5k에 도시한 바와 같이 이벤트 2이후에 이벤트 3의 타이밍이 1(8/16)이기 때문에, 클럭 카운트 RAM(71) 내의 타이밍 데이터는 "1"인 한편, 버니어 RAM(72) 내의 분수 데이터는 8/16이다.
클럭 카운트 RAM(71) 내의 데이터(정수부)는 연관된 이벤트를 실행하기 전에 대기할 기준(시스템) 클럭 카운트의 수를 나타낸다. 버니어 RAM(72)의 데이터(분수부)는 정수 클럭 카운트가 이벤트를 실행하기를 만료(이벤트 시작)한 후에 대기하는 버니어 단위의 수이다. 버니어 부에 대해 할당된 비트 수는 클럭당 분수 단위의 수를 결정한다. 상기 예에서, 기준 클럭의 각 사이클 동안 분수 단위의 수는 "16"이다.
도 10b의 표에서 버니어 합계는 이전 이벤트와 현재 이벤트에서 분수 데이터의 합계를 도시한다. 예를 들어, 이벤트 2에 대한 버니어 합계는 이벤트 1에서의 버니어 카운트 "3/16"와 이벤트 2에서의 버니어 카운트 "7/16"의 합계인 "10/16"이다. 이벤트 3에 대한 버니어 합계는 이벤트 2에서의 버니어 카운트 "7/16"와 이벤트 3에서의 버니어 카운트 "8/16"의 합계인 "18/16"이다. 합계 동작때문에, 크럭 카운트가 1 부가되면서 이벤트 3에 대한 2/16의 버니어 합계가 생성된다.
도 10b의 우측열에 있는 총 시간은 도 5에서 기작(기준)점 "0"에 대해 이벤트의 전체 타이밍을 나타낸다. 이와 같은 총 시간은 타이밍 데이터의 정수부와 타이밍 데이터의 분수부를 합산함으로써 생성된다. 분수부이 합계가 기준 클럭의 단위 시간 간격을 초과할 때, 정수부 내의 데이터가 이에 따라 증가된다. 이벤트 1의 총 시간은 기준점으로부터 떨어진 1(3/16)ns이다. 이벤트 2의 총 시간은 기준점으로부터 떨어진 2(10/16)ns인 한편, 이벤트 3의 총 시간은 기준점으로부터 떨어진 4(2/16)ns이다. 따라서, 이벤트 1-3의 각각에 대한 이벤트 시작 신호와 버니어 합계가 도 6을 참조하여 설명한 것과 동일한 방법으로 이벤트 생성 유닛(34)에 제공된다.
도 7의 타이밍 카운트와 스케일링 로직(33)은 다운 카운터(75), 래치(76), 플립-플롭(77), 멀티플렉서(78) 및 가산기(79)를 구비한다. 다운 카운터(75)는 클럭 카운트 RAM(71)으로부터 타이밍 데이터의 정수부를 수신한다. 가산기(79)는 버니어 RAM(72)으로부터 타이밍 데이터의 분수부를 수신한다.
예를 들어, RAM(71)으로부터의 정수부는 클럭 기준 CLK에 의해 프로세트된 값을 카운트 다운하는 다운 카운터(75)에 프로세트된다. 다운 카운터(75)가 제로에 도달하면, 멀티플렉서(78)의 한 입력에 공급되는 출력 신호(터미널 카운트)가 생성된다. 멀티플렉서(78)의 다른 입력에는 한 클럭 사이클 지연된 다운 카운터(75)의 출력 신호를 생성하는 플릭-플롭(77)의 출력이 제공된다. 따라서, 멀티플렉서(78)는 클럭 카운트 RAM(71)으로부터의 정수부 데이터에 부가적인 클럭 지연 카운트를 삽입한다. 멀티플렉서(78)의 출력은 기준 클럭 카운트 값의 수인 이벤트 시작으로서 표현된다. 이벤트 시작 신호는 이벤트 생성 유닛(34) 및 어드레스 시퀀서(28)에 제공된다.
버니어 RAM(72)으로부터의 분수부 데이터는 가산기(79)의 한 입력 단자에 제공된다. 가산기(79)의 다른 입력 단자에는 래치(76)를 통해 이전 이벤트의 버니어 데이터가 제공된다. 따라서, 가산기(79)는 버니어 RAM(72)으로부터의 모든 분수부 데이터를 가산한다. 분수 데이터의 합이 한 클럭 카운트를 초과, 즉 상술한 도 5 및 도 10a에서 이벤트 3의 예에서와 같이 16/16이면, 멀티플렉서(78)에 공급되는 캐리가 생성된다. 캐리를 수신하는데 있어서, 멀티플렉서(78)는 플립-플롭(79)의 출력을 선택하여, 이벤트 시작 신호를 한 기준 클럭 카운트만큼 지연시킨다. 따라서, 도 10a의 예에서, 분수 데이터의 합계는 이벤트 3에 대해 "18/16"이고, 멀티플렉서(78)에 캐리가 제공되어 이벤트 시작에서 한 클럭 카운트 부가적인 지연을 초래한다. 가산기(79)의 출력에서 버니어 합으로 "2/16"의 나머지 데이터가 생성된다.
상기에 기초하여, 도 7의 회로에 의해 도 5i- 도 5k의 이벤트 1-3을 생성하는 프로세스는 다음과 같다. 이벤트 1에 대한 정수부 데이터가 "1"이기 때문에, 다운 카운터(75)는 도 5a의 기준 클럭의 한 펄스를 카운트함으로서 도 5b의 펄스(터미널 카운트)를 생성한다. 도 5b의 터미널 카운트는 멀티플렉서(78)의 출력에서 이벤트 시작 신호로서 출력된다. 도 5c는 이벤트 생성 유닛(34)의 이벤트 시작에 부가되어, 도 3i의 이벤트 1을 생성하는 가산기(79)의 출력에서의 버니어 합계를 도시한다.
이벤트 2에 대한 정수부 데이터가 또한 "1"이기 때문에, 다운 카운터(75)는 한 클럭 펄스를 카운트함으로써 펄스(터미널 카운트)를 생성한다. 도 5b의 이전 터미널 카운트 이후에 다운 카운터(75)의 터미널 카운트가 생성되어, 멀티플렉서(78)의 출력에서 도 5d에 도시한 이벤트 시작 신호를 생성하게 된다. 도 5e는 이벤트 생성 유닛(34)에서 도 5d의 이벤트 시작 신호에 부가될 가산기(79)의 출력에서의 버니어 합계를 도시한다. 이벤트 1의 분수 데이터가 "3/16"이고 이벤트 2의 분수 데이터가 "7/16"이기 때문에, 가산기(79)의 출력에서의 도 5e의 버니어 합계는 도 5d의 이벤트 시작 신호에 부가되는 "10/16"으로 되어, 도 5j의 이벤트 2를 생성하게 된다.
이벤트 3과 관련하여, 이벤트 3에 대한 정수부 데이터가 또한 "1"이기 때문에, 다운 카운터(75)는 한 클럭 펄스를 카운트함으로써 펄스(터미널 카운트)를 생성한다. 다운 카운터(75)의 터미널 카운트는 기준 클럭점으로부터 3 클럭 카운트지연된 도 5f의 타이밍에서 멀티플렉서(78)에 송신된다. 그러나, 이전 이벤트에서의 "10/16"의 버니어 합계가 가산기(79)에 의해 이벤트 3의 분수 데이터 "8/16"에 더해지기 때문에, 이벤트 3의 경우에 분수 데이터의 합계는 "18/16"이다. 따라서, 캐리가 멀티플렉서(78)에 공급되어, 도 5g에 도시한 바와 같이 이벤트 시작 신호로서 한 클럭 카운트 만큼 부가적인 지연을 도시하는 플립-플롭(77)의 출력을 선택하게 된다. 도 5h에 도시한 바와 같이 가산기(79)의 출력에서 버니어 합계로서 "2/16"의 나머지 데이터가 생성된다. 따라서, 도 5h의 버니어 합계를 도 5g의 이벤트 시작 신호에 부가함으로써 도 5k의 이벤트 3이 생성된다.
이벤트 생성 유닛(34)의 회로 구조예가 도 8의 회로도에 도시되어 있다. 상기에서 간단히 설명한 바와 같이, 도 8의 이벤트 생성 유닛(34)은 도 6 또는 7의 타이밍 카운트 및 스케일링 로직으로 부터 공급된 이벤트 시작 신호 및 버니어 합계에 기초하여, 테스트 신호와 스트로브 신호를 생성하는 것이다.
도 8의 회로도는 디멀티플렉서(82), 비교기(83), 가변 지연 회로(85-87), OR 회로(88), SR 플립-플롭(91 및 92), 핀 드라이버(93), 가변 지연 회로(95-97), 플립-플롭(102-104), OR 회로(105) 및 플립-플롭(106)을 구비한다. 가변 지연 회로(85-87 및 95-97)는 교정된 지연 시간 도 6 또는 7의 회로도로부터 버니어(버니어 합계)에 의해 선택되도록, 대응하는 이벤트 프로세서(도시않됨)에 의해 구동될 수 있다. 설명의 편의상, 핀 드라이버(93) 및 비교기(83)는 이들 소자들이 실제의 구현에서는 도 3의 핀 일렉트로닉스(36)에 포함되어 있을 수 있지만 역시 도 8에 포함되어 있다.
핀 드라이버(93)의 출력은 DUT가 입력 핀일 때 DUT 핀에 테스트 신호를 제공하는 것이다. 테스트 신호의 소정의 진폭 및 슬류 레이트가 핀 드라이버(93)에 의해 생성된다. 비교기(83)는 DUT 핀이 출력 핀일 때 DUT의 응답 출력을 수신한다. 비교기(83)는 접속된 DUT 핀의 아날로그 레벨을 프로세트된 전압 범위와 비교하고, DUT 핀이 어떤 범위에 놓여 있는지를 판정하는 아날로그 기능을 제공한다. 세가지 가능한 범위는 도 8에서와 같이 레벨 "하이", 레벨 "로우" 및 고 임피던스 "Z"이다. 본 예에서는 이들 범위중의 하나만이 한번에 액티브하다.
디멀티플렉서(82)는 도 6 또는 7의 타이밍 카운트 및 스케일링 로직으로부터 이벤트 시작 신호를 그리고 이벤트 메모리(30)의 이벤트 타입 RAM(73)으로부터 이벤트 타입 데이터를 수신한다. 이벤트 타입 데이터는 디멀티플렉서(82)의 선택 터미널에 인가된다. 따라서, 이벤트 시작 신호는 이벤트 타입에 의해 명시된 가변 지연 회로를 갖는 대응하는 이벤트 프로세서로 디멀티플렉스된다.
이벤트 타입 데이터가 현재의 이벤트(이벤트 1)가 "Drive DUT Pin High"인 것으로 가리키면, 이벤트 시작 신호는 버니어 합계에 의해 정의된 시간만큼 지연시키는 가변 지연 회로(85)에 보내진다. 따라서, 가변 지연 회로의 출력(도 5i에 도시한 것과 같은 이벤트 1)이 SR 플립-플롭)(91)을 세트한다. 이는 핀 드라이버(93)가 접속된 DUT 핀을 로직 1로 구동시키게 한다.
이벤트 타입 데이터가, 현재의 이벤트(이벤트 2)가 "Drive DUT Pin Low"인 것으로 가리키면, 이벤트 시작 신호는 버니어 합계에 의해 정의된 시간 만큼 지연시키는 가변 지연 회로(86)로 보내진다. 따라서, 가변 지연 회로의 출력(도 5j에 도시한 것과 같은 이벤트 2)이 SR 플립-플롭(91)을 리세트한다. 이는 핀 드라이버(93)가 접속된 DUT 핀을 로직 제로로 구동시키게 한다.
이벤트 타입 데이터가, 현재의 이벤트가 "Turn Off Drive to DUT"인 것으로 가리키면, 이벤트 시작 신호는 버니어 합계에 의해 정의된 시간 만큼 지연시키는 가변 지연 회로(87)로 보내진다. 따라서, 가변 지연 회로의 출력이 SR 플립-플롭(92)을 리세트한다. 이는 DUT 핀에 접속된 핀 드라이버(93)를 하이 임피던스 상태에 놓아, 비교기(93)에 의해 DUT 핀의 출력을 수신하게 한다.
핀 드라이버(93)가 비교기(83)에 의해 DUT 핀으로부터 신호를 수신하는 고 임피던스 모드에 있을 때, 이벤트는 전형적으로 비교기 출력의 로직을 래치하는 스트로브 신호를 생성하는데 사용된다. 예를 들어, 이벤트 타입 데이터가 현재의 이벤트가 "Test DUT for High Impedance"인 것으로 가리키면, 이벤트 시작 신호는 버니어 합계에 의해 정의된 시간 만큼 지연시키는 가변 지연 회로(95)에 보내진다. DUT 핀의 전압 레벨은 비교기(83)에 의해 미리 프로그램된 고 임피던스 레벨에 비교된다. 만일 최소의 고 임피던스 레벨이 달성되지 않으면, 비교기(83)의 결과로 나타나는 출력은 플립-플롭(102) 내의 가변 지연 회로(95)로부터의 스트로브 신호(이벤트 3)에 의해 래치된다. 이 데이터는 DUT의 불량을 가리키고, 플립-플롭(106) 및 OR 회로(105)를 통해 클럭되고, "Error"를 출력한다.
이벤트 타입 데이터가 현재의 이벤트가 "Test DUT for Low"인 것으로 가리키면, 이벤트 시작 신호는 버니어 합계에 의해 정의된 시간 만큼 지연시키는 가변 지연 회로(96)에 보내진다. DUT 핀의 전압 레벨은 비교기(83)에 의해 미리 프로그램된 로우 레벨에 비교된다. 만일 최소의 하이 임피던스 레벨이 달성되지 않으면, 비교기(83)의 결과로 나타나는 출력은 플립-플롭(103) 내의 가변 지연 회로(96)로부터의 스트로브 신호의 타이밍에서 래치된다. 이 데이터는 DUT의 불량을 가리키고, 플립-플롭(106) 및 OR 회로(105)를 통해 클럭되고, "Error"를 출력한다.
이벤트 타입 데이터가 현재의 이벤트가 "Test DUT for High"인 것으로 가리키면, 이벤트 시작 신호는 버니어 합계에 의해 정의된 시간 만큼 지연시키는 가변 지연 회로(97)에 보내진다. DUT 핀의 전압 레벨은 비교기(83)에 의해 미리 프로그램된 로우 레벨에 비교된다. 만일 최소의 하이 임피던스 레벨이 달성되지 않으면, 비교기(83)의 결과로 나타나는 출력은 플립-플롭(104) 내의 가변 지연 회로(97)로부터의 스트로브 신호의 타이밍에서 래치된다. 이 데이터는 DUT의 불량을 가리키고, 플립-플롭(106) 및 OR 회로(105)를 통해 클럭되고, "에러(Error)"를 출력한다.
도 9는 이벤트 데이터를 몇몇 핀으로 로드하기 위한 본 발명의 이벤트 기반 테스트 시스템의 시스템 구성을 도시하는 개략도이다. 핀 카드(1151-115n)는 핀 버스(113)를 거쳐 접속되는데, 여기서 각각의 핀 카드(115)는 핀 버스 제어기(112)에 의해 개별적으로 어드레스가능하다. 핀 버스 제어기(112)는 테스트 제어기 소프트웨어를 실행하는 호스트 컴퓨터(111)에 접속된다. 핀 버스 제어기(112)는 전역 핀 버스 신호를 거쳐 시작, 정지, 테스트 결과, 이벤트 데이터 로딩 및 시퀀싱 핀의 서비스를 함께 제공한다. 이 아키텍춰는 "N" 핀 테스트 시스템이 구축될 수 있게 한다.
도 11 - 도 13은 본 발명의 이벤트 기반 테스트 시스템에 일체화된 압축 및 압축해제 기술에 관한 것이다. 이 기술의 상세한 내용은 본 발명과 출원인이 동일한 미국특허출원 제09/259,402호 제시되어 있다. 도 11은 클럭 카운트 데이터와 버니어 데이터의 조합인 타이밍 데이터에 의해 정의된 이벤트 T0-T10의 시리즈를 도시하는 타이밍 차트이다. 상술한 바와 같이, 클럭 카운트 데이터는 이벤트의 기준 클럭 주기의 정수배를 도시하는 한편, 버니어 데이터는 대응하는 이벤트에 대한 기준 클럭 주기의 분수를 도시한다.
도 12a는 압축 기술을 사용하지 않고서 도 11의 이벤트 T0-T10을 규정하기 위한 이벤트 메모리 내의 타이밍 데이터를 도시하는 데이터 표이다. 도 6 및 7에 도시한 바와 같이, 이벤트 메모리는 클럭 카운트 메모리(RAM)(71) 및 버니어 메모리(RAM)(72)로 구분되어 있다. 클럭 카운트 메모리(71)의 데이터는 기준 클럭 주기의 0 내지 N까지의 임의의 값일 수 있는데, 여기서 N는 이벤트 기반 테스트 시스템이 지원하기를 원하는 기준 클럭 주기수의 최대수이다.
예를 들어, 본 발명의 양수인에 의해 설계된 이벤트 기반 테스트 시스템에서, 클럭 카운트 메모리(71)는 134,217,728 클럭 주기까지 지원한다. 이는 각각의 이벤트 카운트 메모리 장소에 대해 총 27 데이터 비트를 필요로 한다. 따라서, 이 경우에 이벤트 카운트 메모리의 총 크기는 27비트에 M을 곱한 크기인데, 여기서 M은 테스트 시스템에서 벡터의 수(테스트 패턴 길이)이다.
상술한 바와 같이, 버니어 데이터 메모리(72)는 기준 클럭 주기의 분수를 명시하는 미세한 지연(타이밍) 데이터를 저장한다. 따라서, 버니어 데이터는 한 기준 클럭 주기미만이다. 테스트 시스템이 지원하는 미세한 스탭 지연에 따라, 버니어 데이터 메모리의 폭은 하나의 완전한 기준 클럭 주기를 포함하기에 충분한 길이일 필요가 있다. 예를 들어, 기준 클럭 주기가 32ns일 때 0.2ns이하의 타이밍 해상도를 지원하는 테스트 시스템에서, 버니어 데이터 메모리는 적어도 8 데이터 비트를 가질 필요가 있다. 도 12a의 상기 예에서, 버니어 메모리(72)는 10 비트의 데이터 폭을 가지므로, 전체적인 메모리 크기는 10비트에 M 벡터를 곱한 크기이다.
테스트 벡터의 크기가 몇 메가바이트 또는 몇십 메가바이트와 같이 크기 때문에, 도 12a의 표에 도시한 바와 같이 타이밍 데이터가 이벤트 메모리에 저장된다면 이벤트 메모리의 전체 크기는 극히 커진다. 예를 들어, 이벤트 T0-T10의 클럭 카운트 데이터를 설명하는데 사용되는 비트 수는 297이고, 이벤트 T0-T10의 버니어데이터에 사용되는 비트 수는 110으로, 총 407 비트의 결과가 된다.
따라서, 본 발명의 이벤트 기반 테스트 시스템은 이벤트 메모리의 용량을 감소시키기 위해 압축 및 압축해제 기술을 이용한다. 도 12b는 도 11의 이벤트 T0-T10를 설명하는 압축된 타이밍 데이터의 예를 도시하는 데이터 표이다. 이벤트 T0-T10의 클럭 카운트 데이터에 사용되는 비트 수는 88이고, 버니어 데이터에 사용되는 비트 수는 110이어서, 도 12a의 407 비트와 대조적으로 총 198 비트의 결과가 된다. 본 예에서, 클럭 카운트 데이터는, 기준 클럭의 수에 따라 최대 4개의 워드(32 비트)가 사용되는 워드(8 비트)의 단위에 의해 표현된다. 각 워드 내의 구조의 세부사항은 상기 미국특허출원 제09/259,402를 참조한다.
도 11 및 12의 예에서는, 이벤트 T0의 클럭 카운트 데이터가 하나의 워드, 이벤트 T1은 2개의 워드, 이벤트 T3는 3개의 워드, 이벤트 T4는 4개의 워드, 및 이벤트 T7은 하나의 워드로 각각 표현된다고 가정한다. 또한, 도 11에서 이벤트 T3,T5,T6,T8,T9 및 T10의 각각은 기준 클럭 주기보다 작다고 가정한다. 따라서, 클럭 카운트 데이터를 표현하는데 필요한 워드의 최소수를 지정함으로써, 클럭 카운트 메모리 내의 전체 메모리 데이터가 감소될 수 있다. 또한, 한 기준 클럭 주기 미만을 필요로 하는 이벤트의 경우, 이들 이벤트에 대한 클럭 카운트 데이터는 제로이다. 이때, 버니어 데이터 메모리(72)내 버니어 데이터의 이들 이벤트에 대해 버니어 데이터를 결합하면서 이들 이벤트에 대한 임의의 메모리 영역을 지정하지 않음으로써 클럭 카운트 메모리(71)의 메모리 크기를 감소시킬 수 있다.
도 12b의 예에서, 버니어 데이터 메모리(72)는 클럭 카운트 메모리 위치당 4개(4)의 버니어 데이터를 저장한다. 따라서, 버니어 데이터 메모리(72)는 40 비트 폭을 갖는다. 이와 같은 접근방법은 테스트 벡터가 한 기준 클럭 주기미만인 많은 이벤트를 포함하고 있을 때 유용할 수 있다. 또한, 2개 이상의 이벤트의 버니어 데이터를 결합함으로써, 테스트 시스템이 시스템 클럭 주파수보다 빠른 주파수에서 동작할 수 있게 된다. 그 이유는, 이벤트 메모리의 각 액세스(클럭)에서 버니어 데이터에 기초하여 동일한 시간에 2개 이상의 이벤트가 생성될 수 있기 때문이다. 각 이벤트 카운트 데이터의 첫번째 워드가 생성될 이벤트의 수를 포함하기 때문에, 현재 이벤트에 대해 정확한 버니어 데이터를 식별하는 것이 가능하다.
압축해제 유닛(32) 내의 회로 구조의 예가 도 13에 도시된다. 압축해제 유닛(32)은 본 발명의 압축 기술에 의해 압축된 이벤트 메모리로부터 수신된 타이밍 데이터를 압축해제한다. 본 예에서, 모든 압축 및 압축해제 프로세스는 시스템 소프트웨어에 의해 수행된다. 다음은 압축해제 유닛(32)의 간단한 설명이다. 보다 상세한 설명은 상술한 미국특허출원 제09/259,402를 참조한다.
도 13의 압축해제 유닛(32)은 클럭 카운트 상태 머신(121), 로드/다운 카운터(122), 버니어 제어 상태 머신(123), 및 기억 및 선택 회로(126)를 구비한다. 기억 및 선택 회로(126)의 이 예는 레지스터(131-134) 및 멀티플렉서(135-137)를 구비한다. 클럭 카운트 메모리(71)로부터의 클럭 출력 데이터는 클럭 카운트 상태 머신(121) 및 로드/다운 카운터(122)에 공급된다. 도 11-12를 참조하여 설명한 바와 같이, 바람직한 실시예에서, 메모리(71)로부터의 클럭 카운트 데이터는 하나, 2개, 3개 또는 4개의 데이터 워드중의 어느 하나에 의해 구성되는데, 여기서 이들 각각의 워드는 8 비트, 즉 일 바이트의 구조를 갖는다. 버니어 데이터 메모리(72)로부터의 버니어 데이터는 기억 및 선택 회로(126) 내의 레지스터(131 및 132)에 공급된다. 상기에서와 같이, 바람직한 실시예에서, 버니어 데이터는 4개의 버니어 이벤트까지 설명하기 위해 40 비트로 형성된다.
클럭 카운트 데이터를 수신하는데 있어서, 클럭 카운트 상태 머신(121)은 클럭 카운트 데이터의 최상위 비트를 샘플링함으로써 각 이벤트의 데이터 바이트의 수를 결정한다. 이 결정에 기초하여, 상태 머신(121)은 클럭 카운트 메모리(71)에서 로드/다운 카운터(122)의 우측 장소까지 데이터 바이트를 로드한다. 각각의 데이터 워드는 8 비트이고, 데이터 워드 내의 지정된 데이터 비트는 첫번째 워드와 두번째 내지 네번째 워드 간에 서로 다르다. 복원된 이벤트 카운트 데이터는 타이밍 카운트 및 스케일링 로직(33)에 보내진다.
기억 및 선택 회로(126)는 버니어 데이터 메모리(72)로부터 버니어 데이터를 수신한다. 도 12b의 표에 도시한 바와 같은 상기 예에서, 버니어 데이터 메모리(72)의 각 메모리 장소는 4개(4)의 버니어 데이터에 대해 40 비트로 구성된다. 메모리(72)로부터의 버니어 데이터는 선택적으로 한번에 레지스트(131 및 132)중의 하나로 세트된다. 이와 같은 인터리브 동작은 버니어 데이터 메모리(72)의 액세스 속도가 로우일 때에도 충분한 데이터가 타이밍 카운트 및 스케일링 로직(33)에 의해 소비되는 것을 가능하게 한다.
레지스터(131 및 132)는, 멀티플렉서(135)가 멀티플렉서(137)에 대해 직렬 방식으로 정확한 버니어 데이터를 송신할 수 있도록, 멀티플렉서(135)에 지정된 버니어 데이터를 병렬로 송신한다. 이와 유사하게, 레지스터(132 및 134)는 멀티플렉서(136)가 멀티플렉서(137)에 대해 직렬 방식으로 정확한 버니어 데이터를 송신할 수 있도록, 멀티플렉서(136)에 지정된 버니어 데이터를 병렬로 송신한다. 레지스터(131 및 132) 및 멀티플렉서(135-137)에서 버니어 데이터를 선택하는 이와 같은 동작은 버니어 제어 상태 머신(123)의 제어하에 수행된다. 선택된 버니어 데이터는 이벤트 카운트 및 스케일링 로직(33)에 송신된다.
도 14-16은 본 발명의 이벤트 기반 테스트 시스템에 일체화된 스케일링 기술에 관한 것이다. 보다 상세한 설명은 본 발명과 출원인이 동일한 미국특허출원 제09/286,226호를 참조한다. 도 14는 이벤트 카운트 및 스케일링 로직(33)의 스케일링 로직의 기본 구조예를 도시하는 개략 블럭도이다. 스케일링의 목적은 이벤트 메모리 내의 타이밍 데이터를 변경하지 않고 스케일 인수에 비례하여 타이밍 데이터를 확대 또는 감소시키는 것이다.
도 14의 기본 구성은, 이벤트 합계 로직(142) 및 이벤트 지연 스케일링 로직(146)을 구비한다. 기본적으로, 이벤트 합계 로직(142)은 복수의 이벤트의 델타 버니어 데이터를 합계하기 위한 도 7의 회로도에 대응한다. 이벤트 합계 로직(142)은 이벤트 카운트 로직(143) 및 이벤트 버니어 지연 회로(144)를 구비한다. 이벤트 카운트 로직(143)은 기본적으로 다운 카운터에 프리세트된 이벤트 카운트 데이터가 제로에 도달할 때 터미널 카운트를 생성하기 위해 기준 클럭을 카운트하는 다운 카운터이다. 이벤트 버니어 지연 회로(144)는 예를 들어 버니어 데이터를 합계하기 위한 누산기이고, 합계가 기준 클럭 사이클을 초과할 때 이벤트 카운트 지연 회로(142)에 캐리 오버 신호를 제공하여, 이벤트 카운트 지연에 한 기준 클럭을 부가한다. 이벤트 카운트 지연 회로(143)로부터의 터미널 카운트 신호와, 이벤트 버니어 지연 회로(144)로부터의 버니어 합계(나머지)가 이벤트 지연 스케일링(146)에 공급된다.
멀티플렉서(148)는 이벤트 카운트 지연 로직(143)으로부터 결과로 나타나는 정수 지연 값을 수신한다. 정수 지연 값은 멀티플렉서(148)에서 스케일 인수에 의해 곱해진다. 멀티플렉서(149)는 이벤트 버니어 지연 로직(144)으로부터 결과로 나타나는 버니어 지연 값을 수신한다. 버니어 지연 값은 멀티플렉서(149)에서 스케일 인수에 의해 곱해진다. 멀티플렉서(148 및 149) 모두로부터의 스케일된 결과가 가산기(146)에 의해 더해진다. 버니어 스케일의 결과에서 정수는 가산기(147)에 의해 이벤트 카운트 지연에 대해 정수부 지연이 더해져야만 한다. 이때, 가산기(147)의 출력에서 정수부 지연과 분수부 지연은 이벤트 생성 유닛(34)에 제공된다.
도 15는 스케일 인수를 사용하여 타이밍 데이터를 곱하는 스케일 로직의 특정 예를 도시한다. 도 15의 구현에 대한 간단한 설명은 다음과 같다. 이에 대한 상세한 설명은 상기 미국특허출원 제09/286,226호를 참조한다. 이벤트 카운트 상태 머신(151)은 부분적으로 도 14의 이벤트 합계 로직(142)의 이벤트 카운트 지연 회로(143)에 대응한다. 이벤트 카운트 상태 머신(151)은 모든 이전 이벤트를 통해 누산된 지연 데이터의 정수부에 기초하여 유효 데이터 인에이블을 생성한다. 레지스터(152)는 스케일 인수를 저장한다.
도 15의 실시예는 기본적으로 이벤트 카운트 스케일링, 이벤트 버니어 스케일링 및 이벤트 스케일링 출력으로 형성된다. 이벤트 카운트 스케일링은 개략적으로 도 14의 멀티플렉서(148)에 대응하고, 이벤트 버니어 스케일링은 개략적으로 도 14의 멀티플렉서(149)에 대응한다. 또한, 이벤트 스케일링 출력은 개략적으로 도 14의 가산기(147)에 대응한다. 누산된 이벤트 카운트 데이터에 기초하여 생성된 상태 머신(151)으로부터의 유효 데이터 인에이블은 레지스터(159) 및 플립-플롭(161)을 통해 이벤트 스케일링 출력에 보내져서, 이벤트의 이벤트 시작 신호를 생성한다. 이벤트 스케일링 출력은 또한 이벤트 시작 신호에 대해 지연 타이밍인 이벤트의 분수부를 도시하는 이벤트 버니어 데이터(버니어 합계)를 생성한다.
레지스터(152)로부터의 스케일링 인수는 도 15의 이벤트 버니어 스케일링 및 이벤트 카운트 스케일링에 제공된다. 이벤트 카운트 스케일링은 스케일링 카운터(153), 가산기(154)로 형성된 누산기 및 레지스터(155)를 포함한다. 이벤트 버니어 스케일링은 멀티플렉서(157) 및 레지스터(158)를 포함한다. 이벤트 스케일링 출력은 가산기(162), 플립-플롭(163) 및 상태 머신(164)를 포함한다. 비록 명확하게 도시되어 있지 않지만, 흔히 기준 클럭은 도 15의 각 회로 구성요소에 제공된다.
본 예에서, 이벤트 카운트 스케일링에서, 스케일링 인수의 분수 성분은 가산기(1540에 제공되는 한편, 스케일링 인수의 정수 성분은 스케일링 카운터(153)에 제공된다. 이벤트 버니어 스케일링에서, 스케일 인수의 풀-스케일 값(정수 및 분수 성분)은 멀티플렉서(157)에 공급된다. 이벤트 버니어 메모리로부터의 버니어 데이터는 스케일 인수에 의해 곱해질 멀티플렉서(157)에 제공된다.
스케일 인수의 정수 성분이 스케일 카운터(153)를 프리 세트하여, 카운트된 값이 프리 세트된 값에 도달할 때 터미널 카운트(TC) 펄스가 스케일링 카운터(133)로부터 생성되게 된다. 예를 들어, 스케일 인수의 정수 성분이 "3"을 나타내면, 스케일링 카운터(153)는 기준 클럭의 세 클럭을 카운트할 때마다 터미널 카운트 펄스를 생성한다. 터미널 카운트 펄스가 클럭 인에이블 신호로서 이벤트 카운트 상태 머신(151)에 제공되어, 터미널 카운트 펄스의 수가 상태 머신(151)에 명시된 누산된 이벤트 카운트 값에 도달할 때 유효 데이터 인에이블이 생성되게 된다.
스케일링 카운터(153)로부터의 터미널 카운트 펄스는 또한 레지스터(155 및 158)에 제공된다. 상술한 바와 같이, 레지스터(155) 및 가산기(154)가 누산기를 형성하기 때문에, 터미널 카운트 펄스가 레지스터(155)에 의해 수신될 때마다 스케일링 인수의 분수 성분이 이전의 분수 성분에 더해진다. 누산된 분수 성분이 "1"과 같은 정수, 즉 한 기준 클럭 사이클을 초과하는 경우에, 결과로 나타나는 캐리 신호가 스케일링 카운터(153)에 의해 수신되어, 그로부터 터미널 카운트 펄스를 생성하기 전에 여분의 한 기준 클럭 사이클 지연을 더한다.
이벤트 버니어 스케일링에서, 레지스터(158)는 스케일링 인수에 의해 버니어 데이터를 곱한 결과인 버니어 값을, 이벤트 스케일링 출력의 가산기(162)에 송신한다. 따라서, 이벤트 스케일링 출력에서의 가산기(162)는 레지스터(누산기)(155)로부터의 누산된 분수 성분을 레지스터(158)로부터의 스케일된 버니어 데이터에 더한다. 합계의 결과가 오버플로우, 즉 정수를 생성할 때, 이와 같은 정수를 나타내는 최상위 비트(MSB)가 상태 머신(164)에 더해져 정수에 의해 정의된 여분의 지연을 더한다. 여분의 지연에 의해 정의된 타이밍에 기초하여, 상태 머신(164)은 이벤트 생성 유닛(34)에 공급되는 유효 데이터 인에이비를 또는 이벤트 시작 신호를 발행한다. 스케일된 이벤트 버니어의 분수 성분이, 이벤트 생성 유닛(34)에 또한 제공되는 이벤트 스케일링 출력에 의해 생성된다.
본 발명에 따르면, 이벤트 기반 반도체 테스트 시스템은 이벤트 메모리에 저장된 이벤트 데이터에 기초하여 테스트 신호 및 스트로브를 생성하여, 반도체 장치를 평가할 수 있다. 이벤트 각각의 타이밍은 공통 기준점(절대 시간) 또는 직전의 이벤트(델타 시간)으로부터의 시간 길이의 차이에 의해 정의된다. 이전의 이벤트로부터의 델타 시간이 기준 클럭 주기의 정수배와 기준 클럭 주기의 분수의 조합에 의해 정의되는 이벤트 정보에 기초하여, 테스트 신호와 스트로브가 생성된다.
본 발명의 이벤트 기반 반도체 테스트 시스템은 이벤트 메모리 내의 타이밍 데이터를 직접 사용하여 테스트 신호와 스트로브를 생성할 수 있다. 본 발명의 이벤트 기반 반도체 테스트 시스템은 테스트 신호와 스트로브를 생성하기 위해 테스트중인 반도체 장치의 설계 단계에서 CAD 시스템이 테스트 벤치에 의해 생성된 데이터를 직접 사용할 수 있다.
비록 바람직한 실시예만이 예시되고 설명되었지만, 본 발명의 정신과 범위를 벗어나지 않고 첨부하는 상기 가르침에 비추어 그리고 특허청구의 범위 내에 많은 변형과 변경이 가능하다는 것을 알 것이다.
도 1은 사이클 베이스로 기술된 테스트 데이터에 기초하여 테스트 신호와 테스트 스트로브를 생성하는 종래의 반도체 테스트 시스템의 구조 예를 도시하는 개략 블럭도.
도 2는 각 테스트 사이클에서의 패턴 데이터, 타이밍 데이터 및 파형 데이터를 생성하기 위한 도 1의 사이클에 기초한 테스트 시스템에 사용되는 데이터 구조의 예를 도시하는 도면.
도 3은 본 발명의 이벤트 기반(event based) 반도체 테스트 시스템의 구조 예를 도시하는 블럭도.
도 4는 본 발명의 이벤트 기반 테스트 시스템과 전자 설계 자동 환경과의 관계를 도시하는 개략 블럭도.
도 5a 내지 도 5k는 이벤트 메모리에 기억된 이벤트 데이터에 기초하여 도 5i - 도 5k의 테스트 신호 에지(이벤트)를 생성하기 위한 본 발명의 이벤트 기반 테스트 시스템의 동작예를 도시하는 타이밍 차트.
도 6은 본 발명의 이벤트 기반 테스트 시스템 내의 타이밍 카운트 및 스케일링 로직(timing count and scaling logic)과 이벤트 메모리의 구성예를 도시하는 개략도.
도 7은 본 발명의 이벤트 기반 테스트 시스템 내의 이벤트 메모리, 타이밍 카운트 및 스케일링 로직의 다른 구성 예를 도시하는 개략도.
도 8은 도 6 및 7의 타이밍 카운트 및 스케일링 로직에 의해 생성되는 데이터에 기초하여 다양한 이벤트를 생성하기 위한 이벤트 생성 유닛의 구조 예를 도시하는 개략 블럭도.
도 9는 본 발명의 이벤트 기반 테스트 시스템의 기본 시스템 구성을 도시하는 개략도.
도 10a는 도 6의 회로도를 사용하여 도 5i-5k에 도시한 이벤트를 생성하기 위한 다양한 타이밍들 간의 관계를 도시하는 데이터 표이고, 도 10b는 도 7의 회로도를 사용하여 도 5i-5k에 도시한 이벤트를 생성하기 위한 다양한 타이밍들 간의 관계를 도시하는 데이터 표.
도 11은 본 발명의 이벤트 기반 테스트 시스템에서 이벤트 데이터 압축및 압축해제(decompression) 기술을 설명하기 위한 이벤트 시퀀스의 예를 도시하는 타이밍 차트.
도 12a는 데이터 압축없이 이벤트 메모리(이벤트 카운트 메모리 및 버니어 메모리(vernier memory))에 기억된 이벤트 데이터를 도시하는 데이터 표이고, 도 12b는 본 발명의 데이터 압축을 사용하여 이벤트 메모리에 기억된 이벤트 데이터를 도시하는 데이터 표로서, 각각은 도 11에 도시한 이벤트를 생성하기 위한 것이다.
도 13은 본 발명의 이벤트 기반 테스트 시스템의 데이터 압축해제 유닛 내의 회로 구조 예를 도시하는 블럭도.
도 14는 본 발명의 이벤트 기반 테스트 시스템의 스케일링 로직 내의 회로 구조 예를 도시하는 개략 블럭도.
도 15는 본 발명의 이벤트 기반 테스트 시스템의 스케일링 로직 내의 구조에 대한 상세한 예를 도시하는 블럭도.
<도면의 주요 부분에 대한 부호의 설명>
22 : 호스트 컴퓨터
23 : 내부 버스
24 : 시스템 버스
25 : 버스 인터페이스
27 : 페일 메모리
28 : 어드레스 시퀀서
30 : 압축해제 유닛
33 : 타이밍 카운트 및 스케일링 로직
34 : 이벤트 생성 유닛
36 : 핀 일렉트로닉스
41 : 테스트 벡터 파일
42 : 테스트 플랜 파일
46 : 패턴 데이터
47 : 타이밍 데이터
59 : 테스트중인 장치
60 : 반도체 테스트 시스템
65 : VCD 데이터 파일
67 : 변환 소프트웨어
71 : 클럭 카운트 RAM
72 : 버니어 RAM
73 : 이벤트 타입 RAM
75 : 다운 카운터
76 : 래치
77, 102-104, 106 : 플립-플롭
78 : 멀티플렉서
79 : 가산기
82 : 디멀티플렉서
83 : 비교기
85-87, 95-97 : 가변 지연 회로
88,105 : OR 회로
91,92 : SR 플립-플롭
93 : 핀 드라이버

Claims (13)

  1. 피시험 전자 장치(device under test: DUT)에 테스트 신호를 공급하고 상기 DUT의 출력을 스트로브 신호의 타이밍에서 평가함으로써, 상기 DUT를 테스트하기 위한 이벤트 기반 테스트 시스템에 있어서,
    타이밍 데이터와 이벤트 타입 데이터로 구성된 이벤트 데이터를 압축된 형태로 저장하기 위한 이벤트 메모리 -상기 각 이벤트의 상기 타이밍 데이터는 기준 클럭 주기의 정수배(integral part data: 정수부 데이터)와 상기 기준 클럭 주기의 분수(fractional part data: 분수부 데이터)로 형성되며, 상기 이벤트 타입 데이터는 상기 이벤트 기반 테스트 시스템에 의해 생성될 각 이벤트의 타입을 나타내며, 상기 타이밍 데이터는 현재의 이벤트와 미리 정해진 기준 점 사이의 시간차이며, 상기 이벤트는 피시험 반도체 장치를 테스트하기 위한 테스트 신호의 로직 상태의 변화로서 정의됨- ;
    상기 이벤트 메모리를 액세스하여 그로부터 상기 타이밍 데이터를 판독해내기 위한 어드레스 데이터를 생성하기 위한 어드레스 시퀀서;
    상기 기준 클럭 주기에 상기 정수부 데이터를 곱한 만큼 지연되는 이벤트 시작 신호를 생성하기 위한 타이밍 카운트 로직;
    상기 이벤트 메모리와 상기 타이밍 카운트 로직과의 사이에 제공되어, 상기 이벤트 메모리에 압축된 형태로 저장된 이벤트 데이터로부터 이벤트 데이터를 복원하기 위한 압축해제 유닛;
    상기 타이밍 카운트 로직으로부터의 상기 이벤트 시작 신호와 상기 이벤트 메모리로부터의 상기 분수부 데이터 및 상기 이벤트 타입 데이터에 기초하여 각 이벤트를 생성하여 상기 테스트 신호 또는 스트로브 신호를 작성하기 위한 이벤트 생성 유닛; 및
    상기 이벤트 기반 테스트 시스템의 전체적인 동작을 제어하기 위한 호스트 컴퓨터
    를 포함하는 이벤트 기반 테스트 시스템.
  2. 삭제
  3. 제1항에 있어서,
    상기 타이밍 카운트 로직은 스케일링 인수(scaling factor)에 비례하여 상기 이벤트 메모리로부터의 타이밍 데이터를 변경하는 스케일링 로직을 구비하는 이벤트 기반 테스트 시스템.
  4. 제1항에 있어서,
    상기 DUT에 상기 테스트 신호를 인가하여 상기 DUT의 응답 출력을 상기 스트로브 신호의 타이밍에서 평가한 결과로서의 상기 DUT의 불량 정보를 저장하기 위한 페일 메모리(failure memory)를 더 구비하는 이벤트 기반 테스트 시스템.
  5. 제1항에 있어서,
    상기 이벤트 메모리는,
    각 이벤트의 상기 타이밍 데이터의 상기 정수부 데이터를 저장하기 위한 이벤트 카운트 메모리;
    각 이벤트의 상기 타이밍 데이터의 상기 분수부 데이터를 저장하기 위한 버니어 메모리(vernier memory); 및
    상기 클럭 카운트 메모리 및 상기 버니어 메모리 내의 상기 타이밍 데이터에 대응하는 각 이벤트의 타입을 나타내는 상기 이벤트 타입 데이터를 저장하기 위한 이벤트 타입 메모리
    로 구성되는 이벤트 기반 테스트 시스템.
  6. 제1항에 있어서,
    상기 타이밍 카운트 로직은, 상기 정수부 데이터를 내부에 프리셋(preset)하고, 상기 정수부 데이터의 양을 상기 기준 클럭에 의해 다운 카운트함으로써 상기 기준 클럭 주기의 정수배인 지연 시간을 생성하는 다운 카운터로 구성되는 이벤트 기반 테스트 시스템.
  7. 제1항에 있어서,
    상기 이벤트 생성 유닛은,
    상기 이벤트 메모리로부터의 이벤트 타입 데이터에 기초하여, 상기 타이밍 카운트 로직으로부터 상기 이벤트 시작 신호를 선택적으로 공급하기 위한 디멀티플렉서;
    상기 디멀티플렉서로부터 상기 이벤트 시작 신호를 수신하고, 상기 이벤트 메모리로부터의 분수부 데이터에 의해 규정된 추가의 지연을 제공하기 위한 복수의 가변 지연 회로;
    상기 가변 지연 회로 중 적어도 2개의 가변 지연 회로의 출력 신호에 기초하여 상기 테스트 신호를 생성하기 위한 수단; 및
    상기 가변 지연 회로 중 적어도 하나의 가변 지연 회로의 출력 신호에 기초하여 상기 스트로브 신호를 생성하기 위한 수단
    으로 구성되는 이벤트 기반 테스트 시스템.
  8. 피시험 전자 장치(device under test: DUT)에 테스트 신호를 공급하고 상기 DUT의 출력을 스트로브 신호의 타이밍에서 평가함으로써, 상기 DUT를 테스트하기 위한 이벤트 기반 테스트 시스템에 있어서,
    타이밍 데이터와 이벤트 타입 데이터로 구성된 이벤트 데이터를 저장하기 위한 이벤트 메모리 -상기 각 이벤트의 상기 타이밍 데이터는 기준 클럭 주기의 정수배(integral part data: 정수부 데이터)와 상기 기준 클럭 주기의 분수(fractional part data: 분수부 데이터)로 형성되며, 상기 이벤트 타입 데이터는 상기 이벤트 기반 테스트 시스템에 의해 생성될 각 이벤트의 타입을 나타내며, 상기 타이밍 데이터는 2개의 인접한 이벤트 사이의 시간차이며 상기 이벤트 메모리에 압축된 형태로 저장되며, 상기 이벤트는 피시험 반도체 장치를 테스트하기 위한 테스트 신호의 로직 상태의 변화로서 정의됨- ;
    상기 이벤트 메모리를 액세스하여 그로부터 상기 타이밍 데이터를 판독해내기 위한 어드레스 데이터를 생성하기 위한 어드레스 시퀀서;
    상기 이벤트 메모리로부터 상기 타이밍 데이터를 복원하기 위한 압축해제 유닛;
    상기 압축해제 유닛으로부터의 상기 타이밍 데이터를 합산하여, 이전 이벤트 시작 신호로부터 상기 기준 클럭 주기를 상기 정수부 데이터로 곱한 만큼 지연되는 이벤트 시작 신호와, 이전 이벤트들의 분수부 데이터의 합계인 버니어 데이터 합계를 생성하기 위한 타이밍 카운트 로직 -상기 타이밍 카운트 로직은, 상기 분수부 데이터의 합계가 상기 기준 클럭 주기를 초과할 때마다 상기 이벤트 시작 신호에 일 기준 클럭 주기분의 추가의 지연을 제공하기 위한 지연 수단을 구비함- ;
    상기 타이밍 카운트 로직으로부터의 상기 이벤트 시작 신호 및 상기 버니어 데이터 합계에 기초하여 현재의 이벤트를 생성하여 상기 테스트 신호 및 스트로브 신호를 작성하기 위한 이벤트 생성 유닛 -상기 현재의 이벤트는 상기 이벤트 시작 신호에 대해 상기 버니어 데이터 합계만큼 지연된 타이밍에서 생성됨- ; 및
    테스트 프로그램을 통해 상기 이벤트 기반 테스트 시스템의 전체적인 동작을 제어하기 위한 호스트 컴퓨터
    를 포함하는 이벤트 기반 테스트 시스템.
  9. 제8항에 있어서,
    상기 타이밍 카운트 로직은 상기 타이밍 카운트 로직에 의해 수신된 상기 타이밍 데이터를 스케일링 인수에 비례하여 변경하는 스케일링 로직을 구비하는 이벤트 기반 테스트 시스템.
  10. 제8항에 있어서,
    상기 DUT에 상기 테스트 신호를 인가하여 상기 DUT의 응답 출력을 상기 스트로브 신호의 타이밍에서 평가한 결과로서의 상기 DUT의 불량 정보를 저장하기 위한 페일 메모리를 더 구비하는 이벤트 기반 테스트 시스템.
  11. 제8항에 있어서,
    상기 이벤트 메모리는,
    각 이벤트의 상기 타이밍 데이터의 상기 정수부 데이터를 저장하기 위한 클럭 카운트 메모리;
    각 이벤트의 상기 타이밍 데이터의 상기 분수부 데이터를 저장하기 위한 버니어 메모리; 및
    상기 클럭 카운트 메모리 및 상기 버니어 메모리 내의 상기 타이밍 데이터에 대응하는 각 이벤트의 타입을 나타내는 상기 이벤트 타입 데이터를 저장하기 위한 이벤트 타입 메모리
    로 구성되는 이벤트 기반 테스트 시스템.
  12. 제8항에 있어서,
    상기 타이밍 데이터를 합산하기 위한 상기 타이밍 카운트 로직은,
    상기 정수부 데이터를 내부에 프리셋하고, 상기 정수부 데이터의 양을 상기 기준 클럭에 의해 다운 카운트함으로써 상기 기준 클럭 주기의 정수배인 지연 시간을 생성하기 위한 다운 카운터;
    상기 다운 카운터의 출력을 일 기준 클럭 주기만큼 지연시키기 위한 플립-플롭;
    상기 다운 카운터의 출력 및 상기 플립-플롭의 출력을 수신하여, 상기 출력들 중 하나를 상기 이벤트 시작 신호로서 선택적으로 생성하기 위한 멀티플렉서; 및
    상기 이벤트 메모리로부터의 현재 이벤트의 상기 분수부 데이터를 이전 이벤트들의 분수부 데이터에 가산하여 상기 버니어 데이터 합계를 생성하며, 상기 분수부 데이터를 가산한 결과가 상기 기준 클럭 주기를 초과할 때마다 캐리 신호(carry signal)를 발생시키는 가산기
    로 구성되며,
    상기 멀티플렉서는 상기 가산기로부터 상기 캐리 신호를 수신하는 경우 상기 플립-플롭의 출력을 선택하는 이벤트 기반 테스트 시스템.
  13. 제8항에 있어서,
    상기 이벤트 생성 유닛은,
    상기 이벤트 메모리로부터의 상기 이벤트 타입 데이터에 기초하여, 상기 타이밍 카운트 로직으로부터 상기 이벤트 시작 신호를 선택적으로 제공하기 위한 디멀티플렉서;
    상기 디멀티플렉서로부터 상기 이벤트 시작 신호를 수신하고, 상기 타이밍 카운트 로직으로부터의 상기 버니어 합계 데이터에 의해 규정된 추가의 지연을 제공하기 위한 복수의 가변 지연 회로;
    상기 가변 지연 회로 중 적어도 2개의 가변 지연 회로의 출력 신호에 기초하여 상기 테스트 신호를 생성하기 위한 수단; 및
    상기 가변 지연 회로 중 적어도 하나의 가변 지연 회로의 출력 신호에 기초하여 상기 스트로브 신호를 생성하기 위한 수단
    으로 구성되는 이벤트 기반 테스트 시스템.
KR10-2000-0056008A 1999-09-25 2000-09-23 이벤트 기반 반도체 테스트 시스템 KR100506771B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/406,300 US6532561B1 (en) 1999-09-25 1999-09-25 Event based semiconductor test system
US9/406,300 1999-09-25
US09/406,300 1999-09-25

Publications (2)

Publication Number Publication Date
KR20010050616A KR20010050616A (ko) 2001-06-15
KR100506771B1 true KR100506771B1 (ko) 2005-08-10

Family

ID=23607370

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2000-0056008A KR100506771B1 (ko) 1999-09-25 2000-09-23 이벤트 기반 반도체 테스트 시스템

Country Status (5)

Country Link
US (1) US6532561B1 (ko)
JP (1) JP3435133B2 (ko)
KR (1) KR100506771B1 (ko)
DE (1) DE10045568B4 (ko)
TW (1) TW578002B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100736675B1 (ko) 2006-08-01 2007-07-06 주식회사 유니테스트 반도체 소자 테스트 장치

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6678645B1 (en) * 1999-10-28 2004-01-13 Advantest Corp. Method and apparatus for SoC design validation
US6675310B1 (en) * 2000-05-04 2004-01-06 Xilinx, Inc. Combined waveform and data entry apparatus and method for facilitating fast behavorial verification of digital hardware designs
JP2002071762A (ja) * 2000-06-13 2002-03-12 Advantest Corp 半導体試験装置及びそのモニタ装置
JP2002048844A (ja) * 2000-07-31 2002-02-15 Ando Electric Co Ltd 半導体試験装置
FI110724B (fi) * 2000-09-14 2003-03-14 Patria New Technologies Oy JTAG-testausjärjestely
US6859902B1 (en) * 2000-10-02 2005-02-22 Credence Systems Corporation Method and apparatus for high speed IC test interface
US7765443B1 (en) 2001-03-19 2010-07-27 Credence Systems Corporation Test systems and methods for integrated circuit devices
AU2002255823A1 (en) * 2001-03-19 2002-10-03 Nptest, Inc. Test system formatters
CN1293503C (zh) * 2001-04-27 2007-01-03 株式会社鼎新 系统芯片的设计校验方法和装置
US8166361B2 (en) * 2001-09-28 2012-04-24 Rambus Inc. Integrated circuit testing module configured for set-up and hold time testing
US8001439B2 (en) 2001-09-28 2011-08-16 Rambus Inc. Integrated circuit testing module including signal shaping interface
US8286046B2 (en) 2001-09-28 2012-10-09 Rambus Inc. Integrated circuit testing module including signal shaping interface
US6959409B2 (en) * 2001-10-26 2005-10-25 Abdel-Wahid Mohammed Ali Abdel Design for test of analog module systems
JP4251800B2 (ja) 2001-11-08 2009-04-08 株式会社アドバンテスト 試験装置
US7171602B2 (en) * 2001-12-31 2007-01-30 Advantest Corp. Event processing apparatus and method for high speed event based test system
US6934896B2 (en) * 2001-12-31 2005-08-23 Advantest Corp. Time shift circuit for functional and AC parametric test
DE10392497T5 (de) * 2002-04-11 2005-02-17 Advantest Corp. Herstellungsverfahren und Herstellungsvorrichtung zum Vermeiden eines Prototypen-Aufschubs bei der ASIC/SOC-Herstellung
US7089135B2 (en) * 2002-05-20 2006-08-08 Advantest Corp. Event based IC test system
TWI284743B (en) * 2002-07-13 2007-08-01 Advantest Corp Event pipeline and summing method and apparatus for event based test system
US7194668B2 (en) * 2003-04-11 2007-03-20 Advantest Corp. Event based test method for debugging timing related failures in integrated circuits
US7146539B2 (en) * 2003-07-15 2006-12-05 Verigy Ipco Systems and methods for testing a device-under-test
JP4564250B2 (ja) * 2003-10-09 2010-10-20 Okiセミコンダクタ株式会社 半導体装置のファンクションテスト方法
KR100548199B1 (ko) * 2004-07-15 2006-02-02 삼성전자주식회사 아날로그/디지털 혼합 신호 반도체 디바이스 테스트 장치
JP4820560B2 (ja) * 2005-03-07 2011-11-24 株式会社アドバンテスト 試験装置、試験方法、電子デバイスの生産方法、試験シミュレータ、及び試験シミュレーション方法
US20060259774A1 (en) * 2005-05-13 2006-11-16 Texas Instruments Incorporated Watermark counter with reload register
US7779311B2 (en) * 2005-10-24 2010-08-17 Rambus Inc. Testing and recovery in a multilayer device
WO2007138814A1 (ja) * 2006-05-26 2007-12-06 Advantest Corporation 試験装置および試験モジュール
KR100736673B1 (ko) * 2006-08-01 2007-07-06 주식회사 유니테스트 반도체 소자 테스트 장치
JP4876815B2 (ja) * 2006-09-20 2012-02-15 横河電機株式会社 信号波形表示装置、方法及びプログラム
US7561027B2 (en) * 2006-10-26 2009-07-14 Hewlett-Packard Development Company, L.P. Sensing device
US8977912B2 (en) * 2007-05-07 2015-03-10 Macronix International Co., Ltd. Method and apparatus for repairing memory
US7615990B1 (en) 2007-06-28 2009-11-10 Credence Systems Corporation Loadboard enhancements for automated test equipment
US8149721B2 (en) * 2008-12-08 2012-04-03 Advantest Corporation Test apparatus and test method
JP2010256175A (ja) * 2009-04-24 2010-11-11 Sharp Corp 半導体集積回路装置の、検査装置および検査方法
CN102486629B (zh) * 2010-12-01 2013-09-04 北京广利核系统工程有限公司 一种硬件板卡周期运行时间的测试方法
US9310433B2 (en) 2014-04-18 2016-04-12 Breker Verification Systems Testing SOC with portable scenario models and at different levels
US9664736B2 (en) * 2014-04-27 2017-05-30 Texas Instruments Incorporated Multiple rate signature test to verify integrated circuit identity
US10657034B2 (en) 2016-07-25 2020-05-19 International Business Machines Corporation System testing using time compression
TWI637186B (zh) * 2017-03-28 2018-10-01 奇景光電股份有限公司 異常時脈偵測方法及其電路

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0694796A (ja) * 1990-09-05 1994-04-08 Schlumberger Technol Inc 自動テスト装置用イベントシーケンサ
JPH08146102A (ja) * 1994-11-16 1996-06-07 Advantest Corp 半導体ic試験装置用試験パターン装置
KR19980063512A (ko) * 1996-12-10 1998-10-07 사와무라시꼬 검사 시스템
JP2000321340A (ja) * 1999-04-05 2000-11-24 Advantest Corp イベント型テストシステム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5225772A (en) * 1990-09-05 1993-07-06 Schlumberger Technologies, Inc. Automatic test equipment system using pin slice architecture
US6226765B1 (en) * 1999-02-26 2001-05-01 Advantest Corp. Event based test system data memory compression
US6360343B1 (en) * 1999-02-26 2002-03-19 Advantest Corp. Delta time event based test system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0694796A (ja) * 1990-09-05 1994-04-08 Schlumberger Technol Inc 自動テスト装置用イベントシーケンサ
JPH08146102A (ja) * 1994-11-16 1996-06-07 Advantest Corp 半導体ic試験装置用試験パターン装置
KR19980063512A (ko) * 1996-12-10 1998-10-07 사와무라시꼬 검사 시스템
JP2000321340A (ja) * 1999-04-05 2000-11-24 Advantest Corp イベント型テストシステム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100736675B1 (ko) 2006-08-01 2007-07-06 주식회사 유니테스트 반도체 소자 테스트 장치

Also Published As

Publication number Publication date
US6532561B1 (en) 2003-03-11
JP2001124836A (ja) 2001-05-11
DE10045568A1 (de) 2001-03-29
KR20010050616A (ko) 2001-06-15
JP3435133B2 (ja) 2003-08-11
TW578002B (en) 2004-03-01
DE10045568B4 (de) 2007-06-28

Similar Documents

Publication Publication Date Title
KR100506771B1 (ko) 이벤트 기반 반도체 테스트 시스템
US6651204B1 (en) Modular architecture for memory testing on event based test system
US7089135B2 (en) Event based IC test system
US6243841B1 (en) Automated test and evaluation sampling system and method
US6678643B1 (en) Event based semiconductor test system
US6061283A (en) Semiconductor integrated circuit evaluation system
US6360343B1 (en) Delta time event based test system
KR100483876B1 (ko) 반도체 집적 회로 설계 및 검증 시스템
JPH0694796A (ja) 自動テスト装置用イベントシーケンサ
US5740086A (en) Semiconductor test system linked to cad data
JP4072322B2 (ja) イベント型半導体テストシステム
KR100491460B1 (ko) 이벤트 기반 테스트 시스템 데이터 메모리 압축
US6557133B1 (en) Scaling logic for event based test system
JP4417955B2 (ja) 集積回路のタイミング関連不良検証のためのイベント形式によるテスト方法
US6668331B1 (en) Apparatus and method for successively generating an event to establish a total delay time that is greater than can be expressed by specified data bits in an event memory
JP2009503434A (ja) 標準化テスト計測器シャーシ内の回路カード同期
KR100506778B1 (ko) 이벤트 기반 테스트 시스템을 위한 스캔 벡터 지원
CN1376931A (zh) 基于事件的半导体测试系统
US20240118339A1 (en) System, method for circuit validation, and system and method for facilitating circuit validation
WO2003054563A1 (en) Scan vector support for event based test system

Legal Events

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

Payment date: 20090724

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee