KR100564894B1 - 반도체 집적회로 및 테스트 용이화 회로의 자동삽입방법 - Google Patents

반도체 집적회로 및 테스트 용이화 회로의 자동삽입방법 Download PDF

Info

Publication number
KR100564894B1
KR100564894B1 KR1020010048980A KR20010048980A KR100564894B1 KR 100564894 B1 KR100564894 B1 KR 100564894B1 KR 1020010048980 A KR1020010048980 A KR 1020010048980A KR 20010048980 A KR20010048980 A KR 20010048980A KR 100564894 B1 KR100564894 B1 KR 100564894B1
Authority
KR
South Korea
Prior art keywords
circuit
test
output
test result
semiconductor integrated
Prior art date
Application number
KR1020010048980A
Other languages
English (en)
Other versions
KR20020024526A (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 KR20020024526A publication Critical patent/KR20020024526A/ko
Application granted granted Critical
Publication of KR100564894B1 publication Critical patent/KR100564894B1/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
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318583Design for test
    • G01R31/318591Tools

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

본 발명은 SOC의 외부단자수에 의존하는 일없이 MUX 삽입방식에서의 테스트의 실시를 가능하게 하고, 테스트에 필요하게 되는 구성이 대형화되는 것을 억제하며, 테스트 시간을 단축하는 것을 과제로 한다.
본 발명은, IP(12)의 테스트 출력을 시그니처 압축하는 테스트결과 격납회로(15)를 매개로 하여 IP(12)의 테스트결과를 SOC(11)의 외부로 취출하도록 구성된다.

Description

반도체 집적회로 및 테스트 용이화 회로의 자동삽입방법 {SEMICONDUCTOR INTEGRATED CIRCUIT AND AUTOMATIC INSERTION METHOD OF CIRCUIT FOR TESTABILITY}
도 1은 본 발명의 일실시형태에 따른 반도체 집적회로의 구성을 나타낸 도면,
도 2는 MUX 어레이의 구성을 나타낸 도면,
도 3은 쌍방향 MUX 어레이의 구성을 나타낸 도면,
도 4는 테스트결과 격납회로의 구성을 나타낸 도면,
도 5는 테스트 용이화 회로의 자동삽입을 설명하기 위한 도면,
도 6은 테스트결과 격납회로의 다른 실시형태에 따른 구성을 나타낸 도면,
도 7은 본 발명의 다른 실시형태에 따른 반도체 집적회로의 구성을 나타낸 도면,
도 8은 테스트용 디코드회로의 입출력과 테스트결과 격납회로의 동작을 나타낸 도면,
도 9는 도 7에 나타낸 테스트결과 격납회로의 구성을 나타낸 도면,
도 10은 본 발명의 다른 실시형태에 따른 반도체 집적회로의 구성을 나타낸 도면,
도 11은 IP출력 선택부의 구성을 나타낸 도면,
도 12는 도 10에 나타낸 테스트결과 격납회로의 구성을 나타낸 도면,
도 13은 도 10에 나타낸 테스트용 디코드회로의 입출력과 테스트결과 격납회로의 동작을 나타낸 도면,
도 14는 테스트용의 MUX를 삽입한 종래의 반도체 집적회로의 구성을 나타낸 도면이다.
<도면부호의 설명>
11 --- SOC, 12, 71∼73 --- IP,
13 --- MUX 어레이, 14 --- 쌍방향 MUX 어레이,
15, 74∼76, 102 --- 테스트결과 격납회로,
16, 17 --- 논리블럭,
21, 45, 110, 115, 126 --- MUX,
31∼35 --- 3상태 버퍼, 36 --- 패드,
37 --- 공통배선, 41, 62, 121 --- 플립플롭,
42, 46, 91, 92, 122, 123 --- 배타적 논리합 게이트,
43, 44, 63 --- AND 게이트, 51 --- SOC의 관련 데이터,
52 --- IP의 관련 데이터,
53 --- 테스트 용이화 회로 자동삽입장치,
54 --- 테스트 용이화 회로 삽입완료 관련 데이터,
61 --- 회로블럭,
77, 103 --- 테스트용 디코드회로,
101 --- IP출력 선택회로, T1∼T5 --- 단자,
T6 --- 쌍방향 단자회로, T7 --- 출력단자회로,
W1∼W11 --- 배선.
본 발명은, 설계자산(IP: Intellectual Property)인 기능블럭(functional block)을 이용하여 구축된 SOC(System On a Chip)의 테스트 용이화 기술을 개량한 반도체 집적회로 및 테스트 용이화 회로의 자동삽입방법에 관한 것으로, 특히 비교적 외부단자가 적은 SOC 내부에 설치된 IP의 효율적이면서 품질이 높은 테스트를 실현한 반도체 집적회로 및 테스트 용이화 회로의 자동삽입방법에 관한 것이다.
근래, SOC라 불리는 하나의 시스템이 전부 탑재되어 버릴 정도의 대규모의 LSI가 개발되고 있다. SOC에서는, 보다 한정된 기능을 실현하는 기능블럭인 IP를 결합(integration)함으로써 개발기간을 단축한다고 하는 설계수법이 중요하게 되었다. SOC의 테스트에 대해서도, 이 IP를 대상으로 한 테스트 용이화 설계(Design For Testability: DFT)수법이 행해지고 있다. SOC의 IP베이스(IP base)의 기본적인 DFT수법으로서는,
(1) 병렬억세스(parallel access)삽입(MUX(멀티플렉서(multiplexer))삽입)
(2) 직렬억세스(serial access)삽입
의 2종류가 있다. (1)은 SOC 내부의 IP의 입출력단자를, MUX를 경유하여 SOC 외부 로부터 직접 제어, 관측할 수 있도록 한 것으로, 테스트 패턴(test pattern)의 작성은 SOC의 논리 시뮬레이션(simulation)에 있어서, 대상으로 하는 IP의 입출력단자에서의 값을 모니터(monitor)할 수 있도록 하면 용이하게 작성할 수 있다.
도 14에 종래 수법에서의 MUX 삽입수법을 채용한 SOC의 구성을 나타낸다. 도 14에 있어서, SOC(141)내에 테스트 대상인 IP(142)가 있지만, IP(142)의 복수비트의 입력단자에 대해서는, 통상동작을 위한 기능블럭(143; 도 14에서는 로직1)으로부터의 접속배선과의 사이에 MUX 어레이(MUX array; 144)가 설치되고, MUX 어레이(144)의 다른 한쪽의 입력에는 SOC(141)의 입력단자(T11)로부터의 배선이 접속되어 있다. IP(142)의 테스트시에는, 이 MUX 어레이(144)에 대한 선택신호(일반적으로 SOC(141)로의 입력신호, 도시하지 않음)가 SOC(141)의 입력단자(T11)로부터의 테스트 데이터(test data)를 선택함으로써, SOC(141)의 외부로부터 IP(142)로 직접 데이터를 인가할 수 있게 된다. IP(142)로부터의 출력에 대해서는, 이들 신호는 출력처의 기능블럭(145; 도 14에서는 로직2)까지의 적당한 위치에서 분기되고, SOC(141)내의 적당한 기능블럭(145)으로부터 SOC(141)의 출력단자(출력회로; T12)까지의 접속배선의 사이에 설치된, IP(142)의 입력의 경우와 동일한 선택신호로 제어되는 MUX 어레이(146)의 한쪽의 입력으로서 접속되어 있다. IP(142)의 테스트시는 MUX 어레이(146)가 IP(142)로부터의 출력을 선택하도록 되어 있어, IP(142)로부터의 출력을 SOC(141)의 외부에서 관측할 수 있게 된다.
또, IP(142)의 쌍방향 신호단자에 대해서는, 쌍방향의 MUX 어레이(일반적으로는 버스로 구성됨; 147)가 통상동작의 경우의 기능블럭(143, 144)과, SOC(141)의 쌍방향 신호단자(회로; T13)와의 사이에 설치되고, 테스트시는 이미 설명한 2종류의 MUX 어레이(144, 146)에서 이용된 선택신호에 의해 IP(142)의 쌍방향 신호단자와 SOC(141)의 쌍방향 신호단자(회로; T13)만이 신호의 주고받음이 가능한 상태로 되고, 이에 부가하여 MUX 어레이(147)상에서의 신호의 충돌을 방지하기 위해 IP(142)로부터의 입력인지 출력인지를 나타내는, 즉 신호의 방향을 결정하기 위한 신호(도시하지 않음)가 이용됨으로써, SOC(141)의 쌍방향 신호단자(T13)를 마치 IP(142)의 쌍방향 신호단자인 것처럼 동작시키는 것이 가능하게 된다. MUX 삽입방법에서는, 이상과 같은 구조에 의해 SOC(141)내의 IP(142)가 테스트되게 된다.
한편, 상기 (2)에서는, IP(142)의 내부는 스캔수법(scan technique)을 베이스(기초)로 하고 있고, ATPG(Automatic Test Pattern Generation)에 의해 테스트 패턴을 작성한다. IP(142)의 입출력단자에 대해서는, 랩퍼(Wrapper)라고 하는 각 단자에 대응하는 F/F를 설치하고, 이들을 직렬접속해 두며, 소정의 테스트 패턴을 SOC(141)의 외부로부터 순차 입력하여 SOC(141)의 외부에서 관측하도록 한다.
이들 종래의 수법 중, 상기 (1)의 MUX 삽입수법은 상기 (2)의 수법에 비해 고장검출률은 약간 낮아지지만, 테스트에 필요하게 되는 구성의 면적증가가 적고, 테스트의 실행주파수도 높게 할 수 있다는 이점이 있다. 한편, SOC(141)의 외부단자가 IP(142)의 외부단자보다 적은 경우는 적용할 수 없고, 상기 (2)의 수법을 실시하지 않을 수 없다고 하는 문제가 있었다.
이상 설명한 바와 같이, IP를 갖춘 SOC를 테스트하는 종래의 수법의 하나인 MUX 삽입방법에 있어서는, 테스트에 필요하게 되는 구성이 적고, 테스트시간도 짧게 할 수 있는 반면, SOC의 외부단자가 IP의 외부단자에 비해 적은 경우에는 실시할 수 없다고 하는 문제를 초래하고 있었다. 한편, 종래의 수법의 다른 직렬억세스방식에 있어서는, 고장의 검출률은 상기 MUX 삽입방법에 비해 높아지지만, 테스트에 필요하게 되는 구성이 대형화되고, 테스트시간도 길어진다고 하는 문제를 초래하고 있었다.
그래서, 본 발명은 상기의 문제점을 감안하여 이루어진 것으로, 그 목적으로 하는 바는 SOC의 외부단자수에 의존하는 일없이 MUX 삽입방식에서의 테스트의 실시를 가능하게 하고, 테스트 시간의 단축 및 테스트에 필요하게 되는 구성이 대형화되는 것을 억제한 반도체 집적회로 및 테스트 용이화 회로의 자동삽입방법을 제공함에 있다.
상기 목적을 달성하기 위해 과제를 해결하는 제1수단은, 복수의 기능블럭이 상호 접속되어 구축된 반도체 집적회로로, 선택회로를 매개로 해서 상기 다른 기능블럭의 출력단자 또는 상기 반도체 집적회로의 입력단자에 접속된 입력단자와, 쌍방향 선택회로를 매개로 하여 상기 다른 기능블럭의 쌍방향 단자 또는 상기 반도체 집적회로의 쌍방향 단자에 접속된 쌍방향 단자를 갖춘 기능블럭과; 상기 기능블럭의 출력단자에 접속되어 상기 기능블럭으로부터 병렬로 복수(n)비트의 테스트 출력을 받아 그 테스트 출력을 시그니처 압축(signature compression)하고, 시그니처 압축된 데이터를 상기 복수(n)비트보다도 적은 m(m<n)비트 단위로 상기 반도체 집적회로의 출력단자로부터 출력하며, 테스트 용이화 회로로 기능하는 테스트결과 격납회로를 갖춘 것을 특징으로 한다.
제2수단은, 상기 제1수단에 있어서, 상기 테스트결과 격납회로가, 상기 기능블럭으로부터 병렬로 복수(n)비트의 테스트 출력을 받아 그 테스트 출력을 상기 반도체 집적회로의 출력단자로부터 시리얼(serial)로 출력하는 것을 특징으로 한다.
제3수단은, 상기 제1 또는 제2수단에 있어서, 상기 테스트결과 격납회로가, 상기 기능블럭으로부터 병렬로 출력되는 테스트 출력의 복수(n)비트보다도 많은 수의 플립플롭회로를 이용하여 시그니처 압축하는 것을 특징으로 한다.
제4수단은, 상기 제1수단에 있어서, 복수의 상기 테스트결과 격납회로와, 상기 복수의 테스트결과 격납회로에 각각 대응한 복수의 상기 기능블럭 및, 상기 복수의 기능블럭 중에서 테스트를 행할 상기 기능블럭을 선택하는 디코드회로를 갖추고, 상기 복수의 테스트결과 격납회로가 대응하는 상기 기능블럭으로부터 병렬로 복수비트의 테스트 출력을 받아 그 테스트 출력을 시그니처 압축 혹은 시리얼 출력하고, 시그니처 압축된 데이터 혹은 시리얼 출력을 상기 복수비트보다 적은 비트단위로 상기 반도체 집적회로의 출력단자로부터 병렬로 출력하는 것을 특징으로 한다.
제5수단은, 상기 제1수단에 있어서, 복수의 상기 테스트결과 격납회로와, 상기 복수의 테스트결과 격납회로에 각각 대응한 복수의 상기 기능블럭 및, 상기 복수의 기능블럭 중에서 테스트를 행할 상기 기능블럭을 선택하는 디코드회로를 구비하고, 상기 복수의 테스트결과 격납회로는 직렬로 접속되어 대응하는 상기 기능블 럭으로부터 병렬로 복수비트의 테스트 출력을 받아 그 테스트 출력을 시그니처 압축 혹은 시리얼 출력하고, 시그니처 압축된 데이터 혹은 시리얼 출력을 직접 접속된 상기 복수의 테스트결과 격납회로의 최종단의 상기 테스트결과 격납회로의 출력단자를 매개로 하여 상기 복수비트보다도 적은 비트단위로 상기 반도체 집적회로의 출력단자로부터 병렬로 출력하는 것을 특징으로 한다.
제6수단은, 상기 제1수단에 있어서, 복수의 상기 기능블럭과, 상기 복수의 기능블럭의 출력을 선택하는 출력 선택회로 및, 상기 출력 선택회로의 선택동작을 제어하는 디코드회로를 구비하고, 상기 테스트결과 격납회로는 상기 출력 선택회로에 의해 선택된 기능블럭의 출력을 받는 것을 특징으로 한다.
제7수단은, 복수의 기능블럭이 상호 접속되어 구축된 반도체 집적회로에 테스트 용이화 회로를 삽입하는 테스트 용이화 회로의 자동삽입방법으로, 상기 반도체 집적회로의 입출력단자, 상기 기능블럭의 테스트에 이용가능한 입출력단자, 상기 반도체 집적회로의 기능을 실현하기 위한 상기 기능블럭의 입출력단자, 상기 반도체 집적회로의 입출력단자의 내부접속을 나타내는 네트 데이터(net data), 상기 반도체 집적회로의 동작확인을 위한 테스트 패턴을 포함한 상기 반도체 집적회로의 관련 데이터와, 상기 기능블럭의 입출력단자, 상기 기능블럭의 기능을 실현하기 위한 동작을 기술한 정보, 고장의 유무를 조사하기 위한 테스트 용이화 수법의 종류, 그 수법에 따라 준비된 테스트 패턴을 포함한 상기 기능블럭의 관련 데이터를 입력하고; 상기 입력에 기초하여 테스트 대상으로 되는 상기 기능블럭에 대해 테스트 용이화 회로로서 기능하는 상기 제1수단의 테스트결과 격납회로, 또는 상기 제4 혹 은 제5수단의 테스트결과 격납회로와 디코드회로, 혹은 상기 6수단의 테스트결과 격납회로, 출력 선택회로 및 디코드회로를 상기 반도체 집적회로에 삽입하며; 상기 테스트 용이화 회로가 삽입된 상기 반도체 집적회로의 네트 데이터, 상기 기능블럭의 테스트 패턴을 상기 테스트 용이화 회로가 삽입된 상기 반도체 집적회로에서 이용할 수 있도록 변환한 테스트 패턴을 포함한 상기 반도체 집적회로의 테스트 용이화 회로 삽입후의 관련정보를 출력하는 것을 특징으로 한다.
(발명의 실시형태)
이하, 도면을 참조하여 본 발명의 실시형태를 설명한다.
도 1은 본 발명의 일실시형태에 따른 반도체 집적회로의 구성을 나타낸 도면이다. 도 1에 있어서, 이 실시형태의 반도체 집적회로는 도 14에 나타낸 것과 마찬가지로 SOC(11)의 내부에 본 발명의 특징으로 되는 테스트 방식의 테스트 대상으로 되는 1개의 IP(12)가 설치되어 있다. 일반적으로, IP는 예컨대 동일한 것이 SOC의 내부에서 사용되는 경우 등으로 인해, SOC내에서는 「인스턴스(instance)」라고 부르고 일일이 구별하지만, 이하에서는 IP가 SOC내에서 이용되고 있다는 점을 강조하기 위해, 「IP」라고 하는 표현을 이용한다(이하에 설명하는 실시형태에 있어서도 마찬가지임). 동일한 IP가 SOC내에서 사용되는 경우는, 참조해야 할 IP의 데이터가 같다고 하는 본질적이지 않은 점 이외는, 실시형태 내에서 「다른 IP」로 되어 있는 것을 「동일 IP의 다른 인스턴스」라고 바꿔 읽으면 좋고, 본 발명의 내용은 SOC가 동일한 IP를 복수 포함하는 경우에도 문제없이 적용할 수 있다.
도 1에 있어서, 테스트를 실시하기 위한 구성으로서, SOC(11)는 단방향 MUX 어레이(13), 쌍방향 MUX 어레이(14), 테스트결과 격납회로(15)를 갖추고, 또 입력단자(T1, T2), 테스트 모드 입력단자(T3), 제어입력단자(T4, T5), 쌍방향단자회로(T6), 출력단자회로(T7)가 SOC(11)에 설치되며, 이들은 배선에 의해 접속되어 있다. MUX 어레이(13)의 한쪽의 입력에는 입력단자(T1)가 배선(W1)에 의해 접속되고, MUX 어레이(13)의 다른쪽의 입력에는 논리블럭(logical block; 로직1)(16)이 배선(W2)에 의해 접속되며, MUX 어레이(13)의 출력은 IP(12)의 입력에 배선(W3)에 의해 접속되어 있다. 쌍방향 MUX 어레이(14)를 매개로 하여 IP(12)와 논리블럭(16)과는 배선(W4, W5)에 의해 쌍방향으로 접속되고, 쌍방향 MUX 어레이(14)를 매개로 하여 IP(12)와 쌍방향단자회로(T6)와는 배선(W4, W6)에 의해 쌍방향으로 접속되며, 쌍방향 MUX 어레이(14)를 매개로 하여 IP(12)와 논리블럭(로직2; 17)과는 배선(W4, W7)에 의해 쌍방향으로 접속되어 있다. IP(12)의 출력단자는, 논리블럭(17)에 배선(W8)에 의해 접속됨과 더불어, 테스트결과 격납회로(15)에 배선(W9)에 의해 접속되어 있다. 테스트결과 격납회로(15)는, 배선(W10)을 매개로 하여 입력단자(T2)에 접속되고, 배선(W11)을 매개로 하여 출력단자회로(T7)에 접속되어 있다. 배선(W1∼W9)에는 복수 비트의 데이터가 전송되고, 배선(W10, W11)에는 1비트의 데이터가 전송된다. 입력단자(T3, T4, T5)는 IP(12)의 테스트를 위한 전용단자로 할 수도 있지만, 적당한 논리적인 고안에 의해 SOC(11)의 통상동작시에 있어서도 이용하는 단자와 공용하는 것도 가능하다.
이러한 구성에 있어서, IP(12)는 SOC(11)가 그 본래의 기능동작을 행하는 통상동작시, 즉 테스트모드신호(test mode signal) TEST = 0일 때는, 논리블럭(16)으로부터의 신호를 입력으로서 수취하고, 논리블럭(17)에 그 출력을 공급하며, 더욱 이 논리블럭(16, 17)과 쌍방향 데이터의 주고받음을 행하고 있다. 한편, TEST = 1일 때는 테스트상태로 된다. 이하, MUX 어레이(13), 쌍방향 MUX 어레이(14), 테스트결과 격납회로(15)의 구성을 도 1에 나타낸 구성의 동작과 관련시켜 설명한다.
도 2는 도 1에 나타낸 단방향 MUX 어레이(13)의 구체적인 구성을 나타낸 도면으로, 도 2에 나타낸 구성은 MUX 어레이(13)를 예컨대 4비트 폭으로 한 구성례를 나타낸 것이다. 도 2에 있어서, MUX 어레이(13)는 선택신호 SEL = 0일 때에는 「0」측의 입력 D0[0]∼D0[3]을 선택하고, SEL = 1일 때에는 「1」측의 입력 D1[0]∼D1[3]을 선택하는 2입력 1출력의 4개의 MUX(21-0∼21-3)가 병렬로 설치되어 구성되어 있다. 여기서, 도 1과의 관련으로는, 선택신호 SEL = TEST로 하면, 배선(W2)이 D0[0]∼D0[3], 배선(W1)이 D1[0]∼D1[3]에, 배선(W3)이 DOUT[0]∼DOUT[3]에 각각 접속되는 것으로 되어, TEST = 0일 때는 IP(12)는 논리블럭(16)으로부터의 입력을 받는 통상동작을 행하고, TEST = 1일 때에는 IP(12)는 SOC(11)의 입출력단자(T1)를 매개로 하여 IP(12)가 테스트 입력데이터를 수취하는 테스트동작을 행하게 된다.
도 3은 도 1에 나타낸 쌍방향 MUX 어레이(14)의 구체적인 구성을 나타낸 도면이다. 도 3에 있어서, 쌍방향 MUX 어레이(14)는 쌍방향 신호버스에 의해 실현된다. 이 경우에, MUX 어레이(14)의 내부구성은 공통배선(37)과 접속노드(connection node)뿐이고, 이 공통배선(37)에 대해 도 3에 파선으로 나타낸 IP(12), 논리블럭(16, 17), 쌍방향 단자회로(T6)에 갖추어진 각각 3상태 버퍼(3-state buffer; 31, 32, 33, 34)의 출력 및 3상태 버퍼(35)의 입력이 접속된다. 또, 이 공통배선(37)은 IP(12), 논리블럭(16, 17)에 접속되어 있고, 서로 데 이터의 주고받음이 가능한 구성으로 되어 있다. 여기서, 3상태 버퍼는 OE신호(OE_IP, OE_L1, OE_L2, OE_PAD, OE_SOC)가 「1」일 때는 통상의 버퍼로서 동작하고, OE신호가 「0」일 때에는 하이 임피던스상태(high impedance state)로 되어 통상동작, 테스트동작의 어느 경우이더라도, MUX 어레이(14)의 공통배선(37)에 접속되는 3상태 버퍼 중 1개만이 하이 임피던스상태가 아닌 값을 출력(즉 OE신호 = 1)하도록 제어된다.
IP(12)의 테스트동작시는, OE_PAD와 OE_IP 및 OE_PAD와 OE_SOC의 OE신호가 동시에 「1」로 되지 않는다고 하는 제약조건 하에서, SOC(11)의 외부와의 데이터의 주고받음이 행해진다. SOC(11)의 외부로부터 IP(12)로의 데이터 입력은 OE_PAD = 1, OE_SOC = 0, OE_IP = 0에 의해 실현되고, IP(12)로부터 SOC(11)의 외부로의 데이터 출력은 OE_PAD = 0, OE_SOC = 1, OE_IP = 1에 의해 행해진다. 이러한 테스트 제어를 위한 논리회로는, 번잡하기 때문에 도시하고 있지 않지만, IP(12)의 쌍방향신호에 관한 SOC(11)의 외부로부터의 테스트동작을 올바르게 행하기 위해서는 필요하게 된다.
도 4는 도 1에 나타낸 테스트결과 격납회로(15)의 구체적인 구성을 나타낸 도면이다. 도 4에 나타낸 테스트결과 격납회로(15)는, 예컨대 4비트의 테스트결과를 받아 1비트씩 직렬로 출력하는 것이다. 여기서, 입력, 출력의 비트수는 이것에 한정되는 것이 아니라 테스트결과 격납회로(15)의 입력으로 되는 IP(12)의 출력 및 테스트결과 격납회로(15)의 출력이 주어지는 SOC(11)의 출력단자회로(T7)의 개수에 따라 적절히 설정되는 것이고, 테스트결과 격납회로(15)의 출력비트수(m)는 적어도 입력의 비트수(n)보다도 적게(m<n) 설정되는 것이다.
도 4에 있어서, 테스트결과 격납회로(15)는 4비트의 테스트결과의 각각의 비트에 대응하여 4개의 플립플롭회로(F/F; 41-0∼41-3), 배타적 논리합(EX-OR) 게이트(42-0∼42-3), AND 게이트(43-0∼43-3, 44-0∼44-3)와, MUX(45) 및 EX-OR 게이트(46)를 갖추어 구성되어 있다. 클록신호(CLK)에 동기하여 동작하는 F/F(41)의 D입력에는 EX-OR 게이트(42)의 출력이 접속되고, F/F(41-3)의 출력(Q)을 제외한 F/F(41)의 출력(Q)에는 다음 단의 AND 게이트(43)의 입력이 접속되고, EX-OR 게이트(42)의 한쪽의 입력에는 AND 게이트(44)의 출력이 접속되며, 다른쪽의 입력에는 AND 게이트(43)의 출력이 접속되고, AND 게이트(43)의 한쪽의 입력에는 제어입력단자(T5)가 접속되며, AND 게이트(44)의 한쪽의 입력에는 제어입력단자(T4)가 접속되고, 다른쪽의 입력에는 배선(W9)을 매개로 하여 IP(12)로부터의 대응하는 테스트결과 D[0]∼D[3]이 주어지고 있다. MUX(45)의 한쪽의 입력(SI)에는 배선(W10)을 매개로 하여 입력단자(T2)가 접속되고, 다른쪽의 입력에는 EX-OR 게이트(46)의 출력이 접속되며, MUX(45)의 출력은 AND 게이트(43-0)의 다른쪽의 입력에 접속되고, EX-OR 게이트(46)의 한쪽의 입력에는 F/F(41-2)의 출력(Q)이 접속되며, 다른쪽의 입력에는 F/F(41-3)의 출력(Q)이 접속되고, F/F(41-3)의 출력(Q)은 단자(SO)를 거쳐 배선(W11)을 매개로 하여 출력단자회로(T7)에 접속되어 있다.
이러한 구성에 있어서, 테스트결과 격납회로(15)는 제어입력단자(T4)에 주어지는 제어신호(A) 및 제어입력단자(T5)에 주어지는 제어신호(B)에 기초하여, 다음과 같이 제어된다.
A B 동 작
0 0 리세트(reset) (전 플립플롭에 0을 입력)
0 1 시리얼 동작
1 0 테스트 데이터의 포획(capture: 캡처)동작(통상동작)
1 1 시그니처 압축 동작
이하, 상기 각 동작에 대해 도 4의 비트1(D[1])을 대표로 하여 설명한다. A = 0, B = 0일 때에는, AND 게이트(44-1, 43-1)의 출력이 모두 0으로 되기 때문에, EX-OR 게이트(42-1)의 출력도 0으로 되고, F/F(41-1)을 포함한 모든 F/F(41)에 0이 입력되어 리세트동작이 행해진다. A = 0, B = 1일 때에는, MUX(45)에서는 입력으로서 SI의 데이터가 선택되고, 또 EX-OR 게이트(42-1)의 출력은 AND 게이트(43-1)의 출력(전단의 F/F(41-0)의 출력)과 동일하게 되며, 전체로서는 4개의 F/F(41)이 시리얼 접속된 것과 동일하게 되어 클록신호(CLK)에 동기한 시리얼 동작을 행하게 된다. A = 1, B = 0일 때에는, 테스트결과(D[1])의 값이 F/F(41-1)에 격납되는 것으로 되어, 전체로서는 IP(12)의 출력을 포획하는 동작을 행한다. 또, A = 1, B = 1일 때에는, 테스트결과 D[1]과 F/F(41-1)의 전단의 F/F(41-0)의 출력의 배타적 논리합이 EX-OR 게이트(42-1)에서 취해지고, 그 배타적 논리합 값이 F/F(41-1)에 격납된다. 더욱이 이와 동시에, F/F(41-2)의 출력과 F/F(41-3)의 출력의 배타적 논리합이 EX-OR 게이트(46)에서 취해지고, 그 배타적 논리합 값이 MUX(45)에서 선택되며, 선택된 배타적 논리합 값과 테스트결과 D[0]의 배타적 논리합이 EX-OR 게이트(42)에서 취해지고, 그 배타적 논리합 값이 F/F(41-0)에 격납된다. 이러한 동작 이 행해짐으로써, 테스트결과 격납회로(15)는 전체로서 시그니처 압축 레지스터로서 기능하고, 시그니처 압축 동작이 행해진다. 이 동작에서는, F/F(41)내의 데이터와 새롭게 인가되는 IP(12)로부터의 출력에 의해 의사난수화(擬似亂數化)된 데이터가 F/F(41)내에 생성되는 것으로 되고, IP(12)의 테스트종료 후는 IP(12)의 테스트결과로서 IP(12)로부터의 출력데이터의 시계열로 고유의 데이터가 F/F(41)에 격납되게 된다.
IP(12)에 대한 테스트는 테스트모드신호 TEST = 1 하에서 수행되지만, IP(12)의 출력에 대해서는 제어신호(A, B)의 제어도 필요하게 된다. 먼저, TEST = 1로 하여 IP(12)로부터 관측해야 할 최초의 데이터가 출력되기 전에, A = 0, B = 0으로 해 두고, F/F(41)의 내부를 0으로 리세트한다. 이러한 상태에 있어서, A = 1, B = 1로 하여 IP(12)로부터의 모든 유효한 출력을 시그니처 압축한다. IP(12)의 테스트를 종료한 후, A = 0, B = 1로 하여 F/F(41)에 시리얼 동작을 수행시키고, 테스트결과를 시그니처 압축한 값을 순차 배선(W11)을 매개로 하여 SOC(11)의 출력단자회로(T7)로부터 SOC(11)의 외부로 독출하며, 정상회로에서의 기대치와 비교하여 고장의 유무를 판단한다. 이 독출에 대해서는, 테스트모드신호와의 관련도 포함하여 여러 가지의 논리적인 실현방법이 있을 수 있다.
또한, A = 1, B = 0으로 하면, IP(12)로부터의 출력을 그대로 F/F(41)에 격납할 수 있기 때문에, 예컨대 SOC(11)의 입력단자(T2) 및 제어입력단자(T4, T5)와 출력단자회로(T7)를 SOC(11)의 전용단자로 해 두면, 통상동작시의 임의의 1사이클에 있어서 A = 1, B = 0으로 하여 통상동작에서의 IP(12)로부터의 데이터를 격납한 후, A = 0, B = 1로서 F/F(41)에 격납한 데이터를 SOC(11)의 출력단자회로(T7)로부터 시리얼로 출력함으로써, IP(12)의 동작진단을 행하는 것이 가능하다.
또, 테스트결과 격납회로(15)는 그 중심적인 기능을 시그니처 압축 레지스터로서의 동작에 의해 실현하고 있고, IP(12)의 내부에 고장이 존재하여 정상의 경우와는 다른 테스트결과를 출력했음에도 불구하고 최종의 테스트결과가 정상동작시와 동일하게 되는 앨리어싱(aliasing)의 확률이 1/2n-1(n은 F/F(41)의 개수) 있고, 실제의 구현(implement)에 즈음하여 IP(12)의 출력수가 적은 경우는, 적어도 n>20정도로 되도록 연구를 해 두는 것이 필요하게 된다. 또, 시그니처 압축 레지스터의 피드백회로(feedback circuit)(피드백해야 할 비트의 위치)는, 일반적으로 F/F(41)의 비트수에 의존하여 변화하기 때문에, 이 점의 배려도 필요하다.
이와 같이, 상기 실시형태에 있어서는, 테스트대상으로 되는 IP(12)의 출력을 직접 SOC(11)의 출력단자를 사용하여 외부로 독출할 필요가 없기 때문에, 다수의 출력단자를 갖는 IP(12)의 테스트이더라도, 출력단자수가 비교적 적은 SOC(11)에 있어서 실시하는 것이 가능하게 된다. 또, 종래의 시리얼 억세스방식(serial access system)에 비해 테스트에 필요하게 되는 구성의 면적증가가 억제되고, 테스트시간도 단축된다고 하는 효과가 얻어진다.
도 5에 상기 실시형태의 테스트 용이화 회로를 SOC에 자동삽입하는 수법을 나타낸다. SOC(11)의 관련 데이터(51)와, SOC(11)에 사용되고 있는 IP(12)를 포함한 IP(일반적으로는 복수)의 관련 데이터(52)가 테스트 용이화 회로 자동삽입장치(53)에 입력된다. 여기서, SOC(11)의 관련 데이터(51)로서는, SOC(11)의 입출력단자, IP(12)의 테스트에 이용가능한 입출력단자, 및 SOC(11)의 기능을 실현하기 위한 IP(12)의 입출력단자 및 SOC(11)의 입출력단자의 SOC(11) 내부에서의 구체적인 접속을 나타내는 네트 데이터(상부 계층 네트 데이터(top-layer net data)), SOC(11)의 동작확인을 위한 테스트 패턴(출력의 기대치 부가) 등이 있다. 한편, 각 IP(12)의 관련 데이터(52)로서는, 각각의 입출력단자, 각각의 기능을 실현하기 위한 구체적인 동작을 기술한 정보, 및 각각의 내에 고장이 포함되어 있지 않은가를 조사하기 위해 이용하는 테스트 용이화 수법의 종류, 그 수법에 따라 준비된 테스트 패턴(출력의 기대치 부가)이 있다. 테스트 용이화 수법으로서는, 본 발명의 수법 외에, 종래의 패럴렐 억세스수법(parallel access method: 병렬 억세스수법)이나 시리얼 억세스수법(serial access method: 직렬 억세스수법)을 포함해도 좋다. 각 IP(12)의 동작을 기술한 정보는, 기본적으로는 IP(12)의 입출력과, 조합논리게이트나 플립플롭 등의 기본셀간의 접속정보인, 이른바 게이트 레벨 네트 데이터(gate level net data)인 경우와, IP(12)의 입출력과, IP(12) 내부에서 이용하는 레지스터(플립플롭이나 래치도 포함함)와, 이들을 조합시켜 부울식으로 표현한 신호를 이용하여 IP(12)내의 논리적 접속이나 레지스터의 동작을 프로그램처럼 기술하는 RTL(Register Transfer Level) 기술(記述)에 의해 IP(12)의 기능동작을 기술한 RTL 네트 데이터인 경우가 있다. 이하에, 일례로서 멀티플렉서의 게이트 레벨과 RTL의 기술을 나타낸다.
(게이트 레벨) MUX(21) Ixxx (.Z(data_out), .A0(data0), .A1(data1), .S(select));
(RTL) assign data_out = select? data1 : data0;
RTL 네트 데이터는, 논리합성기구(logical synthesis tool)를 사용함으로써, 게이트 레벨 네트 데이터(gate level net data)로 변환할 수 있다. SOC(11)의 네트 데이터도 기본적으로는 접속정보뿐이지만, 게이트 레벨 네트 데이터와 RTL 네트 데이터의 경우가 있다. 테스트 용이화 회로 자동삽입장치(53)는, 입력된 SOC(11)의 관련 데이터(51)와, SOC(11)에 사용되고 있는 IP(12)를 포함한 IP(일반적으로는 복수)의 관련 데이터(52)에 기초하여, SOC(11)에 대해 IP(12)를 포함한 IP(일반적으로는 복수)의 각각에 대한 소정의 테스트 용이화 수법에 따른 테스트 용이화 회로를 자동적으로 삽입하고, 그 출력으로서 이들 테스트 용이화 회로 삽입완료의 SOC(11)의 네트 데이터, 및 이들 IP용의 테스트 패턴을 테스트 용이화 회로 삽입완료의 SOC(11)에서 이용할 수 있도록 변환한 테스트 패턴으로 이루어진 SOC(11)의 회로삽입완료 관련정보(54)를 출력한다.
여기서, 게이트 레벨 네트와 RTL 네트의 어느 쪽에서의 처리가 보다 바람직한가 하는 점에 대해 설명한다. 최근의 SOC는 대규모이고 게다가 고성능이 요구되고 있는 것이 많아, 동작주파수 등의 타이밍제약(timing restriction)을 사람의 손으로 만족시키는 것은 극히 곤란하게 되고 있다. 최근의 논리합성기구는 SOC의 타이밍제약을 만족시키기 위해, 최적의 논리게이트의 조합을 찾는다거나, 타이밍제약을 만족시키지 않는 부분의 버퍼의 사이즈(구동력)을 증가시킨다거나, 새로운 버퍼를 추가한다거나 하는 작업을, 내부에서 자동적으로 실행하도록 되어 있다.
따라서, 본 발명과 같은 테스트 용이화 회로의 삽입후에도, 논리합성기구의 활용에 의해 타이밍제약을 만족시키도록 해 두는 것이 바람직하다. 즉, 기본적으로는 SOC(11)와 IP(12)를 포함한 IP의 네트 데이터는 RTL 네트 데이터를 이용하고, 본 발명의 테스트 용이화 회로의 삽입은 RTL에 있어서 실시하는 것이 바람직한 것으로 된다. 다만, 논리합성기구는 최종적인 게이트 레벨 네트 작성 전의 단계로서, 상술한 여러 가지의 타이밍조정 전의 「1차」 게이트 레벨 네트를 작성하지만, 이것을 네트 데이터로서 취급할 수도 있다. 이 경우, 매회 논리합성을 행할 필요는 없게 되어 개발기간을 단축할 수 있다. 또한, SOC(11)는 기존의 IP 이외에 그들로는 실현되고 있지 않은 신규 기능을 실현하는, 이른바 유저정의 로직(user-defined logic: UDL)을 포함하는 것도 있지만, SOC(11)에서 이용되는 IP(12)를 대상으로 하는 본 발명의 본질에는 특별히 영향을 미치지 않는다. 한편, UDL을 하나의 IP로서 처리함으로써 본 발명을 적용하는 것도 가능하다.
도 6은 도 4에 나타낸 테스트결과 격납회로(15)의 다른 실시형태를 나타낸 도면으로, 이 실시형태의 특징으로 하는 바는 앞의 실시형태에서 설명한 테스트 출력의 시그니처 압축 결과의 신뢰성이 F/F(41)의 개수에 의존하는 것을 완화하도록 한 점에 있다. 도 6에 있어서, 회로블럭(61)은 IP(12)의 출력수에 대응한 도 4와 동일한 회로를 일반화하여 표현한 회로를 나타내고 있고, 이 회로블럭(61)에 대해 회로블럭(61)에서의 시그니처 압축 결과의 신뢰성을 확보하기 위해, 새롭게 예컨대 3개의 시그니처 압축용의 F/F(62-1∼62-3)와, 이들 F/F(62)을 직렬 접속하는 AND 게이트(63-1∼63-3)를 설치하고 있다. F/F(62-2)와 F/F(62-3)의 출력이 회로블럭(61)으로 피드백되어 입력되고, 이들 입력은 회로블럭(61) 내의 다른 피드백 입력과 더불어 배타적 논리합이 취해지며, 도 4에 나타낸 MUX(45)의 한쪽의 입력으로 된다. 이러한 구성의 동작은 앞의 실시형태에서 설명한 것과 마찬가지이다. 한편, 새롭게 추가되는 F/F(62)의 개수 및 피드백되는 F/F의 출력은 회로블럭(61)의 구성에 따라 적절히 설정된다.
이러한 실시형태에 있어서는, 테스트 대상으로 되는 IP(12)의 출력비트수가 적은 경우이더라도, 테스트 데이터의 시그니처 압축의 신뢰성이 확보되어 IP(12)의 고장을 확실히 판단할 수 있다.
도 7은 본 발명의 다른 실시형태에 따른 반도체 집적회로의 구성을 나타낸 도면이다. 도 7에 있어서, 이 실시형태의 반도체 집적회로는 본 발명이 적용되는 IP가 복수 있는 경우의 것이다. 즉, IP(71, 72, 73)의 3개의 IP가 본 발명의 적용을 받고, 그들의 출력에 대해 시그니처 압축 기능을 갖는 테스트결과 격납회로(74, 75, 76)가 부가되는 것으로 한다. 여기서, IP(71)에 대해서는 출력수가 27비트로, 예컨대 전술한 바와 같이 20보다 크기 때문에, 테스트결과 격납회로(74)로서는 출력수와 같은 개수의 플립플롭(비트폭)의 시그니처 압축 레지스터를 포함하는 것을 설치하면 좋다. 이에 대해, IP(72) 및 IP(73)의 출력수는 각각 5비트, 18비트이고, 모두 예컨대 20 이하이다. 여기서, 도 6에 나타낸 실시형태와 같이, 각각의 IP(72, 73)에 대해 16비트, 3비트의 플립플롭을 추가하여 앨리어싱의 우려가 거의 없는 시그니처 압축 레지스터를 포함하고 있는 테스트결과 격납회로를 설치할 수도 있지만, SOC(11)의 통상동작에 있어서는 테스트용으로 부가한 회로는 쓸데없는 면 적증가로 된다.
그래서, 본 실시형태에서는, IP(72, 73)에 대해서는 각각의 테스트결과 격납회로(75, 76)를 결합하고, 그들 IP(72, 73)의 각 출력에 1개의 플립플롭(비트)이 대응하는 23비트 폭의 1개의 시그니처 압축 레지스터를 포함하는 테스트결과 격납회로를 구성하도록 하고 있다. 이에 따라, 앨리어싱의 문제가 회피됨과 더불어, 쓸데없는 테스트용 회로의 부가도 피할 수 있다. 본 실시형태는, 이러한 구성을 위해 테스트결과 격납회로(76)의 소정의 비트 위치로부터의 피드백신호가 테스트결과 격납회로(75)에 입력되고 있다.
테스트용 디코드회로(77)는, 테스트를 실행하는 IP(71, 72, 73)를 선택하기 위한 선택신호를 출력하는 회로로, 신호(A, B, SEL1, SEL2)가 입력, 신호(A1, A2, A3)가 출력으로 되어 있다. 이들 입력에 대한 출력과 동작은 도 8에 나타낸 바와 같이 된다. 신호(SEL1, SEL0)는 본 실시형태에서 대상으로 하고 있는 3개의 IP(71, 72, 73) 중에서 시그니처 압축 동작을 행하게 하는 1개의 IP를 선택하는 신호(A1, A2, A3)를 출력하기 위한 선택입력신호로, 일반적으로 N개의 IP가 있는 경우는 (1 + log2N)보다 작은 최대의 정수값에 상당하는 수의 선택입력신호가 필요하게 된다.
다만, 본 발명의 구성과 같은 경우에는, SOC(11)의 입력단자와 입출력단자가 확보가능하면, 예컨대 SEL0 = 0일 때 IP(71)와 IP(72)를 동시에 테스트(시그니처 압축)하고, SEL0 = 1일 때 IP(73)의 테스트(시그니처 압축)를 실행하도록 하여, SEL1은 사용하지 않고 끝마치도록 할 수도 있다. 또, 상기의 구성에서는, 테스트 데이터의 포획을 3개의 IP(71, 72, 73)로 동시에 행하는 것을 상정하고 있고, A = 1, B = 0일 때 A1 = A2 = A3 = 1로 되도록 하고 있지만, 각 IP(71, 72, 73)별로 데이터 포획(data capture: 데이터 캡처)을 행하면 좋은 경우에는, A = 1일 때 입력(SEL1, SEL0)이 유효하게 되도록 구성해 두면, 테스트용 디코드회로(77)에 B의 입력을 이용할 필요는 없게 된다.
이러한 실시형태에 있어서는, 복수의 IP가 SOC에 있는 경우라도, 앞의 실시형태와 마찬가지의 효과를 얻을 수 있다.
도 9는 도 7에 나타낸 테스트결과 격납회로(75)의 일반적인 구성을 나타낸 도면이다. 도 9에 있어서, 도 9에 나타낸 구성에서는 도 4에 나타낸 구성과 대비시키기 위해 입력이 4비트로서 도시되어 있다. 또, 피드백의 위치는 설명의 형편상의 것으로 특정의 경우에 대응한 것이 아니다. 테스트결과 격납회로(75)와 결합되는 다른 테스트결과 격납회로(76)로부터의 소정의 피드백 출력(FB0, FB1)이 EX-OR 게이트(91)에 입력되고, 테스트결과 격납회로(75) 자신의 피드백 출력과 EX-OR 게이트(92)에 의해 배타적 논리합이 취해져 멀티플렉서(45)의 한쪽의 입력에 입력된다. 그 외의 기본 동작은 도 4에 나타낸 테스트결과 격납회로와 마찬가지이다. 한편, 테스트결과 격납회로(75) 이외의 테스트결과 격납회로(74, 76)는 도 4에 있어서 멀티플렉서(45)가 없고, 배타적 논리합 게이트(46)의 출력은 테스트결과 격납회로(75)에 대한 피드백 입력으로 되며, 멀티플렉서(45)의 출력단자에 접속되어 있던 부분은 직접 SI에 접속되는 구성으로 된다. 또, 테스트결과 격납회로(74)에서 는, 도 4에 있어서 멀티플렉서(45)의 입력단자(SI)가 접지되는 구성으로 되어 있다.
또한, 본 실시형태의 적용에 의해서도 앨리어싱이 염려되는 경우에는, 도 6에 나타낸 실시형태와 같이 필요한 플립플롭을 추가해도 좋고, 단순히 도 9에 나타낸 구성에 있어서 입력 D[i]의 해당하는 것을 "0"으로 하는(접지하는) 것만으로도 좋다. 또, 본 실시형태의 실현을 용이하게 하기 위해, 적당한 비트수, 예컨대 4비트를 단위로 하여 시그니처 압축 레지스터를 포함하는 테스트결과 격납회로를 구성하도록 해도 좋다. 또, 대상으로 하는 IP의 출력이 복수의 클록에 동기하고 있는 경우는, 클록별로 테스트결과 격납회로를 접속하고, 각각 SOC(11)의 출력단자에 SO1, SO2, …로서 접속하도록 해도 좋다.
도 10은 본 발명의 다른 실시형태에 따른 반도체 집적회로의 구성을 나타낸 도면이다. 전술한 도 7에 나타낸 실시형태는, 각 IP(71, 72, 73)에 대응하여 테스트결과 격납회로(74, 75, 76)를 설치했다. 이 때문에, 테스트회로의 부가량이 본 발명의 대상으로 되는 IP의 수에 따라 (대상 IP의 총 출력수에 비례하여) 증가하게 된다. 또, 대상 IP의 출력수에 따라 피드백 위치를 변화시킨다고 하는 점에서, 실현을 위한 장치의 개발이 번잡해진다. 본 실시형태는, 이 점을 감안하여 개량을 가한 것으로, IP(71, 72, 73)에 대해 IP(71, 72, 73)의 출력을 선택하는 IP출력 선택회로(101)와, IP출력 선택회로(101)에 의해 선택된 IP(71, 72, 73)의 출력을 시그니처 압축하는 시그니처 압축 레지스터를 포함하고 있는 테스트결과 격납회로(102) 및, IP출력 선택회로(101)의 선택을 제어하는 테스트용 디코드회로(103)로 구성된다.
도 11에 IP출력 선택회로(101)를 멀티플렉서(MUX)에 의해 구성한 일례를 나타낸다. 도 11에 있어서, IP(71)의 출력의 IP1_OUT0∼IP1_OUT26, IP(72)의 출력의 IP2_OUT0∼IP2_OUT4, IP(73)의 출력의 IP3_OUT0∼IP3_OUT16, 및 테스트용 디코드회로(103)의 IP선택출력(IP1_SEL, IP2_SEL, IP3_SEL)이 입력되고, IP(71, 72, 73)의 출력 중, 최대의 출력수인 IP(71)의 출력에 대응한 27비트의 출력(테스트 결과 격납부(92)로의 입력) DI0∼DI26이 MUX(110), …, MUX(115), …, MUX(126)로부터 출력된다. 도 11에서는, 간소화를 위해 IP2 및 IP3으로부터의 입력에 관련된 부분은 비트 0의 것만을 기재하고 있다. 멀티플렉서는, "0"측의 입력에는 다음의 다른 IP로부터의 출력 또는 (접속해야 할 IP의 출력이 없는 경우는) "0"에 접속하는(접지하는), 이른바 종속(cascade)의 접속으로 되어 있고, IP1_SEL, IP2_SEL, IP3_SEL은 어느 1개만이 1이거나, 또는 전부 0으로 되도록 하고 있다.
도 12는 테스트결과 격납회로(102)의 일반적인 구성을 나타낸 도면이다. 도 12에 있어서, 도 12에 나타낸 구성에서는 도 4에 나타낸 구성과 대비시키기 위해 입력이 4비트로서 도시되어 있다. 또, 피드백의 위치는 설명의 형편상의 것으로 특정의 경우에 대응한 것이 아니다. 도 12에 나타낸 구성에서는, 비동기 리세트(로우 액티브(low active)) 부가 플립플롭(121-0∼121-3)을 이용하고 있고, 이들 플립플롭(121)은 각각 대응하는 EX-OR 게이트(122-0∼122-3)의 출력을 입력으로 하며, EX-OR 게이트(123)를 매개로 하여 피드백이 이루어지고 있다. 또, 시프트동작을 위한 제어입력은 IP출력 선택회로(101)와 테스트용 디코드회로(103)에 의해 주 어지기 때문에, 도 12의 회로는 실질 시그니처 압축 레지스터 부분만으로 구성되어 있다. 회로 전체로서의 동작을 도 13에 나타낸다. 도 13에 나타낸 동작에 있어서, 테스트 데이터의 포획은 리세트 해제 후의 1사이클째에 가능하게 된다.
또한, 상기 실시형태의 IP출력 선택회로(101)를 멀티플렉서가 아니라 3상태 버퍼와 버스를 이용하여 실현하는 것은 용이하다. 또, 적당한 1보다 큰 비트를 단위로 하여 테스트결과 격납회로를 구성하는 경우에 생길 수 있는 나머지 비트(어느 IP(71, 72, 73)로부터의 출력도 접속되지 않은 비트)에 대해서는, 테스트결과 격납회로(102)의 해당하는 DI입력을 "0"에 접속하도록(접지하도록) 하면 좋다. 또, 도 7에 나타낸 실시형태와 본 실시형태를 조합시킨 중간적인 방식으로 전체의 테스트결과 격납회로를 실현하는 것도 가능하다. 즉, 도 10에서의 IP출력 선택회로(101)와 테스트결과 격납회로(102)의 조(組)를, 테스트결과 격납회로(102)가 도 7에 나타낸 테스트결과 격납회로(74)와 테스트결과 격납회로(75) 및 테스트결과 격납회로(76)가 접속되는 형태로 접속되도록 하면 좋다.
이러한 실시형태에 있어서는, 상기 실시형태와 마찬가지의 효과를 얻을 수 있는 동시에, IP의 개수가 증가해도 테스트결과 격납회로의 개수의 증가를 초래하는 일은 없어 구성을 소형화할 수 있다.
이상 설명한 바와 같이 본 발명에 의하면, 기능블럭의 테스트출력을 시그니처 압축하는 테스트결과 격납회로를 매개로 하여 기능블럭의 테스트결과를 반도체 집적회로의 외부로 취출하도록 했으므로, 반도체 집적회로의 외부단자수에 의존하 는 일없이 MUX 삽입방식에서의 테스트의 실시를 가능하게 하고, 테스트에 필요하게 되는 구성이 대형화되는 것을 억제하며, 테스트 시간을 단축하는 것이 가능하게 된다.

Claims (20)

  1. 복수의 입력 중 어느 하나를 선택하는 단방향 선택회로와,
    데이터를 쌍방향으로 전송하는 쌍방향 선택회로,
    상기 선택회로를 매개로 해서 하나의 다른 기능블럭의 출력단자 및 상기 반도체 집적회로의 입력단자에 접속된 입력단자와, 상기 쌍방향 선택회로를 매개로 해서 상기 다른 기능블럭의 쌍방향 단자 및 상기 반도체 집적회로의 쌍방향 단자에 접속된 쌍방향 단자를 각각 갖춘 복수의 기능블럭,
    상기 복수의 기능블럭의 출력단자에 접속되어 상기 복수의 기능블럭으로부터 병렬로 복수(n)비트의 테스트 결과를 받아 그 테스트 결과를 동시에 시그니처 압축하고, 시그니처 압축된 데이터를 상기 복수(n)비트보다 적은 m(m<n)비트 단위로 상기 반도체 집적회로의 출력단자로부터 출력하는 것으로서, 테스트 용이화 회로로 기능하는 복수의 테스트결과 격납회로 및,
    상기 복수의 기능블럭 중에서 테스트를 행할 기능블럭을 선택하는 디코드회로를 구비하여 이루어진 것을 특징으로 하는 반도체 집적회로.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 제1항에 있어서, 상기 복수의 테스트결과 격납회로가, 상기 복수의 기능블럭으로부터 병렬로 n비트의 테스트 결과를 받아 그 테스트 결과를 m비트 단위로 병렬로 상기 반도체 집적회로의 출력단자로부터 시리얼로 출력하도록 되어 있는 것을 특징으로 하는 반도체 집적회로.
  6. 제1항에 있어서, 상기 복수의 기능블럭의 출력단자를 선택하는 출력선택회로를 더 구비하여 이루어지되,
    상기 디코드회로가 상기 출력선택회로의 선택동작을 제어하도록 되어 있고,
    상기 복수의 테스트결과 격납회로가 상기 출력선택회로에 의해 선택된 기능블럭의 테스트 결과를 받도록 되어 있는 것을 특징으로 하는 반도체 집적회로.
  7. 복수의 기능블럭을 상호 접속시켜 구축한 반도체 집적회로에 테스트 용이화 회로를 삽입하기 위한 자동삽입방법으로서,
    상기 반도체 집적회로의 입출력단자에 관련된 데이터와, 상기 복수의 기능블럭의 테스트에 이용가능한 입출력단자에 관련된 데이터, 상기 반도체 집적회로의 입출력단자와 상기 반도체 집적회로의 기능을 실현하기 위한 상기 복수의 기능블럭의 입출력단자간의 접속을 나타내는 제1 네트 데이터 및, 상기 반도체 집적회로의 동작을 확인하는 제1 테스트 패턴 데이터를 포함한 상기 반도체 집적회로의 제1의 관련 데이터와; 상기 복수의 기능블럭의 기능을 실현하는 동작을 기술한 정보와, 고장의 유무를 시험하기 위한 자동삽입방법의 종류 및, 그 자동삽입방법을 위해 준비된 테스트 패턴을 포함한 상기 복수의 기능블럭의 제2의 관련 데이터를 입력하는 단계와,
    상기 복수의 기능블럭에 대해 테스트 용이화 회로로 기능하는 복수의 테스트결과 격납회로를 상기 반도체 집적회로에 삽입하는 단계 및,
    상기 반도체 집적회로의 제2 네트 데이터와, 상기 반도체 집적회로의 동작을 확인하는 제2 테스트 패턴 데이터를 포함한 제3의 관련 데이터를 출력하는 단계를 갖추어 이루어지되,
    상기 테스트결과 격납회로가, 상기 복수의 기능블럭으로부터 병렬로 복수(n)비트의 테스트 결과를 받아 그 테스트 결과를 동시에 시그니처 압축하고, 시그니처 압축된 데이터를 상기 복수(n)비트보다 적은 m(m<n)비트 단위로 상기 반도체 집적회로의 출력단자로부터 출력하도록 된 것을 특징으로 하는 테스트 용이화 회로의 자동삽입방법.
  8. 삭제
  9. 삭제
  10. 제1항에 있어서, 상기 복수의 테스트결과 격납회로가 직렬로 접속되어 있고, 상기 복수의 테스트결과 격납회로가, 상기 복수의 기능블럭으로부터 병렬로 n비트의 테스트 결과를 받아 그 테스트 결과를 시그니처 압축하고, 시그니처 압축된 테스트 결과를 직렬로 접속된 상기 복수의 테스트결과 격납회로의 최종단에 위치된 테스트결과 격납회로의 출력단자를 매개로 해서 m비트 단위로 상기 반도체 집적회로의 출력단자로부터 직렬로 출력하도록 되어 있는 것을 특징으로 하는 반도체 집적회로.
  11. 제1항에 있어서, 상기 복수의 테스트결과 격납회로가 직렬로 접속되어 있고, 상기 복수의 테스트결과 격납회로가, 상기 복수의 기능블럭으로부터 병렬로 n비트의 테스트 결과를 받아 그 테스트 결과를 직렬로 접속된 상기 복수의 테스트결과 격납회로의 최종단에 위치된 테스트결과 격납회로의 출력단자를 매개로 해서 m비트 단위로 상기 반도체 집적회로의 출력단자로부터 시리얼로 출력하도록 되어 있는 것을 특징으로 하는 반도체 집적회로.
  12. 제6항에 있어서, 상기 출력선택회로가 종속접속된 복수의 멀티플렉서를 갖춘 것임을 특징으로 하는 반도체 집적회로.
  13. 제6항에 있어서, 상기 복수의 테스트결과 격납회로가, 비동기 리세트 기능을 가진 복수의 플립플롭회로를 갖춘 것임을 특징으로 하는 반도체 집적회로.
  14. 제1항에 있어서, 상기 선택회로가, 병렬로 설치된 복수의 멀티플렉서를 갖춘 것임을 특징으로 하는 반도체 집적회로.
  15. 제1항에 있어서, 상기 쌍방향 선택회로가 공통배선과 이 공통배선에 배치된 복수의 접속노드를 갖추어 이루어지고,
    상기 다른 기능블럭과 상기 반도체 집적회로 및 상기 기능블럭의 쌍방향 단자가 각각 상기 복수의 접속노드에 접속된 3상태 버퍼를 갖춘 것을 특징으로 하는 반도체 집적회로.
  16. 삭제
  17. 제7항에 있어서, 상기 복수의 테스트결과 격납회로가 직렬로 접속되어 있고, 상기 복수의 테스트결과 격납회로가, 상기 복수의 기능블럭으로부터 병렬로 n비트의 테스트 결과를 받아 그 테스트 결과를 시그니처 압축하고, 시그니처 압축된 테스트 결과를 직렬로 접속된 상기 복수의 테스트결과 격납회로의 최종단에 위치된 테스트결과 격납회로의 출력단자를 매개로 해서 m비트 단위로 상기 반도체 집적회로의 출력단자로부터 직렬로 출력하도록 되어 있고,
    상기 복수의 기능블럭 중에서 테스트를 행할 기능블럭을 디코드회로에 의해 선택하는 단계를 더 갖추어 이루어진 것을 특징으로 하는 테스트 용이화 회로의 자동삽입방법.
  18. 제7항에 있어서, 상기 복수의 테스트결과 격납회로를 상기 반도체 집적회로에 삽입하는 단계가, 상기 복수의 기능블럭의 출력단자를 선택하기 위한 출력선택회로와, 이 출력선택회로의 선택동작을 제어하기 위한 디코드회로를 삽입하는 단계를 갖추어 이루어지고,
    상기 복수의 테스트결과 격납회로가 상기 출력선택회로에 의해 선택된 기능블럭의 테스트 결과를 받도록 된 것을 특징으로 하는 테스트 용이화 회로의 자동삽입방법.
  19. 제7항에 있어서, 상기 복수의 기능블럭의 기능을 실현하는 동작을 기술하는 정보가, 상기 복수의 기능블럭의 입출력단자와 상기 복수의 기능블럭 내부에서 이용하는 레지스터 및 부울식에 따라 표현한 신호를 이용하여 상기 복수의 기능블럭 내의 논리적 접속 및 레지스터에 의한 동작을 기술하는 RTL 네트 데이터인 것을 특징으로 하는 테스트 용이화 회로의 자동삽입방법.
  20. 제7항에 있어서, 상기 복수의 기능블럭의 기능을 실현하는 동작을 기술하는 정보가, 상기 복수의 기능블럭 내의 기본셀과 상기 복수의 기능블럭의 입출력단자간의 접속정보를 포함한 게이트 레벨 네트 데이터인 것을 특징으로 하는 테스트 용이화 회로의 자동삽입방법.
KR1020010048980A 2000-09-25 2001-08-14 반도체 집적회로 및 테스트 용이화 회로의 자동삽입방법 KR100564894B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2000-00290717 2000-09-25
JP2000290717A JP2002100738A (ja) 2000-09-25 2000-09-25 半導体集積回路及びテスト容易化回路の自動挿入方法

Publications (2)

Publication Number Publication Date
KR20020024526A KR20020024526A (ko) 2002-03-30
KR100564894B1 true KR100564894B1 (ko) 2006-03-30

Family

ID=18773902

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020010048980A KR100564894B1 (ko) 2000-09-25 2001-08-14 반도체 집적회로 및 테스트 용이화 회로의 자동삽입방법

Country Status (5)

Country Link
US (1) US6834368B2 (ko)
JP (1) JP2002100738A (ko)
KR (1) KR100564894B1 (ko)
CN (1) CN1242329C (ko)
TW (1) TW531654B (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6918074B2 (en) * 2002-06-28 2005-07-12 Intel Corporation At speed testing asynchronous signals
KR100448706B1 (ko) * 2002-07-23 2004-09-13 삼성전자주식회사 단일 칩 시스템 및 이 시스템의 테스트/디버그 방법
US20040193985A1 (en) * 2003-03-31 2004-09-30 Veerendra Bhora Autonomous built-in self-test for integrated circuits
US7313738B2 (en) * 2005-02-17 2007-12-25 International Business Machines Corporation System and method for system-on-chip interconnect verification
KR100825790B1 (ko) 2006-11-07 2008-04-29 삼성전자주식회사 데이터를 압축시키는 테스트 콘트롤러를 채용한 테스트시스템, 데이터 압축 회로 및 테스트 방법
KR101460665B1 (ko) 2008-07-16 2014-11-12 삼성전자주식회사 메모리 인터페이스를 사용한 SoC 디바이스 검증 모델
CN103376399B (zh) * 2012-04-24 2015-08-05 北京兆易创新科技股份有限公司 一种逻辑电路
WO2014108741A1 (en) * 2013-01-09 2014-07-17 Freescale Semiconductor, Inc. A method and apparatus for adaptive graphics compression and display buffer switching
WO2016200718A1 (en) * 2015-06-06 2016-12-15 The Board Of Trustees Of The Leland Stanford Junior University System-level validation of systems-on-a-chip (soc)
CN108020769A (zh) * 2016-10-28 2018-05-11 深圳市中兴微电子技术有限公司 一种集成电路测试的方法和装置
KR20210096857A (ko) 2020-01-29 2021-08-06 삼성전자주식회사 시스템 온 칩 및 이의 리셋 제어 방법

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR880005622A (ko) * 1986-10-02 1988-06-29 엘리 와이스 집적회로
JPH0222579A (ja) * 1988-07-12 1990-01-25 Toshiba Corp シグネチャ圧縮回路
JPH0720208A (ja) * 1993-07-02 1995-01-24 Mitsubishi Electric Corp 被測定素子のテスト方法及びテストシステム
JPH116869A (ja) * 1997-06-17 1999-01-12 Seiko Epson Corp 半導体集積回路とその試験方法
KR19990057727A (ko) * 1997-12-30 1999-07-15 윤종용 테스트 어빌리티를 증가시킨 집적 회로
JPH11242900A (ja) * 1998-02-26 1999-09-07 Nec Ic Microcomput Syst Ltd 半導体集積回路およびそのチェックビット生成方法
US6016561A (en) * 1996-07-22 2000-01-18 Micron Technology, Inc. Output data compression scheme for use in testing IC memories
KR20000013809A (ko) * 1998-08-13 2000-03-06 윤종용 선형궤환 쉬프트 레지스터를 사용한 내장 자기진단 장치
KR20010006832A (ko) * 1999-06-16 2001-01-26 아끼구사 나오유끼 반도체 집적 회로

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6255955A (ja) 1985-09-05 1987-03-11 Mitsubishi Electric Corp 集積回路
JPS62115380A (ja) 1985-11-14 1987-05-27 Fujitsu Ltd 集積回路の試験方法
KR920009635B1 (ko) 1988-06-22 1992-10-22 가부시키가이샤 도시바 논리회로블럭의 자기진단회로
US5184067A (en) * 1988-07-12 1993-02-02 Kabushiki Kaisha Toshiba Signature compression circuit
US5051996A (en) * 1989-03-27 1991-09-24 The United States Of America As Represented By The United States Department Of Energy Built-in-test by signature inspection (bitsi)
JPH05180903A (ja) 1991-12-28 1993-07-23 Ricoh Co Ltd 半導体集積回路装置のテスト方法及びテスト回路
JP3474214B2 (ja) 1992-10-22 2003-12-08 株式会社東芝 論理回路及びこの論理回路を備えたテスト容易化回路
JP3469294B2 (ja) 1994-03-10 2003-11-25 株式会社東芝 線型帰還シフトレジスタおよび半導体集積回路装置
JP3207727B2 (ja) 1995-10-03 2001-09-10 株式会社東芝 半導体集積回路およびその応用装置
US6021514A (en) * 1998-01-22 2000-02-01 International Business Machines Corporation Limited latch linehold capability for LBIST testing
KR100291106B1 (ko) 1998-06-11 2001-06-01 황동환 상용화된 하드디스크 완제품을 시험의 시편으로 활용하는 상단구동식 시험방법 및 그 장치

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR880005622A (ko) * 1986-10-02 1988-06-29 엘리 와이스 집적회로
JPH0222579A (ja) * 1988-07-12 1990-01-25 Toshiba Corp シグネチャ圧縮回路
JPH0720208A (ja) * 1993-07-02 1995-01-24 Mitsubishi Electric Corp 被測定素子のテスト方法及びテストシステム
US6016561A (en) * 1996-07-22 2000-01-18 Micron Technology, Inc. Output data compression scheme for use in testing IC memories
JPH116869A (ja) * 1997-06-17 1999-01-12 Seiko Epson Corp 半導体集積回路とその試験方法
KR19990057727A (ko) * 1997-12-30 1999-07-15 윤종용 테스트 어빌리티를 증가시킨 집적 회로
JPH11242900A (ja) * 1998-02-26 1999-09-07 Nec Ic Microcomput Syst Ltd 半導体集積回路およびそのチェックビット生成方法
KR20000013809A (ko) * 1998-08-13 2000-03-06 윤종용 선형궤환 쉬프트 레지스터를 사용한 내장 자기진단 장치
KR100295050B1 (ko) * 1998-08-13 2001-08-07 윤종용 선형궤환쉬프트레지스터를사용한내장자기진단장치
KR20010006832A (ko) * 1999-06-16 2001-01-26 아끼구사 나오유끼 반도체 집적 회로

Also Published As

Publication number Publication date
CN1242329C (zh) 2006-02-15
JP2002100738A (ja) 2002-04-05
KR20020024526A (ko) 2002-03-30
TW531654B (en) 2003-05-11
US6834368B2 (en) 2004-12-21
CN1346090A (zh) 2002-04-24
US20020059547A1 (en) 2002-05-16

Similar Documents

Publication Publication Date Title
US5084874A (en) Enhanced test circuit
US5602855A (en) Integrated test circuit
US4635261A (en) On chip test system for configurable gate arrays
US5495487A (en) Testing buffer/register
US5056094A (en) Delay fault testing method and apparatus
US6304987B1 (en) Integrated test circuit
US4710927A (en) Diagnostic circuit
US6964001B2 (en) On-chip service processor
US6665828B1 (en) Globally distributed scan blocks
US6088821A (en) Logic circuit verification device for semiconductor integrated circuit
US20040017219A1 (en) System on chip (SOC) and method of testing and/or debugging the system on chip
KR100564894B1 (ko) 반도체 집적회로 및 테스트 용이화 회로의 자동삽입방법
US6286121B1 (en) Semiconductor device
EP0604032A2 (en) Scan testing of integrated circuits
US7707021B2 (en) Circuit emulation with state recovery
US6961884B1 (en) JTAG mirroring circuitry and methods
KR910008920B1 (ko) 다중-모우드 카운터 회로망 및 이 회로망의 동작 검사 방법
KR0165105B1 (ko) 개량된 검사 회로
JP3190364B2 (ja) 検査方法及び回路
US7260753B2 (en) Methods and apparatus for providing test access to asynchronous circuits and systems
JP2989586B2 (ja) 半導体集積回路及びその設計方法並びに半導体集積回路の設計プログラムを記録した記録媒体

Legal Events

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

Payment date: 20110223

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee