KR20210079348A - 커맨드 오류 처리를 위해 하나 이상의 테스트 대상 디바이스를 테스트하기 위한 자동 테스트 장비, 하나 이상의 테스트 대상 디바이스의 자동 테스트를 위한 방법 및 컴퓨터 프로그램 - Google Patents

커맨드 오류 처리를 위해 하나 이상의 테스트 대상 디바이스를 테스트하기 위한 자동 테스트 장비, 하나 이상의 테스트 대상 디바이스의 자동 테스트를 위한 방법 및 컴퓨터 프로그램 Download PDF

Info

Publication number
KR20210079348A
KR20210079348A KR1020217015278A KR20217015278A KR20210079348A KR 20210079348 A KR20210079348 A KR 20210079348A KR 1020217015278 A KR1020217015278 A KR 1020217015278A KR 20217015278 A KR20217015278 A KR 20217015278A KR 20210079348 A KR20210079348 A KR 20210079348A
Authority
KR
South Korea
Prior art keywords
data
command
memory
received
under test
Prior art date
Application number
KR1020217015278A
Other languages
English (en)
Other versions
KR102569335B1 (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 KR20210079348A publication Critical patent/KR20210079348A/ko
Application granted granted Critical
Publication of KR102569335B1 publication Critical patent/KR102569335B1/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/31724Test controller, e.g. BIST state machine
    • 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/31712Input or output aspects
    • 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/31712Input or output aspects
    • G01R31/31713Input or output interfaces for test, e.g. test pins, buffers
    • 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
    • G01R31/318307Generation of test inputs, e.g. test vectors, patterns or sequences computer-aided, e.g. automatic test program generator [ATPG], program translations, test program debugging
    • GPHYSICS
    • 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
    • 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/31903Tester hardware, i.e. output processing circuits tester configuration
    • G01R31/31905Interface with the device under test [DUT], e.g. arrangements between the test head and the DUT, mechanical aspects, fixture
    • 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/31903Tester hardware, i.e. output processing circuits tester configuration
    • G01R31/31907Modular tester, e.g. controlling and coordinating instruments in a bus based architecture
    • 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/31903Tester hardware, i.e. output processing circuits tester configuration
    • G01R31/31908Tester set-up, e.g. configuring the tester to the device under test [DUT], down loading test patterns
    • 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
    • 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/31926Routing signals to or from the device under test [DUT], e.g. switch matrix, pin multiplexing
    • 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/3193Tester hardware, i.e. output processing circuits with comparison between actual response and known fault free response
    • G01R31/31935Storing data, e.g. failure memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/273Tester hardware, i.e. output processing circuits
    • G06F11/2733Test interface between tester and unit under test
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Quality & Reliability (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Debugging And Monitoring (AREA)
  • Microcomputers (AREA)

Abstract

하나 이상의 테스트 대상 디바이스를 테스트하기 위한 자동 테스트 장비는 적어도 하나의 포트 처리 유닛을 포함하는데, 포트 처리 유닛은, 테스트 대상 디바이스 중 적어도 하나와 접속하기 위한 고속 입출력 인터페이스(high-speed-input-output interface: HSIO)와, 하나 이상의 접속된 테스트 대상 디바이스로부터 포트 처리 유닛에 의해 수신된 데이터를 저장하기 위한 메모리와, 수신된 데이터에서 커맨드 오류를 검출하도록 구성된 스트리밍 오류 검출 블록을 포함하고, 포트 처리 유닛은, 커맨드 오류의 검출에 응답하여, 수신된 데이터에서 오류가 있는 것으로 검출되는 커맨드 이후에 후속하는 데이터의 메모리에의 저장을 제한하도록 구성된다. 또한, 하나 이상의 테스트 대상 디바이스의 자동 테스트를 위한 방법 및 컴퓨터 프로그램이 설명된다.

Description

커맨드 오류 처리를 위해 하나 이상의 테스트 대상 디바이스를 테스트하기 위한 자동 테스트 장비, 하나 이상의 테스트 대상 디바이스의 자동 테스트를 위한 방법 및 컴퓨터 프로그램
본 발명에 따른 실시예는 하나 이상의 테스트 대상 디바이스를 테스트하기 위한 자동 테스트 장비에 관한 것이다.
본 발명에 따른 추가 실시예는 하나 이상의 테스트 대상 디바이스의 자동 테스트를 위한 방법에 관한 것이다.
본 발명에 따른 추가 실시예는 각각의 컴퓨터 프로그램과 관련된다.
본 발명에 따른 실시예는 고속 입출력 인터페이스를 통해 테스트 대상 디바이스로부터 수신된 데이터의 오류의 검출에 의한 디바이스의 테스트에 관한 것이다.
이하에서는 몇몇 기존 솔루션에 대한 소개가 제공될 것이다.
자동 테스트 장비(automated test equipment: ATE)는, 신속하게 측정을 수행하고 테스트 결과를 평가하기 위해 자동화를 사용하여 테스트 대상 디바이스(device under test: DUT)로 알려진 디바이스 상에서 테스트를 수행하는 임의의 장치이다. ATE는 간단한 컴퓨터 제어형 디지털 멀티미터이거나, 시스템 온 칩 및 집적 회로를 포함하는 복잡한 전자 패키지 부품 또는 웨이퍼 테스트에서 결함을 자동으로 테스트하고 진단할 수 있는 수 십 개의 복잡한 테스트 기기(실제 또는 시뮬레이션된 전자 테스트 장비)를 포함하는 복잡한 시스템일 수 있다.
구조 테스트(structural test)는, 시스템 온 칩(System on a Chip: SOC) 내에서 디지털 블록의 복잡한 기능을 구현하는 개별 구조(소위, 셀)의 체계적인 테스트 범위를 지원한다. 구조 테스트는 메모리 내장 자체 테스트(built-in self-test: BIST), 로직 BIST(칩 상에서 생성된 패턴) 및 스캔 테스트(외부에서 제공된 패턴)를 포함하지만 이에 국한되지 않는 다양한 테스트 방법을 포함한다. 개별 테스트들은 테스트 블록으로 결합되는데, 예컨대, 스캔 테스트는 블록에 계층적으로 적용된다(직렬 또는 병렬로).
고급 구조 테스트 방법론은 외부에서 제공되는 테스트 데이터(자동 테스트 장비(ATE)로부터의 자극)와 온 칩 테스트 디바이스(device for testing: DFT)의 조합을 적용하여 외부에서 제공되는 테스트 데이터(소위, 시드)를 스캔 체인으로 확장한다. 테스트 결과는 SOC의 기본 입출력 인터페이스(IO)에 제공되는 감소된 양의 테스트 데이터로 압축된다. 이 데이터는 수신된 데이터라고 불리며, ATE에 의해 예상 데이터와 비교된다. 수신된 데이터는 또한 ATE에 의해 마스킹될 수 있다.
테스트용 설계 또는 테스트 가능용 설계라고도 하는 DFT는 일반적으로, 하드웨어 제품 설계 또는 디바이스(즉, DUT)에 테스트 가능 기능을 추가하는 집적 회로 설계 기술로 구성된다. 추가된 기능은 DUT에 대한 테스트를 개발하고 적용하는 것을 더 쉽게 만든다.
다음은 위에서 설명한 구조 테스트의 일반적인 표현으로서 스캔 테스트를 언급한다.
그러나, 새로운 제조 공정에 의해 SOC의 복잡성이 증가함에 따라 스캔 테스트를 비용 효율적으로 확장하는 데 어려움이 존재한다.
한 가지 문제는 ATE에 저장되어야 하는 테스트 데이터의 양이 늘어나는 것이다. 또 다른 문제는 SOC IO를 통해 테스트 데이터를 공급하기 위해 테스트 시간이 늘어나는 것이다. 또한, 증가하는 온 칩 복잡성으로 인해 테스트 데이터를 테스트 대상 블록에 분배하고 필요한 클록 신호를 생성하는 데 어려움이 있다.
또한, 복잡한 SOC의 품질 및 신뢰성 기대는 SOC가 최종 애플리케이션(예컨대, 자동차 또는 통신 인프라스트럭처 시스템)에 배포될 때 구조 테스트를 요구한다.
이러한 상황을 고려하여, 자동 테스트 장비로 테스트 대상 디바이스를 테스트할 때, 저장될 데이터, 처리 속도, 테스트 품질 및 신뢰성 간의 개선된 절충안을 제공하는 개념이 요구된다.
본 발명에 따른 실시예는 하나 이상의 테스트 대상 디바이스를 테스트하기 위한 자동 테스트 장비이다.
자동 테스트 장비는 적어도 하나의 포트 처리 유닛을 포함한다.
적어도 하나의 포트 처리 유닛은 테스트 대상 디바이스 중 적어도 하나와 접속하기 위한 고속 입출력(high-speed-input-output: HSIO) 인터페이스와, 하나 이상의 접속된 테스트 대상 디바이스로부터 포트 처리 유닛에 의해 수신된 데이터를 저장하기 위한 메모리와, 수신된 데이터, 예컨대, 하나 이상의 테스트 대상 디바이스(예를 들어, 스캔 체인)로부터 수신된 데이터에서 커맨드 오류를 검출하도록 구성된 스트리밍 오류 검출 블록을 포함한다.
HSIO 인터페이스는 고속 통신을 위해 설계된 인터페이스를 나타낸다. 불완전한 예시 리스트는 USB, PCIe, SATA, 기가비트 LAN이다. 테스트 대상 디바이스(devices under test: DUT)는 예컨대 시스템 온 칩(Systems-on-a-chip: SOC)일 수 있다.
또한, 포트 처리 유닛은, 커맨드 오류의 검출에 응답하여, 수신된 데이터에서 오류가 있는 것으로 검출되는 커맨드 이후에 후속하는 데이터의 메모리에의 저장을 제한하도록 구성된다. 제한은 한정으로 간주될 수도 있다. 데이터의 저장을 제한 또는 한정함으로써, 쓸모없고 랜덤인 페이로드 데이터에 대한 저장 요건을 최소화할 수 있다. 이러한 제한 또는 한정은 HSIO-스캔 DFT 블록의 상태에 대한 정보 페이로드로서 후속 비트를 캡처하는 것으로 구현될 수 있다. 적은 데이터를 저장함으로써 수신 데이터의 예상 데이터와의 후속 비교가 감소될 수 있으므로, 처리 능력이 절약될 수 있다. 오류가 검출된 후에 사용될 수 있는 메모리의 양을 미리 결정된 값으로 표시함으로써 제한 또는 한정이 구현될 수 있다. 사용 가능한 메모리의 양은 알고리즘적으로 표시될 수도 있다. 마지막으로, 오류가 검출된 후에 사용될 수 있는 메모리의 양은 오류의 특성, 오류 유형, 오류 심각도 또는 다른 특성에 따라 달라질 수 있다.
이 실시예는 테스트 대상 디바이스가 자동 테스트 장비(automated test equipment: ATE)로 전송되고 그에 의해 수신되는 데이터를 생성한다는 아이디어에 기초한다. 수신된 데이터는 예컨대 테스트를 평가하기 위해, 즉, 수신된 데이터가 제대로 작동하는 테스트 대상 디바이스에 의해 전송되는 것으로 예상되는 것인지 여부의 검증을 위해 ATE에 의해 추가로 처리된다. 수신된 데이터를 추가로 처리하기 위해, 적어도 일부 실시예에서는 수신된 데이터를 ATE의 메모리에 저장하는 것이 도움이 된다.
데이터는 고속 입력 출력 인터페이스(HSIO)를 사용하여 ATE로 전송될 수 있다. 데이터는 수신부가 적은 노력으로 수신된 데이터를 해석할 수 있도록 구조화될 수 있다. 이러한 구조에 대한 일 예는 소위 커맨드 부분을 포함하는 데이터 포맷인데, 이는 후속되는 것(즉, 페이로드)을 표시하거나 다른 부분에 대한 실제 커맨드를 전송한다.
페이로드가 전송 오류를 포함할 수도 있고 또는 테스트 대상 디바이스의 오작동으로 인한 오류를 포함할 수도 있지만, 이 뿐만 아니라 이러한 커맨드 오류에도 결함이 있을 수 있어서, 커맨드의 오류는 후속 페이로드를 쓸모없게 만들 수 있는데, 그 이유는 그것이 올바르게 식별될 수 없거나 수신되었어야 하는 커맨드에 따라 사용될 수 없기 때문이다. 예를 들어, 커맨드가 CONV이고 후속 데이터가 그에 따라 변환되어야 하는 경우, 오류가 있는 커맨드 CPNV는 올바르게 해석될 수 없고 따라서 페이로드는 쓸모없게 된다.
커맨드 오류의 경우, 본 발명은 메모리에 저장되는 데이터를 제한하거나 한정한다. 제한은 결함있는 커맨드 후에 데이터가 저장되지 않도록 0이 될 수 있지만, 디버깅 또는 오류 분석을 위한 데이터를 제공할 수 있도록 0이 아닐 수도 있다.
자동 테스트 장비의 바람직한 실시예에서, 메모리에 저장되는, 수신된 데이터에서 오류가 있는 것으로 검출되는 커맨드 이후에 후속하는 데이터는 추가 처리에서 제외된다.
오류가 있는 커맨드 이후에 일부 데이터가 저장되면, 이 데이터는 저장 및 유지될 수 있지만 추가 처리에서 제외될 수 있으므로 추가 처리 능력이 절약될 수 있음이 밝혀졌다.
자동 테스트 장비의 바람직한 실시예에서, 저장될 데이터의 양을 나타내는 제한은 고정 값, 가변 값 또는 동적 값에 의해 정의된다.
데이터의 양은 모든 오류에 대해 동일하게 미리 결정될 수 있으며, 이에 따라 나중에 분석을 위해 저장될 결함있는 커맨드에 후속하는 데이터의 고정된 양을 정의할 수 있음이 밝혀졌다. 다른 한편으로, 양은 또한 변수 값으로 정의될 수 있는데, 이는 특정 파라미터에 따라 오류가 있는 커맨드의 발생마다 오류가 있는 커맨드에 후속하는 데이터의 다른 양을 저장하는 것으로 정의될 수 있다. 이러한 파라미터의 예는, 예컨대, 오류 유형, 즉, 로직 오류(커맨드가 데이터에서 비허용 위치에 있음), 전송 오류(수신된 커맨드는 잘못 전송된 것임), 데이터 불일치(페이로드가 커맨드과 매칭되지 않음), 체크섬 오류(커맨드 및/또는 페이로드가 정확하지 않은 전송된 체크섬(또는 다른 무결성 검사)을 가짐), 또는 임의의 다른 일반적으로 알려진 오류 유형일 수 있다. 이러한 파라미터의 또 다른 예는 테스트 대상 디바이스의 유형 및/또는 ATE의 유형이다. 다른 파라미터는, 온도, 사용 통계, 메모리 상태, 가용 메모리, 가용 CPU 등과 같은, 관련 디바이스와 직접 관련된 것일 수 있다. 다른 파라미터는 페이로드, 커맨드 뒤에 페이로드가 이어지는지 여부, 현재 시간, 전송 시간, 수신 시간, 전송 지속시간 등을 나타낼 수 있다. 또한, 시간에 따라 변경되는 동적 값이 사용될 수도 있다.
자동 테스트 장비의 바람직한 실시예에서, 스트리밍 오류 검출 블록은 또한 수신된 데이터를 미리 로딩된 예상 데이터와 비교한다.
테스트 대상 디바이스(DUT)의 올바른 기능을 확인하기 위해, 소위 예상 데이터가 준비되어 ATE에 미리 로딩될 수 있음이 밝혀졌다. 그런 다음, 수신된 데이터는 예상 데이터와 비교될 수 있고, 그에 따라 디바이스의 올바른 기능이 판정될 수 있다. 수신된 데이터는 스캔 체인으로부터의 데이터, 커맨드 및/또는 페이로드를 나타낼 수 있다.
자동 테스트 장비의 바람직한 실시예에서, 스트리밍 오류 검출 블록은 또한 수신된 데이터에서 페이로드 데이터 오류를 검출하고 수신된 데이터의 오류 검출에 응답하여 데이터를 메모리에 선택적으로 저장한다.
커맨드가 정확하더라도 ATE는 페이로드의 오류를 검출하고 쓸모없을 수 있는 결함있는 페이로드 데이터를 저장하는 것을 방지할 수 있음이 밝혀졌다. 따라서, 올바른 커맨드의 경우에도 페이로드가 오류를 포함하면 메모리 사용이 감소될 수 있다.
자동 테스트 장비의 바람직한 실시예에서, 예상 데이터는 마스크 데이터를 포함할 수 있다.
따라서, 마스크 데이터, 즉, 특정 사용에 대해 수신된 데이터의 어느 비트가 관련이 있는지 및/또는 수신된 데이터의 어느 비트가 관련이 없는지를 정의하는 데이터를 사용함으로써, ATE가 데이터를 보다 지능적으로 처리할 수 있음이 밝혀졌다. 예를 들어, 예상 데이터는 마스크 데이터를 포함할 수 있는데, 이는 특정 테스트 절차에서 수신된 데이터가 3개의 데이터 블록, 즉, 관련 테스트를 나타내는 커맨드, DUT에 의해 생성된 결과 데이터, 및 그 결과를 생성하기 위해 DUT에 의해 사용된 시드 데이터를 포함할 것임을 나타낸다. ATE가 DUT에 시드를 제공했기 때문에, 테스트에 따라 시드의 저장은 불필요할 수 있다. 결과 데이터를 선택적으로 저장함으로써, 추가 메모리 공간이 절약될 수 있다.
자동 테스트 장비의 바람직한 실시예에서, ATE는 또한 예상 데이터를 하나 이상의 접속된 디바이스와 연관된 디바이스별 선입 선출(FIFO) 메모리 또는 관리 캐시에 미리 로딩할 수 있다.
따라서, ATE는 디바이스에 대한 선입 선출(FIFO) 메모리에 데이터를 미리 로딩함으로써 수신된 데이터와의 더 빠른 비교를 위해 예상 데이터를 준비할 수 있음이 밝혀졌다. 이것은 수신된 데이터가 특정 순서를 가질 것으로 예상되는 경우에 특히 유용한데, 가장 먼저 미리 로딩된 선입 데이터는 또한 가장 먼저 비교될 것이고 따라서 FIFO에서 가장 먼저 폐기(즉, 선출)될 수 있다. 이런 사용을 위해 예상 데이터의 일부(소위, 예상 데이터 창)만이 미리 로딩될 수 있다.
대안으로, 둘 이상의 DUT와 연관될 수 있는 관리 캐시가 사용되어 예상 데이터 또는 예상 데이터 창을 미리 로딩한 다음, 둘 이상의 DUT로부터 수신된 데이터와 비교할 수 있다. 따라서, 예상 데이터는 모든 디바이스에 대해 반복적으로 로딩되거나 미리 로딩될 필요는 없다.
또한, FIFO 또는 관리 캐시 메모리는 사용, 즉, 연관된 접속된 DUT로부터 수신된 데이터와의 비교를 추적할 수 있고, 사용된(즉, 비교되었거나 다른 이유로 더 이상 보유할 필요가 없는) 데이터를 폐기할 수 있다.
자동 테스트 장비의 바람직한 실시예에서, ATE는 데이터 사용의 추적에 기초하여 특정 테스트 대상 디바이스가 데이터 스트림을 따르지 않는다는 것을 발견한 것에 응답하여 특정 테스트 대상 디바이스를 고장인 것으로 인식한다.
특정 테스트 대상 디바이스가 데이터를 너무 느리게 제공하여, 특정 테스트 대상 디바이스와 연관된 관리 캐시 내의 예상 데이터가 다른 테스트 대상 디바이스와 연관된 대응하는 예상 데이터보다 훨씬 더 길게 미사용 상태로 유지되는 것을 발견한 것에 응답하여, DUT는 고장인 것으로 인식될 수 있음이 밝혀졌다.
관리 캐시의 경우, 대응하는 보유된 예상 데이터가 단순히 여러 DUT 중 하나에 대한 메모리에 유지되면 효율성은 악영향을 받을 수 있으며, 특정 예상 데이터가 보유되는 DUT를 고장인 것으로 간주함으로써 예상 데이터는 관리 캐시에서 폐기될 수 있고 전반적인 효율성은 향상될 수 있다. 또한, 수신된 데이터가 특정 데이터 스트림 또는 패턴을 따를 것으로 예상되고 DUT가 수신된 데이터를 해당 데이터 스트림 또는 패턴으로 전달하지 않으면, DUT는 고장인 것으로 간주될 수 있다.
자동 테스트 장비의 바람직한 실시예에서, 수신된 데이터는 결정적 바이트 스트림으로서 수신될 수 있다. 이 경우, 수신된 데이터와 미리 로딩된 예상 데이터는 미리 로딩된 예상 데이터의 순서로 비교된다. 대안으로, 수신된 데이터는 연관된 어드레스 정보를 갖는 데이터로서 수신될 수 있다. 이러한 어드레스 정보는 직접 메모리 액세스(direct memory access: DMA)에 의해 어드레스 지정되는 데이터를 나타낼 수 있다. 이 경우, 수신된 데이터는 어드레스 정보에 대응하는 메모리 어드레스에 있는 예상 데이터와 비교되는데, 메모리 어드레스는 예상 데이터를 저장하는 메모리의 어드레스이다.
수신 데이터가 미리 결정된 순서의 데이터 스트림, 소위 결정적 데이터 스트림으로서 ATE에 제공되면, 예상 데이터는 연속적으로 처리될 수 있음이 밝혀졌다.
한편, 데이터가 예를 들어 직접 메모리 액세스(DMA) 어드레스 지정과 같은 메모리 어드레스에 의해 비결정적 방식으로 제공되면, 수신 데이터는 어드레스 정보에 의해 표시된 메모리 어드레스에 있는 대응하는 데이터에 액세스함으로써 예상 데이터와 비교되는데, 어드레스 정보는 수신 데이터에 의해 제공될 수 있지만 예상 데이터에 의해 제공되거나 미리 결정될 수도 있다.
자동 테스트 장비의 바람직한 실시예에서, ATE는 데이터를 압축된 표현으로 메모리에 저장한다.
압축된 데이터는 메모리 공간을 덜 사용하는 것이 밝혀졌다. ATE는 일반적으로 전체 데이터 세트의 상이한 부분들을 저장할 수 있는데, 예를 들어, 예상 데이터에서 벗어난 수신 데이터 및/또는 수신 데이터가 그와 다른 예상 데이터, 또는 수신 데이터와 예상 데이터 간의 편차를 설명하는 데이터만을 저장할 수 있다. ATE에 및/또는 ATE에 의해 저장된 데이터의 일부 또는 전부는 더 적은 메모리 공간을 사용하기 위해 압축될 수 있다. 압축 자체는 압축 저장될 모든 데이터에 대해 동일한 데이터 압축 방법일 수 있지만, 특정 파라미터에 따라 상이한 데이터 커맨드에 대해 상이할 수도 있다.
이러한 파라미터의 예는, 예컨대, 데이터와 관련된 테스트의 유형일 수 있다. 이러한 파라미터의 또 다른 예는 테스트 대상 디바이스의 유형 및/또는 ATE의 유형이다. 다른 파라미터는, 온도, 사용 통계, 메모리 상태, 가용 메모리, 가용 CPU 등과 같은, 관련 디바이스와 직접 관련된 것일 수 있다. 다른 파라미터는 커맨드 또는 페이로드, 커맨드 뒤에 페이로드가 이어지는지 여부, 현재 시간, 전송 시간, 수신 시간, 전송 지속시간 등을 나타낼 수 있다.
데이터의 일부 또는 전체에 사용되는 압축은 무손실 또는 손실 압축일 수 있다.
사용될 수 있는 무손실 압축 유형의 예는, 엔트로피 유형, 예컨대, 산술(Arithmetic), 비대칭 숫자 시스템(Asymmetric numeral systems), 골롬(Golomb), 허프만(Huffman), 레인지(Range), 섀넌(Shannon), 섀넌-파노(Shannon-Fano), 섀넌-파노-엘리어스(Shannon-Fano-Elias), 턴스털(Tunstall), 단항(Unary), 유니버설 (Universal), 예컨대, 지수-골롬(Exp-Golomb), 피보나치(Fibonacci), 감마(Gamma), 레벤시테인(Levenshtein), 사전형(dictionary type), 예컨대, 바이트 쌍 인코딩(Byte pair encoding), 렘펠 지프(Lempel-Ziv), 또는 다른 유형, 예컨대, BWT, CTW, 델타, DMC, DPCM, LDCT, MTF, PAQ, PPM, RLE(run-length encoding, 예컨대, 고장인 비트에 대한 것임)를 포함한다.
사용될 수 있는 손실 압축 유형의 예는 변환 유형, 예컨대, 이산 코사인 변환, DST, FFT, 웨이블릿(Wavelet), 예측 유형, 예컨대, DPCM, LPC, 모션, 음향심리형(Psychoacoustic)을 포함한다.
또한 압축 방법들의 조합이 사용될 수 있다.
자동 테스트 장비의 바람직한 실시예에서, ATE는 예상 오류 분포와 매칭되도록 압축을 동적으로 조정할 수 있다.
수신된 데이터가 레지스터 값을 포함할 때, 레지스터 값이 잘못되면 짧은 오류 버스트를 초래하는 것이 효과적인 것으로 밝혀졌다. 이는 오류 버스트가 시작될 때의 바이트 오프셋을 갖는 헤더 및 하나의 레지스터 값으로 확장되는 오류의 단어에 의해 효과적으로 저장될 수 있다.
자동 테스트 장비의 바람직한 실시예에서, ATE는 수신된 데이터 스트림의 근접 거리 내에 고장일 가능성이 있는 수신 데이터를 유지할 수 있다.
예를 들어 직렬 USB 또는 다른 HSIO 기술을 통한 고속 통신에서, 관련 비트는 직렬 비트의 작은 영역 내에서 이들을 스트리밍하기 위해 예컨대, DFT에 의해 DUT에서 버퍼링될 수 있음이 밝혀졌다. HSIO가 USB인 경우 이는 USB-DFT에 의해 달성될 수 있다. 예를 들어, 여러 스캔 체인을 통해 수신되는 MISR의 값이 버퍼링될 수 있다. 여기서, MISR은 다중 입력 시그너처 레지스터(Multi-Input Signature Register)로서, 다중 입력 시프트 레지스터(Multi-Input Shift Register)로도 불리는데, 이는 본질적으로 선형 피드백 시프트 레지스터(Linear Feedback Shift Register: LFSR)이면서 배타적 논리합(XOR) 게이트가 하나 이상의 LFSR 플립 플롭 입력을 구동하도록 수정된 구조를 갖는 순차적 전자 회로이다.
이 레지스터가 고장나면, 많은 비트가 플립(flip)될 것이고, 따라서 고장인 비트의 버스트는 전체 수신 스트림 내에서 시작 시의 단일 오프셋 값으로 저장될 수 있다(위의 단락 참조). 마찬가지로, DFT는 개별 스캔 체인으로부터의 데이터를 버퍼링하고 버스팅(burst-out)할 수 있다. 또한, DFT는 여러 스캔 체인으로부터 나오는 단일 블록의 결과를 다른 블록의 결과와 별도로 버퍼링 및 버스팅할 수 있다.
자동 테스트 장비의 바람직한 실시예에서, 스트리밍 오류 검출 블록은 또한 고장 분석과 관련된 통계 정보를 저장한다.
통계 정보를 저장하면 발생할 수 있는 오류를 평가하는 데 도움이 되는 것으로 밝혀졌다. 이러한 통계 정보의 예는 가능하면 위에서 설명된 유형별로 총 고장 수를 카운트하고/하거나 첫 번째 고장 주기의 바이트 오프셋을 저장하는 것이다.
자동 테스트 장비의 바람직한 실시예에서, ATE는 또한 테스트 대상 디바이스가 커맨드 시퀀스를 중단시킨 것을 인지하거나 커맨드 시퀀스가 중단되었음을 인지한 것에 응답하여 커맨드 오류를 검출한다.
DUT는 예컨대 이상(abnormality)의 검출에 응답하여 이상의 존재를 표시하기 위해 커맨드 시퀀스를 의도적으로 중단시킬 수 있음이 밝혀졌다. 이러한 이상은 테스트에서 DUT뿐만 아니라 ATE에도 기초할 수 있다. 또한, ATE는 커맨드 시퀀스가 어떤 다른 이유, 예컨대, 일반적으로 모든 페이로드를 무효화하는 HSIO DFT의 고장으로 인해 중단되었음을 인지할 수 있다.
자동 테스트 장비의 바람직한 실시예에서, 예상 데이터는 대응하는 수신 데이터 비트가 커맨드인지 또는 페이로드 데이터인지를 나타내는 커맨드 예상 데이터 비트를 포함한다.
수신 데이터에서 예상 커맨드 시퀀스를 나타내는 예상 데이터는 수신 데이터에 대한 오류 및 처리 요건을 결정하는 데 도움이 될 수 있음이 밝혀졌다. 예상 데이터는 커맨드 플래그 데이터를 포함할 수 있다.
자동 테스트 장비의 바람직한 실시예에서, 예상 데이터는 수신된 데이터 중 어느 비트가 커맨드 비트일 것으로 예상되는지를 나타내는 마스크 데이터를 포함한다.
대안으로, 수신 데이터의 커맨드 시퀀스는 대응하는 예상 데이터에 포함될 수 있는 마스크 데이터를 사용하여 식별될 수 있음이 밝혀졌다.
자동 테스트 장비의 바람직한 실시예에서, ATE는 커맨드 오류의 검출에 응답하여 커맨드 오류 플래그를 설정한다.
플래그(여기서는 커맨드 오류 플래그)를 설정하거나 제기하면 커맨드 오류가 검출될 때 예상치 않은 프로세스 문제의 검출 속도가 빨라진다는 것이 밝혀졌다.
자동 테스트 장비의 바람직한 실시예에서, 메모리에 매핑 정보가 저장되고, 포트 처리 유닛은 또한 저장된 데이터의 오프셋을 직접 나타내는 오류 정보를 획득하기 위해 매핑 정보에 기초하여 데이터를 디스크램블(descramble)한다.
예컨대 테스트 결과를 디스크램블하는 데 사용된 정보인 매핑 정보는, 저장된 데이터의 오프셋을 직접 나타내는 오류 정보(예컨대, 오류 맵)를 획득하기 위해 데이터(예컨대, HSIO의 저레벨 페이로드 데이터)를 디스크램블하는 데 사용될 수 있음이 밝혀졌다. 이에 의해, 발생된 오류가 식별될 수 있고, 나중에 더 적은 노력으로 검색될 수 있다. 블록-IO와 관련된 일 예는 오류 정보가 스캔 체인에 대한 오프셋을 나타내는 것이다.
대안으로, 매핑 정보는 ATE의 메모리에 저장되지 않고 커맨드 예상 데이터에 포함된다.
자동 테스트 장비의 바람직한 실시예에서, 매핑 정보는 각 테스트 대상 디바이스마다 다를 수 있으며, 포트 처리 유닛은 또한 디스크램블 전에 페이로드 유형을 검출한다.
매핑 정보는 예컨대 테스트 대상 디바이스에 따라 다를 수 있는데, 즉, 오류 정보를 획득하기 위한 대응하는 매핑 정보가 DUT에 적용되면, 결과 데이터의 매핑 및 디스크램블은 다양한 DUT(예컨대, 다양한 SOC-블록)에 대해 최적화될 수 있음이 밝혀졌다. 또한, 커맨드의 블록 인덱스에 저장될 수 있지만 디스크램블 전에 추가 정보없이 ATE에 의해 또한 결정될 수 있는 페이로드 유형을 ATE(즉, PPU)가 검출하면 유용한데, 이는 결과적인 에러 정보(즉, 오류 맵)가 페이로드 유형에 따라 획득될 수 있고 따라서 이와 관련하여 예컨대 페이로드의 각 비트가 스캔 체인에 매핑되는 방식이 최적화될 수 있고 이것이 아마도 긴 페이로드 버스트 동안 반복될 수 있기 때문이다.
자동 테스트 장비의 바람직한 실시예에서, 포트 처리 유닛은 또한 페이로드 유형을 검출하기 전에 커맨드 데이터를 폐기한다.
페이로드의 유형을 검출하기 전에 커맨드 데이터인 것으로 식별된 데이터를 폐기하면 디스크램블의 처리 속도가 빨라질 수 있음이 밝혀졌다. 커맨드 데이터는 또한 일부 커맨드 데이터(예컨대, 데이터의 전반부 또는 특정 유형의 커맨드 데이터)를 폐기하고 일부 커맨드 데이터를 유지함으로써 선택적으로 폐기될 수 있다.
실시예는, 하나 이상의 테스트 대상 디바이스의 자동 테스트를 위한 방법으로서, 포트 처리 유닛을 테스트 대상 디바이스 중 하나 이상과 접속시키는 고속 입출력(high-speed-input-output: HSIO) 인터페이스를 통해 데이터를 수신하는 단계와, 접속된 테스트 대상 디바이스로부터 수신된 데이터를 메모리에 저장하는 단계와, 메모리에 저장된 수신된 데이터에서 커맨드 오류를 검출하는 단계와, 커맨드 오류의 검출에 응답하여, 수신된 데이터에서 오류가 있는 것으로 검출된 커맨드 이후에 후속하는 데이터의 메모리에의 저장을 제한하는 단계를 포함하는 방법을 포함한다.
이 방법은 전술된 자동 테스트 장비와 동일한 고려사항에 기초한다. 그러나, 이 방법은 자동 테스트 장비와 관련하여 본 명세서에 설명된 모든 특징, 기능 및 세부사항에 의해 보완될 수 있음에 유의해야 한다. 또한, 이 방법은 자동 테스트 장비의 특징, 기능 및 세부사항을 개별적으로 또는 조합하여 취함으로써 보완될수 있다.
본 발명에 따른 실시예는 컴퓨터 프로그램이 컴퓨터 상에서 실행될 때 본 명세서에 설명된 방법을 수행하기 위한 컴퓨터 프로그램을 생성한다.
본 발명에 따른 실시예는 첨부된 도면을 참조하여 설명될 것이다.
도 1은 본 발명의 실시예에 따른 자동 테스트 장비의 개략적 블록도를 도시한다.
도 2는 테스트 대상 디바이스가 고장 났음을 나타내는 데이터 구조의 개략적 블록도를 도시한다.
도 3은 커맨드 플래그에 관한 데이터 흐름 및 데이터 구조의 개략적 블록도를 도시한다.
도 4는 데이터 흐름을 포함하는 본 발명의 다른 실시예에 따른 예시적 자동 테스트 장비의 개략적 블록도를 도시한다.
도면에서 유사한 참조 기호는 유사한 요소 및 특징을 나타낸다.
도 1은 본 발명의 실시예에 따른 자동 테스트 장비(100)의 개략적 블록도를 도시한다. 자동 테스트 장비(automated test equipment: ATE)는 하나 이상의 테스트 대상 디바이스(devices under test: DUT)(130)를 테스트하기 위한 것이다. 자동 테스트 장비(100)는, 하나 이상의 테스트 대상 디바이스(130)와 접속되는 고속 입출력(high-speed-input-output: HSIO) 인터페이스(120) 및 메모리(140)를 포함하는 적어도 하나의 포트 처리 유닛(port processing unit: PPU)(110)을 포함한다. 대안으로, PPU(100)는 하나 이상의 HSIO 인터페이스(120)를 포함하여, PPU에 접속되는 각 테스트 대상 디바이스(130)가 전용 HSIO 인터페이스(120)를 통해 결합되게 한다.
DUT는, 예컨대, 테스트 데이터를 DUT에 제공하고 그로부터의 테스트 결과를 다양한 방식으로 수신함으로써 테스트된다. PPU는 ATE 내부의 엔티티 또는 ATE의 외부, 예컨대, 데이터 저장소(도시되지 않음)로부터 이 테스트 데이터를 수신할 수 있다. 그러면 PPU는 수신된 데이터를 메모리에 저장하고, 하나 이상의 HSIO 인터페이스를 통해 DUT에 데이터를 제공할 수 있다.
테스트 대상 디바이스를 테스트하려면 ATE와 DUT 간의 양방향 데이터 전송이 필요하다. 이러한 전송 중 일부는 HSIO를 통해 전송된다.
포트 처리 유닛(110)은 하나 이상의 DUT(130)로부터 수신된 데이터에서 커맨드 오류를 검출하기 위한 스트리밍 오류 검출 블록(150)을 더 포함한다.
수신된 데이터는 커맨드 시퀀스 및 페이로드를 포함한다. DUT로부터 수신된 데이터는 DUT(130) 상에서의 테스트의 결과인 결과 데이터를 포함한다. 스트리밍 오류 검출 블록이 수신된 결과 데이터의 커맨드 시퀀스에서 오류를 검출하면, 한가지 가능성은 테스트에 결함이 있어 결과 데이터의 저장이 유용하지 않을 수 있다는 것이다. 따라서, PPU는 메모리 공간을 절약하기 위해 오류가 있는 커맨드 시퀀스를 갖는 결과 데이터의 저장을 제한할 수 있다.
더 나아가, PPU는 또한, 추가 처리로부터 제외되는 예컨대 고장 분석용으로 남겨지는 제한된 데이터를 저장할 수 있는데, 추가 처리는, 예컨대, 테스트 대상 디바이스가 테스트를 통과했는지 여부를 결정할 수 있도록 수신된 데이터를 예상 데이터와 비교하는 것과 같은, 어떠한 오류도 포함하지 않는 데이터에 대해 실행되는 절차 단계를 지칭한다.
오류가 있는 커맨드에 의해 동반되는 데이터와 같은 특정 데이터의 경우, 이러한 비교는 어떠한 의미있는 결과도 생성하지 않으므로 오류가 있는 커맨드 이후에 (제한적이긴 하지만) 저장되는 데이터를 제외하는 것은 PPU의 전반적인 성능과 그에 따른 ATE의 성능에 도움이 될 수 있다.
오류가 있는 커맨드 이후에 저장될 데이터의 제한, 즉, 저장될 데이터의 양을 나타내는 것은, 고정 값, 변수 값 또는 동적 값으로 정의될 수 있다. 모든 오류에 대해 동일한 양의 데이터를 저장함으로써 나중의 분석을 위해 저장될 결함있는 커맨드 이후에 데이터의 고정된 양을 정의하는 것이 유용할 수 있다. 한편, 양은 변수 값으로 정의될 수도 있는데, 이는 오류가 있는 커맨드가 발생할 때마다 특정 파라미터에 따라 오류가 있는 커맨드 이후에 상이한 양의 데이터를 저장하는 것으로 정의될 수 있다. 이러한 파라미터의 예는, 예컨대, 오류 유형, 즉, 로직 오류(커맨드가 데이터에서 비허용 위치에 있음), 전송 오류(수신된 커맨드는 잘못 전송된 것임), 데이터 불일치(페이로드가 커맨드과 매칭되지 않음), 체크섬 오류(커맨드 및/또는 페이로드가 정확하지 않은 전송된 체크섬(또는 다른 무결성 검사)을 가짐), 또는 임의의 다른 일반적으로 알려진 오류 유형일 수 있다. 이러한 파라미터의 또 다른 예는 테스트 대상 디바이스의 유형 및/또는 ATE의 유형이다. 다른 파라미터는, 온도, 사용 통계, 메모리 상태, 가용 메모리, 가용 CPU 등과 같은, 관련 디바이스와 직접 관련된 것일 수 있다. 다른 파라미터는 페이로드(커맨드 뒤에 페이로드가 이어지는지 여부도 마찬가지임), 현재 시간, 전송 시간, 수신 시간, 전송 지속시간 등을 지칭할 수 있다. 동적 값이 사용될 수도 있는데, 이는 위와 같은 파라미터에 기초하여 시간에 따라 변경될 수 있다.
위에서 언급한 바와 같이, 스트리밍 오류 검출 블록은 또한, 수신된 데이터를 미리 로딩된 예상 데이터와 비교하여 테스트 대상 디바이스(DUT)의 올바른 기능을 확인할 수 있다. 이를 위해, 소위 예상 데이터가 준비되고 ATE에 미리 로딩될 수 있다. 그런 다음, 수신된 데이터는 예상 데이터와 비교되고, 따라서 디바이스의 올바른 기능이 판정될 수 있다. 수신된 데이터는 스캔 체인으로부터의 데이터, 커맨드 및/또는 페이로드 데이터를 지칭할 수 있다.
스트리밍 오류 검출 블록은 또한 수신된 데이터에서 페이로드 데이터 오류를 검출할 수 있으며, 수신된 데이터에서의 오류의 검출에 응답하여 데이터를 메모리에 선택적으로 저장한다. 다시 말하자면, 결함있는 데이터(예컨대, 여기서는 페이로드 데이터)를 저장하는 것은 쓸모가 없을 수 있기 때문에, 페이로드의 오류는 검출될 수 있고 메모리 공간을 절약하기 위해 그 저장은 방지될 수 있다. 따라서 올바른 커맨드의 경우에도 페이로드가 오류를 포함하면 메모리 사용은 감소될 수 있다. 선택적으로, 오류 및/또는 페이로드 또는 다른 파라미터에 따라 데이터가 전혀 저장되지 않는 것을 의미할 수도 있다.
예상 데이터는 또한 마스크 데이터, 즉, 수신된 데이터의 어느 비트가 특정 용도와 관련되는지 및/또는 수신된 데이터의 어느 비트가 특정 용도와 관련이 없는지를 정의하는 데이터를 포함할 수 있다. 마스크 데이터를 사용하면, ATE는 데이터를 보다 지능적으로 처리할 수 있게 된다. 예를 들어, 예상 데이터는 마스크 데이터를 포함할 수 있는데, 이는 특정 테스트 절차에서 수신된 데이터가 3개의 데이터 블록, 즉, 관련 테스트를 나타내는 커맨드, DUT에 의해 생성된 결과 데이터, 및 그 결과를 생성하기 위해 DUT에 의해 사용된 시드 데이터를 포함할 것임을 나타낸다. ATE가 DUT에 시드를 제공했기 때문에, 테스트에 따라 시드의 저장은 불필요할 수 있다. 결과 데이터를 선택적으로 저장함으로써, 추가 메모리 공간이 절약될 수 있다.
수신된 데이터는 결정적 바이트 스트림으로서 또는 비결정적 방식으로 수신될 수 있다. 수신된 데이터가 결정적 스트림으로 수신되면, 수신된 데이터와 미리 로딩된 예상 데이터는 미리 로딩된 예상 데이터의 순서로 비교된다. 대안으로, 수신된 데이터는 연관된 어드레스 정보를 갖는 데이터로서 수신될 수 있다. 이러한 어드레스 정보는 직접 메모리 액세스(direct memory access: DMA)에 의해 어드레스 지정되는 데이터를 나타낼 수 있다. 이 경우, 수신된 데이터는 어드레스 정보에 대응하는 메모리 어드레스에 있는 예상 데이터와 비교되는데, 메모리 어드레스는 예상 데이터를 저장하는 메모리의 어드레스이다. 수신 데이터가 미리 결정된 순서의 데이터 스트림, 소위 결정적 데이터 스트림으로서 ATE에 제공되면, 예상 데이터는 연속적으로 처리될 수 있다.
수신된 데이터가 예를 들어 직접 메모리 액세스(DMA) 어드레스 지정과 같은 메모리 어드레스에 의해 비결정적 방식으로 제공되면, 수신 데이터는 어드레스 정보에 의해 표시된 메모리 어드레스에 있는 대응하는 데이터에 액세스함으로써 예상 데이터와 비교되는데, 어드레스 정보는 수신 데이터에 의해 제공될 수 있지만 예상 데이터에 의해 제공되거나 미리 결정될 수도 있다.
예상 데이터는 또한 예컨대 하나 이상의 접속된 디바이스와 연관된 디바이스별 선입 선출(FIFO) 메모리 또는 관리 캐시에 미리 로딩될 수 있다. 이에 따라, 예상 데이터는 수신된 데이터와의 더 빠른 비교를 위해 준비 상태로 유지될 수 있다. 이것은 수신된 데이터가 특정 순서를 가질을 것으로 예상되는 경우에 특히 유용한데, 가장 먼저 미리 로딩된 선입 데이터는 또한 가장 먼저 비교될 것이고 따라서 FIFO에서 가장 먼저 폐기(즉, 선출)될 수 있다. 이런 사용을 위해 예상 데이터의 일부(소위, 예상 데이터 창)만이 미리 로딩될 수 있다.
대안으로, 둘 이상의 DUT와 연관될 수 있는 관리 캐시가 사용되어 예상 데이터 또는 예상 데이터 창을 미리 로딩한 다음, 둘 이상의 DUT로부터 수신된 데이터와 비교할 수 있다. 따라서, 예상 데이터는 모든 디바이스에 대해 반복적으로 로딩되거나 미리 로딩될 필요는 없다.
예상 데이터는 데이지 체인 형태로 또한 서로 접속될 수 있는 PPU(110)에 접속된 데이터 저장소(도시되지 않음)로부터 로딩될 수 있다. 데이터 저장소는 공유 메모리 풀이거나 이를 포함할 수 있다. 그런 다음, PPU(110)는 데이터 저장소로부터 직접 데이터를 수신할 수 있다. 데이터 저장소는 ATE(100)의 내부 요소일 수 있지만 ATE(100) 외부의 관련 요소일 수도 있다. PPU는 공유될 수 있는 데이터를 데이터 저장소 및/또는 공유 메모리 풀로부터 각각 수신한다.
데이터는 포트 처리 유닛 간에 공유될 수 있는데, 이는 복수의 포트 처리 유닛 간에 공유되는 데이터가 데이터 저장소로부터 PPU에 의해 수신될 수 있음을 의미한다.
데이터 저장소는 공유 데이터를 포트 처리 유닛(110) 중 하나 이상으로 스트리밍할 수 있고, 데이터 저장소는 디바이스별(즉, DUT별) 결과 데이터, 예컨대, 결과 또는 결과 스트림을 복수의 메모리 영역에 저장할 수 있다. 특히, 이러한 메모리 영역은 기능적으로 및/또는 기술적으로 상이할 수 있다. 이에 따라, PPU는 결과를 데이터 저장소에 제공하고, DUT별 결과 데이터의 데이터 속도는 서로 다를 수 있으므로(예컨대, 다른 결과 또는 결과 스트림의 데이터 속도보다 적어도 10배 더 작을 수 있음), 특정 특성에 따라 상이한 메모리 영역에 결과를 저장하는 것이 유리할 수 있다. 또한, 결과를 저장하는 데 필요한 볼륨 및 대역폭은 공유 자극 데이터에 대한 것보다 훨씬 더 작으므로, 이들은 또한 상이한 메모리 영역에 저장될 수 있다.
포트 처리 유닛(PPU)(110)은 또한, 공유 메모리 풀로부터 적어도 하나의 다른 포트 처리 유닛으로 공유 데이터를 전달할 수 있다. PPU가 서로 접속되거나 적어도 하나의 다른 PPU와 접속되는 실시예에서, PPU는 다른 PPU 또는 적어도 하나의 다른 PPU에 데이터를 전달할 수 있다. 이에 의해, PPU로부터 데이터 저장소로의 메모리 액세스, 즉, 판독 및 기록이 감소된다.
마찬가지로, PPU(110)는 공유 메모리 풀로부터의 공유 데이터를 적어도 하나의 다른 포트 처리 유닛으로부터 수신할 수 있다. PPU가 서로 접속되거나 적어도 하나의 다른 PPU와 접속되는 실시예에서, PPU는 다른 PPU들 또는 적어도 하나의 다른 PPU로부터 데이터를 수신할 수 있다. 이에 의해, PPU로부터 데이터 저장소(150)로의 메모리 액세스, 즉, 판독 및 기록이 역시 감소된다.
위에서 설명된 PPU 접속의 특정 형태는 데이지 체인으로, 여기서 각 PPU는 두 개의 다른 PPU에 접속되어 PPU의 연속체가 달성되고, 첫 번째 PPU는 데이터 저장소에 접속된다.
메쉬, 스타, 완전 접속, 라인, 트리, 버스와 같은 다른 토폴로지도 가능하다. 첫 번째와 마지막 PPU도 서로 접속되어 링이 형성될 수 있지만, 이들이 서로 접속되지 않아 일련의 PPU가 형성되는 것(진정한 데이지 체인)도 가능하다. 각 PPU가 데이터 저장소와 접속되는 것도 가능하다.
대안으로, 데이터 저장소와 PPU 사이에 메모리 허브(도시되지 않음)가 포함될 수 있다. 데이터 저장소는 공유 데이터를 메모리 허브로 스트리밍할 수 있는데, 공유 데이터는 메모리 허브로부터 PPU(110)로 전송될 수 있다. 메모리 허브는 ATE(100)의 전반적 효율성을 향상시킬 수 있다.
PPU(110)는 메모리 허브로부터 공유 데이터를 수신할 수 있다. 메모리 허브가 하나 이상의 PPU(110)에 공유 데이터를 제공하는 경우, 이는 또한 중앙 메모리 허브로 간주될 수 있다. 위에서 설명한 바와 같이, 다른 토폴로지도 가능하다.
또한, FIFO 또는 관리 캐시 메모리는 사용, 예컨대, 연관된 접속된 DUT로부터 수신된 데이터와의 비교를 추적할 수 있고, 사용되었거나(즉, 비교되었거나) 다른 이유로 더 이상 보유할 필요가 없는 데이터를 폐기할 수 있다.
ATE는 데이터 사용 추적에 기초하여 특정 테스트 대상 디바이스가 데이터 스트림을 따르지 않는다는 것을 발견한 것에 응답하여 특정 테스트 대상 디바이스를 고장인 것으로 인식할 수 있다. 즉, 특정 테스트 대상 디바이스가 데이터를 너무 느리게 제공하여, 특정 테스트 대상 디바이스와 연관된 관리 캐시 내의 예상 데이터가 다른 테스트 대상 디바이스와 연관된 대응하는 예상 데이터보다 훨씬 더 길게 미사용 상태로 유지되는 경우, DUT는 고장인 것으로 인식될 수 있다.
관리 캐시의 경우, 대응하는 보유된 예상 데이터가 단순히 여러 DUT 중 하나에 대한 메모리에 유지되면 효율성은 악영향을 받을 수 있으며, 특정 예상 데이터가 보유되는 DUT를 고장인 것으로 간주함으로써 예상 데이터는 관리 캐시에서 폐기될 수 있고 전반적인 효율성은 향상될 수 있다. 또한, 수신된 데이터가 특정 데이터 스트림 또는 패턴을 따를 것으로 예상되고 DUT가 수신된 데이터를 해당 데이터 스트림 또는 패턴으로 전달하지 않으면, DUT는 고장인 것으로 간주될 수 있다.
이것은 또한 도 2에 도시된다. 여기에서, 데이터 요소 dx 내지 dx +7은 위에서 설명된 바와 같이 데이터 저장소 또는 메모리 허브에 저장되는 예상 데이터이다. 대응하는 3개의 요소가 PPU의 메모리(140)에 미리 로딩되었고, 비교를 위해 사용 가능하게 유지된다.
각각의 시점(tn, tn+1, tn+2, 및 tn+3)에서 이들은 각각, (dx +1, dx +2, 및 dx +3), (dx+2, dx +3, 및 dx +4), (dx +3, dx +4, 및 dx +5), 및 (dx +4, dx +5, 및 dx + 6)이다.
t = tn에서 PPU(110)는 비교를 위해 로컬 메모리(140)에서 사용 가능한 dx +1, dx+2, 및 dx + 3를 갖는다. PPU(110)는 DUT들(130) 중 2개인 DUTA 및 DUTB로부터 dx +3을 또한 수신한다.
그런 다음, dx +1이 메모리로부터 폐기되고 dx +4가 메모리(140)의 현재 사용 가능한 메모리 공간에 로딩된다. 이제 PPU(110)는 메모리(140)에 dx +2, dx +3, 및 dx +4를 갖는다. t = tn+1에서, DUTB는 dx +4를 전송하지만 DUTA는 여전히 dx +3을 전송하고 있다.
그런 다음, dx +2는 메모리로부터 폐기되고 dx +5가 메모리(140)의 현재 사용 가능한 메모리 공간에 로딩된다. 이제 PPU(110)는 메모리(140)에 dx +3, dx +4, 및 dx +5를 갖는다. t = tn+2에서, DUTB는 dx +5를 전송하지만 DUTA는 여전히 dx +3을 전송하고 있다.
그런 다음, dx +3이 메모리에서 폐기되고 dx +6이 메모리(140)의 현재 사용 가능한 메모리 공간에 로딩된다. 이제 PPU(110)는 메모리(140)에 dx +4, dx +5, 및 dx +6을 갖는다. t = tn+3에서, DUTB는 dx +6을 전송하지만 DUTA는 여전히 dx +3을 전송하고 있다. dx +3을 다시 로딩하지 않으면 DUTA의 전송은 더 이상 비교될 수 없기 때문에, 둘 이상의 디바이스일 수 있는 DUTB의 진행이 지연되지 않도록 DUTA는 고장인 것으로 간주될 수 있다.
발명의 내용에서 자세히 설명한 바와 같이, 데이터는 압축된 표현으로 저장될 수도 있다. 물론, 이것은 모든 메모리 및 모든 데이터를 의미한다. 그리고 압축은 동적으로 조정될 수 있다. 예를 들어, 예상 오류 분포와 매칭되도록 조정될 수 있다.
ATE는 또한 전술된 바와 같이 수신된 데이터 스트림의 근접 거리 내에 고장일 가능성이 있는 수신된 데이터를 유지할 수 있다.
스트리밍 오류 검출 블록은 고장 분석과 관련된 통계 정보를 추가로 저장할 수 있다.
ATE는 테스트 대상 디바이스가 커맨드 시퀀스를 중단시킨 것을 인지한 것에 응답하여 커맨드 오류를 추가로 검출할 수 있는데, 이는 예컨대 이상(abnormality)의 검출에 응답하여 이상의 존재를 표시하기 위해 DUT가 의도적으로 행할 수 있다. 이러한 이상은 테스트에서 DUT뿐만 아니라 ATE에도 기초할 수 있다.
또한, ATE는 커맨드 시퀀스가 어떤 다른 이유, 예컨대, 일반적으로 모든 페이로드를 무효화하는 HSIO DFT의 고장으로 인해 중단되었음을 인지할 수 있다.
예상 데이터는 대응하는 수신 데이터 비트가 커맨드인지 페이로드 데이터인지를 나타내는 커맨드 예상 데이터 비트를 포함할 수 있어서, 수신 데이터에 대한 오류 및 처리 요건의 결정을 용이하게 할 수 있다. 예상 데이터는 예컨대 커맨드 플래그 데이터를 포함할 수 있다. 또한, 예상 데이터는 수신된 데이터 중 어느 비트가 커맨드 비트일 것으로 예상되는지를 나타내는 마스크 데이터를 포함할 수 있다. 마스크가 커맨드 플래그 메모리(380)에 표시되는 이러한 커맨드 플래그 구조는 도 3에 도시되어 있는데, 여기서 이것은 개별 메모리로 표시되지만, 위에서 논의된 바와 같이 이는 예상 응답 메모리(350)(예컨대, 데이터 저장소(350)이거나 이것으로 구성될 수 있음)에 저장되는 예상 데이터의 일부일 수도 있다. 예를 들어 DUT(330)로부터 출력된 데이터와 매칭되는 커맨드 플래그 메모리에서, 값 1은 출력 데이터의 대응하는 비트가 커맨드의 일부임을 나타낸다. 값 0은 출력 데이터의 해당 비트가 커맨드의 일부가 아니며 따라서 예컨대 페이로드임을 나타낸다. 특정 경우에, 값 1은 단순히 페이로드가 아닌 데이터를 나타내는 데 사용될 수 있으므로, 아이들(IDLE) 커맨드에 사용된 블록은 커맨드 플래그 메모리에 커맨드 자체(즉, 처음 4 비트) 및 커맨드도 페이로드도 아닌 후속 8 비트에 대한 값 1의 대응하는 비트를 갖는다.
또한, ATE는 커맨드 오류 검출에 응답하여 커맨드 오류 플래그를 설정할 수 있으므로, 예상치 않은 프로세스 문제의 검출 속도가 빨라진다.
ATE(100)에서는 예컨대 메모리(140)에 매핑 정보가 추가로 저장될 수 있다. 포트 처리 유닛(110)은 저장된 데이터의 오프셋을 직접 나타내는 오류 정보를 획득하기 위해 매핑 정보에 기초하여 데이터를 디스크램블(descramble)할 수 있다. 이 매핑 정보는 테스트 결과를 디스크램블하는 데 사용되는 정보가 될 수 있는데, 즉, 하나 이상의 테스트 결과 데이터로 간주되는 DUT에서 반환된 데이터는 디스크램블될 수 있다. 데이터의 예는 예컨대 HSIO의 저레벨 페이로드 데이터이다. 디스크램블에 의해, 저장된 데이터의 오프셋을 직접 나타내는 오류 정보(예컨대, 오류 맵)가 획득될 수 있다. 이에 의해, 발생된 오류가 식별될 수 있고, 나중에 더 적은 노력으로 검색될 수 있다. 블록-IO와 관련된 일 예는 오류 정보가 스캔 체인에 대한 오프셋을 나타내는 것이다.
그러나, 매핑 정보는 메모리(140)에 직접 저장될 필요는 없고, 커맨드 예상 데이터의 일부일 수 있다. 또한, 매핑 정보는 테스트 대상 디바이스(130)마다 다를 수 있으며, 포트 처리 유닛(110)은 정확한 매핑 정보를 사용하기 위해 디스크램블 이전에 페이로드 유형을 검출한다.
매핑 정보는 다양한 이유로 테스트 대상 디바이스에 따라 다를 수 있다. 예를 들어, 오류 정보를 획득하기 위한 대응하는 매핑 정보가 DUT에 적용되면, 결과 데이터의 매핑 및 디스크램블은 다양한 DUT(예컨대, 다양한 SOC-블록)에 대해 최적화될 수 있다. 또한, 커맨드의 블록 인덱스에 저장될 수 있지만 디스크램블 전에 추가 정보없이 ATE에 의해 또한 결정될 수 있는 페이로드 유형을 ATE(즉, PPU)가 검출하면 유용한데, 이는 결과적인 에러 정보(즉, 오류 맵)가 페이로드 유형에 따라 획득되고 따라서 이와 관련하여 예컨대 페이로드의 각 비트가 스캔 체인에 매핑되는 방식이 최적화될 수 있고 이것이 아마도 긴 페이로드 버스트 동안 반복될 수 있기 때문이다.
PPU(110)는 또한 페이로드 유형을 검출하기 전에 커맨드 데이터를 폐기할 수 있는데, 예를 들어 페이로드만 추가로 처리되어야 한다고 결정되거나 미리 설정되어 있는 경우, 페이로드의 유형을 검출하기 전에 커맨드 데이터로 식별된 데이터를 폐기하면 디스크램블의 처리 속도를 높일 수 있다. 커맨드 데이터는 또한 일부 커맨드 데이터(예컨대, 데이터의 전반부 또는 특정 유형의 커맨드 데이터)를 폐기하고 일부 커맨드 데이터를 유지함으로써 선택적으로 폐기될 수 있다.
옵션으로, ATE(100)는 본 명세서에 설명된 특징, 기능 및 세부사항 중 임의의 것을 개별적으로 그리고 조합하여 취함으로써 보완될 수 있음에 유의한다.
일 실시예는 하나 이상의 테스트 대상 디바이스의 자동 테스트 방법을 포함하는데, 이 방법은 포트 처리 유닛을 테스트 대상 디바이스들 중 적어도 하나와 접속시키는 고속 입출력(high-speed-input-output: HSIO) 인터페이스를 통해 데이터를 수신하는 단계와, 접속된 테스트 대상 디바이스로부터 수신된 데이터를 메모리에 저장하는 단계와, 메모리에 저장된 수신된 데이터에서 커맨드 오류를 검출하는 단계와, 커맨드 오류의 검출에 응답하여, 수신된 데이터에서 오류가 있는 것으로 검출된 커맨드 이후에 후속하는 데이터의 메모리에의 저장을 제한하는 단계를 포함한다.
이 방법은 위에서 설명된 자동 테스트 장비와 동일한 고려사항에 기초한다. 그러나, 이 방법은 자동 테스트 장비와 관련하여 본 명세서에 설명된 모든 특징, 기능 및 세부사항 중 임의의 것에 의해 보완될 수 있음에 유의해야 한다. 또한, 이 방법은 자동 테스트 장비의 특징, 기능 및 세부사항을 개별적으로 그리고 조합하여 취함으로써 보완될 수 있다.
본 발명에 따른 실시예는 컴퓨터 프로그램이 컴퓨터 상에서 실행될 때 본 명세서에 설명된 방법을 수행하는 컴퓨터 프로그램을 생성한다.
세부사항 및 실시예
이하에서는, 본 발명의 기초가 되는 몇 가지 고려사항이 논의되고 몇 가지 솔루션이 설명될 것이다. 특히, 본 명세서에 개시된 임의의 실시예에 옵션으로 도입될 수 있는 다수의 세부사항이 개시될 것이다.
동기
구조 테스트는 SOC[System on a Chip] 내에서 디지털 블록의 복잡한 기능을 구현하는 개별 구조("셀")의 체계적 테스트 범위(coverage)를 가능하게 한다. 구조 테스트는 메모리 BIST, 로직 BIST(칩 상에서 생성된 패턴) 및 스캔 테스트(외부에서 제공된 패턴)를 포함하되 이에 국한되지 않는 다양한 테스트 방법을 포함한다. 개별 테스트는 테스트 블록으로 결합되는데, 예컨대, 스캔 테스트는 블록에 계층적으로 적용된다(직렬로 또는 병렬로).
고급 구조 테스트 방법론은 외부에서 제공된 테스트 데이터(ATE[Automated Test Equipment]로부터의 자극)와 외부에서 제공된 테스트 데이터(시드)를 스캔 체인으로 확장하는 온 칩 DFT[device for testing]의 조합을 적용한다. 테스트 결과는, ATE가 예상 데이터(수신 데이터를 마스킹하는 기능 포함함)와 비교하는 SOC의 기본 IO에 제공되는 감축된 양의 테스트 데이터(수신 데이터)로 압축된다.
제안된 솔루션의 적용을 제한하지 않으면서 이하에서는 전술된 구조 테스트의 일반적인 표현으로서 스캔 테스트를 언급한다.
그러나, 새로운 제조 공정에 의해 SOC의 복잡성이 증가함에 따라 비용 효율적으로 스캔 테스트를 확장하는 데 어려움이 존재한다.
ㆍ ATE에 저장되어야 하는 테스트 데이터의 양이 증가됨.
ㆍ SOC IO를 통해 테스트 데이터를 공급하기 위한 테스트 시간이 증가됨.
ㆍ 테스트 데이터를 테스트 대상 블록에 분배하고 필요한 클록 신호를 생성하는 것을 어렵게 하는 온 칩 복잡성이 증가됨.
또한, 복잡한 SOC의 품질 및 신뢰성 기대는 SOC가 최종 애플리케이션(예컨대, 자동차 또는 통신 인프라스트럭처 시스템)에 배포될 때 구조 테스트를 요구한다.
이러한 문제에 대한 몇 가지 가능한 솔루션은 다음을 포함한다:
ㆍ 기능적 고속 I/O 인터페이스(예컨대, USB 또는 PCIe)를 통한 테스트 데이터 전달. 이는 다음을 초래한다:
o 증가된 데이터 전송률을 가능하게 함.
o 최종 애플리케이션에서 구조 테스트를 가능하게 함.
o ATE 및 DUT[Device under testing]에서 타이밍의 분리를 요구함(HSIO 데이터 통신의 경우 일반적임). 임의의 정확한 타이밍 동기화는 DUT와 ATE 또는 다른 보조 장비(예컨대, 오실로스코프) 간의 타이밍-민감 신호(timing-sensitive signals)를 요구할 것이다.
ㆍ 고급 온 칩 테스트 데이터 처리, 테스트 스케줄링 및 테스트 대상 블록과의 테스트 데이터 통신.
o 전형적인 요소가 제안됨:
ATE와 HSIO-DFT 간의 통신 프로토콜(예컨대, 1149.10).
테스트 애플리케이션을 관리하는 로컬 DFT에 의해 테스트 데이터를 유연하게 라우팅하기 위해 네트워크 온 칩(NOC)을 사용함.
여러 블록에 대해 직렬 또는 병렬로 유연한 테스트 스케줄링.
o 이는 다음과 같은 결과를 초래한다:
DUT로 및 그로부터의 테스트 데이터 전송을 효과적으로 스케줄링하기 위해 복잡한 상호작용을 요구함.
새로운 제어 레벨을 제공하는 테스트 포트를 통해 전송되는 더 높은 레벨의 통신(의미론)을 가능하게 함, 예컨대,
ㆍ 의사 결정 및 산출 학습(yield learning)을 용이하게 하는 전처리된 결과를 제공하는 DFT.
ㆍ ATE 전력을 제어하는 DFT.
양상 1: 다중 사이트 데이터 공유, 데이터 스트리밍, 데이터 처리를 위한 솔루션
문제점: 증가하는 테스트 데이터 볼륨은 병렬로 테스트되는 다수의 사이트에서 테스트 데이터를 공유할 것을 요구한다:
ㆍ 다양한 유형의 데이터는 공유될 수 있으며, 공유 데이터 저장소로부터 DUT 인터페이스("포트") 또는 사이트별 처리 유닛으로 스트리밍되어야 한다. 공유될 수 있는 데이터는 다음을 포함하지만 이에 국한되지는 않는다:
o 드라이브 데이터(자극),
o 예상 데이터(예상 데이터와 함께 또는 별도의 메모리 영역에 저장된 마스크 데이터를 포함함),
o 결과를 후처리하는 데 필요한 보조 데이터
ㆍ 데이터 흐름은 결과적인 사이트별 테스트 데이터 전송에 대한 영향을 최소화하는 HSIO 데이터 속도를 따라가야 한다.
ㆍ 이상적으로, 데이터 저장소는 ATE의 포트 처리 유닛에 인터페이스하는 모든 사이트에서 공유될 수 있다. 그러나, 이것은 매우 복잡하고 비싼 데이터 인터페이스를 초래할 것이다. 테스트 실행에 영향을 주지 않으면서 공유를 최대화하는 적절한 아키텍처를 찾아야 한다.
ㆍ 사이트별 데이터는 공유될 수 없다. 이는 다음을 포함한다:
o DUT로부터의 수신 데이터
o 수신 데이터와 예상 데이터를 비교한 후에 저장된 결과
o 사이트별 테스트 조건: 예컨대, 실제 테스트 데이터 전송에 대한 프리앰블로서 DUT에 전달되는 DUT별 온 칩 설정.
솔루션:
도 4는 예시적 데이터 흐름을 도시한다. 그러나, 이는 단일 사이트만을 나타내며, 데이터 저장소를 하나 이상의 포트 처리 유닛(PPU)과 구별하지 않는다.
솔루션 컴포넌트:
1. 데이터 저장소:
o 대규모 공유 메모리 풀을 구현하는 ATE 하드웨어의 메모리 서브시스템
o 일반적으로 가장 빠른 상용 RAM으로 구현됨.
o 공유 데이터를 포트 처리 유닛으로 스트리밍하는 데 사용됨. 대역폭 사용을 최소화하기 위해, 다중 사이트 테스트 실행을 위해 공유되는 데이터는 바람직하게는 PPU 또는 메모리 허브에 의해 한 번만 판독된다.
o DUT별 결과 스트림을 제어된 메모리 영역에 저장하는 데 사용됨. 결과를 저장하는 데 필요한 볼륨 및 대역폭은 바람직하게는 공유된 자극 데이터보다 훨씬 작다.
o ATE 카드 상에 하나 이상의 데이터 저장소가 존재할 수 있다. 각 데이터 저장소는 데이터 흐름 아키텍처의 복제를 요구한다.
2. PPU-포트 처리 유닛:
o 하나 또는 다수의 DUT와 인터페이스한다.
o DUT 용 HSIO, 디버그 및 제어 포트를 구현한다.
o 데이터 저장소로부터 직접 또는 다른 PPU(데이지 체인) 또는 중앙 메모리 허브로부터 전달된 데이터를 수신한다.
o 이것은 버퍼링(FIF0) 및 캐시를 사용하여 데이터 소스에 대한 판독 액세스를 최소화한다.
o 이것은 고장인 각각의 느린 사이트를 훌륭하게 처리한다: 예컨대, 사용자는 수신 뒤에 이 숫자보다 더 많이 떨어지면 디바이스가 고장 상태임을 나타내는 최대 처리 격차를 지정할 수 있다.
o 공유 데이터를 하나 이상의 다른 PPU에 전달할 수 있다.
o 예상 데이터와 수신 데이터의 DUT별 비교를 구현하고 DUT별 고장 데이터를 계산한다.
o 잠재적으로 다른 PPU 또는 메모리 허브를 통해, 고장 데이터를 데이터 저장소로 전송한다.
3. 메모리 허브(옵션):
o 이것은 스타 아키텍처를 구현하는 데 사용된다.
o 이것은 각 PPU에 대한 데이터 인터페이스를 제공한다.
o 이것은 버퍼링(FIFO) 및 캐시를 사용하여 데이터 저장소에 대한 판독 액세스를 최소화한다.
4. 결과 데이터 저장소(들)(옵션):
o 결과에 대한 독립적 데이터 저장소는 다음과 같은 이유로 각 PPU에 부착되거나 또는 메모리 허브에 중앙집중식으로 부착될 수 있다:
o 이것은 공유 데이터를 PPU로 스트리밍하는 데 사용되는 인터페이스와 독립적인 메모리 인터페이스를 제공한다.
o 이것은 다음 테스트 실행을 방해하지 않으면서 후처리 또는 업로드를 위해 결과 데이터에 액세스하는 메모리 인터페이스를 제공한다.
양상 2: 스트리밍 오류 검출 및 고장 압축을 위한 솔루션
문제점: 기존의 ATE는 구조 테스트의 기본 출력을 실시간으로 샘플링하고 이를 예상 데이터(마스킹을 포함함)와 비교한다. 이 프로세스는 테스트 데이터의 결정적이고 주기적인 I/O에 의해 활성화된다.
그러나, HSIO를 통한 스캔 테스트는 본질적으로 비결정적이며 돌발적이다. 또한, 스캔 출력은 프로토콜 스택의 페이로드 데이터이고, 즉, 스캔 체인으로/으로부터 송수신되는 데이터는 커맨드로 "태그된" 직렬 페이로드로 스크램블된다. USB 수신 데이터(커맨드 및 페이로드)는 처리되기(예컨대, 예상 데이터와 비교되기) 전에 메모리에 저장된다.
이 접근 방식에는 두 가지 문제가 있다:
1. 데이터 처리는 수신된 데이터를 저장하고 나중에 그것을 다시 판독하여 다른 메모리 위치에 저장된 예상 데이터와 비교할 때 상당한 메모리 대역폭 요건을 갖는다. 이것은 여러 디바이스를 병렬로 테스트함으로써 더욱 배가된다.
2. 스캔 패턴이 고장났는지 여부에 대한 판정은 USB 패킷을 통해 수신된 데이터의 후처리에 기초한다. 최악의 경우, 수신된 데이터와 예상 데이터를 비교하는 것은 전체 실행 시간을 지배한다: 즉, 이것은 HSIO를 통한 데이터 스트리밍보다 오래 걸린다.
솔루션:
실제 오류가 검출되었을 경우에만 메모리에 기록하도록 방금 수신된 스캔 데이터를 미리 로딩된 예상 데이터와 비교하는 스트리밍 오류 검출 블록이 포트 처리 유닛에 내장된다. 예상 데이터는 마스크 데이터를 포함할 수 있음에 유의한다.
세부사항:
1. 전술된 데이터 스트리밍 아키텍처를 사용하여, 포트 처리 유닛은 수신된 데이터 패킷과의 비교에 사용 가능한 예상 데이터의 창을 유지한다.
예상 데이터는, 데이터를 폐기하기 전에 모든 활성 사이트에 의한 데이터 사용을 추적하는 사이트별 FIFO 또는 관리 캐시에 미리 로딩된다. 이렇게 하면 대규모 데이터 저장소로부터 (각 사이트에 대해 반복적으로) 예상 데이터를 판독하는 것을 방지할 수 있다.
디바이스가 데이터 스트림을 따르지 않는 경우, PPU는 예외를 발생시키고, 사이트를 고장인 것으로 선언하며, 사용 가능한 오류 데이터만 저장할 수 있다.
2. HSIO에서 스캔 데이터를 수신할 때, 포트 처리 유닛은 수신된 데이터를 미리 로딩된 "매칭" 예상 데이터와 비교한다.
결정적 바이트 스트림으로서의 HSIO 통신의 경우, "매칭"은 수신된 데이터를 미리 로딩된 예상 데이터의 순서로 비교하는 것을 의미한다.
수신된 데이터의 DMA 전송의 경우, PPU는 예상 데이터의 바이트 오프셋으로 기록된 수신 데이터의 바이트 오프셋을 매칭시킨다. 바이트 오프셋은 메모리 어드레스처럼 작용한다.
3. 오류 정보는 필요한 데이터 볼륨 및 메모리 인터페이스 대역폭을 최소화하기 위해 압축된 표현으로 스트리밍된다. 표준 데이터 압축(예컨대, 고장인 비트의 런렝스 인코딩) 외에도, 스트리밍 오류 검출 블록은 테스트 특정 포맷(예컨대, 기존 ATE에 의해서도 제공되는 포맷)을 구현할 수 있다.
압축은 예상되는 오류 분포와 매칭되도록 동적으로 조정될 수 있는데, 예컨대, 수신된 데이터는 레지스터 값을 포함할 수 있고, 레지스터 값이 잘못되면 짧은 오류 버스트가 발생한다. 이는 오류 버스트가 시작될 때의 바이트 오프셋을 갖는 헤더 및 하나의 레지스터 값으로 확장되는 오류의 단어에 의해 효과적으로 저장될 수 있다.
USB-DFT가 직렬 USB 수신 데이터 스트림의 근접 거리 내에 고장날 가능성이 있는 수신 데이터를 유지하면, 결과 데이터의 압축은 개선될 수 있다. USB-DFT는 직렬 비트의 작은 영역 내에서 관련 비트를 스트리밍하기 위해 이들을 버퍼링할 수 있는데, 예컨대, 여러 스캔 체인을 통해 수신된 MISR 레지스터의 값을 버퍼링한다. 이 레지스터가 고장나면, 많은 비트가 플립(flip)될 것이고, 따라서 고장인 비트의 버스트는 전체 수신 스트림 내에서 시작 시의 단일 오프셋 값으로 저장될 수 있다(위의 단락 참조). 마찬가지로, USB-DFT는 개별 스캔 체인으로부터의 데이터를 버퍼링하고 버스팅(burst-out)할 수 있다. 또한, USB-DFT는 여러 스캔 체인으로부터 나오는 단일 블록의 결과를 다른 블록의 결과와 별도로 버퍼링 및 버스팅할 수 있다.
개별 오류 정보 외에도, 스트리밍 오류 검출 블록은 고장 분석과 관련된 통계를 저장하는데, 예컨대, 총 고장 수를 계산하고 첫 번째 고장주기의 바이트 오프셋을 저장한다.
4. HSIO를 통한 스캔 결과 처리의 고유한 특징은 스캔 출력 데이터의 페이로드뿐만 아니라 커맨드 코드에서도 오류가 발생할 수 있다는 것이다: 예컨대,
a. HSIO-스캔 DFT가 이상을 인지하여 자신이 전달하는 커맨드 시퀀스를 중단시킴
b. HSIO-스캔 DFT 자체의 손상, 이는 일반적으로 모든 페이로드를 무효화함.
이에 대한 솔루션은 대응하는 수신 데이터 비트가 커맨드인지 여부를 설명하는 각 비트를 갖는 추가 예상 데이터 세트, 즉, 커맨드-플래그 데이터(Command-Flag Data)를 저장할 것이다.
커맨드에서 오류가 검출될 때마다 "커맨드 오류" 플래그가 발생하여 결과를 확인하고 예상치 않은 프로세스 문제를 빠르게 검출한다. 이러한 오류가 발생할 때마다, 스트리밍 오류 검출 블록은 쓸모없는 임의의 페이로드 데이터의 저장을 최소화하거나 HSIO-스캔 DFT 블록의 상태에 대한 정보 페이로드로서 다음 비트를 캡처하는 모드로 전환할 수 있다.
5. 오류 발생을 효율적으로 검출하고 결과를 저장하는 것 외에도, 스트리밍 결과 처리는, 오류 맵이 커맨드 구조와 함께 직렬 USB 스트림에 압축된 스캔 데이터의 비트 오프셋에 기초하지 않고 직접 블록-IO의 오프셋(예컨대, 스캔 체인에 대한 오프셋)을 나타내도록 결과를 디스크램블할 수 있다. 디스크램블은 "주석"으로 스캔 패턴과 함께 저장되어야 하는 매핑 정보를 요구한다. 이는 테스트된 SOC 블록의 스캔 IO와 본질적으로 관련이 없는 커맨드 데이터를 필터링하기 위해 커맨드 플래그 데이터와 병합될 수 있다.
또한, 다른 SOC-블록의 수신 데이터가 통신되면 매핑 정보가 다를 수 있다. 따라서, 디스크램블 프로세스는 올바른 디스크램블 맵(예컨대, 긴 페이로드 버스트 동안 반복되는 페이로드의 각 비트가 스캔 체인에 매핑되는 방식)을 적용하기 전에 먼저 페이로드 유형(예컨대, 커맨드의 블록 인덱스에 저장됨)을 검출할 수 있다.
전체적으로, 스트리밍 디스크램블의 흐름은 효과적인 구현에서 순서화될 수 있는 세 단계로 분리될 수 있다:
a. 커맨드 데이터의 폐기
b. 페이로드 유형 검출. 이 단계는 단일 커맨드 프레임으로 코딩된 동일하게 구조화된 페이로드의 반복을 처리할 수도 있다.
c. 적용 가능한 매핑으로 페이로드 디스크램블
양상 3: 필요한 테스트 데이터 볼륨을 줄이기 위한 솔루션
문제점: 테스트 데이터 볼륨이 증가되고 있다. 이는 저장소와, 메모리 액세스 및 다중 사이트 데이터 스트리밍에 필요한 대역폭에 영향을 준다.
솔루션:
마스크 데이터 및 커맨드 플래그 데이터는 수신 데이터와 실제 비교하기 직전에 실시간 압축 해제를 허용하는 알고리즘으로 압축될 수 있다.
마스크 비트는 드물고 버스팅될 가능성이 더 높기 때문에 런렝스 인코딩이 디코딩에 효과적이고 간단할 수 있다.
예컨대, 수신 워드가 커맨드 및 페이로드 비트로 분할되면, 커맨드-플래그 데이터는 런렝스 인코딩되거나 알고리즘적으로 압축될 수 있다.
양상 4: 시퀀싱 커맨드의 시간 오버헤드를 줄이기 위한 솔루션 .
문제점: HSIO-스캔 테스트는 다른 작업(예컨대, HSIO-스캔 전에 디바이스를 설정하거나, HSIO-스캔 테스트들 간에 테스트 조건을 변경하거나, 독립적인 HSIO-스캔 패턴 테스트를 버스팅하는 것)으로 둘러싸여 있다. 이 모든 경우에, 순차적인 작업 실행은 오버헤드를 초래한다.
일반적인 ATE에서는 테스트가 중단없이 계속될 수 있도록 FIFO에서 다음 동작의 테스트 데이터를 준비함으로써 이를 최소화하거나 완전하게 방지할 수 있다.
솔루션:
HSIO-스캔을 제어하는 동작은 일반적으로 고레벨 운영 체제에서 소프트웨어 스택에 의한 지원을 요구한다. 따라서, 다음 동작의 테스트 데이터를 준비하려면 이전 동작을 완료하기 전에 OS 레벨의 활동을 병렬로 시작해야 한다. 이는 일반적으로 최첨단 운영 체제(예컨대, 리눅스)에 의해 사용될 수 있는 멀티-스레딩에 의해 수행될 수 있다. 그러나, DUT 인터페이스에서의 활동은 순서대로 진행되어야 한다. 따라서, USB 데이터 전송은 이전 동작이 완료될 때까지 일시 중지되어야 한다.
HSIO-스캔 데이터 전송을 일시 중지하려면 특정 HSIO 포트의 프로토콜 스택과의 간섭이 필요하다: 예컨대, PCle의 경우: PCIe는 준비된 프레임이 시작될 때까지 계속 IDLE을 구동할 수 있다. DUT로부터의 DMA 액세스인 경우, PCIe는 완전히 준비될 수 있고, 이전 동작이 완료된 후 DUT가 DMA 데이터 전송에 참여할 때까지 기다릴 수 있다.
데이터 전송을 일시 중지하려면 HSIO IP에서 HSIO 스택을 적절하게 변경해야한다: 예컨대, HSIO는 전송을 준비하는 두 개의 파이프라인을 가질 수 있다. 매번, 이들 중 하나는 다음 사용 가능한 슬롯에서 데이터 전송을 해제하기 위한 트리거가 수신될 때까지 무장/게이트(armed/gated) 상태를 유지한다. 트리거는 저레벨 소프트웨어 커맨드이거나 또는 다른 기기 또는 DUT 자체로부터 수신된 전기 트리거일 수 있다.
양상 5: HSIO 포트 사양으로부터 분리된 테스트 설정, 테스트 데이터 및 테스트 데이터 흐름을 유지하기 위한 솔루션
문제점: HSIO 인터페이스는 서로 다른 운영 체제 상에서 다양한 드라이버를 사용하여 다양한 방식으로 프로그래밍된다. 테스트 장비가 지원해야 하는 일반적인 변형은 다음을 포함하지만 이에 국한되지는 않는다:
ㆍ USB, PCIe, 1149.10 또는 심지어 독점 인터페이스를 포함하는 다양한 HSIO 포트
ㆍ 호스트/루트 또는 엔드 포인트로서 작동되는 HSIO
ㆍ DUT로 테스트 데이터를 능동적으로 스트리밍하는 ATE 또는 ATE(DMA)로부터 데이터를 가져오는 DUT
ㆍ 표준 인터페이스를 통하거나 맞춤형 드라이버 필요로 하는 HSIO 통신
그러나, ATE 및 테스트 프로그램은 일반적이고 구성가능한 테스트 설정 및 사용 사례를 활성화해야 한다.
솔루션:
ATE 솔루션은 테스트 프로그램 내에서 포트 인터페이스를 재구성할 수 있다: 예컨대, PCIe 종단점으로부터 1149.10 테스트 인터페이스로.
ATE 소프트웨어는 하나 이상의 HSIO 유형에 적용할 수 있는 가상 "기기"에 의해 활성화된 2개 이상의 일반적 사용 모델을 지원한다: 예컨대,
ㆍ 푸시 모드 - 스트리밍(USB에 일반적임, 1149.10): ATE는 자극 데이터를 HSIO 통신으로 푸시한다
ㆍ DMA 모드(PCIe에 일반적임): DUT는 OCST 메모리를 메모리 공간에 매핑하고 그로부터 데이터를 판독한다.
시스템 내에 후크를 추가하여 고객 또는 제3자가 독점적 인터페이스에 따라 표준 블록을 조정할 수 있게 한다: 예컨대,
ㆍ 선택된 사용 모델(예컨대, DMA)에 따라 맞춤형 포트를 구현하기 위한 표준 인터페이스를 정의함.
ㆍ 산출 학습을 위해 수신된 패키지를 분석하기 위한, OCST 카드 상에서 실행되는 효율적 맞춤형/제3자 코드. 이 경우, 예상 데이터는 직접 비교 가능한 예상 데이터가 아닌 지원 정보를 포함할 수 있다.
ㆍ 데이터를 HSIO로 푸시하기 직전의 DUT별 암호화.
ㆍ DMA 모드에서 DUT 기록 결과에 의해 사용되는 어드레스의 사이트별 매핑을 허용함. 이는 각 사이트의 DMA가 동일하더라도 물리적 수신 메모리를 구별되게 유지할 것이다.
결론
결론적으로, 본 명세서에 설명된 실시예는 본 명세서에 설명된 임의의 중요한 포인트 또는 양상에 의해 선택적으로 보완될 수 있다. 그러나, 본 명세서에 설명된 중요한 포인트 및 양상은 개별적으로 또는 조합하여 사용될 수 있으며, 본 명세서에 설명된 임의의 실시예에 개별적으로 및 조합하여 도입될 수 있음에 유의한다.
구현 대안
일부 양상이 장치의 맥락에서 설명되었지만, 이들 양상은 또한 대응하는 방법의 설명을 나타내며, 여기서 블록 또는 디바이스는 방법 단계 또는 방법 단계의 특징에 대응한다. 유사하게, 방법 단계의 맥락에서 설명된 양상들은 또한 대응하는 장치의 대응하는 블록 또는 항목 또는 특징의 설명을 나타낸다. 방법 단계의 일부 또는 전부는 예를 들어 마이크로 프로세서, 프로그램 가능한 컴퓨터 또는 전자 회로와 같은 하드웨어 장치에 의해(또는 이를 사용하여) 실행될 수 있다. 일부 실시예에서, 가장 중요한 방법 단계들 중 하나 이상은 그러한 장치에 의해 실행될 수 있다.
소정의 구현 요건에 따라, 본 발명의 실시예는 하드웨어 또는 소프트웨어로 구현될 수 있다. 구현은, 각각의 방법이 수행되도록 프로그램 가능한 컴퓨터 시스템과 협력하는 (또는 협력할 수 있는) 전자적으로 판독가능한 제어 신호가 저장되는, 디지털 저장 매체, 예를 들어, 플로피 디스크, DVD, 블루레이(Blu-Ray), CD, ROM, PROM, EPROM, EEPROM 또는 플래시 메모리를 사용하여 수행될 수 있다. 따라서, 디지털 저장 매체는 컴퓨터 판독가능할 수 있다.
본 발명에 따른 일부 실시예는 본 명세서에 설명된 방법 중 하나가 수행되도록 프로그램 가능한 컴퓨터 시스템과 협력할 수 있는 전자적으로 판독가능한 제어 신호를 갖는 데이터 캐리어를 포함한다.
일반적으로, 본 발명의 실시예는 프로그램 코드를 갖는 컴퓨터 프로그램 제품으로서 구현될 수 있으며, 프로그램 코드는 컴퓨터 프로그램 제품이 컴퓨터에서 실행될 때 방법 중 하나를 수행하도록 동작한다. 프로그램 코드는 예를 들어, 머신 판독가능 캐리어에 저장될 수 있다.
다른 실시예는 머신 판독가능 캐리어에 저장된, 본 명세서에 설명된 방법 중 하나를 수행하기 위한 컴퓨터 프로그램을 포함한다.
즉, 그러므로 본 발명의 방법의 실시예는 컴퓨터 프로그램이 컴퓨터에서 실행될 때 본 명세서에 설명된 방법 중 하나를 수행하기 위한 프로그램 코드를 갖는 컴퓨터 프로그램이다.
따라서, 본 발명의 방법의 추가 실시예는 본 명세서에 설명된 방법 중 하나를 수행하기 위한 컴퓨터 프로그램을 기록하여 포함하는 데이터 캐리어(또는 디지털 저장 매체 또는 컴퓨터 판독가능 매체)이다. 데이터 캐리어, 디지털 저장 매체 또는 기록 매체는 전형적으로 유형적 및/또는 비일시적이다.
따라서, 본 발명의 방법의 추가 실시예는 본 명세서에 설명된 방법 중 하나를 수행하기 위한 컴퓨터 프로그램을 나타내는 데이터 스트림 또는 신호 시퀀스이다. 데이터 스트림 또는 신호 시퀀스는 예를 들어, 데이터 통신 접속을 통해, 예를 들어, 인터넷을 통해 전송되도록 구성될 수 있다.
추가 실시예는 본 명세서에 설명된 방법 중 하나를 수행하도록 구성되거나 조정된 처리 수단, 예를 들어, 컴퓨터, 또는 프로그램 가능한 로직 디바이스를 포함한다.
추가 실시예는 본 명세서에 설명된 방법 중 하나를 수행하기 위한 컴퓨터 프로그램이 설치된 컴퓨터를 포함한다.
본 발명에 따른 추가 실시예는 본 명세서에 설명된 방법 중 하나를 수행하기위한 컴퓨터 프로그램을 수신기로 전송(예를 들어, 전자적으로 또는 광학적으로)하도록 구성된 장치 또는 시스템을 포함한다. 수신기는 예를 들어, 컴퓨터, 모바일 디바이스, 메모리 디바이스 등일 수 있다. 예를 들어, 장치 또는 시스템은 컴퓨터 프로그램을 수신기로 전송하기 위한 파일 서버를 포함할 수 있다.
몇몇 실시예에서, 프로그래밍 가능 로직 디바이스(예를 들어, 필드 프로그래밍 가능 게이트 어레이)는 본 명세서에 설명된 방법의 기능 중 일부 또는 전부를 수행하는 데 사용될 수 있다. 몇몇 실시예에서, 필드 프로그램 가능 게이트 어레이는 본 명세서에 설명된 방법 중 하나를 수행하기 위해 마이크로프로세서와 협력할 수 있다. 일반적으로, 방법은 바람직하게는 임의의 하드웨어 장치에 의해 수행된다.
본 명세서에 설명된 장치는 하드웨어 장치를 사용하거나, 컴퓨터를 사용하거나, 하드웨어 장치와 컴퓨터의 조합을 사용하여 구현될 수 있다.
본 명세서에 설명된 장치 또는 본 명세서에 설명된 장치의 임의의 컴포넌트는 하드웨어 및/또는 소프트웨어로 적어도 부분적으로 구현될 수 있다.
본 명세서에 설명된 방법은 하드웨어 장치를 사용하거나, 컴퓨터를 사용하거나, 하드웨어 장치와 컴퓨터의 조합을 사용하여 수행될 수 있다.
본 명세서에 설명된 방법 또는 본 명세서에 설명된 장치의 임의의 컴포넌트는 하드웨어 및/또는 소프트웨어에 의해 적어도 부분적으로 수행될 수 있다.
전술한 실시예는 본 발명의 원리에 대한 예시일 뿐이다. 본 명세서에 설명된 구성 및 세부사항의 수정 및 변경은 당업자에게 자명할 것임이 이해된다. 따라서, 본 명세서에서 실시예의 기술 및 설명에 의해 제시된 특정 세부사항에 의해서가 아니라 다음 특허 청구범위에 의해서만 제한되도록 의도된다.

Claims (24)

  1. 하나 이상의 테스트 대상 디바이스를 테스트하기 위한 자동 테스트 장비로서,
    적어도 하나의 포트 처리 유닛을 포함하되, 상기 포트 처리 유닛은,
    상기 테스트 대상 디바이스 중 적어도 하나와 접속하기 위한 고속 입출력 인터페이스(high-speed-input-output interface: HSIO)와,
    하나 이상의 접속된 테스트 대상 디바이스로부터 상기 포트 처리 유닛에 의해 수신된 데이터를 저장하기 위한 메모리와,
    상기 수신된 데이터에서 커맨드 오류를 검출하도록 구성된 스트리밍 오류 검출 블록을 포함하고,
    상기 포트 처리 유닛은, 상기 커맨드 오류의 검출에 응답하여, 상기 수신된 데이터에서 오류가 있는 것으로 검출되는 커맨드 이후에 후속하는 데이터의 상기 메모리에의 저장을 제한하도록 구성되는,
    자동 테스트 장비.
  2. 제 1 항에 있어서,
    상기 메모리에 저장되는, 상기 수신된 데이터에서 오류가 있는 것으로 검출된 커맨드 이후에 후속하는 데이터를, 추가 처리로부터 제외하도록 또한 구성되는,
    자동 테스트 장비.
  3. 제 1 항 또는 제 2 항에 있어서,
    저장될 데이터의 양을 나타내는 상기 제한은 고정 값, 가변 값 또는 동적 값에 의해 정의되는,
    자동 테스트 장비.
  4. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 스트리밍 오류 검출 블록은 또한, 상기 수신된 데이터를 미리 로딩된 예상 데이터와 비교하도록 구성되는,
    자동 테스트 장비.
  5. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
    상기 스트리밍 오류 검출 블록은 또한,
    상기 수신된 데이터에서 페이로드 데이터 오류를 검출하고,
    상기 수신된 데이터에서의 오류의 검출에 응답하여 데이터를 상기 메모리에 선택적으로 저장하도록 구성되는,
    자동 테스트 장비.
  6. 제 4 항 또는 제 5 항에 있어서,
    상기 예상 데이터는 마스크 데이터를 포함하는,
    자동 테스트 장비.
  7. 제 4 항 내지 제 6 항 중 어느 한 항에 있어서,
    상기 예상 데이터를 디바이스별 선입 선출(first-in-first-out: FIFO) 메모리 또는 하나 이상의 접속된 다비이스와 연관된 관리형 캐시에 미리 로딩하도록 또한 구성되고, 바람직하게는 연관된 접속된 디바이스에 의한 데이터 사용을 추적하고 상기 데이터를 폐기하도록 구성되는
    자동 테스트 장비.
  8. 제 7 항에 있어서,
    상기 데이터 사용의 추적에 기초하여 특정 테스트 대상 디바이스가 데이터 스트림을 따르지 않는 것을 발견한 것에 응답하여 상기 특정 테스트 대상 디바이스를 고장인 것으로 인식하도록 구성되는
    자동 테스트 장비.
  9. 제 4 항 내지 제 6 항 중 어느 한 항에 있어서,
    상기 수신된 데이터가 결정적 바이트 스트림(deterministic stream of bytes)으로서 수신되는 경우, 수신된 데이터와 미리 로딩된 예상 데이터를 상기 미리 로딩된 예상 데이터의 순서로 비교하고,
    상기 수신된 데이터가 어드레스 정보와 연관된 데이터로서 수신되는 경우, 상기 수신된 데이터를 상기 어드레스 정보에 대응하는 메모리 어드레스에 있는 예상 데이터와 비교하도록 또한 구성되는
    자동 테스트 장비.
  10. 제 1 항 내지 제 9 항 중 어느 한 항에 있어서,
    압축된 표현으로 상기 메모리에 데이터를 저장하도록 또한 구성되되, 상기 압축은 바람직하게는 표준 데이터 압축이거나 또는 테스트 특정 포맷을 갖는,
    자동 테스트 장비.
  11. 제 10 항에 있어서,
    예상 오류 분포와 매칭되도록 상기 압축을 동적으로 조정하도록 또한 구성되는
    자동 테스트 장비.
  12. 제 10 항 또는 제 11 항에 있어서,
    수신된 데이터 스트림의 근접 거리(proximity) 내에 고장일 가능성이 있는 수신된 데이터를 유지하도록 구성되는
    자동 테스트 장비.
  13. 제 1 항 내지 제 12 항 중 어느 한 항에 있어서,
    상기 스트리밍 오류 검출 블록은 또한 고장 분석과 관련된 통계 정보를 저장하도록 구성되는,
    자동 테스트 장비.
  14. 제 1 항 내지 제 13 항 중 어느 한 항에 있어서,
    상기 테스트 대상 디바이스가 커맨드 시퀀스를 중단시킨 것을 인지하거나 커맨드 시퀀스가 중단된 것을 인지한 것에 응답하여 상기 커맨드 오류를 검출하도록 또한 구성되는
    자동 테스트 장비.
  15. 제 4 항 내지 제 14 항 중 어느 한 항에 있어서,
    상기 예상 데이터는 대응하는 수신된 데이터 비트가 커맨드인지 여부를 나타내는 커맨드 예상 데이터의 비트를 포함하는,
    자동 테스트 장비.
  16. 제 4 항 내지 제 14 항 중 어느 한 항에 있어서,
    상기 예상 데이터는 상기 수신된 데이터의 어느 비트가 커맨드 비트로 예상되는지를 나타내는 마스크 데이터를 포함하는,
    자동 테스트 장비.
  17. 제 1 항 내지 제 16 항 중 어느 한 항에 있어서,
    상기 커맨드 오류의 검출에 응답하여 커맨드 오류 플래그를 설정하도록 또한 구성되는
    자동 테스트 장비.
  18. 제 1 항 내지 제 17 항 중 어느 한 항에 있어서,
    상기 메모리에는 매핑 정보가 저장되고,
    상기 포트 처리 유닛은 또한, 상기 저장된 데이터의 오프셋을 직접 나타내는 오류 정보를 획득하기 위해 상기 매핑 정보에 기초하여 상기 데이터를 디스크램블(descramble)하도록 구성되는,
    자동 테스트 장비.
  19. 제 15 항 내지 제 17 항 중 어느 한 항에 있어서,
    상기 커맨드 예상 데이터는 매핑 정보를 포함하고,
    상기 포트 처리 유닛은 또한, 상기 저장된 데이터의 오프셋을 직접 나타내는 오류 정보를 획득하기 위해 상기 매핑 정보에 기초하여 상기 데이터를 디스크램블하도록 구성되는,
    자동 테스트 장비.
  20. 제 18 항 또는 제 19 항에 있어서,
    상기 매핑 정보는 테스트 대상 디바이스마다 다를 수 있고,
    상기 포트 처리 유닛은 또한 디스크램블 전에 페이로드 유형을 검출하도록 구성되는,
    자동 테스트 장비.
  21. 제 20 항에 있어서,
    상기 포트 처리 유닛은 또한 상기 페이로드 유형을 검출하기 전에 커맨드 데이터를 폐기하도록 구성되는,
    자동 테스트 장비.
  22. 하나 이상의 테스트 대상 디바이스의 자동 테스트를 위한 방법으로서,
    포트 처리 유닛을 상기 테스트 대상 디바이스 중 하나 이상과 접속시키는 고속 입력 출력(high-speed-input-output: HSIO) 인터페이스를 통해 데이터를 수신하는 단계와,
    접속된 테스트 대상 디바이스로부터 수신된 데이터를 메모리에 저장하는 단계와,
    상기 메모리에 저장된 상기 수신된 데이터에서 커맨드 오류를 검출하는 단계와,
    상기 커맨드 오류의 검출에 응답하여, 상기 수신된 데이터에서 오류가 있는 것으로 검출된 커맨드 이후에 후속하는 데이터의 메모리에의 저장을 제한하는 단계를 포함하는
    방법.
  23. 처리 디바이스를 위한 컴퓨터 프로그램으로서,
    상기 프로그램이 상기 처리 디바이스 상에서 실행될 때 제 22 항의 단계들을 수행하기 위한 소프트웨어 코드 부분을 포함하는
    컴퓨터 프로그램.
  24. 제 23 항에 있어서,
    상기 소프트웨어 코드 부분이 저장되는 컴퓨터 판독가능 매체를 포함하고, 상기 프로그램은 상기 처리 디바이스의 내부 메모리로 직접 로딩 가능한,
    컴퓨터 프로그램.
KR1020217015278A 2019-01-22 2020-01-22 커맨드 오류 처리를 위해 하나 이상의 테스트 대상 디바이스를 테스트하기 위한 자동 테스트 장비, 하나 이상의 테스트 대상 디바이스의 자동 테스트를 위한 방법 및 컴퓨터 프로그램 KR102569335B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962795456P 2019-01-22 2019-01-22
US62/795,456 2019-01-22
PCT/EP2020/051543 WO2020152232A1 (en) 2019-01-22 2020-01-22 Automated test equipment for testing one or more devices under test, method for automated testing of one or more devices under test, and computer program for handling command errors

Publications (2)

Publication Number Publication Date
KR20210079348A true KR20210079348A (ko) 2021-06-29
KR102569335B1 KR102569335B1 (ko) 2023-08-22

Family

ID=69192062

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020217015271A KR102591340B1 (ko) 2019-01-22 2020-01-22 버퍼 메모리를 사용하여 하나 이상의 테스트 대상 디바이스를 테스트하기 위한 자동 테스트 장비, 하나 이상의 테스트 대상 디바이스의 자동 테스트를 위한 방법 및 컴퓨터 프로그램
KR1020217015278A KR102569335B1 (ko) 2019-01-22 2020-01-22 커맨드 오류 처리를 위해 하나 이상의 테스트 대상 디바이스를 테스트하기 위한 자동 테스트 장비, 하나 이상의 테스트 대상 디바이스의 자동 테스트를 위한 방법 및 컴퓨터 프로그램
KR1020217026464A KR102604010B1 (ko) 2019-01-22 2020-01-22 온-칩-시스템 테스트 제어기를 사용하는 자동 테스트 장비

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020217015271A KR102591340B1 (ko) 2019-01-22 2020-01-22 버퍼 메모리를 사용하여 하나 이상의 테스트 대상 디바이스를 테스트하기 위한 자동 테스트 장비, 하나 이상의 테스트 대상 디바이스의 자동 테스트를 위한 방법 및 컴퓨터 프로그램

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020217026464A KR102604010B1 (ko) 2019-01-22 2020-01-22 온-칩-시스템 테스트 제어기를 사용하는 자동 테스트 장비

Country Status (7)

Country Link
US (3) US11385285B2 (ko)
JP (3) JP7295954B2 (ko)
KR (3) KR102591340B1 (ko)
CN (3) CN111989580B (ko)
DE (3) DE112020000469T5 (ko)
TW (3) TW202132793A (ko)
WO (3) WO2020152232A1 (ko)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11204849B2 (en) * 2020-03-13 2021-12-21 Nvidia Corporation Leveraging low power states for fault testing of processing cores at runtime
US11809570B2 (en) * 2020-10-06 2023-11-07 Newae Technology Inc Method and apparatus for analyzing side channel-related security vulnerabilities in digital devices
US11719749B1 (en) * 2020-10-22 2023-08-08 Cadence Design Systems, Inc. Method and system for saving and restoring of initialization actions on dut and corresponding test environment
US20220155370A1 (en) * 2020-11-17 2022-05-19 Synopsys, Inc. Device under test synchronization with automated test equipment check cycle
US11836059B1 (en) 2020-12-14 2023-12-05 Sanblaze Technology, Inc. System and method for testing non-volatile memory express storage devices
CN112597006B (zh) * 2020-12-14 2023-10-03 中国航发控制系统研究所 一种嵌入式软件集成测试自动化执行系统及方法
US11431379B1 (en) * 2021-03-31 2022-08-30 Teradyne, Inc. Front-end module
CN115391108A (zh) * 2021-05-25 2022-11-25 爱德万测试股份有限公司 自动测试设备系统及其自动测试设备方法
CN113572661B (zh) * 2021-07-28 2022-12-27 迈普通信技术股份有限公司 一种测试多激活检测性能的系统和方法
CN113836060B (zh) * 2021-09-24 2024-05-28 北京机电工程研究所 一种适用于仿真模型及流程模型的分布式实时仿真平台
CN113961405B (zh) * 2021-09-30 2022-10-28 北京百度网讯科技有限公司 状态切换指令验证方法、装置、电子设备及存储介质
CN114167258B (zh) * 2021-11-29 2024-03-22 上海御渡半导体科技有限公司 一种ate测试系统的数据存储和读取装置及方法
CN113904970B (zh) * 2021-12-09 2022-03-01 伟恩测试技术(武汉)有限公司 一种半导体测试设备的传输系统及方法
CN114461150A (zh) * 2022-02-09 2022-05-10 马来西亚明试国际有限公司 一种用于自动测试设备数据聚合的方法、系统及存储介质
KR102461404B1 (ko) * 2022-04-08 2022-10-31 주식회사 세미파이브 시스템 온 칩과 메모리 사이의 통신을 위한 io 파라미터를 설정하는 방법 및 장치
US11853251B2 (en) * 2022-05-04 2023-12-26 Qualcomm Incorporated On-die chip-to-chip (C2C) link state monitor
CN116340191B (zh) * 2023-05-31 2023-08-08 合肥康芯威存储技术有限公司 一种存储器固件的测试方法、装置、设备及介质
CN117290278A (zh) * 2023-10-10 2023-12-26 合芯科技有限公司 芯片内硬件互联结构、芯片、服务器及方法

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0269687A (ja) * 1988-09-05 1990-03-08 Advantest Corp 論理集積回路試験装置
JPH07244130A (ja) * 1994-03-02 1995-09-19 Sony Tektronix Corp テストパターン発生器
JPH08129508A (ja) * 1994-10-31 1996-05-21 Toshiba Corp コンピュータシステム及びその共有メモリ制御方法
KR20010110048A (ko) * 2000-06-03 2001-12-12 박현숙 칩 설계 검증 및 테스트 장치 및 방법
US20060155886A1 (en) * 2005-01-11 2006-07-13 Da Silva Dilma M Methods and arrangements to manage on-chip memory to reduce memory latency
US20080114563A1 (en) * 2006-07-10 2008-05-15 Kappauf William F Digital waveform generation and measurement in automated test equipment
US20080126903A1 (en) * 2006-11-28 2008-05-29 Samplify Systems, Inc. Compression and decompression of stimulus and response waveforms in automated test systems
KR20100099141A (ko) * 2007-10-30 2010-09-10 테라다인 인코퍼레이티드 재설정가능한 테스터에서의 테스트 방법
JP2012519912A (ja) * 2009-03-04 2012-08-30 アルカテル−ルーセント 複数の命令タイプを使用するシステム・テスティングの方法および装置
JP2013546229A (ja) * 2010-10-05 2013-12-26 シリコン イメージ,インコーポレイテッド 高速入出力デバイスの試験
US20140237292A1 (en) * 2013-02-21 2014-08-21 Advantest Corporation Gui implementations on central controller computer system for supporting protocol independent device testing
US20140244204A1 (en) * 2013-02-28 2014-08-28 Advantest Corporation Tester with acceleration for packet building within a fpga block
KR20180108869A (ko) * 2014-04-07 2018-10-04 마이크론 테크놀로지, 인크. 메모리 동작 파라미터에 대한 다수의 파라미터 코드를 저장 및 기록하기 위한 방법 및 장치
KR20180138216A (ko) * 2016-06-15 2018-12-28 마이크론 테크놀로지, 인크. 공유 에러 검출 및 정정 메모리
US20200058364A1 (en) * 2017-01-31 2020-02-20 Octavo Systems Llc Automatic test equipment method for testing system in a package devices

Family Cites Families (69)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7328387B2 (en) * 2004-12-10 2008-02-05 Texas Instruments Incorporated Addressable tap domain selection circuit with selectable ⅗ pin interface
US5103450A (en) * 1989-02-08 1992-04-07 Texas Instruments Incorporated Event qualified testing protocols for integrated circuits
US5321702A (en) * 1989-10-11 1994-06-14 Teradyne, Inc. High speed timing generator
JP3114753B2 (ja) * 1991-10-31 2000-12-04 九州日本電気株式会社 Lsiテスト方法
JPH10240560A (ja) * 1997-02-26 1998-09-11 Toshiba Corp 波形信号処理装置
GB9805054D0 (en) * 1998-03-11 1998-05-06 Process Intelligence Limited Memory test system with buffer memory
WO2000000836A1 (en) 1998-06-29 2000-01-06 Iliya Valeryevich Klochkov A skew calibration means and a method of skew calibration
US6452411B1 (en) * 1999-03-01 2002-09-17 Formfactor, Inc. Efficient parallel testing of integrated circuit devices using a known good device to generate expected responses
JP2001210685A (ja) 1999-11-19 2001-08-03 Hitachi Ltd テストシステムおよび半導体集積回路装置の製造方法
US6424926B1 (en) 2000-03-31 2002-07-23 Intel Corporation Bus signature analyzer and behavioral functional test method
JP2002156404A (ja) 2000-11-20 2002-05-31 Seiko Epson Corp 半導体測定方法及び半導体測定装置
JP2002311095A (ja) * 2001-04-12 2002-10-23 Tritec:Kk Lsi検査装置
US6988232B2 (en) 2001-07-05 2006-01-17 Intellitech Corporation Method and apparatus for optimized parallel testing and access of electronic circuits
JP2003121499A (ja) * 2001-10-09 2003-04-23 Hitachi Ltd 組込みテスト機能付き半導体集積回路、テストコード生成プログラムから成る電子設計データを保存する記憶媒体、該半導体集積回路のテスト方法、テストコード生成自動化方法及びそのプログラム
JP2004030765A (ja) 2002-06-25 2004-01-29 Fujitsu Ltd 自己診断機能内蔵の半導体記憶装置
JP3614838B2 (ja) * 2002-09-19 2005-01-26 Necエレクトロニクス株式会社 半導体検査システム及び半導体デバイスの検査方法
US7131046B2 (en) * 2002-12-03 2006-10-31 Verigy Ipco System and method for testing circuitry using an externally generated signature
GB0315931D0 (en) * 2003-07-08 2003-08-13 Koninkl Philips Electronics Nv Radio device testing system
US7310752B2 (en) * 2003-09-12 2007-12-18 Micron Technology, Inc. System and method for on-board timing margin testing of memory modules
JP4602004B2 (ja) * 2004-06-22 2010-12-22 株式会社東芝 テストパターン作成装置、テストパターン作成方法及びテストパターン作成プログラム
US7089139B2 (en) * 2004-08-16 2006-08-08 Agilent Technologies, Inc. Method and apparatus for configuration of automated debug of in-circuit tests
US7627798B2 (en) 2004-10-08 2009-12-01 Kabushiki Kaisha Toshiba Systems and methods for circuit testing using LBIST
JP2006266835A (ja) * 2005-03-23 2006-10-05 Advantest Corp 試験装置、試験方法、及び試験制御プログラム
US20070168809A1 (en) 2005-08-09 2007-07-19 Naoki Kiryu Systems and methods for LBIST testing using commonly controlled LBIST satellites
CN1925384A (zh) * 2005-09-02 2007-03-07 上海乐金广电电子有限公司 数字广播信息流传输错误检测装置及方法
US7562271B2 (en) 2005-09-26 2009-07-14 Rambus Inc. Memory system topologies including a buffer device and an integrated circuit memory device
US7389461B2 (en) * 2005-09-28 2008-06-17 Teradyne, Inc. Data capture in automatic test equipment
CN1987236A (zh) * 2005-12-22 2007-06-27 乐金电子(天津)电器有限公司 空调器的错误记录管理控制装置及其管理控制方法
US7552370B2 (en) 2006-03-31 2009-06-23 Robert Pochowski Application specific distributed test engine architecture system and method
EP2003653B1 (en) * 2006-04-06 2010-08-04 Advantest Corporation Test device and test method
DE602006017446D1 (de) * 2006-08-04 2010-11-18 Verigy Pte Ltd Singapore Testmodul mit blöcken universeller und spezifischer ressourcen
US7698088B2 (en) * 2006-11-15 2010-04-13 Silicon Image, Inc. Interface test circuitry and methods
KR100897681B1 (ko) * 2007-04-05 2009-05-14 베리지 (싱가포르) 피티이. 엘티디. 테스트 프로그램 적응 시스템 및 자동화 테스트 시스템
US7717752B2 (en) 2008-07-01 2010-05-18 International Business Machines Corporation 276-pin buffered memory module with enhanced memory system interconnect and features
US20100023294A1 (en) * 2008-07-28 2010-01-28 Credence Systems Corporation Automated test system and method
US8195419B2 (en) * 2009-03-13 2012-06-05 Teradyne, Inc. General purpose protocol engine
US8170828B2 (en) 2009-06-05 2012-05-01 Apple Inc. Test method using memory programmed with tests and protocol to communicate between device under test and tester
US8386867B2 (en) * 2009-07-02 2013-02-26 Silicon Image, Inc. Computer memory test structure
US8261119B2 (en) 2009-09-10 2012-09-04 Advantest Corporation Test apparatus for testing device has synchronization module which synchronizes analog test module to digital test module based on synchronization signal received from digital test module
US20110273197A1 (en) * 2010-05-07 2011-11-10 Qualcomm Incorporated Signal generator for a built-in self test
JP2011248597A (ja) 2010-05-26 2011-12-08 Yokogawa Electric Corp テスタシミュレーション装置、テスタシミュレーションプログラムおよびテスタシミュレーション方法
WO2011149725A2 (en) * 2010-05-28 2011-12-01 Verigy (Singapore) Pte. Ltd. Flexible storage interface tester with variable parallelism and firmware upgradeability
CN103109275B (zh) * 2010-09-07 2016-02-03 爱德万测试公司 在半导体测试环境中使用虚拟仪器的系统、方法和设备
US20120324302A1 (en) 2011-06-17 2012-12-20 Qualcomm Incorporated Integrated circuit for testing using a high-speed input/output interface
US9470759B2 (en) 2011-10-28 2016-10-18 Teradyne, Inc. Test instrument having a configurable interface
TW201337236A (zh) 2012-03-15 2013-09-16 Le & Der Co Ltd 流體自動化採樣控制裝置
US9606183B2 (en) * 2012-10-20 2017-03-28 Advantest Corporation Pseudo tester-per-site functionality on natively tester-per-pin automatic test equipment for semiconductor test
US9026869B1 (en) * 2012-11-01 2015-05-05 Amazon Technologies, Inc. Importance-based data storage verification
US9959186B2 (en) * 2012-11-19 2018-05-01 Teradyne, Inc. Debugging in a semiconductor device test environment
US9183952B2 (en) * 2013-02-20 2015-11-10 Micron Technology, Inc. Apparatuses and methods for compressing data received over multiple memory accesses
US20140236527A1 (en) * 2013-02-21 2014-08-21 Advantest Corporation Cloud based infrastructure for supporting protocol reconfigurations in protocol independent device testing systems
US9952276B2 (en) * 2013-02-21 2018-04-24 Advantest Corporation Tester with mixed protocol engine in a FPGA block
US10161993B2 (en) * 2013-02-21 2018-12-25 Advantest Corporation Tester with acceleration on memory and acceleration for automatic pattern generation within a FPGA block
US11009550B2 (en) * 2013-02-21 2021-05-18 Advantest Corporation Test architecture with an FPGA based test board to simulate a DUT or end-point
US10162007B2 (en) * 2013-02-21 2018-12-25 Advantest Corporation Test architecture having multiple FPGA based hardware accelerator blocks for testing multiple DUTs independently
US9310427B2 (en) * 2013-07-24 2016-04-12 Advantest Corporation High speed tester communication interface between test slice and trays
US20150153405A1 (en) 2013-12-04 2015-06-04 Princeton Technology Corporation Automatic testing system and method
CN104808133B (zh) 2014-01-24 2018-02-06 矽创电子股份有限公司 自动测试设备和升级自动测试设备的集成电路测试界面
US9304846B2 (en) * 2014-04-29 2016-04-05 Ford Global Technologies, Llc Apparatus and method of error monitoring with a diagnostic module
US9811420B2 (en) * 2015-03-27 2017-11-07 Intel Corporation Extracting selective information from on-die dynamic random access memory (DRAM) error correction code (ECC)
JP6458626B2 (ja) 2015-05-07 2019-01-30 富士通株式会社 デバッグ回路、半導体装置及びデバッグ方法
KR102377362B1 (ko) * 2015-07-08 2022-03-23 삼성전자주식회사 보조 테스트 장치, 그것을 포함하는 테스트 보드 및 그것의 테스트 방법
JP6386434B2 (ja) 2015-10-08 2018-09-05 株式会社アドバンテスト 試験装置、試験信号供給装置、試験方法、およびプログラム
CN105895163B (zh) * 2016-03-28 2018-09-28 工业和信息化部电子第五研究所 基于镜像备份的单粒子效应检测方法和系统
JP2018006406A (ja) 2016-06-28 2018-01-11 東京エレクトロン株式会社 基板検査装置
JP6686769B2 (ja) * 2016-07-27 2020-04-22 富士通株式会社 テストパタン生成装置及びテストパタン生成方法
JP6878071B2 (ja) 2017-03-21 2021-05-26 株式会社東芝 半導体集積回路及び半導体集積回路の診断方法
US10580200B2 (en) 2017-04-07 2020-03-03 Intel Corporation Virtual reality apparatus and method including prioritized pixel shader operations, alternate eye rendering, and/or augmented timewarp
CN107390109B (zh) * 2017-06-09 2019-12-24 苏州迅芯微电子有限公司 高速adc芯片的自动测试平台及其软件架构设计方法

Patent Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0269687A (ja) * 1988-09-05 1990-03-08 Advantest Corp 論理集積回路試験装置
JPH07244130A (ja) * 1994-03-02 1995-09-19 Sony Tektronix Corp テストパターン発生器
JPH08129508A (ja) * 1994-10-31 1996-05-21 Toshiba Corp コンピュータシステム及びその共有メモリ制御方法
KR20010110048A (ko) * 2000-06-03 2001-12-12 박현숙 칩 설계 검증 및 테스트 장치 및 방법
JP2003536083A (ja) * 2000-06-03 2003-12-02 ヒュンジュ・バク チップ設計検証及びテスト装置及び方法
US20060155886A1 (en) * 2005-01-11 2006-07-13 Da Silva Dilma M Methods and arrangements to manage on-chip memory to reduce memory latency
US20080114563A1 (en) * 2006-07-10 2008-05-15 Kappauf William F Digital waveform generation and measurement in automated test equipment
US20080126903A1 (en) * 2006-11-28 2008-05-29 Samplify Systems, Inc. Compression and decompression of stimulus and response waveforms in automated test systems
KR20100099141A (ko) * 2007-10-30 2010-09-10 테라다인 인코퍼레이티드 재설정가능한 테스터에서의 테스트 방법
JP2012519912A (ja) * 2009-03-04 2012-08-30 アルカテル−ルーセント 複数の命令タイプを使用するシステム・テスティングの方法および装置
JP2012519854A (ja) * 2009-03-04 2012-08-30 アルカテル−ルーセント スキャン・チェーン分解を使用するシステム・テスティングの方法および装置
JP2013546229A (ja) * 2010-10-05 2013-12-26 シリコン イメージ,インコーポレイテッド 高速入出力デバイスの試験
US20140237292A1 (en) * 2013-02-21 2014-08-21 Advantest Corporation Gui implementations on central controller computer system for supporting protocol independent device testing
US20140244204A1 (en) * 2013-02-28 2014-08-28 Advantest Corporation Tester with acceleration for packet building within a fpga block
KR20180108869A (ko) * 2014-04-07 2018-10-04 마이크론 테크놀로지, 인크. 메모리 동작 파라미터에 대한 다수의 파라미터 코드를 저장 및 기록하기 위한 방법 및 장치
KR20180138216A (ko) * 2016-06-15 2018-12-28 마이크론 테크놀로지, 인크. 공유 에러 검출 및 정정 메모리
US20200058364A1 (en) * 2017-01-31 2020-02-20 Octavo Systems Llc Automatic test equipment method for testing system in a package devices

Also Published As

Publication number Publication date
US11415628B2 (en) 2022-08-16
US11385285B2 (en) 2022-07-12
JP2022517513A (ja) 2022-03-09
CN113330322A (zh) 2021-08-31
TW202132793A (zh) 2021-09-01
DE112020000469T5 (de) 2021-10-07
WO2020152232A1 (en) 2020-07-30
CN111989580A (zh) 2020-11-24
KR20210116604A (ko) 2021-09-27
KR102604010B1 (ko) 2023-11-20
US20210055347A1 (en) 2021-02-25
KR20210079347A (ko) 2021-06-29
KR102591340B1 (ko) 2023-10-20
JP7101814B2 (ja) 2022-07-15
CN111989580B (zh) 2023-06-30
JP2021520001A (ja) 2021-08-12
DE112020000036T5 (de) 2021-01-21
TW202202864A (zh) 2022-01-16
KR102569335B1 (ko) 2023-08-22
CN112703409A (zh) 2021-04-23
JP2021520570A (ja) 2021-08-19
US11913990B2 (en) 2024-02-27
JP7058759B2 (ja) 2022-04-22
DE112020000035T5 (de) 2020-12-31
US20210073094A1 (en) 2021-03-11
WO2020152231A1 (en) 2020-07-30
JP7295954B2 (ja) 2023-06-21
US20210025938A1 (en) 2021-01-28
WO2020152230A1 (en) 2020-07-30
TW202202865A (zh) 2022-01-16

Similar Documents

Publication Publication Date Title
KR102569335B1 (ko) 커맨드 오류 처리를 위해 하나 이상의 테스트 대상 디바이스를 테스트하기 위한 자동 테스트 장비, 하나 이상의 테스트 대상 디바이스의 자동 테스트를 위한 방법 및 컴퓨터 프로그램
CN110050441B (zh) 在故障情况下实时捕获流量以进行协议调试
US8726112B2 (en) Scan test application through high-speed serial input/outputs
JP4856429B2 (ja) バス検査のためのオンチップ回路
JP4580163B2 (ja) 外部で生成したシグネチャを用いて回路を試験するためのシステム及び方法
US6735747B2 (en) Pre-silicon verification path coverage
US7650555B2 (en) Method and apparatus for characterizing components of a device under test using on-chip trace logic analyzer
TWI416316B (zh) 用於產生資料處理設備之追蹤串流的技術
US20110078525A1 (en) Method and Apparatus of ATE IC Scan Test Using FPGA-Based System
US9971644B2 (en) Serial I/O functional tester
US20230152374A1 (en) Automated test equipment and method using a trigger generation
US8972806B2 (en) Self-test design for serializer / deserializer testing
US10795797B2 (en) Controller, SATA system and method of operation therefor
CN112579334B (zh) 基于以太网的面向处理器的信号记录方法及装置
Shuo et al. Design of high-speed satellite payload data simulator based on FlexRIO
Theologitou et al. Simple and reusable test access mechanism for SoC validation
CN115220969A (zh) 基于高频事件的硬件诊断
US20030115523A1 (en) Apparatus and method for analysis and troubleshooting of electronic devices

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant