KR20090131676A - 시험 장치, 시험 방법, 및 전자 디바이스 - Google Patents

시험 장치, 시험 방법, 및 전자 디바이스 Download PDF

Info

Publication number
KR20090131676A
KR20090131676A KR1020097023079A KR20097023079A KR20090131676A KR 20090131676 A KR20090131676 A KR 20090131676A KR 1020097023079 A KR1020097023079 A KR 1020097023079A KR 20097023079 A KR20097023079 A KR 20097023079A KR 20090131676 A KR20090131676 A KR 20090131676A
Authority
KR
South Korea
Prior art keywords
instruction
test
pattern
offset
under test
Prior art date
Application number
KR1020097023079A
Other languages
English (en)
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 KR20090131676A publication Critical patent/KR20090131676A/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/3181Functional testing
    • G01R31/31813Test pattern generators
    • 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/10Test algorithms, e.g. memory scan [MScan] algorithms; Test patterns, e.g. checkerboard patterns 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/56External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

피시험 디바이스를 시험하는 시험 장치에 있어서, 피시험 디바이스를 시험하기 위한 시험 시컨스를 정하는 시험 명령열을 압축 형식으로 기억하는 패턴 메모리와, 패턴 메모리로부터 독출된 시험 명령열을 비압축 형식으로 전개하는 전개부와, 전개부에 의해 전개된 시험 명령열을 캐싱하는 명령 캐시와, 명령 캐시에 격납된 명령을 순차적으로 독출하여 실행하고, 실행되는 명령에 대한 시험 패턴을 발생하는 패턴 발생부와, 시험 패턴에 기초하는 시험 신호를 생성하여, 피시험 디바이스에 공급하는 신호 출력부를 포함하는 시험 장치를 제공한다.
Figure P1020097023079
시험 장치, 전자 디바이스, 시험 명령열, 압축, 전개

Description

시험 장치, 시험 방법, 및 전자 디바이스{TEST APPARATUS, TEST METHOD, AND ELECTRONIC DEVICE}
본 발명은 시험 장치, 시험 방법, 및 전자 디바이스에 관한 것이다. 특히, 본 발명은 피시험 디바이스를 시험하는 시험 장치 및 시험 방법, 및 피시험 회로를 시험하는 시험 회로를 구비한 전자 디바이스에 관한 것이다. 본 출원은 아래의 미국 특허 출원에 관련된다. 문헌의 참조에 의한 편입이 인정되는 지정국에 대해서는, 아래의 출원에 기재된 내용을 참조로서 본 출원에 편입하고, 본 출원의 일부로 한다.
1. 미국 특허 출원 11/733,174 출원일 2007년 4월 9일
반도체 등의 피시험 디바이스를 시험하는 시험 장치가 알려져 있다. 시험 장치는, 소정의 논리 패턴의 시험 신호를 피시험 디바이스에 공급해, 해당 시험 신호에 따라 피시험 디바이스로부터 출력되는 신호를 검출한다. 그리고, 시험 장치는, 검출한 신호와 기대치와 비교함으로써 해당 피시험 디바이스의 양부를 판정한다.
시험 장치는, 시험 패턴을 순차적으로 발생하는 패턴 발생기와 시험 패턴에 따른 논리의 시험 신호를 출력하는 시험 신호 출력부를 구비한다(예를 들어, 특허 문헌 1 참조). 패턴 발생기는, 메모리에 격납된 시컨스 데이터(시험 명령열)로부터 순차적으로 명령을 독출하여, 독출한 명령을 실행한다. 그리고, 패턴 발생기는, 실행한 각 명령에 대응하는 패턴 데이터를 메모리로부터 독출하여, 독출한 패턴 데이터를 시험 패턴으로서 순차적으로 출력한다. 이에 의해, 시험 장치는, 소정의 논리 패턴의 시험 신호를 피시험 디바이스에 공급할 수 있다.
[특허 문헌 1] 일본 특허 출원 특개2000-206210호
[발명이 해결하려고 하는 과제]
그런데, 피시험 디바이스의 기능의 향상에 수반해 시험 항목 및 내용이 증대하고, 시컨스 데이터에 포함되는 명령 수가 많아지고 있다. 이 때문에, 시험 장치에 의하면, 시컨스 데이터를 기억하는 메모리의 용량이 커진다.
여기에서 본 발명의 일 측면에 있어서는, 상기의 과제를 해결할 수 있는 시험 장치, 시험 방법, 및 전자 디바이스를 제공하는 것을 목적으로 한다. 이 목적은 청구의 범위에 있어서의 독립항에 기재된 특징의 조합에 의해 달성된다. 또한, 종속항은 본 발명의 한층 더 유리한 구체적인 예를 규정한다.
[과제를 해결하기 위한 수단]
본 발명의 제1 형태에 있어서는, 피시험 디바이스를 시험하는 시험 장치에 있어서, 피시험 디바이스를 시험하기 위한 시험 시컨스를 정하는 시험 명령열을 압축 형식으로 기억하는 패턴 메모리와, 패턴 메모리로부터 독출된 시험 명령열을 비압축 형식으로 전개하는 전개부와, 전개부에 의해 전개된 시험 명령열을 캐싱하는 명령 캐시와, 명령 캐시에 격납된 명령을 순차적으로 독출하여 실행하고, 실행되는 명령에 대한 시험 패턴을 발생하는 패턴 발생부와, 시험 패턴에 기초하는 시험 신호를 생성하여, 피시험 디바이스에 공급하는 신호 출력부를 포함하는 시험 장치를 제공한다.
본 발명의 제2 형태에 있어서는, 전자 디바이스에 있어서, 피시험 회로와 상기 피시험 회로를 시험하는 시험 회로를 구비하고, 시험 회로는, 피시험 회로를 시험하기 위한 시험 시컨스를 정하는 시험 명령열을 압축 형식으로 기억하는 패턴 메모리와, 패턴 메모리로부터 독출된 시험 명령열을 비압축 형식으로 전개하는 전개부와, 전개부에 의해 전개된 시험 명령열을 캐싱하는 명령 캐시와, 명령 캐시에 격납된 명령을 순차적으로 독출하여 실행하고, 실행되는 명령에 대한 시험 패턴을 발생하는 패턴 발생부와, 시험 패턴에 기초하는 시험 신호를 생성하여, 피시험 회로에 공급하는 신호 출력부를 포함하는 전자 디바이스를 제공한다.
본 발명의 제3 형태에 있어서는, 피시험 디바이스를 시험하는 시험 방법에 있어서, 피시험 디바이스를 시험하기 위한 시험 시컨스를 정하는 시험 명령열을 압축 형식으로 기억하는 단계와, 패턴 메모리로부터 독출된 시험 명령열을 비압축 형식으로 전개하는 단계와, 전개된 시험 명령열을 캐싱하는 단계와, 격납된 명령을 순차적으로 독출하여 실행하고, 실행되는 명령에 대한 시험 패턴을 발생하는 단계와, 시험 패턴에 기초하는 시험 신호를 생성하고, 피시험 디바이스에 공급하는 단계를 포함하는 시험 방법을 제공한다.
또한, 상기의 발명의 개요는, 본 발명의 필요한 특징의 모두를 열거한 것이 아니고, 이러한 특징군의 서브 콤비네이션도 또한 발명이 될 수 있다.
도 1은 본 발명의 일 실시 형태에 관한 시험 장치(200)의 구성의 일례를 나타내는 도면이다.
도 2는 시험 모듈(100)의 구성의 일례를 나타내는 도면이다.
도 3은 패턴 리스트 메모리(14)가 격납하는 패턴 리스트, 메인 메모리(40)가 격납하는 시컨스 데이터, 및 패턴 데이터의 일례를 설명하는 도면이다.
도 4는 본 실시 형태에 관한 패턴 발생부(70)의 구성의 일례를, 메인 메모리(40) 및 패턴 발생 제어부(20)와 함께 나타내는 도면이다.
도 5는 압축 전의 시컨스 데이터(시험 명령열)의 일례를 나타내는 도면이다.
도 6은 압축 전의 시컨스 데이터, NOP 명령을 삭제한 압축 형식의 시컨스 데이터 및 압축 형식의 시컨스 데이터를 전개한 시컨스 데이터의 일례를 나타내는 도면이다.
도 7은 매치 제어 명령(JFF 명령)을 포함한 시컨스 데이터의 일례를 나타내는 도면이다.
도 8은 회수 지정 명령(STI 명령) 및 루프 분기 명령(JNI 명령)을 포함한 시컨스 데이터의 일례를 나타내는 도면이다.
도 9는 브레이크 명령(BRK 명령)을 포함한 시컨스 데이터의 일례를 나타내는 도면이다.
도 10은 반복 명령(IDXI 명령)을 포함한 시컨스 데이터의 일례를 나타내는 도면이다.
도 11은 본 발명의 하나의 실시 형태에 관한 전자 디바이스(400)의 구성의 일례를 나타내는 도면이다.
[부호의 설명]
10 채널 제어부
12 인터페이스부
14 패턴 리스트 메모리
16 결과 메모리
20 패턴 발생 제어부
30 레이트 발생부
40 메인 메모리
50 채널 회로
52 파형 성형부
54 드라이버
56 타이밍 발생부
58 콤퍼레이터
60 타이밍 비교부
62 판정부
64 캡쳐 메모리
70 패턴 발생부
80 벡터 발생부
90 패턴 캐시 메모리
100 시험 모듈
110 시스템 제어 장치
130 사이트 제어 장치
140 스위칭부
200 시험 장치
300 피시험 디바이스
312 1차 캐시
314 전개부
316 명령 캐시
318 명령 실행부
330 오프셋 레지스터
332 벡터 생성 제어부
334 패턴 발생부
336 매치 신호 입력부
340 스택
400 전자 디바이스
410 피시험 회로
420 시험 회로
430 입출력 핀
440 BIST 핀
[발명을 실시하기 위한 최선의 형태]
이하, 발명의 실시 형태를 통해서 본 발명을 설명하지만, 이하의 실시 형태는 청구의 범위에 포함되는 발명을 한정하는 것이 아니고, 또한, 실시 형태 중에서 설명되는 특징의 조합 모두가 발명의 해결 수단에 필수라고는 할 수 없다.
도 1은 본 발명의 일 실시 형태에 관한 시험 장치(200)의 구성의 일례를 나타내는 도면이다. 시험 장치(200)는 반도체 회로 등의 피시험 디바이스(300)를 시험하는 장치로서, 시스템 제어 장치(110), 복수의 사이트 제어 장치(130), 스위칭부(140), 및 복수의 시험 모듈(100)을 구비한다.
시스템 제어 장치(110)는 시험 장치(200)가 피시험 디바이스(300)의 시험에 이용하는 시험 제어 프로그램, 시험 프로그램 데이터, 및 시험 패턴 데이터 등을 외부의 네트워크 등을 통해서 수신하여 격납한다. 복수의 사이트 제어 장치(130)는 통신 네트워크를 통해서 시스템 제어 장치(110)로 접속된다.
사이트 제어 장치(130a ~ c)는 어느 하나의 피시험 디바이스(300)의 시험을 제어한다. 예를 들어, 복수의 사이트 제어 장치(130)는, 복수의 피시험 디바이스(300)와 일대일로 대응하여 설치되고, 각각의 사이트 제어 장치(130)는 대응하는 피시험 디바이스(300)의 시험을 제어한다.
도 1에서는, 사이트 제어 장치(130a)는 피시험 디바이스(300a)의 시험을 제 어하고, 사이트 제어 장치(130b)는 피시험 디바이스(300b)의 시험을 제어한다. 이에 대신해, 복수의 사이트 제어 장치(130)는, 각각 복수의 피시험 디바이스(300)의 시험을 제어해도 된다.
더욱 구체적으로는, 사이트 제어 장치(130)는 시스템 제어 장치(110)로부터 시험 제어 프로그램을 취득하여 실행한다. 다음으로, 사이트 제어 장치(130)는, 시험 제어 프로그램에 기초하여 대응하는 피시험 디바이스(300)의 시험에 이용하는 시험 프로그램 데이터(예를 들어, 후술하는 시컨스 데이터) 및 시험 패턴 데이터(예를 들어, 후술하는 패턴 데이터)를 시스템 제어 장치(110)로부터 취득한다. 또한, 이하에서는 시험 프로그램 데이터 및 시험 패턴 데이터를, 시험 데이터 열로 총칭한다. 시험 데이터 열은, 시험 프로그램 데이터 및 시험 패턴 데이터 중 적어도 한쪽을 포함한 데이터이어도 된다.
또한, 사이트 제어 장치(130)는, 스위칭부(140)를 통해서 해당 피시험 디바이스(300)의 시험에 이용하는 하나 또는 복수의 시험 모듈(100) 등의 모듈에 격납한다. 다음으로, 사이트 제어 장치(130)는 시험 프로그램 데이터 및 시험 패턴 데이터에 기초하는 시험의 개시를 스위칭부(140)를 통해서 시험 모듈(100)에 지시한다. 그리고, 사이트 제어 장치(130)는 시험이 종료된 것을 나타내는 인터럽트 등을, 예를 들어, 시험 모듈(100)로부터 수신하여, 시험 결과에 기초하여 다음의 시험을 시험 모듈(100)에 수행하게 한다.
스위칭부(140)는 복수의 사이트 제어 장치(130)의 각각을 해당 사이트 제어 장치(130)가 제어하는 하나의 또는 복수의 시험 모듈(100)에 접속하여, 이러한 사 이의 통신을 중계한다. 여기서, 미리 정해진 하나의 사이트 제어 장치(130)는 시험 장치(200)의 사용자, 시험 제어 프로그램 등의 지시에 기초하여 복수의 사이트 제어 장치(130)의 각각을, 해당 사이트 제어 장치(130)가 피시험 디바이스(300)의 시험에 이용하는 하나 이상의 시험 모듈(100)에 접속시킬 수 있도록 스위칭부(140)를 설정하여도 된다.
예를 들어, 도 1에서는, 사이트 제어 장치(130a)는 복수의 시험 모듈(100a)에 접속하도록 설정되어 이들을 이용해 피시험 디바이스(300a)의 시험을 수행한다. 여기에서, 다른 사이트 제어 장치(130)가 시험 모듈(100)을 이용해 피시험 디바이스(300)를 시험하기 위한 구성 및 동작은, 사이트 제어 장치(130a)가 피시험 디바이스(300a)를 시험하기 위한 구성 및 동작과 실질적으로 동일하여도 된다. 이하에서는, 사이트 제어 장치(130a)가 피시험 디바이스(300a)를 시험하기 위한 구성 및 동작을 중심으로 설명한다.
시험 모듈(100a)은, 사이트 제어 장치(130a)의 지시에 기초하여, 피시험 디바이스(300a)의 시험에 이용하는 시험 신호를 생성해야 할 타이밍 신호를 생성한다. 또한, 어느 하나의 시험 모듈(100a)은 다른 시험 모듈(100a)에서의 시험 결과를 수신하여, 시험 결과의 양부에 대응한 시컨스를 복수의 시험 모듈(100a)에 실행시켜도 된다.
복수의 시험 모듈(100a)은, 피시험 디바이스(300a)가 가지는 복수의 단자의 일부 마다에 각각 접속되어 사이트 제어 장치(130a)에 의해 격납된 시컨스 데이터 및 패턴 데이터에 기초하여 피시험 디바이스(300a)의 시험을 수행한다. 피시험 디 바이스(300a)의 시험에 있어서, 시험 모듈(100a)은, 후술하는 패턴 리스트에 의해 지정된 시컨스 데이터 및 패턴 데이터에 기초하여, 패턴 데이터로부터 시험 신호를 생성하고, 해당 시험 모듈(100a)에 접속된 피시험 디바이스(300a)의 단자에 시험 신호를 공급한다.
다음으로, 시험 모듈(100a)은, 피시험 디바이스(300a)가 시험 신호에 기초하여 동작한 결과 출력하는 출력 신호를 취득하여 기대값과 비교한다. 여기에서, 복수의 시험 모듈(100a)은, 시컨스 데이터 및 패턴 데이터에 기초하여, 시험 신호의 사이클 주기를 동적으로 변화시킬 수 있도록, 다른 사이클 주기에 기초하여 시험 신호를 생성하여도 된다.
또한, 시험 모듈(100a)은, 시험 프로그램 데이터의 처리가 완료했을 경우, 시험 프로그램 데이터의 실행 중에 이상이 생겼을 경우 등에 있어서, 사이트 제어 장치(130a)에 대해서 인터럽트를 발생한다. 이 인터럽트는, 스위칭부(140)를 통해서 해당 시험 모듈(100a)에 대응하는 사이트 제어 장치(130a)에 통지되어 사이트 제어 장치(130a)가 가지는 프로세서에 의해 인터럽트 처리를 한다.
이상에 있어서, 시험 장치(200)는, 오픈 아키텍쳐에 의해 실현되어 오픈 아키텍쳐 규격을 만족하는 각종의 모듈을 사용할 수 있다. 그리고, 시험 장치(200)는, 시험 모듈(100) 등의 모듈을, 스위칭부(140)가 가지는 임의의 접속 슬롯에 삽입해 사용할 수 있다.
이 때, 시험 장치(200)의 사용자 등은, 예를 들어, 사이트 제어 장치(130a)를 통해서 스위칭부(140)의 접속 형태를 변경하여, 피시험 디바이스(300)의 시험에 이용하는 복수의 모듈을, 해당 피시험 디바이스(300)의 시험을 제어하는 사이트 제어 장치(130)에 접속시킬 수 있다. 이에 의해, 시험 장치(200)의 사용자는, 복수의 피시험 디바이스(300)의 각각의 단자의 수, 단자의 배치, 단자의 종류, 또는 시험의 종류 등에 따라 적절한 모듈을 선택하여, 시험 장치(200)에 실장할 수 있다.
또한, 시험 장치(200) 또는 시험 모듈(100)은, 시험 대상이 되는 피시험 회로와 함께 동일한 전자 디바이스에 설치된 시험 회로이어도 된다. 해당 시험 회로는, 전자 디바이스의 BIST 회로 등으로서 실현되어 피시험 회로를 시험함으로써 전자 디바이스의 진단 등을 실시한다. 이에 의해, 해당 시험 회로는, 피시험 회로로 되는 회로가 전자 디바이스가 본래 목적으로 하는 통상 동작을 수행할 수 있는지 여부를 체크할 수 있다.
또한, 시험 장치(200) 또는 시험 모듈(100)은, 시험 대상이 되는 피시험 회로와 동일한 보드 또는 동일한 장치 내에 설치된 시험 회로이어도 된다. 이러한 시험 회로도, 상술한 바와 같이, 피시험 회로가 본래 목적으로 하는 통상 동작을 실시할 수 있는지 여부를 체크할 수 있다.
도 2는 시험 모듈(100)의 구성의 일례를 나타내는 도면이다. 시험 모듈(100)은, 채널 제어부(10) 및 복수의 채널 회로(50)를 가진다. 본 예에서는, 하나의 채널 회로(50)의 기능 및 구성을 설명하지만, 다른 채널 회로(50)도 동일한 기능 및 구성을 가져도 된다.
각각의 채널 회로(50)는 피시험 디바이스(300)의 대응하는 입출력 핀에 접속되어 해당 입출력 핀에 시험 신호를 공급해도 된다. 또한, 각각의 채널 회로(50) 는 해당 입출력 핀으로부터의 출력 신호를 측정해도 된다. 또한, 피시험 디바이스(300)의 입출력 핀은, 입력 핀 또는 출력 핀의 하나이어도 된다.
채널 제어부(10)는 각각의 채널 회로(50)를 제어한다. 예를 들어, 채널 제어부(10)는, 각각의 채널 회로(50)를 제어하여 시험 신호를 생성시킨다. 또한, 채널 제어부(10)는 각각의 채널 회로(50)를 제어하여 피시험 디바이스(300)의 출력 신호를 측정시킨다.
또한, 채널 제어부(10)는, 어느 하나의 채널 회로(50)에서의 측정 결과에 기초하여, 다른 채널 회로(50)를 제어하여도 된다. 예를 들어, 어느 하나의 채널 회로(50)에서의 측정 결과가 소정의 조건을 만족할 때까지, 다른 적어도 하나의 채널 회로(50)에 소정의 동작을 반복해 실시하게 하여 측정 결과가 소정의 조건을 만족하였을 경우에, 해당 다른 채널 회로(50)에, 다음에 실시해야 할 동작을 실시하게 하여도 된다.
채널 제어부(10)는, 인터페이스부(12), 패턴 리스트 메모리(14), 결과 메모리(16), 패턴 발생 제어부(20), 메인 메모리(40), 레이트 발생부(30), 및 패턴 발생부(70)를 가진다. 인터페이스부(12)는 사이트 제어 장치(130)와 시험 모듈(100)의 사이에 데이터를 주고 받는다.
메인 메모리(40)는, 복수 종류의 시컨스 데이터와 시컨스 데이터에 대응하는 패턴 데이터를 격납한다. 메인 메모리(40)는, 사이트 제어 장치(130)로부터 주어지는 시컨스 데이터 및 패턴 데이터를, 피시험 디바이스(300)의 시험 전에 미리 격납해도 된다. 또한, 메인 메모리(40)는, 시컨스 데이터 및 패턴 데이터를 압축하 여 격납해도 된다.
예를 들어, 사이트 제어 장치(130)는, 시컨스 데이터, 패턴 데이터 및 이러한 데이터를 메인 메모리(40)의 지정 어드레스에 격납해야 할 명령을 인터페이스부(12)에 입력하여도 된다. 패턴 발생 제어부(20)는, 인터페이스부(12)가 수취한 명령에 따라 이러한 데이터를 메인 메모리(40)에 격납한다.
시컨스 데이터는, 예를 들어, 순차적으로 실행해야 할 명령군을 나타내는 데이터이어도 좋다. 여기서, 시컨스 데이터에서의 하나의 명령이, 시험 데이터에 대응하여도 되고, 복수의 명령이 시험 데이터에 대응하여도 된다.
패턴 데이터는, 예를 들어, 논리값 패턴을 나타내는 데이터이어도, 복수의 명령과 일대일로 대응되어 격납되어도 좋다. 예를 들어, 시컨스 데이터는 각각의 패턴 데이터를 소정의 순서로 출력시킴으로써, 시험 패턴을 생성시키는 명령군이어도 된다. 여기서, 패턴 데이터에서, 하나의 명령에 대한 데이터가 시험 데이터에 대응하여도 되고, 복수의 명령에 대한 데이터가 시험 데이터에 대응하여도 된다.
이 때, 시컨스 데이터는, 각각의 패턴 데이터를 복수 회 이용하여, 시험 패턴을 생성해도 된다. 예를 들어, 시컨스 데이터는, 루프 명령, 점프 명령 등을 포함해도 된다. 채널 제어부(10)가 이러한 시컨스 데이터를 실행함으로써, 대응하는 패턴 데이터를 전개하여, 시컨스 데이터 및 패턴 데이터에 따른 시험 신호를 생성할 수 있다. 메인 메모리(40)가 격납하는 시컨스 데이터 및 패턴 데이터의 일례는, 도 3에서 후술한다.
패턴 리스트 메모리(14)는, 메인 메모리(40)가 격납한 시컨스 데이터를 실행 해야 할 순서를 나타내는 패턴 리스트를 격납한다. 예를 들어, 패턴 리스트 메모리(14)는, 실행해야 할 시컨스 데이터의 메인 메모리(40)에서의 어드레스를 순차적으로 지정하는 패턴 리스트를 격납해도 된다. 패턴 리스트 메모리(14)는, 메인 메모리(40)와 마찬가지로, 사이트 제어 장치(130)로부터 주어지는 패턴 리스트를, 피시험 디바이스(300)의 시험 전에 미리 격납해도 된다. 패턴 리스트는, 상술한 시험 제어 프로그램의 일례이어도 되며, 시험 제어 프로그램의 일부이어도 된다.
패턴 발생 제어부(20)는 피시험 디바이스(300)의 시험을 개시하는 경우에, 패턴 리스트 메모리(14)로부터 패턴 리스트를 독출한다. 예를 들어, 사이트 제어 장치(130)로부터 시험을 개시하는 취지의 명령을 받았을 경우에, 패턴 발생 제어부(20)는 패턴 리스트 메모리(14)로부터 패턴 리스트를 독출하여도 된다.
패턴 발생 제어부(20)는, 메인 메모리(40)가 격납한 시컨스 데이터 및 대응하는 패턴 데이터를, 패턴 리스트에 기초하는 순서로 독출한다. 패턴 발생 제어부(20)는, 독출한 시컨스 데이터를 패턴 발생부(70)의 벡터 발생부(80)에 송신한다. 또한, 패턴 발생 제어부(20)는, 독출한 패턴 데이터를 패턴 발생부(70)의 패턴 캐시 메모리(90)에 송신한다.
패턴 발생 제어부(20)는 후단의 회로의 캐시 메모리, FIFO 등에 소정의 빈 영역이 생겼을 경우에 다음의 시컨스 데이터 및 패턴 데이터를 독출하여 송신해도 된다. 이 경우, 패턴 발생 제어부(20)는, 시컨스 데이터 및 패턴 데이터를 격납해야 할 모든 캐시 메모리, FIFO 등에, 소정의 빈 영역이 생긴 것을 조건으로 다음의 시컨스 데이터 및 패턴 데이터를 독출하여, 이러한 캐시 메모리, FIFO 등에 송신해 도 된다.
패턴 발생부(70)는, 패턴 발생 제어부(20)로부터 순차적으로 수취하는 시컨스 데이터 및 패턴 데이터에 기초하여, 시험 패턴을 순차적으로 생성한다. 본 예의 패턴 발생부(70)는, 벡터 발생부(80) 및 패턴 캐시 메모리(90)를 가진다.
상술한 바와 같이, 벡터 발생부(80)는, 패턴 발생 제어부(20)로부터 시컨스 데이터를 수취한다. 벡터 발생부(80)는, 수취한 시컨스 데이터를 소정의 캐시 메모리 엔트리(이하, 엔트리라 한다)에 격납하는 시컨스 캐시 메모리를 가져도 된다. 패턴 캐시 메모리(90)는 패턴 발생 제어부(20)로부터 패턴 데이터를 수취하여, 소정의 어드레스에 격납한다. 엔트리란, 예를 들어, 하나 또는 복수의 어드레스로 지정되는 기억영역이어도 된다.
벡터 발생부(80)는, 시컨스 캐시 메모리에 격납한 시컨스 데이터를 순차적으로 실행하여, 패턴 캐시 메모리(90)의 어드레스를 순차적으로 지정한다. 예를 들어, 시컨스 데이터의 각 명령에는, 해당 명령에 따라 지정해야 할 패턴 데이터의 어드레스가 대응되어도 된다. 그리고, 벡터 발생부(80)는, 시컨스 데이터에 포함되는 루프 명령, 점프 명령 등에 따라 패턴 캐시 메모리(90)의 어드레스를 순차적으로 지정한다.
패턴 캐시 메모리(90)는, 순차적으로 지정되는 어드레스의 패턴 데이터를 출력한다. 이러한 구성에 의해, 시컨스 데이터 및 패턴 데이터에 따른 논리 패턴을 가지는 시험 패턴을 생성할 수 있다. 또한, 시컨스 캐시 메모리 및 패턴 캐시 메모리(90)는, 시컨스 데이터의 실행이 종료했을 경우에 해당 시컨스 데이터 및 대응 하는 패턴 데이터의 기억 영역을 개방하여도 좋다. 시컨스 데이터는, 명령군의 말미에 시컨스 데이터의 종료를 나타내는 종료 명령을 가져도 된다.
각각의 채널 회로(50)는, 패턴 발생부가 출력하는 시험 패턴에 기초하여 시험 신호를 성형하고, 피시험 디바이스(300)에 입력한다. 또한, 피시험 디바이스(300)의 출력 신호를 측정한다. 채널 회로(50)는, 파형 성형부(52), 드라이버(54), 타이밍 발생부(56), 콤퍼레이터(58), 타이밍 비교부(60), 판정부(62) 및 캡쳐 메모리(64)를 가진다.
파형 성형부(52)는 패턴 발생부(70)가 생성한 시험 패턴에 기초하여 시험 신호를 성형한다. 예를 들어, 파형 성형부(52)는 해당 시험 패턴에 따른 논리 패턴을 가지는 시험 신호를 생성해도 된다. 또한, 파형 성형부(52)는 주어지는 타이밍 신호에 따라 시험 신호를 생성해도 된다. 예를 들어, 파형 성형부(52)는, 주어지는 타이밍 신호에 따라 논리값이 천이하는 시험 신호를 생성해도 된다.
드라이버(54)는 파형 성형부(52)가 생성한 시험 신호를 피시험 디바이스(300)에 입력한다. 드라이버(54)는, 파형 성형부(52)가 생성한 시험 신호가 H 논리를 나타낼 때 소정의 H 레벨의 전압을 출력하고, 시험 신호가 L 논리를 나타낼 때 소정의 L 레벨의 전압을 출력함으로써, 시험 신호의 전압 레벨을, 피시험 디바이스(300)에 입력해야 할 신호 레벨로 변환해도 된다.
콤퍼레이터(58)는, 피시험 디바이스(300)의 출력 신호를 수취하여, 출력 신호의 전압 레벨과 미리 설정된 참조 레벨을 비교함으로써, 출력 신호를 2치의 논리 신호로 변환해도 된다. 예를 들어, 콤퍼레이터(58)는 출력 신호의 전압 레벨이 참 조 레벨보다 큰 경우에 H 논리를 출력하고, 출력 신호의 전압 레벨이 참조 레벨 이하인 경우에 L 논리를 출력해도 된다.
타이밍 비교부(60)는, 주어지는 스트로브 신호에 따라, 콤퍼레이터(58)가 출력하는 신호의 논리값을 취득한다. 이에 의해, 출력 신호의 논리 패턴을 검출할 수 있다.
타이밍 발생부(56)는, 미리 주어지는 타이밍 세트의 설정값에 따라, 상술한 타이밍 신호 및 스트로브 신호를 생성한다. 예를 들어, 타이밍 발생부(56)는, 레이트 발생부(30)로부터 타이밍 세트에 따른 주기로 주어지는 레이트 신호를, 주어지는 타이밍 세트에 따른 지연량으로 지연시킨 타이밍 신호 및 스트로브 신호를 생성해도 된다.
타이밍 세트는, 예를 들어, 하나의 시컨스 데이터를 실행할 때마다, 레이트 발생부(30) 및 타이밍 발생부(56)에게 줄 수 있어도 좋다. 예를 들어, 메인 메모리(40)는, 해당 시컨스 데이터에 대응하는 패턴 데이터의 일부에, 타이밍 세트의 데이터를 포함해도 좋다. 패턴 발생부(70)는, 각각의 시컨스 데이터를 실행할 때마다 해당 시컨스 데이터에 대응하는 타이밍 세트를, 레이트 발생부(30) 및 타이밍 발생부(56)에 설정해도 좋다.
판정부(62)는, 타이밍 비교부(60)가 검출한 논리 패턴과 기대값 패턴을 비교한다. 이에 의해, 피시험 디바이스(300)의 양부를 판정할 수 있다. 기대값 패턴은, 패턴 발생부(70)가 생성해도 된다. 예를 들어, 기대값 패턴은, 패턴 발생부(70)가 생성하는 시험 패턴에 포함되는 피시험 디바이스(300)에 입력되는 시험 신호의 논리 패턴과 동일하여도 된다. 이에 더하여, 판정부(62)는, 일례로서, 타이밍 비교부(60)가 검출한 논리 패턴과 기대값이 일치하는지 여부지를 검출해도 된다. 이에 의해, 판정부(62)는, 피시험 디바이스(300)의 출력 신호가 미리 지정한 값과 일치하는 것을 검출할 수 있다. 판정부(62)는, 피시험 디바이스(300)의 출력 신호가 미리 지정한 값과 일치한 것을 나타내는 매치 신호를 패턴 발생부(70)에 공급해도 된다.
캡쳐 메모리(64)는, 판정부(62)에서의 판정 결과를 격납한다. 예를 들어, 캡쳐 메모리(64)는, 판정부(62)에서의 패스(일치) 및 페일(불일치)의 판정 결과를 시험 패턴마다 격납해도 된다. 또한, 캡쳐 메모리(64)는, 판정부(62)에서의 페일의 판정 결과를 선택하여 격납해도 된다.
또한, 채널 제어부(10)의 결과 메모리(16)는, 각각의 채널 회로(50)의 판정부(62)에서의 판정 결과를 격납한다. 결과 메모리(16)는, 각각의 판정부(62)에서의 패스(일치) 및 페일(불일치)의 판정 결과를, 시험 패턴마다 각각의 채널에 대응시켜어 격납해도 된다. 또한, 결과 메모리(16)는, 각각의 판정부(62)에서의 페일의 판정 결과를 선택하여 격납해도 된다.
상술한 바와 같이, 캡쳐 메모리(64)는, 시험 패턴마다의 페일 정보를 채널 회로(50)마다 격납해도 된다. 이에 대해, 결과 메모리(16)는, 패턴 리스트 메모리(14)에 격납된 시컨스 데이터마다의 페일 정보를, 예를 들어, 피시험 디바이스(300)마다 격납해도 된다.
도 3은 패턴 리스트 메모리(14)가 격납하는 패턴 리스트, 메인 메모리(40)가 격납하는 시컨스 데이터, 및 패턴 데이터의 일례를 설명하는 도면이다. 상술한 바와 같이, 메인 메모리(40)는, 복수의 시컨스 데이터(시컨스 데이터 1, 시컨스 데이터 2,···)와 각각 대응하는 패턴 데이터를 격납한다.
상술한 바와 같이, 시컨스 데이터는 복수의 명령을 포함한다. 패턴 발생부(70)는, 각각의 명령을 실행했을 경우에, 해당 명령에 대응하는 패턴 데이터를 출력해도 된다. 예를 들어, 시컨스 데이터는, 대응하는 패턴 데이터를 출력하고 다음의 명령으로 이행하는 NOP 명령, 대응하는 패턴 데이터를 출력하고 다시 소정의 어드레스의 명령으로 점프하는 JMP 명령, 대응하는 패턴 데이터를 출력하고 다시 지정된 어드레스 범위의 명령을 소정의 회수만큼 반복하는 LOOP 명령 등을 포함해도 된다.
이러한 명령군을 실행함으로써, 각각의 패턴 데이터를 시컨스 데이터에 따른 순서로 출력하고, 소정의 시험 패턴을 생성한다. 예를 들어, 시컨스 데이터 2를 실행했을 경우, 패턴 발생부(70)는, 패턴 데이터 A를 출력한 후, 패턴 데이터 B로부터 패턴 데이터 C까지를, LOOP 명령으로 지정되는 회수만큼 반복하여 출력한다.
또한, 메인 메모리(40)는, 복수의 채널 회로(50)에 공통되어, 시컨스 데이터를 격납해도 된다. 또한, 메인 메모리(40)는, 각각의 채널 회로(50)에 대해서 패턴 데이터를 격납해도 된다. 예를 들어, 시컨스 데이터의 각각의 명령에 대해서, 복수의 채널 회로(50)에 대응하는 패턴 데이터를 격납해도 된다. 도 3의 예에서는, 메인 메모리(40)는, 각 채널 회로(50)에 대응하는 패턴 데이터를, 각각의 어드레스가 다른 비트 위치에 격납한다.
패턴 리스트 메모리(14)는, 실행해야 할 시컨스 데이터의 순서를 격납한다. 도 3에 도시된 예에서는, 패턴 리스트 메모리(14)는, 시컨스 데이터 2, 시컨스 데이터 1,···을 순서대로 지정하는 패턴 리스트를 격납한다.
또한, 도 2에 도시된 예에서는, 시컨스 데이터 및 패턴 데이터를 격납하는 메인 메모리(40)를 채널 제어부(10)에 설치하고 있다. 이에 대해 다른 예에서는, 시컨스 데이터를 격납하는 메인 메모리(40)를 채널 제어부(10)에 설치하고, 각각의 채널 회로(50)의 패턴 데이터를 격납하는 메모리를, 각각의 채널 회로(50)에 설치해도 된다.
이 경우, 각각의 채널 회로(50)에 패턴 캐시 메모리(90)를 마련해도 된다. 그리고, 벡터 발생부(80)가 순차적으로 지정하는 어드레스를, 각각의 채널 회로(50)에 설치한 패턴 캐시 메모리(90)에 분배해도 된다.
도 4는 본 실시 형태에 관한 패턴 발생부(70)의 구성의 일례를, 메인 메모리(40) 및 패턴 발생 제어부(20)와 함께 나타내는 도면이다. 벡터 발생부(80)는, 1차 캐시(312)와, 전개부(314)와, 명령 캐시(316)와, 명령 실행부(318)를 포함한다.
메인 메모리(40)는, 상술한 바와 같이, 피시험 디바이스(300)를 시험하기 위한 시험 시컨스를 정하는 시험 명령열(시컨스 데이터)을 기억한다. 메인 메모리(40)는, 시컨스 데이터를 압축 형식으로 기억한다. 더하여, 메인 메모리(40)는, 압축 전의 시컨스 데이터에 포함되는 각 명령에 대응되는 시험 패턴을 포함한 시험 패턴열(패턴 데이터)을 기억한다.
벡터 발생부(80)에 포함되는 1차 캐시(312)는, 시컨스 데이터를 압축 형식으로 기억한다. 1차 캐시(312)는, 본 발명과 관련되는 패턴 메모리의 일례이다. 패턴 캐시 메모리(90)는, 패턴 데이터를 기억한다.
패턴 발생 제어부(20)는, 메인 메모리(40)에 기억된 시컨스 데이터를 패턴 리스트의 기술에 따라 독출하여, 1차 캐시(312)에 기입한다. 패턴 발생 제어부(20)는, 메인 메모리(40)에 기억된 패턴 데이터를 패턴 리스트의 기술에 따라 독출하여, 패턴 캐시 메모리(90)에 기입한다.
전개부(314)는, 1차 캐시(312)로부터 시컨스 데이터를 독출하여, 명령 캐시(316)에 기입한다. 이 경우에 있어서, 전개부(314)는, 1차 캐시(312)로부터 독출된 압축 형식의 시컨스 데이터를 비압축 형식에 전개한다.
명령 캐시(316)는, 전개부(314)에 의해 1차 캐시(312)로부터 독출되어, 비압축 형식에 전개된 시컨스 데이터를 캐싱한다. 명령 캐시(316)에 의해 캐싱되는 시컨스 데이터에 포함되는 각 명령은, 패턴 캐시 메모리(90)에 의해 기억되는 패턴 데이터에 포함되는 시험 패턴에 대응된다.
명령 실행부(318)는, 명령 캐시(316)에 기억된 시컨스 데이터에 포함되는 명령을 순차적으로 독출하여 실행한다. 여기에서, 시컨스 데이터에 포함되는 각 명령에는, 해당 시컨스 데이터 중에서의, 해당 명령의 위치를 나타내는 오프셋이 할당된다. 명령 실행부(318)는, 명령을 실행하고, 실행한 해당 명령에 따라 정해지는 다음에 실행해야 할 명령의 오프셋을 특정하고, 특정한 오프셋의 명령을 명령 캐시(316)으로부터 독출하고, 독출한 명령을 실행하는 처리를 반복한다. 이에 의 해, 명령 실행부(318)에 의하면, 해당 시컨스 데이터에 의해 정해진 시험 시컨스를 실행할 수 있다.
더욱이, 명령 실행부(318)는, 명령을 실행했을 경우, 해당 명령에 할당된 오프셋을, 해당 명령에 대응한 시험 패턴을 지정하는 벡터 어드레스로 변환한다. 명령 실행부(318)는, 해당 벡터 어드레스를 패턴 캐시 메모리(90)에게 주어, 패턴 캐시 메모리(90)에서 실행한 명령에 대응하는 시험 패턴을 출력시킨다. 패턴 캐시 메모리(90)는, 시험 패턴을 채널 회로(50)에 공급한다. 그리고, 채널 회로(50)는, 공급된 시험 패턴에 따른 시험 신호를 생성하여, 피시험 디바이스(300)에 공급한다. 채널 회로(50)는, 본 발명에 관한 신호 출력부의 일례이다. 패턴 캐시 메모리(90)는, 일례로서, 시험 패턴을 파형 성형부(52), 타이밍 발생부(56) 및 판정부(62)에 공급한다.
또한, 시컨스 데이터에 포함되는 각 명령에는, 대응하는 해당 시험 패턴을 출력하기 위한 타이밍의 그룹을 지정하는 타이밍 세트 정보(TS)가 대응된다. 명령 실행부(318)는, 명령을 실행했을 경우, 해당 명령에 대응된 타이밍 세트 정보를, 패턴 캐시 메모리(90)에서 출력하는 시험 패턴에 대응시켜, 해당 패턴 캐시 메모리(90)에서 레이트 발생부(30) 및 타이밍 발생부(56)에 출력시킨다.
본 실시 형태에 있어서, 명령 실행부(318)는, 오프셋 레지스터(330)와, 벡터 생성 제어부(332)와, 패턴 발생부(334)와, 매치 신호 입력부(336)와, 스택(340)을 포함한다. 오프셋 레지스터(330)는, 벡터 생성 제어부(332)에 의해 다음에 실행되는 명령 및 대응하는 시험 패턴의 오프셋을 기억한다.
벡터 생성 제어부(332)는, 명령 캐시(316)에 격납된 명령을 순차적으로 독출하여 실행한다. 보다 구체적으로는, 벡터 생성 제어부(332)는, 오프셋 레지스터(330)에 의해 지정된 오프셋의 명령을, 명령 캐시(316)로부터 독출하여 실행한다. 더욱이, 벡터 생성 제어부(332)는, 실행한 명령에 따라, 오프셋 레지스터(330)의 값을 갱신한다. 더욱 구체적으로는, 벡터 생성 제어부(332)는, 순차적으로 실행되는 각 명령을 실행할 때마다 오프셋 레지스터(330)의 값을 인크리먼트한다. 또한, 벡터 생성 제어부(332)는, 분기 명령을 실행하는 경우에 분기처의 명령의 오프셋을, 오프셋 레지스터(330)에 로드한다.
또한, 벡터 생성 제어부(332)는, 일례로서, 오프셋 레지스터(330)에 기억된 오프셋을, 클록 사이클에 동기시켜 명령 캐시(316)에게 주는 것으로, 명령을 독출하여도 된다. 또한, 벡터 생성 제어부(332)가, 예를 들어, 클록 사이클과 비동기로 명령을 독출하는 경우, 명령 캐시(316)는, 벡터 생성 제어부(332)를 통하여 오프셋 레지스터(330)로부터 오프셋이 주어져도 된다.
패턴 발생부(334)는, 오프셋 레지스터(330)에 기억된 오프셋에 대응하는 시험 패턴을 출력한다. 더욱 구체적으로는, 패턴 발생부(334)는, 오프셋 레지스터(330)에 기억된 오프셋을 벡터 어드레스로 변환하여, 패턴 캐시 메모리(90)에게 준다.
매치 신호 입력부(336)는, 타이밍 비교부(60)에 의해 출력된, 피시험 디바이스(300)의 출력 신호가 미리 지정한 값과 일치한 것을 나타내는 매치 신호를 입력한다. 그리고, 매치 신호 입력부(336)는, 입력한 매치 신호를, 예를 들어, 벡터 생성 제어부(332)에 의해 독출가능한 레지스터에 격납한다.
스택(340)은, 1 이상의 명령을 포함한 루프 구간을 반복하여 실행하는 경우에 있어서, 해당 루프 구간을 실행해야 할 반복 회수를 격납한다. 여기에서, 스택(340)은, 복수의 반복 회수를 격납할 수 있다. 스택(340)은, 최후에 입력(푸시) 한 반복 회수를 선두에 격납하고, 최후에 입력한 반복 회수로부터 순서대로 취출(팝)된다.
도 5는 압축 전의 시컨스 데이터(시험 명령열)의 일례를 나타내는 도면이다. 압축 전의 시컨스 데이터에는, 일례로서, NOP(No Operation) 명령, 점프 명령(JMP 명령), 반복 명령(IDXI 명령), 종료 명령(EXIT 명령) 등이 포함되어도 된다.
NOP 명령은, 시험 시컨스의 변경 및 해당 시험 장치(200) 내의 레지스터 값의 명시적인 변경을 수반하지 않는 명령이다. 명령 실행부(318)는, NOP 명령을 실행했을 경우, 해당 NOP 명령의 다음의 오프셋이 할당된 명령을 다음에 실행해야 할 명령으로 특정한다.
점프 명령(JMP 명령)은, 지정된 조건에 일치하지 않는 경우(또는 일치하는 경우), 해당 JMP 명령보다 전의 실행 끝난 명령을, 다음에 실행해야 할 명령으로서 특정시킨다. 이것에 의해, 명령 실행부(318)는, 처리를 다시 실행이 끝난 명령으로 되돌리고, 해당 실행이 끝난 명령으로부터 해당 JMP 명령까지의 처리를 반복할 수 있다. 더욱이, JMP 명령은, 지정된 조건에 일치했을 경우(또는 일치하지 않는 경우), 해당 JMP 명령의 다음의 오프셋이 할당된 명령을, 다음에 실행해야 할 명령으로서 특정시킨다. 이에 의해, 명령 실행부(318)는, 루프 처리를 벗어나, 처리를 다음의 명령으로 진행할 수 있다.
반복 명령(IDXI 명령)은, 대응하는 패턴 데이터를 지정한 회수만큼 반복하여 출력시키는 명령이다. 명령 실행부(318)는, IDXI 명령을 실행했을 경우, 해당 IDXI 명령을 실행하고 나서 지정된 사이클을 카운트할 때까지의 사이에서는 다음의 명령으로 처리를 옮기지 않는다. 그리고, 명령 실행부(318)는, IDXI 명령을 실행했을 경우, 지정된 사이클이 경과한 후에, 해당 IDXI 명령의 다음의 오프셋이 할당된 명령을, 다음에 실행해야 할 명령으로 특정한다.
종료 명령(EXIT 명령)은, 시컨스 데이터의 실행을 종료시키는 명령이다. 명령 실행부(318)는, EXIT 명령을 실행했을 경우, 다음에 실행해야 할 명령을 특정하지 않고, 해당 시컨스 데이터의 실행을 종료한다. 그리고, 명령 실행부(318)는, EXIT 명령을 실행하면, 다음에 실행해야 할 다른 시컨스 데이터로 처리를 옮긴다.
도 6은 압축 전의 시컨스 데이터, NOP 명령을 삭제한 압축 형식의 시컨스 데이터 및 압축 형식의 시컨스 데이터를 전개한 시컨스 데이터의 일례를 나타내는 도면이다. 메인 메모리(40) 및 1차 캐시(312)는, 압축 형식의 시컨스 데이터를 기억한다. 압축 형식의 시컨스 데이터는, 시험 시컨스를 정하기 위한 모든 명령이 기술된 시컨스 데이터보다도 데이터량이 적다.
메인 메모리(40) 및 1차 캐시(312)는, 일례로서, 시컨스 데이터에서의, 미리 정해진 종류의 명령을 압축하는 압축 형식으로 기억해도 된다. 미리 정해진 종류의 명령은, 일례로서, NOP 명령이어도 된다. 메인 메모리(40) 및 1차 캐시(312)는, 일례로서, NOP 명령을 삭제한 압축 형식에 의해, 시컨스 데이터에 포함되는 압 축 대상이 아닌 각 명령을 기억해도 된다. 즉, 메인 메모리(40) 및 1차 캐시(312)는, IDXI 명령, JMP 명령, EXIT 명령 등의 NOP 이외의 명령을 포함한 시컨스 데이터를 기억해도 된다.
더욱이, 메인 메모리(40) 및 1차 캐시(312)는, 압축 대상이 아닌 각 명령에 대응하여, 각 명령에 대응하는 시험 패턴의 오프셋을 기억한다. 즉, 메인 메모리(40) 및 1차 캐시(312)는, 압축 대상이 아닌 각 명령(NOP 명령 이외의 각 명령)에 대응하여, 각 명령이 압축되어 있지 않은 상태에서 할당된 오프셋을 기억한다.
전개부(314)는, 1차 캐시(312)로부터 독출된 시컨스 데이터를 비압축 형식으로 전개한다. 미리 정해진 종류의 명령을 압축하는 압축 형식으로 1차 캐시(312)에 시컨스 데이터가 기억되고 있는 경우, 전개부(314)는, 1차 캐시(312)로부터 독출된 시컨스 데이터에서 압축된 미리 정해진 종류의 명령을 전개하여 비압축 형식으로 하고, 명령 캐시(316)에 기입한다.
예를 들어, NOP를 삭제한 압축 형식으로 1차 캐시(312)에 시컨스 데이터가 기억되고 있는 경우이면, 전개부(314)는, NOP 명령을 재생하고, NOP 명령을 포함한 비압축 형식의 시컨스 데이터를 명령 캐시(316)에 기입한다. 보다 구체적으로는, 전개부(314)는, 1차 캐시(312)로부터 독출한 시컨스 데이터에서의 제1 명령의 오프셋과 1차 캐시(312) 중에서 제1 명령의 다음에 기억된 제2 명령의 오프셋이 연속 하지 않는 경우에 있어서, 제1 명령의 다음의 오프셋으로부터 제2 명령의 전의 오프셋까지의 각 오프셋에 대응하여 NOP 명령을 재생한다.
예를 들어, 도 6에 도시된 바와 같이, 4번째 이전의 오프셋의 명령이 모두 NOP 명령이고, 또한, 5번째의 오프셋의 IDXI 명령과 9번째의 오프셋의 JMP 명령의 사이의 명령이 모두 NOP 명령이었다고 한다. 즉, 메인 메모리(40) 및 1차 캐시(312)에 격납되는 시컨스 데이터는, 5번째의 오프셋의 IDXI 명령과 9번째의 오프셋의 JMP 명령을 포함하고, 1 ~ 4번째, 6번째 ~ 8번째의 NOP 명령이 삭제된다.
이 경우, 전개부(314)는, 1 ~ 4번째의 오프셋의 NOP 명령 및 5번째 ~ 9번째의 NOP 명령을 재생한다. 이에 의해, 전개부(314)에 의하면, 압축 형식의 시컨스 데이터를, 명령 실행부(318)에 의해 실행할 수 있는 비압축 형식의 시컨스 데이터로 변환할 수 있다.
이상과 같이 패턴 발생부(70)에 의하면, 데이터량이 작은 압축 형식의 시컨스 데이터를 메인 메모리(40) 및 1차 캐시(312)에 격납할 수 있다. 이에 의해, 패턴 발생부(70)에 의하면, 메인 메모리(40) 및 1차 캐시(312)의 용량을 작게 할 수 있다.
또한, 본 실시 형태에 있어서, 전개부(314)는, 삭제된 NOP 명령을 재생하는 경우, 해당 NOP 명령을, NOP 명령과 같은 내용의 명령인 ENOP 명령에 치환하여, 명령 캐시(316)에 기입한다. 또한, 본 실시 형태에 있어서, 전개부(314)는, 1차 캐시(312)로부터 IDXI 명령을 독출한 경우, 해당 IDXI 명령과 같은 내용의 명령인 EIDXI 명령에 치환하여, 명령 캐시(316)에 기입한다. 또한, 본 실시 형태에 있어서, 전개부(314)는, 1차 캐시(312)로부터 JMP 명령을 독출한 경우, 해당 JMP 명령과 같은 내용의 명령인 EJMP 명령에 치환하여, 명령 캐시(316)에 기입한다.
도 7은 매치 제어 명령(JFF 명령)을 포함한 시컨스 데이터의 일례를 나타내 는 도면이다. 압축 전의 시컨스 데이터는, 일례로서 도 7의 A에 도시된 바와 같이, 적어도 1개의 연속한 NOP 명령(순차 실행 구간)과 해당 순차 실행 구간의 다음에 위치하는 매치 제어 명령(JFF 명령)을 포함해도 된다.
JFF 명령은, 순차 실행 구간에 포함되는 각 NOP 명령 및 해당 JFF 명령(루프 구간의 각 명령)의 실행 중에 있어서, 피시험 디바이스(300)의 출력 신호가 미리 지정한 값과 일치하지 않는 것을 조건으로 해당 순차 실행 구간의 선두의 NOP 명령으로 제어를 분기시킨다. 또한, JFF 명령은, 루프 구간의 각 명령의 실행 중에 있어서, 피시험 디바이스(300)의 출력 신호가 미리 지정한 값과 일치한 것을 조건으로 해당 JFF 명령의 다음의 오프셋의 명령으로 제어를 옮긴다.
JFF 명령은, 일례로서, 루프 구간의 각 명령의 실행 중에 매치 신호 입력부(336)가 매치 신호를 입력하지 않았던 것을 조건으로, 루프 구간의 선두의 NOP 명령으로 분기해도 된다. 또한, JFF 명령은, 일례로서, 루프 구간의 각 명령의 실행 중에 매치 신호 입력부(336)가 매치 신호를 입력한 것을 조건으로, 해당 JFF 명령의 다음의 명령으로 제어를 옮겨도 된다. 이러한 JFF 명령에 의하면, 피시험 디바이스(300)로부터 미리 정해진 출력 신호가 출력될 때까지, 루프 구간에서 시험의 실행을 대기시키고, 피시험 디바이스(300)로부터 미리 정해진 출력 신호가 출력된 것을 조건으로, 시험을 재개시킬 수 있다.
또한, 도 7의 B에 도시된 바와 같이, JFF 명령은, 분기처의 명령(루프 구간의 각 명령)을 지정하는 값을, 오퍼랜드(operand)로서 포함한다. 압축 형식의 시컨스 데이터에 포함되는 JFF 명령의 오퍼랜드는, 해당 JFF 명령과 분기처의 명령 (루프 구간의 선두의 NOP 명령)과의 오프셋의 차이로 나타내어지고 있다. 즉, JFF 명령의 오퍼랜드는, 해당 JFF 명령에 대한, 분기처의 명령(루프 구간의 선두의 NOP 명령)의 상대 오프셋에 의해 나타내어진다.
전개부(314)는, 1차 캐시(312)로부터 JFF 명령을 독출한 경우, 도 7의 C에 도시된 바와 같이, 해당 JFF 명령을, 전방향 분기 명령(EMTAIL 명령)으로 치환하고, 명령 캐시(316)에 캐싱시킨다. EMTAIL 명령은, 해당 EMTAIL 명령의 실행시에 있어서, 피시험 디바이스(300)의 출력 신호가 미리 지정한 값과 일치하지 않는 것을 조건으로, 루프 구간의 선두의 명령으로 제어를 분기시킨다. 또한, EMTAIL 명령은, 해당 EMTAIL 명령의 실행시에 있어서, 피시험 디바이스(300)의 출력 신호가 미리 지정한 값과 일치한 것을 조건으로, 해당 EMTAIL 명령의 다음의 오프셋의 명령으로 제어를 옮긴다.
EMTAIL 명령은, 분기처의 명령(루프 구간의 선두의 명령)을 지정하는 값을, 오퍼랜드로서 포함한다. 비압축 형식의 시컨스 데이터에 포함되는 EMTAIL 명령의 오퍼랜드는, 분기처의 명령(루프 구간의 선두의 명령)의 절대 오프셋으로 나타내어지고 있다. 즉, EMTAIL 명령의 오퍼랜드는, 분기처의 명령(루프 구간의 선두의 명령)의, 시컨스 데이터 안의 절대 위치에 의해 나타내진다. 거기에서, 전개부(314)는, 1차 캐시(312)로부터 독출된 JFF 명령에의 분기처의 상대 오프셋을, 절대 오프셋으로 변환하여 명령 캐시(316)에 캐싱시킨다.
그리고, 벡터 생성 제어부(332)는, EMTAIL 명령의 실행에 있어서, 피시험 디바이스(300)의 출력 신호가 미리 지정한 값과 일치하지 않는 것을 조건으로, 해당 EMTAIL 명령의 오퍼랜드에 의해 지정된 절대 오프셋을 오프셋 레지스터(330)에 로드한다. 이에 의해, 벡터 생성 제어부(332)에 의하면, 오프셋 레지스터(330)에 루프 구간의 선두의 명령의 오프셋을 격납할 수 있으므로, 제어를 루프 구간의 선두의 명령으로 되돌릴 수 있다.
더욱이, 벡터 생성 제어부(332)는, EMTAIL 명령의 실행에 있어서, 피시험 디바이스(300)의 출력 신호가 미리 지정한 값과 일치한 것을 조건으로, 오프셋 레지스터(330)의 값을 인크리먼트한다. 이에 의해, 벡터 생성 제어부(332)에 의하면, 오프셋 레지스터(330)에 EMTAIL 명령의 다음의 명령의 오프셋을 격납할 수 있으므로, 제어를 EMTAIL 명령의 다음의 명령으로 옮길 수 있다.
또한, 전개부(314)는, 1차 캐시(312)로부터 JFF 명령을 독출한 경우, 해당 JFF 명령에 선행하는 순차 실행 구간에 포함되는 각 NOP 명령을 전개한다. 이 경우에 있어서, 전개부(314)는, 도 7의 C에 도시된 바와 같이, 순차 실행 구간에 포함되는 각 NOP 명령을, 후방향 분기 명령(EMBODY 명령)으로 치환하여, 명령 캐시(316)에 캐싱시킨다. EMBODY 명령은, 해당 EMBODY 명령의 실행시에 있어서, 피시험 디바이스(300)의 출력 신호가 미리 지정한 값과 일치한 것을 조건으로, EMTAIL 명령의 다음의 명령으로 제어를 분기시킨다. 또한, EMBODY 명령은, 해당 EMBODY 명령의 실행시에 있어서, 피시험 디바이스(300)의 출력 신호가 미리 지정한 값과 일치하지 않는 것을 조건으로, 해당 EMBODY 명령의 다음의 명령으로 제어를 옮긴다.
EMBODY 명령은, JFF 명령에 의한 루프 내에 위치하는 것을 벡터 생성 제어 부(332)가 식별 가능한 명령의 일례이다. 또한, EMBODY 명령은, 분기처의 명령(EMTAIL 명령의 다음의 명령)을 지정하는 값을, 오퍼랜드로서 포함한다. 비압축 형식의 시컨스 데이터에 포함되는 EMBODY 명령의 오퍼랜드는, 분기처의 명령(EMTAIL 명령의 다음의 명령)의 절대 오프셋으로 나타내어지고 있다.
벡터 생성 제어부(332)는, EMBODY 명령의 실행에 있어서, 피시험 디바이스(300)의 출력 신호가 미리 지정한 값과 일치하지 않는 것을 조건으로, 오프셋 레지스터(330)의 값을 인크리먼트한다. 이에 의해, 벡터 생성 제어부(332)에 의하면, 오프셋 레지스터(330)에 각 EMBODY 명령의 다음의 명령의 오프셋을 순차적으로 격납할 수 있으므로, 순차 실행 구간의 각 명령을 순차적으로 실행할 수 있다.
더욱이, 벡터 생성 제어부(332)는, EMBODY 명령의 실행에 있어서, 피시험 디바이스(300)의 출력 신호가 미리 지정한 값과 일치한 것을 조건으로, 해당 EMBODY 명령의 오퍼랜드에 의해 지정된 절대 오프셋을 오프셋 레지스터(330)에 로드한다. 이에 의해, 벡터 생성 제어부(332)에 의하면, 오프셋 레지스터(330)에 EMTAIL 명령의 다음의 명령의 오프셋을 격납할 수 있으므로, EMTAIL 명령의 다음의 명령으로 제어를 분기할 수 있다.
이상과 같이 비압축 형식의 시컨스 데이터에 EMTAIL 명령이 포함되어 있음으로써, 벡터 생성 제어부(332)에 의하면, 루프 구간의 선두의 명령으로부터 해당 EMTAIL 명령까지의 각 명령을, 피시험 디바이스(300)의 출력 신호가 미리 지정한 값과 일치할 때까지, 반복하여 실행할 수 있다. 더욱이, 비압축 형식의 시컨스 데이터에 EMBODY 명령이 포함되어 있음으로써, 벡터 생성 제어부(332)에 의하면, 순 차 실행 구간의 각 명령을 피시험 디바이스(300)의 출력 신호가 미리 지정한 값과 일치할 때까지, 순차적으로 실행할 수 있다.
여기에서, 벡터 생성 제어부(332)는, 클록 사이클마다 시험 패턴을 발생하기 위해서, 명령 캐시(316)으로부터의 명령의 독출 처리, 명령의 실행 처리, 다음의 명령의 오프셋 발생 처리라고 하는 일련의 처리를, 1 클록 사이클로 실시하지 않으면 안 된다. 또한, 벡터 생성 제어부(332)는, 더욱 짧은 클록 사이클로 시험 패턴을 발생할 수 있는 것이 바람직하다. 그렇지만, 만약, 분기처의 명령이 상대 오프셋에 의해 지정되고 있는 경우, 벡터 생성 제어부(332)는, 분기처의 명령의 오프셋을 발생하기 위해서, 분기 명령의 실행 중에 있어서, 해당 분기 명령의 오프셋으로부터 상대 오프셋을 감산하지 않으면 안 된다.
이에 대해서, 본 실시 형태에 있어서, 벡터 생성 제어부(332)는, 분기처의 명령의 절대 오프셋이 오퍼랜드로서 지정된 EMTAIL 명령 및 EMBODY 명령을 실행한다. 따라서, 벡터 생성 제어부(332)는, EMTAIL 명령 및 EMBODY 명령의 실행에 있어서, 오퍼랜드의 값을 그대로 오프셋 레지스터(330)에 로드하여도 되고, 감산 처리를 실시하지 않아도 분기 처리를 할 수 있다. 이에 의해, 벡터 생성 제어부(332)에 의하면, 분기 명령의 실행에 있어서의 처리가 경감하고, 더욱 짧은 클록 사이클로 시험 패턴을 발생할 수 있다.
또한, 본 실시 형태에 있어서, 전개부(314)는, 순차 실행 구간에 있어서의 각 NOP 명령을, EMBODY 명령으로 치환한다. 이에 의해, 벡터 생성 제어부(332)에 의하면, 루프 구간의 말미뿐만 아니라, 루프 구간의 도중에서도 분기 처리를 할 수 있으므로, 피시험 디바이스(300)의 출력 신호가 미리 지정한 값과 일치하고 나서, 시험이 재개될 때까지의 응답 시간을 짧게 할 수 있다. 또한, JFF 명령 및 EMTAIL 명령은, 루프 회수가 정해지지 않은 무한 루프를 형성하는 명령이어도 되고, 루프 회수가 미리 정해진 유한 루프를 형성하는 명령이어도 된다.
또한, JFF 명령은, 출력 신호가 미리 지정한 값과 일치하지 않는 것을 조건으로, 자신 또는 선행하는 명령으로 분기해도 된다. JFF 명령이 자신에게 분기하는 경우(즉, 오퍼랜드로서 0이 지정되는 경우), 전개부(314)는, JFF 명령을 EMTAIL 명령으로 치환하여 명령 캐시(316)에 캐싱시키고, EMBODY 명령을 명령 캐시(316)에 캐싱시키지 않는다.
그리고, 벡터 생성 제어부(332)는, EMTAIL 명령의 실행에 있어서, 피시험 디바이스(300)의 출력 신호가 미리 지정한 값과 일치한 것을 조건으로, 해당 EMTAIL 명령의 오퍼랜드(이 경우, 0이 된다)를 오프셋 레지스터(330)에 로드한다. 이에 의해, 벡터 생성 제어부(332)에 의하면, 분기 명령의 실행에서의 처리를 경감할 수 있다.
도 8은 회수 지정 명령(STI 명령) 및 루프 분기 명령(JNI 명령)을 포함한 시컨스 데이터의 일례를 나타내는 도면이다. 압축 전의 시컨스 데이터는, 일례로서, 도 8의 A에 도시된 바와 같이, 회수 지정 명령(STI 명령) 및 루프 분기 명령(JNI 명령)을 포함해도 된다.
STI 명령은, 1 이상의 명령을 포함한 루프 구간을 반복하여 실행하는 반복 회수를 지정한다. 더욱 구체적으로는, STI 명령은, JNI 명령에 의해 형성되는 루 프 구간의 반복 회수를 지정한다. STI 명령은, 일례로서, 반복 회수를 오퍼랜드로서 포함한다. STI 명령은, 시컨스 데이터에서의 루프 구간보다 전에 배치 된다.
JNI 명령은, 1 이상의 명령을 포함한 루프 구간의 말미에 배치된다. 또한, 루프 구간은, 1개의 JNI 명령뿐이어도 된다. 이 경우, 루프 구간의 선두 및 말미는 일치한다. JNI 명령은, 루프 구간의 실행 회수가, 직전의 STI 명령에서 지정된 반복 회수에 도달하지 않은 것을 조건으로, 해당 루프 구간의 선두의 명령으로 제어를 분기시킨다. 또한, JNI 명령은, 루프 구간의 실행 회수가, 직전의 STI 명령에서 지정된 반복 회수에 도달한 것을 조건으로, 해당 JNI 명령의 다음의 명령으로 제어를 옮긴다.
또한, 도 8의 B에 도시된 바와 같이, JNI 명령은, 분기처의 명령(루프 구간의 선두의 명령)을 지정하는 값을, 오퍼랜드로서 포함한다. 루프 구간이 1개의 JNI 명령뿐인 경우, JNI 명령은, 자신을 지정하는 값을 오퍼랜드로서 포함한다. 압축 형식의 시컨스 데이터에 포함되는 JNI 명령의 오퍼랜드는, 해당 JNI 명령과 분기처의 명령(루프 구간의 선두의 명령)과의 오프셋의 차이로 나타내어지고 있다. 즉, JNI 명령의 오퍼랜드는, 해당 JNI 명령에 대한, 분기처의 명령(루프 구간의 선두의 명령)의 상대 오프셋에 의해 나타내어진다.
전개부(314)는, 1차 캐시(312)로부터 STI 명령을 독출한 경우, 도 8의 C에 도시된 바와 같이, 해당 STI 명령을, 해당 STI 명령과 같은 회수 지정 명령인 ESTI 명령으로 치환하고, 명령 캐시(316)에 캐싱시킨다. 또한, 전개부(314)는, JNI 명령을 독출한 경우, 해당 JNI 명령을, EJNI 명령으로 치환하고, 명령 캐시(316)에 캐싱시킨다. EJNI 명령은, 루프 구간의 실행 회수가, 직전의 ESTI 명령에서 지정된 반복 회수에 도달하지 않은 것을 조건으로, 해당 루프 구간의 선두의 명령으로 제어를 분기시킨다. 또한, EJNI 명령은, 루프 구간의 실행 회수가, 직전의 ESTI 명령에서 지정된 반복 회수에 도달한 것을 조건으로, 해당 EJNI 명령의 다음의 명령으로 제어를 옮긴다.
EJNI 명령은, 분기처의 명령(루프 구간의 선두의 명령)을 지정하는 값을, 오퍼랜드로서 포함한다. 비압축 형식의 시컨스 데이터에 포함되는 ESTI 명령의 오퍼랜드는, 분기처의 명령(루프 구간의 선두의 명령)의 절대 오프셋으로 나타내어지고 있다. 따라서, 전개부(314)는, 1차 캐시(312)로부터 독출된 JNI 명령에서의 분기처의 상대 오프셋을, 절대 오프셋으로 변환하여 명령 캐시(316)에 캐싱시킨다. 이에 의해, 벡터 생성 제어부(332)는, EJNI 명령의 실행에 있어서, 오퍼랜드의 값을 그대로 오프셋 레지스터(330)에 로드하면, 분기 처리를 할 수 있다.
벡터 생성 제어부(332)는, ESTI 명령의 실행에 있어서, 해당 ESTI 명령에 의해 지정된 반복 회수를 스택(340)에 푸시한다. 이에 의해, 스택(340)은, 해당 ESTI 명령에서 지정된 반복 회수를 선두에 기억할 수 있다.
벡터 생성 제어부(332)는, EJNI 명령의 실행에 있어서, 스택(340)의 선두에 기록된 반복 회수가 0이 아닌 것을 조건으로, 스택(340)의 선두의 반복 회수를 디크리먼트한다. 이 경우에 있어서, 벡터 생성 제어부(332)는, 해당 EJNI 명령의 오퍼랜드에 의해 지정된 절대 오프셋을 오프셋 레지스터(330)에 로드한다. 이에 의해, 벡터 생성 제어부(332)는, 루프 구간의 선두로 처리를 되돌릴 수 있다. 또한, 벡터 생성 제어부(332)는, 스택(340)의 선두의 반복 회수가 0인 것을 조건으로, 해당 반복 회수를 스택(340)으로부터 팝하고, 다음의 명령으로 제어를 옮긴다. 이에 의해, 벡터 생성 제어부(332)에 의하면, 지정된 반복 회수 만큼 루프 구간이 실행된 것에 따라, 해당 루프 구간의 다음의 명령으로 제어를 옮길 수 있다.
도 9는 브레이크 명령(BRK 명령)을 포함한 시컨스 데이터의 일례를 나타내는 도면이다. 압축 전의 시컨스 데이터는, 일례로서, 도 9의 A에 도시된 바와 같이, JNI 명령에 의해 형성되는 루프 구간 중에, 브레이크 명령(BRK 명령)을 포함해도 된다.
BRK 명령은, JNI 명령에 의한 루프를 종료시키는 것을 지시한다. 더욱 구체적으로는, BRK 명령은, 해당 BRK 명령의 후의 JNI 명령의 실행에 있어서, 루프 구간의 처리를 벗어나, JNI 명령의 다음의 명령으로 제어를 옮긴다.
전개부(314)는, 1차 캐시(312)로부터 BRK 명령을 독출한 경우, 도 9의 B 및 C에 도시된 바와 같이, 해당 BRK 명령을, 해당 BRK 명령과 같은 브레이크 명령인 EBRK 명령으로 치환하여, 명령 캐시(316)에 캐싱시킨다. 벡터 생성 제어부(332)는, EBRK 명령의 실행에 있어서, 스택(340)의 선두의 반복 회수를 0으로 한다. 그리고, 벡터 생성 제어부(332)는, 루프 구간 중에서의 해당 EBRK 명령 이후의 각 명령(즉, EBRK 명령으로부터 EJNI 명령까지의 각 명령)을 실행한 후에, EJNI 명령의 다음의 명령을 실행한다. 이에 의해, 벡터 생성 제어부(332)에 의하면, STI 명령에서 지정된 반복 회수에 관련되지 않고, 강제적으로 루프를 종료할 수 있다.
도 10은 반복 명령(IDXI 명령)을 포함한 시컨스 데이터의 일례를 나타내는 도면이다. 압축 전의 시컨스 데이터는, 일례로서, 도 10의 A에 도시된 바와 같이, IDXI 명령을 포함해도 된다.
전개부(314)는, 1차 캐시(312)로부터, IDXI 명령을 1차 캐시(312)로부터 독출한 경우, 해당 IDXI 명령에 있어서 지정된 반복 회수가 1회인 것을 검출한 것에 따라, 해당 IDXI 명령을 NOP 명령으로 치환하여 명령 캐시(316)에 캐싱시킨다. 본 실시 형태에서는, 전개부(314)는, 1회의 반복 회수를 지정하는 IDXI 명령을, ENOP 명령으로 치환하여, 명령 캐시(316)에 캐싱시킨다.
여기에서, IDXI 명령을 실행하는 경우, 벡터 생성 제어부(332)는, 레지스터로부터 현재의 반복 회수를 독출하는 독출 처리, 독출한 반복 회수가 0인지 아닌지를 판단하는 판단 처리, 독출한 반복 회수가 0이 아닌 것을 조건으로 레지스터를 디크리먼트하는 디크리먼트 처리를, 1클록 사이클 중에서 실행하지 않으면 안 된다. 이에 더하여, 벡터 생성 제어부(332)는, IDXI 명령의 1 사이클 째의 실행에서는, 이러한 처리에 앞서, 지정된 반복 회수를 레지스터에 로드하는 로드 처리를 하지 않으면 안 된다.
이에 대해서, 본 실시 형태에 있어서는, IDXI 명령에서 지정되는 반복 회수가 2 이상인 것이 보증된다. 따라서, 벡터 생성 제어부(332)는, IDXI 명령의 1 사이클 째의 실행에서는, 독출 처리, 판단 처리 및 디크리먼트 처리를 실행하지 않고, 로드 처리만을 실행하면 된다. 따라서, 벡터 생성 제어부(332)는, IDXI 명령의 1 사이클 째에 있어서 실행해야 할 처리 수를 줄일 수 있다. 이에 의해, 벡터 생성 제어부(332)에 의하면, IDXI 명령의 실행에서의 처리가 경감하고, 더욱 짧은 클록 사이클로 시험 패턴을 발생할 수 있다.
도 11은 본 발명의 일 실시 형태에 관한 전자 디바이스(400)의 구성의 일례를 도시하는 도면이다. 전자 디바이스(400)는, 피시험 회로(410), 시험 회로(420), 입출력 핀(430), 및 BIST 핀(440)을 가진다. 피시험 회로(410)는, 전자 디바이스(400)의 실장시에 동작하는 회로이어도 좋다. 피시험 회로(410)는, 전자 디바이스(400)의 실장시에 입출력 핀(430)으로부터 주어지는 신호에 따라 동작한다.
예를 들어, 전자 디바이스(400)가 메모리 디바이스인 경우, 피시험 회로(410)는, 전자 디바이스(400)의 메모리 셀을 포함한 회로이어도 된다. 예를 들어, 피시험 회로(410)는, 메모리 셀 및 메모리 셀을 제어하는 제어 회로이어도 된다. 제어 회로는, 메모리 셀로의 데이터의 기입과 메모리 셀로부터의 데이터의 독출을 제어하는 회로이어도 된다.
시험 회로(420)는, 피시험 회로(410)와 동일한 반도체 칩에 설치되어 피시험 회로(410)를 시험한다. 시험 회로(420)는, 도 1 내지 도 10에 관련해 설명한 시험 모듈(100)과 동일한 구성을 가져도 된다. 또한, 시험 회로(420)는 시험 모듈(100)의 일부의 구성을 가져도 된다. 또한, 시험 회로(420)는, 시험 모듈(100)의 일부의 기능을 실시하는 회로이어도 된다. 예를 들어, 시험 회로(420)는, 결과 메모리(16)를 갖지 않아도 된다. 또한, 시험 회로(420)의 레이트 발생부(30) 및 타이밍 발생부(56)는, 고정된 타이밍 세트의 설정값에 의해 동작해도 좋다.
또한, 시험 회로(420)는 외부의 시험 장치로부터 BIST 핀(440)을 통해 피시 험 회로(410)의 셀프 테스트를 수행하는 취지의 신호가 주어졌을 경우에, 피시험 회로(410)를 시험해도 된다. BIST 핀(440)은, 전자 디바이스(400)의 실장시에는 이용되지 않는 핀인 것이 바람직하다. 또한, 시험 회로(420)는, 피시험 회로(410)의 시험 결과를 BIST 핀(440)으로부터 외부의 시험 장치에 출력해도 된다.
외부의 시험 장치는, 도 1에 관련해 설명한 사이트 제어 장치(130)와 같은 동작을 수행해도 된다. 즉, 시험 회로(420)를, 도 1 내지 도 10에 관련해 설명한 시험 모듈(100)과 같게 기능시킬 수 있도록, 시험 제어 프로그램, 시험 프로그램, 시험 데이터 등을 시험 회로(420)에 공급해도 된다.
이상, 본 발명의 일 측면을 실시 형태를 이용하여 설명했지만, 본 발명의 기술적 범위는 상기 실시 형태에 기재된 범위에는 한정되지 않는다. 상기 실시 형태에 다양한 변경 또는 개량을 더하는 것이 가능하다는 것이 당업자에게 분명하다. 그와 같은 변경 또는 개량을 더한 형태도 본 발명의 기술적 범위에 포함될 수 있다는 것이, 청구의 범위의 기재로부터 분명하다.

Claims (12)

  1. 피시험 디바이스를 시험하는 시험 장치에 있어서,
    상기 피시험 디바이스를 시험하기 위한 시험 시컨스를 정하는 시험 명령열을 압축 형식으로 기억하는 패턴 메모리;
    상기 패턴 메모리로부터 독출된 시험 명령열을 비압축 형식으로 전개하는 전개부;
    상기 전개부에 의해 전개된 시험 명령열을 캐싱하는 명령 캐시;
    상기 명령 캐시에 격납된 명령을 순차적으로 독출하여 실행하고, 실행되는 명령에 대한 시험 패턴을 발생하는 패턴 발생부; 및
    상기 시험 패턴에 기초하는 시험 신호를 생성하여, 상기 피시험 디바이스에 공급하는 신호 출력부;
    를 포함하는,
    시험 장치.
  2. 제1항에 있어서,
    상기 패턴 메모리는, 상기 시험 명령열에서의, 미리 정해진 종류의 명령을 압축하는 압축 형식으로 기억하고,
    상기 전개부는, 상기 패턴 메모리로부터 독출된 상기 시험 명령열에서 압축 된 상기 미리 정해진 종류의 명령을 전개하여 비압축 형식으로 하고, 상기 명령 캐시에 기입하는,
    시험 장치.
  3. 제2항에 있어서,
    상기 미리 정해진 종류의 명령은, 상기 시험 시컨스의 변경 및 해당 시험 장치 내의 레지스터 값의 명시적인 변경을 수반하지 않는 NOP(No Operation) 명령을 포함하는,
    시험 장치.
  4. 제3항에 있어서,
    상기 패턴 메모리는,
    상기 피시험 디바이스를 시험하기 위한 시험 패턴열을 더 기억하고,
    NOP 명령을 삭제한 압축 형식에 의해, 상기 시험 명령열에 포함되는 압축 대상이 아닌 각 명령을 기억하고,
    압축 대상이 아닌 각 명령에 대응해, 각 명령에 대응하는 시험 패턴의 오프셋을 기억하고,
    상기 전개부는, 상기 패턴 메모리로부터 독출한 시험 명령열에서의 제1 명령 의 오프셋과, 상기 패턴 메모리 중에서 상기 제1 명령의 다음에 기억된 제2 명령의 오프셋이 연속하지 않는 경우에 있어서, 상기 제1 명령의 다음의 오프셋으로부터 상기 제2 명령의 전의 오프셋까지의 각 오프셋에 대응하여 NOP 명령을 재생하는,
    시험 장치.
  5. 제4항에 있어서,
    상기 패턴 발생부는,
    상기 명령 캐시에 격납된 명령을 순차적으로 독출하여 실행하여, 실행되는 명령 및 대응하는 시험 패턴의 오프셋을 기억하는 오프셋 레지스터의 값을 갱신하는 벡터 생성 제어부; 및
    상기 벡터 생성 제어부의 상기 오프셋 레지스터에 기억된 오프셋에 대응하는 시험 패턴을 출력하는 패턴 발생기;
    를 포함하며,
    상기 벡터 생성 제어부는, 순차적으로 실행되는 각 명령을 실행할 때마다 상기 오프셋을 인크리먼트하고, 분기 명령을 실행하는 경우에 분기처의 명령의 오프셋을 상기 오프셋 레지스터에 로드하는,
    시험 장치.
  6. 제5항에 있어서,
    상기 시험 명령열은, 적어도 1개의 NOP 명령과, 상기 적어도 1개의 NOP 명령의 다음에 위치하는, 상기 적어도 1개의 NOP 명령의 실행 중에 상기 피시험 디바이스의 출력 신호가 미리 지정한 값과 일치하지 않는 것을 조건으로 상기 적어도 1개의 NOP 명령의 선두로 분기하는 매치 제어 명령을 포함하고,
    상기 전개부는, 상기 패턴 메모리로부터 상기 매치 제어 명령이 독출된 경우에, 상기 매치 제어 명령에 선행하는 상기 적어도 1개의 NOP 명령을 전개하고, 상기 매치 제어 명령에 의한 루프 내에 위치하는 것을 상기 패턴 발생부가 식별 가능한 명령으로서 상기 명령 캐시에 캐싱시키는
    시험 장치.
  7. 제6항에 있어서,
    상기 전개부는, 상기 매치 제어 명령에 의한 루프 내에 위치하는 명령의 각각에 상기 매치 제어 명령의 다음의 명령의 오프셋을 대응시켜 상기 명령 캐시에 캐싱시키고,
    상기 벡터 생성 제어부는, 상기 매치 제어 명령에 의한 루프 내에 위치하는 명령의 실행시에 상기 피시험 디바이스의 출력 신호가 상기 미리 지정한 값과 일치한 것을 조건으로 해당 NOP 명령에 대응된 상기 오프셋을 상기 오프셋 레지스터에 로드함으로써 상기 매치 제어 명령의 다음의 명령으로 분기하는,
    시험 장치.
  8. 제5항에 있어서,
    상기 시험 명령열은, 상기 피시험 디바이스의 출력 신호가 미리 지정한 값과 일치하지 않는 것을 조건으로, 자신 또는 선행하는 명령으로 분기하는 매치 제어 명령을 포함하고,
    상기 전개부는, 상기 패턴 메모리로부터 독출된 상기 매치 제어 명령에서의 분기처의 상대 오프셋을, 절대 오프셋으로 변환하여 상기 명령 캐시에 캐싱시키고,
    상기 패턴 발생부는, 상기 매치 제어 명령의 실행시에 상기 피시험 디바이스의 출력 신호가 상기 미리 지정한 값과 일치하지 않는 것을 조건으로, 상기 절대 오프셋을 상기 오프셋 레지스터에 로드하는,
    시험 장치.
  9. 제5항에 있어서,
    상기 벡터 생성 제어부는,
    1 이상의 명령을 포함한 루프 구간을 반복해 실행하는 반복 회수를 지정하는 회수 지정 명령의 실행에 있어서, 회수 지정 명령에 의해 지정된 반복 회수를 스택에 푸시하고,
    상기 루프 구간의 말미에 배치된 루프 분기 명령의 실행에 있어서, 상기 스택의 선두에 기록된 반복 회수가 0이 아닌 것을 조건으로 상기 스택의 선두의 반복 회수를 디크리먼트하여 상기 루프 구간의 선두로 분기하고, 상기 스택의 선두의 반복 회수가 0인 것을 조건으로 해당 반복 회수를 상기 스택으로부터 팝하여 다음의 명령으로 제어를 옮기고,
    상기 루프 구간 중에서 루프를 종료시키는 것을 지시하는 브레이크 명령을 실행하는 경우에 있어서, 상기 스택의 선두의 반복 회수를 0으로 하여 상기 루프 구간 중에서의 해당 브레이크 명령 이후의 각 명령을 실행한 후에 상기 루프 분기 명령의 다음의 명령을 실행하는,
    시험 장치.
  10. 제4항에 있어서,
    지정한 반복 회수로 실행되는 반복 명령이 상기 패턴 메모리로부터 독출된 경우에 있어서, 상기 전개부는, 상기 반복 회수가 1회인 것을 검출한 것에 따라, 상기 반복 명령을 NOP 명령으로 치환하고, 상기 명령 캐시에 캐싱시키는,
    시험 장치.
  11. 전자 디바이스에 있어서,
    피시험 회로; 및
    상기 피시험 회로를 시험하는 시험 회로;
    를 구비하고,
    상기 시험 회로는,
    상기 피시험 회로를 시험하기 위한 시험 시컨스를 정하는 시험 명령열을 압축 형식으로 기억하는 패턴 메모리;
    상기 패턴 메모리로부터 독출된 시험 명령열을 비압축 형식으로 전개하는 전개부;
    상기 전개부에 의해 전개된 시험 명령열을 캐싱하는 명령 캐시;
    상기 명령 캐시에 격납된 명령을 순차적으로 독출하여 실행하고, 실행되는 명령에 대한 시험 패턴을 발생하는 패턴 발생부; 및
    상기 시험 패턴에 기초하는 시험 신호를 생성하여, 상기 피시험 회로에 공급하는 신호 출력부;
    를 포함하는,
    전자 디바이스.
  12. 피시험 디바이스를 시험하는 시험 방법에 있어서,
    상기 피시험 디바이스를 시험하기 위한 시험 시컨스를 정하는 시험 명령열을 압축 형식으로 기억하는 단계;
    상기 패턴 메모리로부터 독출된 시험 명령열을 비압축 형식으로 전개하는 단계;
    상기 전개된 시험 명령열을 캐싱하는 단계;
    상기 격납된 명령을 순차적으로 독출하여 실행하고, 실행되는 명령에 대한 시험 패턴을 발생하는 단계; 및
    상기 시험 패턴에 기초하는 시험 신호를 생성하고, 상기 피시험 디바이스에 공급하는 단계;
    를 포함하는,
    시험 방법.
KR1020097023079A 2007-04-09 2008-04-02 시험 장치, 시험 방법, 및 전자 디바이스 KR20090131676A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/733,174 2007-04-09
US11/733,174 US7603604B2 (en) 2007-04-09 2007-04-09 Test apparatus and electronic device

Publications (1)

Publication Number Publication Date
KR20090131676A true KR20090131676A (ko) 2009-12-29

Family

ID=39828028

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097023079A KR20090131676A (ko) 2007-04-09 2008-04-02 시험 장치, 시험 방법, 및 전자 디바이스

Country Status (6)

Country Link
US (1) US7603604B2 (ko)
JP (1) JP5175840B2 (ko)
KR (1) KR20090131676A (ko)
DE (1) DE112008001032T5 (ko)
TW (1) TW200841033A (ko)
WO (1) WO2008126747A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7539902B2 (en) * 2006-10-19 2009-05-26 Sun Microsystems, Inc. Application level testing of instruction caches in multi-processor/multi-core systems
CN101398752B (zh) * 2007-09-29 2011-08-31 国际商业机器公司 重叠指令存取单元和重叠指令存取方法
JP5153670B2 (ja) * 2009-01-30 2013-02-27 株式会社アドバンテスト 診断装置、診断方法および試験装置
US8706439B2 (en) * 2009-12-27 2014-04-22 Advantest Corporation Test apparatus and test method
CN102142284A (zh) * 2010-01-29 2011-08-03 京元电子股份有限公司 可扩充样本储存器的储存器测试设备
WO2012073395A1 (ja) * 2010-11-29 2012-06-07 株式会社アドバンテスト 通信システムおよび試験装置
JP7208448B2 (ja) * 2019-02-01 2023-01-19 富士通株式会社 情報処理装置、情報処理プログラム、及び情報処理方法
CN112433765B (zh) * 2020-11-26 2023-09-08 海光信息技术股份有限公司 一种数据存储方法、装置、处理器及电子设备
CN116643140A (zh) * 2022-02-15 2023-08-25 华为技术有限公司 集成电路及集成电路的测试方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0812230B2 (ja) 1988-09-06 1996-02-07 株式会社日立製作所 Ic試験装置
JPH0742150Y2 (ja) * 1989-12-11 1995-09-27 株式会社アドバンテスト テストパタン発生器
JPH0742150A (ja) 1993-07-27 1995-02-10 Taisei Corp 山留め用鋼管の打込み装置と打込み方法
US5737512A (en) * 1996-05-22 1998-04-07 Teradyne, Inc. Fast vector loading for automatic test equipment
JP4156712B2 (ja) 1998-07-24 2008-09-24 株式会社アドバンテスト 半導体試験装置の試験方法
US6009546A (en) 1998-07-30 1999-12-28 Credence Systems Corporation Algorithmic pattern generator
DE19955380C2 (de) * 1998-11-10 2003-10-30 Advantest Corp Prüfmustergenerator, Prüfvorrichtung und Verfahren zum Erzeugen von Prüfmustern
JP2000162287A (ja) 1998-11-24 2000-06-16 Advantest Corp パターン信号を生成するパターン発生器
JP4285816B2 (ja) 1999-01-19 2009-06-24 株式会社アドバンテスト パターン発生器、パターン発生方法及び試験装置
JP2003028936A (ja) 2001-07-16 2003-01-29 Mitsubishi Electric Corp 半導体装置のテストパターン編集方法

Also Published As

Publication number Publication date
US20080250291A1 (en) 2008-10-09
US7603604B2 (en) 2009-10-13
JP5175840B2 (ja) 2013-04-03
WO2008126747A1 (ja) 2008-10-23
TW200841033A (en) 2008-10-16
JPWO2008126747A1 (ja) 2010-07-22
TWI365996B (ko) 2012-06-11
DE112008001032T5 (de) 2010-03-11

Similar Documents

Publication Publication Date Title
KR20090131676A (ko) 시험 장치, 시험 방법, 및 전자 디바이스
US7743305B2 (en) Test apparatus, and electronic device
US7647538B2 (en) Test apparatus and electronic device for generating test signal by using repeated interval in a test instruction stream
US7725794B2 (en) Instruction address generation for test apparatus and electrical device
CN101329385B (zh) 一种片上系统的调测系统、调测方法以及片上系统
JPWO2008114701A1 (ja) 試験装置および電子デバイス
US7235995B2 (en) Test apparatus and testing method
JP5183622B2 (ja) 試験装置、電子デバイスおよび試験方法
US6484282B1 (en) Test pattern generator, a memory testing device, and a method of generating a plurality of test patterns
US7716541B2 (en) Test apparatus and electronic device for generating test signal to a device under test
US7526697B2 (en) Memory test circuit and method
US7149944B2 (en) Semiconductor integrated circuit device equipped with read sequencer and write sequencer
KR20090028889A (ko) 테스트 보드, 테스트 시스템 및 테스트 방법
JP2005267673A (ja) 試験装置及び試験方法
JP2002521698A (ja) アルゴリズミックパターン発生器
WO2002056043A1 (fr) Appareil de test pour dispositif a semi-conducteur et procede mettant en oeuvre ledit appareil
KR100439073B1 (ko) 기능 평가 기능을 구비한 반도체 장치
JP2000163994A (ja) 半導体記憶装置
JP5279816B2 (ja) 試験モジュール、試験装置および試験方法
JP2001194431A (ja) パターン発生器、パターン発生方法及び試験装置
JPH09160802A (ja) テスト装置
JP5176780B2 (ja) 半導体集積回路
US9557384B2 (en) Testing device

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application