KR0165105B1 - 개량된 검사 회로 - Google Patents

개량된 검사 회로 Download PDF

Info

Publication number
KR0165105B1
KR0165105B1 KR1019890012886A KR890012886A KR0165105B1 KR 0165105 B1 KR0165105 B1 KR 0165105B1 KR 1019890012886 A KR1019890012886 A KR 1019890012886A KR 890012886 A KR890012886 A KR 890012886A KR 0165105 B1 KR0165105 B1 KR 0165105B1
Authority
KR
South Korea
Prior art keywords
input
output
test
circuit
inspection
Prior art date
Application number
KR1019890012886A
Other languages
English (en)
Other versions
KR900005474A (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 KR900005474A publication Critical patent/KR900005474A/ko
Application granted granted Critical
Publication of KR0165105B1 publication Critical patent/KR0165105B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • 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/318522Test of Sequential circuits
    • G01R31/318525Test of flip-flops or latches
    • 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/318541Scan latches or cell details

Abstract

내용 없음.

Description

개량된 검사 회로
제1도는 내부 응용 논리 회로의 경계선에 배치된 검사셀을 갖고 있는 집적 회로의 회로도.
제2도는 제1도의 검사셀의 양호한 실시예의 회로도.
제3도는 집적 회로상의 검사셀들 사이의 회로 상호 접속을 나타내는 도면.
제4a도는 쌍방향(bidirectional) 검사셀의 양호한 실시예의 회로도.
제4b도는 집적 회로 내에 배치된 제4a도의 쌍방향 검사셀의 회로도.
제5도는 본 발명의 검사셀의 실시예를 도시한 도면.
제6도는 비교 논리 회로를 갖고 있는 기본 검사셀을 포함하는 검사 회로를 도시한 도면.
제7도는 PRPG/PSA 논리 회로를 갖고 있는 기본 검사셀을 포함하는 검사 회로를 도시한 도면.
제8도는 PRPG/PSA 논리 회로 및 프로그래밍 가능한 다항 탭 논리 회로(programmable polynomial tap logic circuitry)를 갖고 있는 기본 검사셀을 포함하는 검사 회로를 도시한 도면.
제9a도 및 제9b도는 프로그래밍 가능한 다항 탭 논리 회로를 갖고 있는 검사 회로들 사이의 상호 접속을 도시한 도면.
제10도는 PRPG/PSA 검사 회로를 갖고 있는 쌍방향 검사셀을 도시한 도면.
제11도는 PRPG/PSA 검사 회로 및 프로그래밍 가능한 다항 탭 회로를 갖고 있는 쌍방향 검사셀을 도시한 도면.
제12도는 표준 조합 논리 회로로의 입력을 관찰하거나, 표준 조합 논리 회로로 부터의 출력을 제어하기 위한 검사 장치를 사용하는 회로를 도시한 도면.
제13도는 제12도의 검사 장치의 양호한 실시예의 회로도.
제14도는 PSA 동작을 수행하는 검사 장치의 회로도.
제15도는 PSA 및 PRPG 동작을 동시에 수행하는 검사 장치의 회로도.
* 도면의 주요 부분에 대한 부호의 설명
10 : IC 12, 30, 240, 242 : 검사셀
14 : 응용 논리부 17 : 제어 버스
18, 38, 41 : 버퍼
22, 28, 32, 34, 36 : 멀티플렉서 24 : 플립-플롭
26 : 래치 40 : I/O 핀
108, 110, 118, 120, 128, 132, 134, 150, 152, 154, 162, 164, 166 : 인버터
142, 160, 176, 178, 184, 186, 190, 192 : N 채널 트랜지스터
170, 172, 184, 182, 188 : P 채널 트랜지스터
200 : 비교기 논리부 202 : XOR 게이트
204, 210, 212, 218 : NAND 게이트 206 : PSA 논리부
208 : OR 게이트 216 : NOR 게이트
220a-220d : 검사 회로 226, 228 : 검사 분할 장치
232,234 : 검사 회로 레지스터 244 : 스캔 바이패스 레지스터
246 : 명령어 레지스터 258 : 카운트 엔에이블 논리부
본 발명은 집적 회로에 관한 것으로, 특히 경계선 스캔 검사 구조(boundary scan test structure)를 제공하기 위하여 집적 회로 내에 사용되는 검사셀에 관한 것이다.
기판(board) 상호 접속 기술, 표면 장착 패키징(surface mount packaging)및 IC 밀도 분야의 진보로 인해, 보드 레벨 테스트(board level testability)가 점점 복잡해지고 있다. 표면 장착 패키징 기술과, 매입 와이어 상호 접속 기술 (buried wire interconnect)이나 양면(doble-sided) 기판 기술과 같은 진보된 기판 상호 접속 기술의 조합으로 인해 기판의 인-서키트(in-circuit testing)에 문제점이 발생한다. 가장 일반적인 기판 레벨 검사 방법인 인-서키트 검사 방법은 회로 기판의 노드를 물리적으로 시험할 수 있는 능력에 따라 좌우된다. 기판 밀도(기판상의 IC의 수)가 증가함에 따라 물리적으로 접근이 불가능해지므로, 종래의 기술을 사용하여 기판을 시험하는 공정은 더욱 어려워진다.
IC 밀도(칩 상의 논리량)가 증가함에 따라, 검사에 필요한 검사 패턴의 수도 증가한다. 인-서키트 검사 기술은 회로 내의 특징 IC를 검사하기 위해 입력 조건을 강제로 제공하는 역-구동 (back-driving) 기술에 의존한다. 이러한 검사 기술을 기판 상의 하나의 IC에 적용할 때, 출력 버퍼가 동일한 노드에 결합되는 근처의 IC들을 손상시킬 수 있다. 검사를 수행하는데 걸리는 시간이 길어질수록 근처의 IC 손상 가능성이 증가하는데, 검사 시간은 적용되는 검사 패턴의 수에 집적적으로 관련되므로, IC 밀도에 관련된다.
그러므로, 기판상의 특정한 IC에 접근하여, 근처의 IC를 손상시키지 않고도 특정한 IC를 검사할 수 있는 검사 구조를 제공할 필요가 산업에서 생기게 되었다.
본 발명에 따르면, 종래의 검사 시스템에 관련된 단점 및 문제점이 거의 해결되는 경계선 스캔 검사 시스템이 제공된다.
본 발명의 경계선 스캔 검사 시스템은 제어 버스에 의해 제공되는 제어 신호에 응답하여, 다수의 입력을 제1메모리에 접속시키는 제1 멀티플렉서(multiplexor)를 포함한다. 제1 메모리의 출력은 제2 메모리에 접속된다. 제2 메모리의 출력은 한 개 이상의 다른 입력과 함께 제2 멀티플렉서의 입력에 접속된다. 제2 멀티플렉서는 제어 버스상의 다른 제어 신호에 의해 제어된다. 제1 메모리의 출력 및 제2 메모리의 출력은 입력으로서 제1 멀티플렉서에 접속된다.
검사 회로로의 데이타 입력 스트림의 합계 검사(checksum)을 계산하기 위한 기호 분석기(signature analysis)와 같은 개량된 검사 특징을 수행하도록 추가적인 회로를 제공할 수도 있다. 합계 검사 계산(checksum calculation)으로 인해 원하지 않는 회로를 마스킹시킬 수 있는 기호 분석 회로(signature analysis circuit)는 기호 분석 계산을 정하기 위한 프로그래밍 가능한 다항 탭 회로(polynomial tap circuitry)와 호환성이 있다.
또한, 검사 회로는 의사-무작위 스트림(pseudo-random stream)으로 된 검사용 데이타를 출력시키기 위해 패턴 발생용 회로 (circuit for pattern generation)를 제공할 수 있다. 패턴 발생 회로는 마스킹 및 프로그래밍 가능한 다항 탭 능력도 포함된다.
검사 회로는 비교 회로를 제공하여 검사 회로로의 데이타 입력을 선정된 데이타와 비교함으로써, 특정한 검사 특성을 발생시키는데 사용될 수 있는 상태를 인식할 수도 있다. 돈트 캐어(Don't Care) 기능을 제공하여, 비교기로부터의 특정 데이타 입력을 마스크시킬 수도 있다.
본 발명은 기본 경계선 스캔 검사에 우수한 능력을 추가로 제공한다. 더욱이, 이 설계 방법은 기본 검사셀에 적합하기 때문에, 원하는 검사 회로의 설계 시간을 향상시킨다.
이하 첨부 도면을 참조하여 본 발명의 장점에 대해서 상세하게 설명하겠다.
유사한 부분에는 유사한 참조 번호를 붙인 제1도 내지 제5도를 참조하면 본 발명의 양호한 실시예를 쉽게 이해하게 된다.
제1도는 IC(10)의 응용 논리부(14)를 통과하는 데이타를 제어 및 관찰하기 위해 IC(10)의 경계선에 배치된 검사셀(12a 내지 12h)를 갖고 있는 집적 회로(IC)(10)의 블럭도이다. 집적 회로(10)은 집적 회로(10)과 다른 집적 회로 사이의 전기적인 접속을 제공하는 다수의 핀(16)을 포함한다. 설명할 목적으로, 집적 회로(10)은 입력 신호를 수신하는 4개의 핀(IN1, IN2, IN3 및 IN4), 및 출력 신호를 제공하는 4개의 핀(OUT1, OUT2, OUT3 및 OUT4)로서 도시되어 있다. 칩으로의 다른 신호는 직렬 데이타 입력(SDI), 제어 버스(17), 및 직렬 데이타 출력 (SDO)를 포함한다. 입력 신호(IN1-IN4)는 검사셀(12a-12d)로 각각 출력되는 입력 버퍼(18)에 접속된다. 각각의 검사셀(12a-12h)는 직렬 데이타 입력(SDI1-8) 및 직렬 데이타 출력 (SDO1-8)을 갖고 있다. 도시된 구조 내에서, IC(10)으로의 SDI 입력은 검사셀(12a)의 SDI1에 접속되고, 후속 셀(12b-12h)의 SDI 입력은 이전 셀의 SDO를 수신한다. 그러므로, SDO1은 SDI2에, SDO2는 SDI3에 접속된다. SDO8은 IC(10)의 SDO 핀에 접속된다. 제어 버스(17)은 각각의 검사셀(12a-12f)에 병렬로 접속된다.
각각의 검사셀은 데이타 입력(DIN) 및 데이타 출력 (DOUT)를 포함한다. 입력 검사셀(12a-12d)에 있어서, DIN은 각 버퍼(18)의 출력에 접속되고, DOUT는 응용 논리부(14)의 입력에 접속된다. 응용 논리부(14)의 입력은 입력(IN1-IN4)에 대응하는 참조 번호(IN1'-IN4')를 붙인다. IN1'-IN4'는 제공된 검사 구조물로의 입력이 아니라 칩으로의 입력이다.
응용 논리부(14)로부터의 출력은 참조 번호(OUT1', OUT2', OUT3' 및 OUT4')를 붙인다. 응용 논리부의 출력(OUT1' 내지 OUT4')는 출력 검사셀(12e-12h)의 데이타 입력 (DIN)에 접속된다. 출력 검사셀 (12e-12h)의 데이타 출력 (DOUT)은 출력 신호(OUT1-OUT4)에 대응하는 출력 버퍼(20)에 접속된다.
검사셀(12a-12h)는 집적 회로(10)내에 많은 검사 기능의 중요한 토대를 제공한다. SDI는 검사셀(12a)를 통해 IC(10)에 제공되고, 각각의 후속 셀(12b-12h)로 전달되어, SDO8을 통하여 검사셀(12h)로부터 출력될 수 있다. 직렬 데이타 경로는 각각의 검사셀(12a-12h)의 내외로 데이타를 쉬프트시키는데 사용된다.
제2도 및 제3도에 상세하게 도시된 제어 버스는 검사 중에 각각의 검사셀(12a-12h)를 동작시키기 위한 신호를 제공한다. 검사 모드에서, 검사셀(12a-12h)는 IC(10)의 내외로의 정상적인 데이타 흐름을 금지한다. 검사 모드에서, 각각의 검사셀(12a-h)는 출력에 부착된 논리 노드를 제어하고, 그 입력에 부착된 논리 노드를 관찰한다. 예를 들어, 제1도에서, 4개의 입력(IN1-IN4)에 부착된 검사셀 (12a-12d)는 IN1-IN4 입력상의 논리 레벨을 관찰하고, IN'1-IN'4 출력상의 논리 레벨을 제어할 수 있다. 이와 마찬가지로, 4개의 출력에 접속된 검사셀(12e-12h)는 OUT'1-OUT'4 입력상의 논리 레벨을 관찰하고, OUT1-OUT4 출력상의 논리 레벨을 제어할 수 있다.
제2도에는 개별 검사셀(12)의 블럭도가 상세하게 도시되어 있다. 검사셀(12)는 3개의 데이타 입력, 즉 데이타 입력(DIN), 관찰 데이타 입력(observability data in : ODI), 및 직렬 데이타 입력(SDI)를 갖고 있다. 2개의 데이타 출력으로는 데이타 출력(DOUT) 및 직렬 데이타 출력(SDO)가 제공된다. 제어 버스(17)은 5개의 신호, 즉 데이타 입력 멀티플렉서 선택 신호(A 및 B), 레지스터 클럭 신호(CLK), 래치 엔에이블 신호(HOLD), 및 데이타 출력 멀티플렉서 선택 신호(DMX)를 포함한다.
제1 멀티플렉서(22)는 D-형 플립플롭(24)의 출력 및 D-형 래치(26)의 반전된 출력과 함께 ODI 및 SDI 신호를 수신한다. 멀티플렉서(22)의 출력은 플립-플롭(24)의 입력에 접속된다. CLK 신호는 플립-플롭 클럭 입력에 접속된다. 플립-플롭(24)의 출력은 래치(26)의 입력에 접속되고, 또한 SDO 신호를 제공한다. 래치(26)의 출력은 DIN 신호와 함께 제2 멀티플렉서(28)의 입력에 접속된다. HOLD 신호는 래치 엔에이블에 접속된다. 멀티플렉서(28)의 출력은 DOUT 신호를 제공한다. 멀티플렉서(28)은 DMX 신호에 의해 엔에이블된다.
동작 시에, 4 : 1 멀티플렉서(22)는 플립-플롭(24)의 입력을 4개의 가능한 소오스, 즉 ODI, SDI, 플립-플롭 (24)의 출력 또는 래치(26)의 반전된 출력들 중 하나의 소오스로부터 선택할 수 있다. 래치(26)은 HOLD입력에 의해 인가된 논리 레벨에 따라, 플립-플롭(24)의 출력을 진행시키거나, 또는 그 현재 상태를 유지하도록 제어될 수 있다. 2 : 1 멀티플렉서(28)은 DMX 입력에 의해 인가된 논리 레벨에 따라, DOUT 출력을 래치(26)은 입력 또는 출력으로 구동되도록 할 수 있다. 4 : 1 멀티플렉서(22), 플립-플롭(24), 래치(26) 및 2 : 1 멀티플렉서의 조합은 검사 셀(12)가 4개의 동기 모드 (synchronous mode), 즉 로드(load), 쉬프트 (shift), 토글(toggle) 및 아이들(idle) 모드로 동작할 수 있도록 한다.
로드 모드에서, 검사셀(12)는 멀티플렉서(22)를 통해 ODI 입력의 논리 상태를 D 플립-플롭(24)으로 클럭에 동기하여 입력시킨다. ODI 입력은 검사 중에 관찰되는 신호에 결합되고, 대부분의 경우에, ODI 입력은 검사셀의 DIN 입력에 접속되는 것과 동일한 경계선 신호 (boundary signal)에 부착된다. 그러나, ODI는 다른 신호에도 접속될 수 있다. 로드 동작이 일어나도록 하기 위해, A 및 B 입력을 선정된 레벨로 설정하여, ODI 입력이 4 : 1 멀티플렉서(22)를 통해 플립-플롭(24)에 접속될 수 있도록 한다. 통상적으로, 래치(26)으로의 HOLD 입력은 래치 출력은 로우 상태이어서, 로드 중에 래치 출력이 현재 상태를 유지하도록 한다.
쉬프트 모드에서, 검사셀은 SDI 입력의 논리 상태를 플립-플롭(24)으로 클럭-인시키고 (clock in), 이 논리 상태를 SDO 출력을 통해 출력시킨다. 쉬프트 모드는 경계선 스캔 경로 내의 검사셀(12)들의 상호 접속되도록 하여, 직렬 데이타가 경계선 스캔 경로의 내외로 쉬프트될 수 있도록 한다. 경계선 스캔 구조에서, 제1도에 도시된 바와 같이 검사셀의 SDI 입력은 선행 검사셀의 SDO 출력이 결합된다. 쉬프트 동작이 일어나도록 하기 위해, A 및 B 입력이 선정된 레벨로 설정되어, SDI 입력이 4 : 1 멀티플렉서를 통해 플립-플롭(24)에 접속될 수 있도록 한다. 통상적으로, 래치(26)으로의 HOLD 입력은 로우 상태로 유지되어, 래치 출력이 쉬프트 동작 중에 현재 상태를 유지하도록 한다.
토글 모드에서, 플립-플롭(24)의 출력은 SDI 또는 ODI 입력의 조건에 관계없이 2개의 논리 상태들 사이에서 CLK 입력의 속도로 토글된다. 이 구조에서, HOLD 입력은 하이 레벨로 설정되어 래치(26)을 엔에이블시키고, A 및 B 입력은 래치(26)의 반전된 출력이 플립-플롭(24)로 전달되도록 설정된다. 이 방식으로 설정된 제어 입력에 있어서, 플립-플롭(24)의 출력에서 래치(26)의 입력까지 그리고 래치(26)의 반전된 출력에서 플립-플롭(24)의 입력까지 피드백 경로가 형성된다. 래치(26)의 반전된 출력에서 데이타가 반전되기 때문에, 대향 논리 상태가 각각의 CLK 입력마다 플립-플롭(24) 내로 클럭-인되어서, 토글 효과를 발생시킨다.
아이들 모드에서, SDI 또는 ODI 입력 조건에 관계없이, CLK가 액티브 상태인 동안에는 검사셀이 현재 상태를 유지한다. 이 구조에서, 플립-플롭(24)의 출력은 4 : 1 멀티플렉서를 통과하므로, 플립-플롭(24)의 입력은 그 출력에 접속되어 플립-플롭(24)의 현재 상태가 클럭 입력마다 리프레쉬되도록 한다.
검사셀(12)는 정상 모드 또는 검사모드일 수 있다. 정상 모드에서, 검사셀(12)는 입력(IN1-IN4) 및 출력(OUT1-OUT4)가 자유롭게 전달되는 데이타 경로를 제공한다. 정상 모드는 DIN 신호가 멀티플렉서(28)을 통해 DOUT 로 통과되도록 DMX 신호를 설정함으로써 얻어진다. 정상 모드 동안에는, 검사셀(12)는 IC(10)의 정상 동작을 방해하지 않고도 4개의 동기 모드(로드, 쉬프트, 아이들 또는 토글 모드)로 동작할 수 있다.
검사셀(12)가 로드 동작을 실행하게 하도록 제어 신호를 A 및 B 입력을 통해 발생시킬 수 있다. 로드 동작은 검사셀(12)가 ODI 입력 상에 제공된 논리 레벨을 포착하게 한다. 데이타가 포착되었을 때, 이것은 쉬프트 동작을 수행함으로써 검사셀(12)의 외부로 쉬프트될 수 있다. 로드 동작은 CLK 입력에 동기되어 일어난다. 쉬프트 동작 다음에, 검사셀(12)는 아이들 모드로 복귀한다. 이 기능은 검사셀(12)가 IC의 정상 동작 중에 IC의 입력 및/또는 출력 경계선 신호를 샘플시키고, 검사를 위해 샘플 데이타 출력을 쉬프트시킬 수 있게 한다. 정상 동작 중에 경계선 데이타를 샘플시킬 수 있는 능력은 검사셀(12)가 고가의 검사 장비 및 외부 검사 프로브(probe)를 사용하지 않고도 회로 기판상의 다수의 IC의 기능적인 상호 작용을 확인할 수 있게 한다.
또한, 정상 동작 모드에서, 제어 신호를 DMX 입력을 통해 발생시켜서, 검사셀(12)가 IC의 정상 입력/출력 경계선 경로 내에 선정된 검사 데이타 비트를 삽입시키게 할 수 있다. 삽입될 검사 데이타 비트는 쉬프트 동작을 통해 플립-플롭(24)내로 쉬프트된다. 래치(26)으로의 HOLD 입력을 하이 상태로 설정하여, 플립-플롭내의 검사 데이타가 래치를 통해서 2 : 1 멀티플렉서(28)에 입력될 수 있도록 한다. 검사 데이타를 삽입하기 위해, DMX 입력은 멀티플렉서가 래치(26)의 출력으로부터의 검사 데이타를 DOUT 출력으로 진행시키도록 하는 레벨로 설정된다. 검사 데이타가 삽입된 후에, DMX 입력이 스위치되어, 2 : 1 멀티플렉서(28)이 DIN으로부터의 정상 데이타를 DOUT로 진행시키도록 한다.
정상 동작 중에 검사 데이타를 삽입하는 능력은 검사셀이 회로 내의 한 개이상의 IC의 정상 동작을 변형시킬 수 있도록 해 준다. 삽입 능력의 한가지 특정한 용도는 고장(fault) 신호가 검출 및 정정될 수 있는지 알아보기 위해 회로 기판의 한 개 이상의 IC의 입력 및/또는 출력 경계선 내로 고장 신호를 전달하는 것이다. 정상 동작 중에 샘플 및 삽입 검사 기능을 수행하기 위해서, 검사셀(12)은 제어 버스(17)을 통해 제어 신호를 양호한 지점에서 적시에 수신해야 한다.
또한, 검사셀(12)는 정상 모드에서 IC(10)의 정상 동작을 방해하지 않고도 자체-검사를 수행할 수 있다. 아는 상태로 플립-플롭(24)의 초기 상태를 설정하도록 쉬프트 동작을 수행할 수 있다. 쉬프트 동작 다음에, 검사셀(12)가 한 CLK 전이 동안 토글 모드에 들어가도록 제어 신호를 발생시킨다. 이 전 이중에, 플립-플롭에는 그 반대 상태가 로드 된다. 이 데이타의 반전에 이어서, 또 하나의 쉬프트 동작을 수행하여 플립-플롭(24)의 내용을 검색하고 반전 동작을 확인한다. 이 검사는 전체 경계선 스캔 경로와 함께 각각의 검사셀의 플립-플롭(24), 4 : 1 멀티플렉서(22), 및 래치(26)의 조합된 동작을 확인한다.
검사 모드에서, 검사셀(12)는 DIN 입력으로부터 DOUT 출력으로의 정상적인 데이타 흐름을 금지시킨다. 래치(26)의 출력이 DOUT 출력에 접속되도록 DMX 입력을 설정함으로써 검사 모드에 들어가게 된다. 정상적으로, 검사 모드에 들어가기 이전에, 검사셀(12)는 쉬프트 패턴을 통해 초기 검사 패턴을 출력시키도록 준비되었을 것이다. 또한 검사셀(12)는 대체로 아이들 상태이고, D 래치로의 HOLD 입력은 로우 상태로 설정되므로, 그 현재 출력이 유지된다.
검사 모드에서, 로드 동작을 수행하여 검사셀(12)가 ODI 입력에 있는 논리 레벨을 포착하도록 할 수 있다. 로드 동작은 CLK 입력에 동기되어 일어난다. 로드 동작 중에, HOLD 입력은 로우 상태로 설정되므로, D 래치는 현재 상태를 유지한다. 이와 마찬가지로, DOUT 출력은 래치 출력에 의하여 구동되므로 현재 상태를 유지한다.
로드 동작 다음에, 쉬프트 동작이 수행되어, 검사셀(12)가 플립-플롭(24)를 통하여 데이타를 SDI 입력으로부터 SDO 출력으로 쉬프트 시키도록 한다. 쉬프트 동작에 의해, 검사셀은 이전 로드 동작 중에 포착된 데이타를 외부로 쉬프트시키고 DOUT 출력으로 인가하기 위한 다음 출력 검사 데이타를 내부로 쉬프트 시킬 수 있다. 쉬프트 동작은 CLK 입력에 동기되어 일어난다. 쉬프트 동작 중에, HOLD 입력은 로우 상태가 유지되므로, 래치(26)의 출력은 현재 상태를 유지한다. 이와 마찬가지로, DOUT 출력은 래치 출력에 의하여 구동되므로 현재 상태를 유지한다.
로드 및 쉬프트 시퀀스 다음에, 검사셀(12)는 아이들 모드로 복귀하고, HOLD 입력은 하이 상태로 설정되므로, 래치(26)은 플립-플롭(24) 내에 존재하는 새로운 출력 검사 데이타로 갱신된다. 래치(26)이 갱신되면, 새로운 출력 검사 데이타가 DOUT 출력에 인가된다. 갱신 동작 다음에, HOLD 입력은 로우 상태로 설정되므로, 래치(26)은 이후의 로드 및 쉬프트 동작 중에 현재 상태를 유지한다.
HOLD, 로드, 쉬프트, 및 갱신/인가 시퀀스는 IC 검사 회로에 부착된 내부 및 외부 논리 소자의 경계선 스캔 검사 중에 반복된다. 별도의 메모리 소자를 출력 검사 제어 [즉, 래치(26)] 및 입력 검사 관찰 및 쉬프팅 [즉, 플립-플롭(26)]에 대하여 제공함으로서, 검사셀(12)는 IC(10)의 내부 논리 상태 및 IC의 경계선에 부착된 외부 논리 및/또는 배선 상호 접속 상태를 동시에 검사할 수 있다. 이 특징은 검사 시간을 상당히 감소시킨다.
검사 모드에서, 검사셀(12)는 토글 동작을 수행할 수 있다. 래치(26)의 출력이 검사 모드 중에는 DOUT 출력에 결합되기 때문에, DOUT 출력은 토글 동작이 수행될 때 CLK 입력 속도에 따라 토글되도록 할 수 있다. 제2의 D 플립-플롭 대신에 D 래치를 사용하는 것의 장점은, HOLD 입력을 하이 상태로 설정함으로써 D 래치가 D 플립-플롭의 Q-출력을 전달하도록 할 수 있다는 것이다. 토글 모드는 간단한 검사 패턴 발생기로서 사용되거나, IC(10)의 출력 버퍼(20)의 파라메터를 측정하는데 사용될 수 있다.
제3도에는 한 개의 입력(IN), 한 개의 출력(OUT), 응용 논리부(14), 및 2개의 검사셀(12i 및 12j)로 구성된 경계선 스캔 경로를 갖고 있는 IC의 개략도가 도시되어 있다. 응용 논리부(14)로의 입력(IN')는 검사셀(12i)의 2 : 1 멀티플렉서(28)의 출력에 접속된다. 응용 논리부의 출력(OUT')는 검사셀(12j)의 DIN 및 ODI 신호에 접속된다.
IN 입력은 입력 검사셀(12i)의 DIN 입력에 들어와서, 2 : 1 멀티플렉서(28)을 통과하며, IN'를 통해 입력 검사셀 DOUT 출력으로부터 응용 논리부(14)로 출력된다. 이와 마찬가지로, 응용 논리부의 출력(OUT')는 출력 검사셀 (12j)의 DIN 입력에 들어와서, 2 : 1 멀티플렉서(28)을 통과하며, OUT를 통해 출력 검사셀 DOUT 출력으로부터 IC로부터 출력된다. 입력 검사셀(12i)의 ODI 입력은 IC 입력(IN)에 부착되고, 출력 검사셀(12j)의 ODI 입력은 응용 논리 출력(OUT')에 부착된다. IC의 SDI 입력은 입력 검사셀의 SDI입력에 결합되고, IC 직렬 데이타 출력 (SDO)는 출력 검사셀의 SDO 출력에 결합된다. 직렬 데이타 경로는 입력 검사셀(12i)의 출력 (SDO)와 출력 검사셀(12j)의 입력(SDI)사이에 존재하므로, 데이타를 쉬프트시키기 위한 검사셀 사이의 내부 접속부가 형성된다. 제어 버스 신호(A, B, CLK, HOLD 및 DMX)는 2개의 검사셀(12i 및 12j)에 접속되어, 동일한 방식으로 함께 동작시킬 수 있게 된다.
정상 모드에서, 데이타는 IN에서 IN'까지 입력 검사셀(12i)를 통해 응용 논리부(14) 내로 흐르고, OUT'에서 OUT까지 출력 검사셀(12j)를 통해 응용 논리부로부터 흘러나온다. 다음의 예는 검사셀(12i 및 12j)가 정상 동작 중에 제3도의 IC의 경계선에서 샘플 및 삽입 검사 동작을 수행하도록 제어 버스(17)를 통해 발생되는 제어 신호의 시퀀스를 설명한 것이다.
샘플 동작 시퀀스
1) 초기의 2개 검사셀은 정상 모드 및 아이들 모드에 있다.
-제어 버스 DMX=0, BA=11, HOLD=0, CLK=액티브 상태
-[여기서, BA 는 4 : 1 멀티플렉서(22)로 발생된 선택 제어 신호와 동일하다]
-응용 논리부의 IN' 입력은 IC의 IN 입력에 의해 드라이브된다.
-IC의 OUT 출력은 응용 논리부의 OUT' 출력에 의해 드라이브된다.
-2개의 검사셀의 D 래치는 이들의 현재 상태를 유지한다.
-2개의 검사셀의 D 플립-플롭은 이들의 현재 상태를 유지한다.
2) 입력 및 출력 경계선 데이타를 포착하기 위한 한 개의 CLK 동안 로드 모드에 들어간다.
-제어 버스 : DMX=0, BA=01, HOLD=0, CLK=액티브 상태
-응용 논리부의 IN' 입력은 IC의 IN 입력에 의해 드라이브된다.
-IC의 OUT 출력은 응용 논리부의 OUT' 출력에 의해 구동된다.
-2개의 검사셀의 D 래치는 이들의 현재 상태를 유지한다.
-2개의 검사셀의 D 플립-플롭은 이들의 ODI 입력의 논리 레벨을 클럭-인된다.
3) 포착된 데이타를 외부로 쉬프트시키기 위해 2개의 CLK 동안 쉬프트 모드에 들어간다.
-제어버스 : DMX=0, BA=00, HOLD=0, CLK=액티브 상태
-응용 논리부 IN' 입력은 IC의 IN 입력에 의해 구동된다.
-IC의 OUT 출력은 응용 논리부의 OUT' 출력에 의해 구동된다.
-2개의 검사셀의 D 래치는 이들의 현재 상태를 유지한다.
-2개의 검사셀의 D 플립-플롭은 이들의 SDI 입력의 논리 레벨을 클럭되어 입력받는다.
4) 아이들 모드에 들어가고, 검사 완료
- 제어버스 : DMX=0, BA=11, HOLD=0, CLK=액티브 상태
- 응용 논리부의 IN' 입력은 IC의 IN 입력에 의해 드라이브된다.
- IC의 OUT 출력은 응용 논리부의 OUT' 출력에 의해 드라이브된다.
- 2개의 검사셀의 D 래치는 이들의 현재 상태를 유지한다.
- 2개의 검사셀이 D 플립-플롭은 이들의 현재 상태를 유지한다.
검사 데이타 삽입 동작 시퀀스
1) 초기에 2개의 검사셀은 정상 모드 및 아이들 모드에 있다.
- 제어버스 : DMX=0, BA=11, HOLD=0, CLK=액티브 상태
- 응용 논리부의 IN' 입력은 IC의 IN 입력에 의해 구동된다.
_ IC의 OUT 출력은 응용 논리부이 OUT' 출력에 의해 구동된다.
- 2개의 검사셀의 D 래치는 이들의 현재 상태를 유지한다.
- 2개의 검사셀의 D 플립-플롭은 이들의 현재 상태를 유지한다.
2) 삽입시킬 검사 데이타를 로드시키기 위해 2개의 CLK 동안 쉬프트 모드에 들어간다.
- 제어버스 : DMX=0, BA=00, HOLD=0, CLK=액티브 상태
- 응용 논리부이 IN' 입력은 IC의 IN 입력에 의해 구동된다.
- IC의 OUT 출력은 응용 논리부이 OUT' 츨력에 의해 구동된다.
- 2개의 검사셀의 D 래치는 이들의 현재 상태를 유지한다.
- 2개의 검사셀이 D 플립-플롭은 이들이 SDI 입력의 논리 레벨을 클럭-인된다.
3) 아이들 모드에 들어가서 삽입시킬 검사 데이타로 2개의 검사셀의 D 래치를 갱신
- 제어버스 : DMX=0, BA=11, HOLD=0, 1,0, CLK=액티브 상태
- 응용 논리부이 IN' 입력은 IC의 IN 입력에 의해 구동된다.
- IC 의 OUT 출력은 응용 논리부의 OUT' 출력에 의해 구동된다.
- 2개의 검사셀의 C 래치는 D 플립-플롭의 논리 레벨로 갱신된다.
- 2개의 검사셀의 D 플립-플롭은 이들의 현재 상태를 유지한다.
4) 아이들 모드 유지, 검사 데이타를 삽입시키기 위해 DMX 를 하이 상태로 설정
-제어버스 : DMX=1, BA=11, HOLD=0, CLK=활성 상태
- 응용 논리부의 IN' 입력은 입력 검사셀이 D 래치에 의해 구동된다.
- IC의 OUT 출력은 출력 검사셀이 D 래치에 의해 구동된다.
- 2개의 검사셀의 D 래치는 이들의 현재 상태를 유지한다.
- 2개이 검사셀이 D 플립-플롭은 이들의 현재 상태를 유지한다.
5) 아이들 모드를 유지, 검사 데이타를 제거하기 위해 DMX를 로우 상태로 설정, 검사 완료
- 제어버스 : DMX=0, BA=11, HOLD=0, CLK=액티브 상태
- 응용 논리부의 IN' 입력은 IC의 IN 입력에 의해 구동된다.
- IC의 OUT 출력은 응용 논리부의 OUT' 출력에 의해 구동된다.
- 2개의 검사셀의 D 래치는 이들이 현재 상태를 유지한다.
- 2개의 검사셀의 D 플립-플롭은 이들의 현재 상태를 유지한다.
검사 모드 중에, 검사셀(12i 및 12j)를 통한 입력 및 출력 데이타의 정상적인 흐름은 금지된다. 검사 모드에서, 입력 검사셀(12i)는 응용 논리부로의 IN' 입력을 제어하고, IC로의 IN 입력을 관찰한다. 이와 마찬가지로, 출력 검사셀(12j)는 IC(10)으로부터의 OUT 출력을 제어하고, 응용 논리부로부터의 OUT' 출력을 관찰한다. 다음의 에는 검사셀(12i 및 12j)가 경계선 스캔 검사 및 출력 버퍼 토글 동작을 수행하도록 하기 위하여 제어버스를 통해 발생되는 제어의 시퀀스를 설명한 것이다.
경계선 스캔 검사 동작 시퀀스
1) 초기에 2개의 검사셀은 정상 모드 및 아이들 모드에 있다.
- 제어 버스 : DMX=0, BA=11, HOLD=0, CLK=액티브 상태
- 응용 논리부의 IN' 입력은 IC의 IN 입력에 의해 구동된다.
- IC이 OUT 출력은 응용 논리부의 OUT' 출력에 의해 구동된다.
- 2개의 검사셀의 D 래치는 이들의 현재 상태를 유지한다.
- 2개의 검사셀의 D 플립-플롭은 이들의 현재 상태를 유지한다.
2) 제1 출력 검사 패턴을 쉬프트시켜 입력시키기 위하여 2개의 CLK 동안 쉬프트 모드에 들어간다.
- 제어 버스 : DMX=0, BA=00, HOLD=0, CLK=액티브 상태
- 응용 논리부의 IN' 입력은 IC의 IN 입력에 의해 구동된다.
- IC의 OUT 출력은 응용 논리부의 OUT' 출력에 의해 구동된다.
- 2개의 검사셀의 D 래치는 이들의 현재 상태를 유지한다.
- 2개의 검사셀의 D 플립-플롭은 SDI 입력의 논리 레벨을 클럭-인 한다.
3) 아이들 모드에 들어가서, 제1 출력 검사 패턴으로 D 래치를 갱신
- 제어 버스 ; DMX=0, BA=11, HOLD=0,1,0, CLK=액티브 상태
- 응용 논리부의 IN' 입력은 IC의 IN 입력에 의해 구동된다.
- IC의 OUT 출력은 응용 논리부의 OUT' 출력에 의해 구동된다.
- 2개의 검사셀의 D 래치는 D 플립-플롭의 논리 레벨로 갱신된다.
- 2개의 검사셀의 D 플립-플롭은 이들의 현재 상태를 유지한다.
4) 아이들 모드를 유지, 검사 모드에 들어가고, 제1 출력 검사 패턴을 적용
- 제어 버스 : DMX=1, BA=11, HOLD=0, CLK=액티브 상태
- 응용 논리부의 IN' 입력이 입력 검사셀의 D 래치에 의해 구동된다.
- IC의 OUT 출력이 출력 검사셀의 D 래치에 의해 구동된다.
- 2개의 검사셀의 D 래치는 이들의 현재 상태를 유지한다.
- 2개의 검사셀의 D 플립-플롭은 이들의 현재 상태를 유지한다.
5) 입력 및 출력 경계선 데이타를 포착하기 위해 한 개의 CLK 동안 로드 모드에 들어감
- 제어 버스 : DMX=1, BA=01, HOLD=0, CLK=액티브 상태
- 응용 논리부의 IN' 입력은 입력 검사셀의 D 래치에 의해 구동된다.
- IC의 OUT 출력은 출력 검사셀의 D 래치에 의해 구동된다.
- 2개의 검사셀의 D 래치는 이들이 현재 상태를 유지한다.
- 2개의 검사셀의 D 플립-플롭은 ODI 입력의 논리 레벨로 클럭-인 된다.
6) 포착된 데이타를 쉬프트시켜 출력하고 다음 출력 검사 패턴을 쉬프트 시켜 입력하기 위해 2개의 CLK 동안 쉬프트 모드에 들어간다.
- 제어 버스 : DMX=1, BA=00, HOLD=0, CLK=액티브 상태
- 응용 논리부의 IN' 입력은 입력 검사셀의 D 래치에 의해 구동된다.
- IC의 OUT 출력은 출력 검사셀의 D 래치에 의해 구동된다.
- 2개의 검사셀이 D 래치는 이들의 현재 상태를 유지한다.
- 2개의 검사셀의 D 플립-플롭은 SDI 입력의 논리 레벨로 클럭-인 된다.
7) 아이들 모드에 들어가고, 다음 출력 검사 패턴을 인가시키기 위해 D 래치를 갱신
- 제어버스 : DMX=1, BA=11, HOLD=0, 1, 0, CLK=액티브 상태
- 응용 논리부의 IN' 입력은 입력 검사셀이 D 래치에 의해 구동된다.
- IC의 OUT 출력은 출력 검사셀의 D 래치에 의해 구동된다.
- 2개의 검사셀의 D 래치는 D 플립-플롭으로의 논리 레벨로 갱신된다.
- 2개의 검사셀의 D 플립-플롭은 이들이 현재 상태를 유지한다.
8) 경계선 검사가 완료될 때까지 스텝(5 내지 7)을 반복하고, 그 후 정상 모드 및 아이들 모드(스텝 1)로 복귀하도록 제어 신호 발생
출력 버퍼 토글 동작 시퀀스
1) 초기에 2개의 검사셀은 정상 모드 및 아이들 모드에 있다.
- 제어버스 : DMX=0, BA=11, HOLD=0, CLK=액티브 상태
- 응용 논리부의 IN' 입력은 IC의 IN 입력에 의해 구동된다.
- IC의 OUT 출력은 응용 논리부의 OUT' 출력에 의해 구동된다.
- 2개의 검사셀의 D 래치는 이들의 현재 상태를 유지한다.
- 2개의 검사셀의 D 플립-플롭은 이들의 현재 상태를 유지한다.
2) 출력 버퍼 토글 패턴을 쉬프트시켜 입력시키도록, 2개의 CLK 동안 쉬프트 모드에 들어감
- 제어 버스 : DMX=0,BA=00, HOLD=0, CLK=액티브 상태
- 응용 논리부의 IN' 입력이 IC의 IN 입력에 의해 구동된다.
- IC의 OUT 출력은 응용 논리부의 OUT' 출력에 의해 구동된다.
- 2개의 검사셀의 D 래치는 이들의 현재 상태를 유지한다.
- 2개의 검사셀의 D 플립-플롭은 이들의 SDI 입력의 논리 레벨을 클럭-인 된다.
3) 아이들 모드에 들어가고, 출력 검사 패턴으로 D 래치를 갱신
- 제어 버스 : DMX=0, BA=11, HOLD=0, 1, 0, CLK=액티부 상태
- 응용 논리부의 IN' 입력은 IC의 IN 입력에 의해 구동된다.
- IC의 OUT 출력은 응용 논리부의 OUT' 출력에 의해 구동된다.
- 2개의 검사셀의 D 래치는 D 플립-플롭의 논리 레벨로 갱신된다.
- 2개의 검사셀의 D 플립-플롭은 이들의 현재 상태를 유지한다.
4) 아이들 모드를 유지, 검사 모드에 들어가고, 출력 검사 패턴을 적용
- 제어 버스 : DMX=1, BA=11, HOLD=0, CLK=액티브 상태
- 응용 논리부의 IN' 입력은 입력 검사셀의 D 래치에 의해 구동된다.
- IC의 OUT 출력은 출력 검사셀의 D 래치에 의해 구동된다.
- 2개의 검사셀의 D 래치가 이들의 현재 상태를 유지한다.
- 2개의 검사셀의 D 플립-플롭은 이들의 현재 상태를 유지한다.
5) 토글 모드에 들어가고, HOLD 입력을 하이 상태로 설정, 토글 검사를 (N 개의 클럭 입력에 대해) 개시
- 제어 버스 : DMX=1, BA=10, HOLD=1, CLK=액티브 상태
- 응용 논리부의 IN' 입력은 입력 검사셀의 D 래치에 의해 구동된다.
- IC의 OUT 출력은 출력 검사셀의 D 래치에 의해 구동된다.
- 2개의 검사셀의 D 래치는 데이타를 D 플립-플롭으로부터 DOUT 출력으로 통과시킨다.
-2개의 검사셀의 D 플립-플롭은 Q-D 래치 출력을 클럭-인 된다.
6) 아이들 모드에 들어감, HOLD 및 DMX 입력을 로우 상태로 설정, 토글 검사를 완료
- 제어 버스 : DMX=0, BA=11, HOLD=0, CLK=액티브 상태.
- 응용 논리부의 IN' 입력은 IC의 IN 입력에 의해 구동된다.
- IC의 OUT 출력은 응용 논리부의 OUT' 출력에 의해 구동된다.
- 2개의 검사셀의 D 래치는 이들의 현재 상태를 유지한다.
- 2개의 검사셀의 D 플립-플롭은 이들의 현재 상태를 유지한다.
주 : 제3도에서, 토글 검사 중에 입력 검사셀을 토글시키는 것이 불필요한 경우, 출력 검사셀이 토글하는 동안 입력 검사셀의 출력이 변하지 않도록 하기 위하여 별도의 HOLD 입력을 사용할 수도 있다. 이와 마찬가지로, 별도의 제어(A 및 B)를 하여, 출력 검사셀이 토글하고 있는 동안 검사셀이 아이들 모드로 들어가도록 할 수 있다.
제4a도를 참조하면, 쌍방향 검사셀(30)의 양호한 실시예의 블럭도가 도시되어 있다. 쌍방향 검사셀(30)은 쌍방향으로 신호가 흐를 수 있는 입력/출력 핀에 접속되어 사용할 수 있다. 쌍방향 셀(30)은 제2도에 도시된 검사셀(12)를 기본 셀로 하여, 쌍방향 동작을 제공하기 위해 추가로 회로를 부가하여 사용한다. 특히, 쌍방향 셀(30)은 3개의 추가 멀티플렉서(32, 34 및 36)을 제공한다. 제1 멀티플렉서(32)는 2개의 입력 SYSG (the system tristate enable ; 선택 삼상태 엔에이블) 및 TSTG(the test tristate enable; 검사 삼상태 엔에이블)를 갖고 있다. 멀티플렉서는 2개의 입력들 중 한 입력을 선택하는 SELG (select enable; 선택 엔에이블) 신호에 의해 제어된다. 제1 멀티플렉서 (32)의 출력은 OBG(output buffer tristate enable ; 출력 버퍼 삼상태 엔에이블) 신호이다. OBG 신호는 IC의 삼상태 출력 버퍼의 출력 상태를 제어한다.
제2 멀티플렉서(34)는 2개의 입력 신호, 즉 DINA 신호 및 DINB 신호를 수신한다. 멀티플렉서(34)는 멀티플렉서 (32)의 출력 신호, 즉 OBG 신호에 의해 제어된다. DINA 입력은 IC의 응용 논리부(14)로부터의 출력이고, DINB 입력은 I/O 버퍼로부터의 외부 입력이다. 멀티플렉서(32)로부터의 OBG 신호 출력은 멀티플렉서(34)의 입력 중에서 선택하는데 사용된다.
제3 멀티플렉서(36)은 2개의 입력, 즉 DINA 및 기본 검사셀(12)의 래치(26)으로부터의 비반전된 출력(LQ)를 갖고 있다. 이 제3 멀티플렉서(36)은 DMX 신호에 의해 제어된다.
제2 멀티플렉서(34)의 출력은 기본 검사셀(12)의 ODI 입력에 접속된다. 제3 멀티플렉서(36)의 출력은 DOUTA이고, 기본 검사셀(12)로부터의 DOUT 신호는 DOUTB이다.
동작 시에, OBG 출력은 SELG 입력이 로우 상태일 때 SYSG 입력(normalmode tristate control input ; 정상 모드 삼상태 제어 입력)에 의해 구동된다. SELG 입력이 하이 상태일 때, 제1 멀티플렉서(32)의 OBG 출력은 TSTG 입력(test mode tristate control input ; 검사 모드 삼상태 제어 입력)에 의해 구동된다. 제4a도에서, OBG 신호의 로우 출력은 출력 버퍼가 액티브 상태가 되게 하고, OBG 신호의 하이 출력은 출력 버퍼가 삼상태로 되게 한다.
제2 멀티플렉서(34)는 제1 멀티플렉서(32)로부터의 OBG 출력에 의해 제어된다. 제2 멀티플렉서의 목적은 2개의 데이타 입력(DINA 또는 DINB)중 한 입력을 기본 검사셀의 ODI 입력에 결합시켜서, 로드 동작 중에 적합한 신호가 샘플되도록 하기 위한 것이다. 제2 멀티플렉서(34)로의 DINA 입력은 응용 논리부로부터의 출력이다. 제2 멀티플렉서의 선택 입력(OGB)가 로우 상태로 설정되면, DINA 신호는 기본 검사셀(12)의 ODI 입력에 결합되고, 로드 동작 중에 샘플될 수 있다. 제2 멀티플렉서의 선택 입력(OBG)가 하이 상태로 설정되어 응용 논리부로의 입력 동작을 나타내면, DINB 신호는 검사셀의 ODI 입력에 결합되고, 로드 동작 중에 샘플될 수 있다. 제3 멀티플렉서(36)은 검사셀(12)에도 보내지는 DMX 신호에 의해 제어된다. 검사셀(12)의 LQ 출력은 검사셀(12) 내부의 D 래치(26)의 출력이다. LQ 출력은 로드 및 쉬프트 동작 중에 검사 모드에서 DOUTA 출력 신호를 일정하게 유지할 수 있게 해 준다. 검사셀(12) 및 제3 멀티플렉서(36)으로의 DMX 입력이 로우 상태로 설정되면, 쌍방향 셀(30)은 정상 모드에 있다. 정상 모드에서, DINA 출력은 제3 멀티플렉서(36)을 통과하고, DOUTA 출력을 통해 셀로부터 출력되어, 응용 논리부(14)로부터 I/O 버퍼의 출력 버퍼부까지의 정상 데이타 출력 경로를 마련한다. 이와 마찬가지로 정상 모드에서, DINB 입력은 검사셀(12) 내에서 2 : 1 멀티플렉서(28)를 통과하고, DOUTB 출력을 통해 셀로부터 출력되어, I/O 버퍼의 입력 버퍼부로부터 응용 논리부(14)까지의 정상 데이타 입력 경로를 설정하게 된다.
검사셀(12) 및 제3 멀티플렉서(36)으로의 DMX 입력이 하이 상태로 설정되면, 쌍방향 검사셀(30)은 검사 모드로 된다. 검사 모드에서, 검사셀의 LQ 검사 데이타 출력은 제3 멀티플렉서(36)을 통과하여, DOUTA 출력을 통해 스코프셀(scopecell)로부터 출력되어, 검사셀(12)로부터 I/O 버퍼의 출력 버퍼부까지의 검사 데이타 출력 경로를 설정하게 된다. 이와 마찬가지로, 검사 모드에서, 내부 검사셀의 LQ 검사 데이타 출력은 검사셀의 내부 2 : 1 멀티플렉서(28)을 통과하고, DOUTB 출력을 통해 검사셀(12)로부터 출력되어, 검사셀로부터 응용 논리부(14)까지의 검사 데이타 출력 경로를 설정하게 된다.
제4b도에서, 쌍방향 버퍼와 응용 논리부(14) 사이에 접속된 상태의 쌍방향 검사셀(30)의 블록도가 도시되어 있다. 데이타 출력 동작이 수행되면, 출력 버퍼(38)은 OBG에 의해 엔에이블된다. 정상 모드에서, 응용 논리부(14)로부터의 데이타는 DINA 입력을 통해 쌍방향 검사셀(30)으로 제공되고, 쌍방향 검사셀(30)을 통과하여, DOUTA 출력을 통해 출력 버퍼(38)에 결합된다. DOUTA 출력은 출력 버퍼(38)을 통과하여, I/O 핀(40)에 인가된다. 검사 모드에서, 쌍방향 검사셀(30) 내에 저장된 검사 데이타는 DOUTA 출력을 통해 출력 버퍼에 공급되고, 출력 버퍼(38)을 통과하여, I/O 핀(40)에 인가된다.
데이타 입력 동작이 수행되면, 출력 버퍼는 OBG 신호에 의해 하이 임피던스 상태로 된다. 정상 모드에서, I/O 핀(40)으로부터의 데이타는 입력 버퍼(41) 및 DINB 입력을 통해 쌍방향 검사셀(30)에 입력되고, 검사셀(30)을 통과하여, DOUTB 출력을 통해 응용 논리부에 인가된다. 검사 모드에서, 검사셀(30)에 저장된 검사 데이타는 DOUTB 출력에 의해 응용 논리부에 인가된다.
제5도는 참조하면, 검사셀(12)의 특정 실시예가 개략적으로 도시되어 있다. 이 실시예는 멀티플렉서(22 및 28), D 플립-플롭(24) 및 래치(26)을 포함한다.
제1 멀티플렉서(22)는 6개의 독립된 입력 신호를 갖고 있다. SDI 신호는 직렬로 접속된 2개의 인버터(108 및 110)에 입력된다. 그 다음에, 인버터(110)으로부터의 출력은 송신 게이트(transmission gate ; 112)에 입력된다. 송신 게이트는 P 채널 트랜지스터의 소오스와 드레인을 N 채널 트랜지스터에 결합함으로써 형성된다. 송신 게이트(112)의 출력은 송신 게이트(114)의 출력에 결합되고, 송신 게이트(116)의 입력에도 결합된다. 이와 마찬가지로, 송신 게이트 (116)의 출력은 송신 게이트(122)의 출력에 결합되고, 한 쌍의 직렬 접속된 인버터(118 및 120)으로의 입력에도 결합된다. 이 인버터(120)에서의 출력은 멀티플렉서(22)로부터의 최종 출력을 나타낸다.
멀티플렉서(22)로의 ODI 입력은 송신 게이트(114)에 접속된다. 송신 게이트(114)의 출력은 송신 게이트 (112)의 출력에 결합되고, 송신 게이트(116)으로의 입력에도 결합된다.
멀티플렉서(22)로의 제3 입력은 래치(26)의 반전된 출력이다. 이 신호는 송신 게이트(124)로 입력된다. 송신 게이트(124)의 출력은 송신 게이트(126)의 출력에 결합되고, 송신 게이트(122)의 입력에도 결합된다.
멀티플렉서(22)로의 제4 입력은 D 플립-플롭(24)의 출력이다. 이 신호는 송신 게이트(126)으로 입력된다. 그 다음, 송신 게이트(126)의 출력은 송신 게이트(124)의 출력에 결합되고, 송신 게이트(122)로의 입력에도 결합된다. 이때, 송신 게이트(122)의 출력은 출력 송신 게이트(116)에 결합된다.
멀티플렉서(22)의 2개의 나머지 입력 신호는 멀티플렉서(22) 내의 여러 가지 송신 게이트용 선택 신호로서 작용한다. 입력 신호(A)는 인버터(128)에 일차적으로 접속된다. 그 다음, 인버터(128)의 출력은 인버터(130)의 입력에 접속된다. 또한, 인버터(128)의 출력은 송신 게이트(114 및 126)의 P 채널 게이트에도 접속된다. 동일한 출력이 송신 게이트(112 및 124)의 N 채널 게이트에 접속된다. 인버터(130)의 출력은 송신 게이트(112 및 124)의 P 채널 게이트 및 송신 게이트 (114 및 126)의 N 채널 게이트에 접속된다.
멀티플렉서(22)로의 B 입력은 선택 신호로도 사용된다. B 입력은 인버터(132)에 접속된다. 인버터(132)의 출력은 인버터(134)에 접속된다. 또한, 인버터(132)의 출력은 송신 게이트(122)의 P 채널 게이트 및 송신 게이트(116)의 N 채널 게이트에 접속된다. 인버터(134)의 출력은 송신 게이트(122)의 N 채널 게이트 및 송신 게이트 (116)의 P 채널 게이트에 접속된다.
D 플립-플롭(24)는 클럭 입력 (CLK)과 멀티플렉서(22)의 출력에 접속된다. D 플립-플롭(24) 내에서, 클럭 신호는 인버터(14)에 입력되는데, 그 출력은 N 채널 트랜지스터(142)의 게이트를 제어하는데 사용된다. 클럭 신호는 N 채널 트랜지스터(144)의 게이트를 제어하는 데에도 사용된다. D 플립-플롭(24)의 D 입력은 N 채널 트랜지스터(142)의 제1 소오스/드레인에 접속된다. 트랜지스터(142)의 제2 소오스/드레인은 인버터(146)의 입력에 접속된다. 인버터(146)의 출력은 N 채널 트랜지스터(144)의 제1 소오스/드레인에 접속되고, 인버터 (148)의 입력에도 접속된다. 인버터(148)의 출력은 인버터(146)의 입력에 접속된다. 트랜지스터(144)의 제2 소오스/드레인은 인버터(150)의 입력에 접속된다. 인버터(150)의 출력은 인버터(152)의 입력과 인버터(154)의 입력에 접속된다. 인버터(154)의 출력은 인버터(150)의 입력에 접속된다. 인버터(150)의 출력은 송신 게이트(126)의 입력에도 접속된다. 인버터(152)의 출력은 D 플립-플롭(24)의 반전된 출력이다. 이때, D 플립-플롭(24)의 반전된 출력은 인버터(156)에 입력된다. 인버터(156)의 출력은 검사셀의 SDO 출력이다.
D 플립-플롭(24)의 출력 [인버터(150)의 출력]은 래치(26)의 D 입력에 접속된다. 이 입력은 N 채널 트랜지스터(160)의 제 1 소오스/드레인에 접속된다. N 채널 트랜지스터(160)의 제2 소오스/드레인은 인버터(162)의 입력에 접속된다. 래치(26)내에서, 인버터(162)의 출력은 인버터(166) 및 인버터(164)의 입력에 접속된다. 인버터(166)의 출력은 인버터(162)의 입력에 접속된다. 또한, 인버터(162)의 출력은 래치(26)의 반전된 출력을 나타낸다. 상술한 바와 같이, 이 반전된 출력은 송신 게이트(124)를 통해 멀티플렉서(22)에 접속된다. 인버터(164)의 출력은 멀티플렉서(28)에 접속되는 래치(26)의 비반전된 출력을 나타낸다. 또한, 래치(26)은 N 채널 트랜지스터(160)의 베이스로 입력되는 홀드(hold) 전압에 의해 제어된다.
검사셀 내의 제2 멀티플렉서(28)은 3개의 입력, DIN, 인버터(164)의 출력 및 DMX를 갖고 있다. DIN 신호는 P 채널 트랜지스터(170) 및 N 채널 트랜지스터(172)의 한 게이트에 접속된다. 인버터(164)의 출력은 P 채널 트랜지스터(182) 및 N 채널 트랜지스터(184)의 게이트에 접속된다. DMX 입력은 N 채널 트랜지스터(174, 176 및 178)의 게이트에 접속되고, P 채널 트랜지스터(180)의 게이트에도 접속된다.
N 채널 트랜지스터(178)의 제1 소오스/드레인은 Vcc에 접속되는 반면에, 제2 소스/드레인은 노드(196)에 접속된다. 이와 마찬가지로, N 채널 트랜지스터(176)의 제1 소오스/드레인은 접지선에 접속되는 반면에, 제2 소오스/드레인은 노드(196)에 접속된다. 노드(196)은 P 채널 트랜지스터(188)의 게이트 및 N 채널 트랜지스터(186)의 게이트에도 접속된다. P 채널 트랜지스터(188 및 180)의 제1 소오스/드레인은 Vcc에 결합 및 접속된다. P 채널 트랜지스터(188 및 180)의 제2 소오스/드레인은 P 채널 트랜지스터(182 및 170)의 제1 소오스/드레인에 각각 접속된다. P 채널 트랜지스터(182 및 170)의 제2 소오스/드레인은 노드(194)에 결합 및 접속된다. N 채널 트랜지스터(184 및 172)의 제1 소오스/드레인은 묶여서 노드(194)에 접속된다. N 채널 트랜지스터(184 및 172)의 제2 소오스/드레인은 N 채널 트랜지스터(174 및 186)의 제1 소오스/드레인에 각각 접속된다. N 채널 트랜지스터(174 및 186)의 제2 소오스/드레인은 접지선에 접속된다. 또한, 노드(196)은 N 채널 트랜지스터(192 및 190)의 게이트에 접속된다. N 채널 트랜지스터(192)의 제1 소오스/드레인은 Vcc에 접속된다. N 채널 트랜지스터(192)의 제2 소오스/드레인은 N 채널 트랜지스터(190)의 제1 소오스/드레인에 접속되고, 이 조합된 신호는 검사셀의 DOUT 신호를 나타낸다. N 채널 트랜지스터(190)의 제2 소오스/드레인은 접지선에 접속된다.
본 발명은 관찰가능 데이타 입력(observability data input ; ODI)의 고속 성능을 보유하고, 쉬프트 데이타 입력(shift data input ; SDI)의 제로(zero) 유지 시간 (hold time)을 유지하며, SDI의 준비 시간(setup time)을 증가시키고, 클럭 전이로부터 SDO 출력까지의 전달 지연을 증가시킨다. SDI의 제로 유지 시간은 소정의 직렬 접속 구성(cascade configuration)에서의 비정상적인 데이타 전달의 문제점을 제거한다. SDI 상의 긴 준비 시간과 클럭-Q 지연의 약간의 증가는 클럭 스큐 여유도 (clock skew margin)을 향상시키게 되어, 검사셀의 여러 가지 구성 부품들간의 스큐(skew)로 인한 전달 에러를 제거한다.
직렬 데이타 입력 속도를 느리게 하여 준비 시간을 증가시키기 위해 2개의 약한(weak) 인버터(108 및 110)이 제1 멀티플렉서(22)내에 사용된다. 이 인버터들이 SDI 입력에만 적용되므로, ODI 입력의 성능은 본 방법에 의해 전혀 열화되지 않는다. 다른 2개의 인버터(150 및 152)를 SDO 의 출력 경로 내에 삽입하여 클럽-Q 전달 지연 시간을 약간 증가시킨다. SPICE 특성에 따르면, 2/14 nSec(최소/최대)의 SDI 준비 시간, 제로 SDI 유지 시간 및 0.96/5.96nSec (최소/최대) 클럭-Q 지연 시간을 갖는다는 것을 알 수 있다. 이 데이타는 2.96/19.96nSec(최소/최대)의 클럭 스큐 여유도를 가져온다.
본 발명의 검사셀은 종래 기술보다 우수한 장점을 제공한다. 첫째, 본 발명의 검사셀은 전체 검사 시간을 감소시키기 위해 내부 및 외부 경계선 검사를 동시에 수행하는데 사용될 수 있다. 둘째, 검사셀들은 호스트 집적 회로의 정상 동작 중에 경계선에서 데이타를 샘플시키거나 삽입시킬 수 있다. 셋째, 검사셀은 자유롭게 움직이는 검사 클럭에 동기되어 동작한다. 넷째, 본 발명은 매개 변수 측정을 달성하고 경계선 검사를 용이하게 하기 위해, IC의 응용 논리부와는 독립적으로 IC의 출력 버퍼를 토글시키는 방법을 제공한다. 다섯째, 검사셀은 자체-검사 능력을 제공한다.
본 발명의 검사셀(12)의 기능은 셀 라이브러리(library)의 사용에 의해 향상될 수 있는데, 이 셀 라이브러리에서는 추가적인 회로가 향상된 검사 회로를 제공하기 위해 IC(10) 내에 사용된 1개 이상의 검사셀(12)에 제공될 수 있다. 이러한 회로의 라이브러리가 제공되어 회로 설계자가 특정한 IC(10)을 설계할 수 있도록 할 수 있다.
제6도를 참조하면, 본 발명의 검사셀(12)에 관련지어 마스크 가능한 비교기 논리부(200)이 도시되어 있다. 마스크 가능한 비교기 논리부(200)은 어떤 조건에 응답하여 검사를 수행하기 위한 비교 가능한 검사 기능을 추가한다.
마스크 가능한 비교기 논리부(200)은 XOR 게이트(202) 및 NAND 게이트(204)를 포함한다. XOR 게이트(202)는 2개의 입력, 즉 검사셀(12)로의 DIN 및 ODI 입력에 접속된 제1 입력 및 예상 데이타(expected data ; EXPD) 신호에 접속된 제2 입력을 갖고 있다. 또한, NAND 게이트(204)는 2개의 입력, 즉 XOR 게이트의 출력에 접속된 제1 입력 및 비교 마스크(compare mask ; CMPMSK) 신호에 접속된 제2 입력을 갖고 있다. NAND 게이트(204)의 출력은 비교 출력(compare output ; CMPOUT) 신호를 제공한다.
마스크 가능한 비교기 논리부(200)은 EXPD 입력에서 나타나는 선정된 논리 레벨에 대하여 검사셀(12)의 DIN 입력에서 나타나는 논리 레벨을 비교하기 위한 수단을 제공한다. DIN 입력 및 EXPD 입력의 논리 레벨이 일치하는 경우, 익스클루시브 OR(exclusive OR) 게이트의 출력은 로우 상태로 구동된다. DIN 입력 및 EXPD 입력의 논리 레벨이 일치하지 않은 경우, 익스클루시브 OR 게이트의 출력은 하이 상태로 구동된다. 익스클루시브 OR 게이트로부터의 로우 레벨의 출력 (일치된 상태)은 NAND 게이트로 하여금 CMPOUT 출력을 통해 하이 레벨을 출력하게 한다. 익스클루시브 OR 게이트(202)로부터의 하이 레벨의 출력 (일치하지 않은 상태)은, NAND 게이트(204)로의 CMPMSK 입력이 로우 레벨인 경우 외에는, NAND 게이트(204)로 하여금 CMPOUT 출력을 통해 로우 논리 레벨을 출력하게 한다.
비교기 논리부(200)의 COMPUT 출력의 하이 논리 레벨은 이 특정 검사셀을 통과하고 있는 입력 또는 출력 경계선 신호가 예상된 상태와 일치한다는 것을 나타낸다. 여러 가지 검사셀로부터의 CMPOUT 신호가 모두 하이 상태인 조건을 검색하기 위한 논리부와 함께, 집적 회로의 각 입력 및 출력 신호에 같은 검사셀을 가짐으로써, 집적 회로의 입력 및 출력의 전체 범위에 걸쳐 예상된 경계선 조건의 발생 현상을 감지하는 것이 가능하다.
소정의 경계선 비교 응용에 있어서, 1개 이상의 집적 회로 입력 및/또는 출력의 조건은 무관할 수 있다. 이러한 상황에서, 비교기 논리부(200)은 비교 동작의 결과에 관계없이 비교 동작을 마스크 오프 (mask off)시키고 CMPOUT 출력을 하이 레벨로 출력시킬 수 있다. 이러한 기능은 집적 회로의 경계부 주변에서 돈트 캐어(Don't Care) 비교 조건이 설정되게 할 수 있다. 돈트 캐어 상태는 특정 검사셀의 CMPMSK를 로우 상태의 논리 레벨로 설정함으로써 달성된다. 이 CMPMSK 입력 에 로우 상태의 논리 레벨이 적용된 모든 검사 셀들을 그들의 CMPOUT 출력으로부터 하이 상태의 논리 레벨을 출력시킨다. CMPOUT 출력을 하이 상태로 함으로써, 돈트 캐어 상태를 갖는 검사셀은 집적 회로의 경계선에서 다른 검사셀에 발생하는 전체 비교 결과에 영향을 주지 않는다.
소정의 응용에서는, 검사셀들은 검사를 용이하게 하기 위해 집적 회로의 경계선에서 의사-무작위 패턴 발생(Pseudo-Random Pattern Generation ; PRPG) 및/또는 병렬 기호 분석(Parallel Signature Analysis ; PSA) 능력을 제공할 필요가 있을 수도 있다. PRPG 모드에서, DOUT 출력으로부터 의사-무작위 출력 패턴 시퀀스를 발생시키기 위하여 검사셀들을 일련의 직렬 접속된 형태로 할 수 있다. PSA 모드에서, DIN 입력에서 나타나는 데이타를 검사용 기호(signature)로 압축하도록 검사셀들을 일련의 직렬 접속된 형태로 할 수 있다.
제7도에는 PSA 검사 논리부를 구성할 수 있는 라이브러리 셀의 양호한 실시예가 도시되어 있다. 기본 검사셀(12)의 입력 및 출력은 제2도에 관련하여 기술한 신호를 포함한다. 또한, PSA 논리부(206)은 2개의 입력 신호, 즉 데이타 마스크(data mask ; DATMSK) 및 PSA 엔에이블(PSA Enable ; PSAENA)를 수신한다. DATMSK 및 PSAENA 입력은 제어 버스의 연장이다.
PSA 논리부(206)은 익스클루시브 OR 게이트(208) 및 WRO의 NAND 게이트(210 및 212)를 포함한다. NAND(210)은 DATMSK 신호 및 DIN 입력 신호에 접속된다. NAND 게이트(212)는 PSAENA 신호 및 SDI 신호에 접속된다. NAND 게이트(210 및 212)의 출력은 익스클루시브 OR 게이트(208)의 입력에 접속된다. 익스클루시브 OR 게이트의 출력은 기본 검사셀(12)의 ODI 입력에 접속된다.
PSA 논리부(206)이 기본셀(12)에 부착되면, DIN 입력으로의 ODI 입력의 정상적인 접속 상태는 변경되어 집적 접속되지 않게 된다. 그러나, ODI 입력을 통한 로드 동작 중에 검사 데이타를 포착하는 기본적인 기능은 계속해서 유효하지만, 이하에 설명하는 추가의 규칙이 있고, 신호 라우팅(signal routing)은 PSA 검사 논리부를 통한 로드 동작을 달성하는데 필요하다. 다른 모든 기능(아이들, 쉬프트 및 토글) 및 필요한 셀-셀 상호 접속은 동일한 상태를 유지한다.
기본 로드 동작을 달성하기 위해, 논리부(206)으로의 DATMSK 및 PSAENA 입력은 하이 및 로우 상태의 논리 레벨로 각각 설정된다. 이 상태에서, PSA 논리 부는 DIN 입력으로부터 NAND 게이트(210)와 익스클루시브 OR 게이트(208)을 통하여 기본 검사셀(12)의 ODI 입력으로의 라우팅 경로(routing path)를 제공한다. 로드 동작이 일어나면, 검사셀(12)는 PSA 논리부(206)을 통하여 라우팅 채널을 통해 DIN 입력 상의 논리 레벨을 포착한다.
PSA 동작이 검사셀에 의해 수행되면, MSKDAT 및 PSAENA 입력은 하이 상태의 논리 레벨로 둘다 설정되고, 기본 검사셀(12)에는 제어 신호가 발생되어 로드 동작을 수행한다. 이러한 방식으로 설정된 MSKDAT 및 PSAENA 입력에 있어서, PSA 논리부(206)은 DIN 및 SDI 입력 상에 존재하는 논리 레벨에 대하여 익스클루시브 OR 연산을 수행하여, 그 결과를 검사셀(12)의 ODI 입력으로 출력한다. 로드 동작중에, 검사셀(12)는 ODI 입력을 샘플하여, 익스클루시브 OR 동작의 결과를 저장한다. 직렬 쉬프트에 필요한 셀-셀 상호 접속(즉, 다른 SDO에 접속된 하나의 셀의 SDI) 및 다항 피드백(ploynomial feedback)과 결합되어, 각각의 검사셀(12) 내에서 수행되는 국부 익스클루시브 OR 및 로드 동작은, 경계선 스캔 기호 분석 구조가 실행될 수 있는 기초가 된다.
PSA 동작 중에, PSA 논리부(206)은 익스클루시브 OR 동작에서의 DIN 입력의 효과를 마스크 오프시키는 수단을 제공한다. PSAENA 입력을 하이 상태로 둔채 MSKDAT 입력을 로우 상태로 설정함으로써 마스킹 동작이 달성된다. MSKDAT 입력이 로우 상태로 세트되면, PSA 논리부(206)은 SDI 입력을 검사셀(12)의 ODI 입력에 결합하고, 선행 셀의 SDO 출력값만이 검사셀(12) 내에 샘플 및 저장된다. 이러한 기능은 집적 회로의 경계선에서의 PSA 동작 중에 1개 이상의 검사셀의 DIN 입력에 제공된 신호를 마스크 아웃(mask out)시킬 수 있게 한다.
PRPG 동작이 검사셀에 의해 수행되어야 할 때, 검사셀(12)가 SDI 입력으로부터 SDO 출력까지의 쉬프트 동작을 수행하게 하는 제어 신호가 발생된다.
PRPG 중에, 데이타가 일련의 검사셀(12)를 통해 쉬프트되어, 의사 무작위 출력 패턴을 발생시킨다. 거기서 나오는 의사 무작위 패턴 발생 출력은 스캔 경로의 길이 및 스캔 경로 내의 검사셀(12)의 다항 피드백 접속부에 의해 결정된다. 또한, 검사셀로의 HOLD 및 DMX 입력은 하이 상태로 설정되어, 발생된 검사 신호가 검사셀의 DOUT 출력 외부로 내보내질 수 있게 된다.
PRPG 및/또는 PSA 검사 특징을 갖는 검사셀을 사용하는 응용 시에, 집적 회로의 경계선에서 특정 검사셀의 그룹 및 범위에 적합하게 검사셀(12) 사이의 다항 피드백 접속 상태를 조정할 수 있도록 프로그래밍 가능한 다항 탭(polynomial tap)을 제공하는 것이 유리하다. 이 특징을 포함하는 것의 장점으로는, (1) 집적 회로 설계 시에 검사셀의 간단한 구현,(2) 외부 다항 탭 기능을 추가할 필요성 제거, 및(3) 집적 회로 배치(layout)에서 검사셀의 배치 및 신호 라우팅의 개선이 있는데, 그 이유는 필요한 논리부가 각각의 검사셀(12)에 모두 들어 있기 때문이다.
제8도에는 기본 검사셀(12), PSA 논리부(206) 및 프로그래밍 가능한 다항 탭(214)를 포함하는 검사 회로의 양호한 실시예가 도시되어 있다. 검사셀(12) 및 PSA 논리부로의 입력 및 출력은 제7도에 도시된 바와 같다. 프로그래밍 가능한 다항 탭 논리부(214)는 2개의 추가 입력 신호, 즉 다항 탭 엔에이블(Polynomial Tap Enable ; PTENA) 및 피드백 입력(Feedback Input ; FBI) 신호, 및 1개의 추가 출력 신호, 즉 피드백 출력(Feedback Output ; FBO)를 필요로 한다. PTENA 신호는 제어 버스의 연장이다. FBI 및 FBO 신호는 PRPG 및/또는 PSA 검사 동작에 필요한 다항 피드백 회로망을 구현하기 위한 검사 회로들 사이에 상호 접속 상태를 제공한다. 프로그래밍 가능한 다항 탭 논리부는 익스클루시브 NOR 게이트(216) 및 NAND 게이트(218)을 포함한다. NAND 게이트는 그 입력으로서 관련 검사셀(12)의 SDO 출력과 PTENA 신호를 수신한다. 익스클루시브 NOR 게이트(216)은 NAND 게이트(218) 와 FBI 신호의 출력을 수신한다. 익스클루시브 NOR 게이트(216)의 출력은 FBO 신호이다.
PRPG 또는 PSA를 수행하는데 필요한 주요 기능은, 스캔 경로내의 검사 회로의 모든 그룹 또는 선택된 그룹에서의 논리 상태의 익스클루시브 OR 연산 결과에 기초를 두고 있는 피드백 회로망을 제공하는 것이다. 이 피드백 회로망의 결과는 피드백 루프(loop)를 폐쇄시키기 위해 스캔 경로내의 제1 검사 회로에 입력된다. 제8도에서, NAND 게이트(218) 및 익스클루시브 NOR 게이트(216)의 조합에 의하여, 피드백 회로망 내의 특정 검사 회로의 논리 상태를 포함 또는 제외하는 능력이 제공된다.
유사한 프로그래밍 가능한 다항 탭 논리부를 갖고 있는 검사 회로는 제9a도에 도시된 바와 같이 상호 접속될 수 있다. PRPG/PSA 논리부 및 프로그래밍 가능한 다항 탭 논리부를 갖고 있는 4개의 검사 회로 (220a 내지 220d)는 스캔 경로 내에서 기본 직렬 데이타 경로(Primary Serial Data Input ; PSDI)로부터 기본 직렬 데이타 출력(Primary Serial Data Output ; PSDO) 신호까지 상호 접속된다. 각각의 검사셀(220a 내지 220d) 의 프로그래밍 가능한 탭 논리부는 뒤따르는 검사 회로 (trailing test circuit)의 FBO 출력 신호가 앞의 검사 회로의 FBI 입력을 위한 입력 신호를 공급하는 방식으로 상호 접속되어 있다. 예를 들어, 검사 회로 (220c)의 FBO는 검사셀(220b)의 FBI에 접속된다. 각 검사 회로(220a 내지 220d)의 PTENA 입력 PTENA 버스를 통해 인가된다. [제어 버스(17)로 연장인] 피드백 선택(Feedback Select ; FBSEL) 입력은 검사 회로(220a)의 SDI 입력을 제공하는 제1 검사 회로(220a)의 입력에서 멀티플렉서(222)를 제어한다. 최종 검사 회로(220d)의 FBI 입력은 최종 검사 회로(220d)의 프로그래밍 가능한 다항 탭 논리부에 전혀 영향을 끼치지 않도록 로우 상태의 논리 레벨로 와이어(wire)된다.
정상 쉬프트 동작 중에, 직렬 데이타는 PSDI로 주입되고, 검사셀을 통해 PSDO 외부로 흐른다. PRPG 또는 PSA 모드에 배치되면, 제1 검사 회로(220a)의 입력에 있는 멀티플렉서(222)는 제1 검사 회로(220a)의 SDI 입력에 접속될 피드백 최종(Feedback Result ; FBR) 신호를 선택한다. FBI 및 FBO 와이어링(wiring) 상호 접속과 결합되어, 검사 회로(220a 내지 220d) 내의 프로그래밍 가능한 다항 탭 논리부는 PRPG 및 PSA 동작에 필요한 익스클루시브 OR 피드백 회로망을 형성한다. 검사 회로의 PTENA 입력이 하이 상태인 경우, 이 검사 회로(220)의 검사셀(12)의 논리 상태는 피드백 회로망 내에 포함된다. 검사 회로로의 PTENA 입력이 로우 상태인 경우, 이 검사 회로의 검사셀(12)의 논리 상태는 피드백 회로망 내에 포함되지 않는다.
어떤 응용 시에서는, PRPG/PSA 및 프로그래밍 가능한 다항 논리부를 각각 갖고 있는 일련의 검사셀(12)로 구성된 기본 스캔 경로를 섹션으로 분할하는 것이 필요하다. 기본 스캔 경로의 각 부분은 기본 스캔 경로 내로 다수의 국부 PRPG/PSA 검사 기능을 제공하도록 제9b도에 도시된 바와 같이 구성될 수 있다.
스캔 경로의 각 부분은 국부 피드백 회로망 내에 포함될 스캔 경로 내의 적합한 검사셀(12)를 선택할 수 있도록 제9a도에 도시된 바와 같은 피드백 접속부를 갖고 있다. 각 국부 피드백 회로망의 피드백 결과(Feedback Result ; FBR)은 멀티플렉서를 통해 스캔 경로내의 제1 검사셀(12)에까지 결합된다.
또한, 제4도의 쌍방향 검사셀 내에 PSA 검사 논리부도 포함될 수 있다. PSA 검사 논리부를 포함하면 단방향인 경우와 마찬가지로 쌍방향 검사셀에 이점을 제공한다.
제10도에는 기본 검사셀(12), 쌍방향 멀티플렉서 논리부 및 PSA 논리부(206)을 포함하는 검사 회로의 양호한 실시예가 도시되어 있다. 이 검사 회로에 필요한 입력 및 출력 신호는 제4도 및 제7도와 관련하여 사용된 것과 동일하다. PSA 논리부를 갖고 있는 쌍방향 검사 회로를 형성하는데 필요한 유일한 변경 작업은 PSA 논리부를 삽입하고, 다음과 같은 와이어링 접속 동작, 즉(1) 제7도에 도시된 바와 같이 제2 멀티플렉서(34)의 SELODI 출력을 DIN에 접속된 PRPG/PSA NAND 게이트(210)의 입력에까지 접속시키고, (2) 제7도에 도시된 바와 같이 검사셀에 부착된 SDI 입력을 PRPG/PSA NAND 게이트(212)의 입력에까지 접속시키며, (3) PRPG/PSA 익스클루시브 OR 게이트(208)의 출력을 검사셀(12)의 ODI 입력에까지 접속시키는 것이다.
제11도에는 PRPG/PSA 논리부(206)과 다항 탭 논리부(214)를 갖고 있는 쌍방향 검사 회로가 도시되어 있다. 제11도의 회로는 제10도의 회로와 동일한데, 제8도에 관련하여 기술한 바와 같이 다항 탭 논리부(214)가 검사셀(12)에 추가 접속되어 있다. 이와 마찬가지로, 쌍방향 검사 회로에는 라이브러리 셀의 그 밖의 다른 조합을 이용할 수도 있는데, 그 예로서는 마스크 가능한 비교 논리부를 포함하는 쌍방향 검사 회로 또는 마스크 가능한 비교 논리부, PRPG/PSA 논리부 및 다항 탭 논리부를 포함하는 쌍방향 검사셀과 같은 쌍방향 검사 회로가 있다.
본 발명의 셀 라이브러리는 제2도의 기본 검사셀에 관련하여 기술하였지만, 이 개념은 다른 구조를 갖고 있는 기본 검사셀(12)에도 사용될 수 있다. 라이브러리 셀은 집적 회로 설계자에게 다양한 상이한 집적 회로 검사 구조를 만드는데 사용할 수 있는 여러 가지 비트 슬라이스(bit slice) 검사 가능한 셀을 제공하여 준다.
라이브러리 셀 형태의 검사 방법을 제공하는 것을 장점은, (1) 집적 회로 설계 시에 검사 구조의 간단한 구현, (2) 자동화될 수 있도록 구성되는 검사 방법의 제공, (3) 새로운 집적 회로 설계마다 임기응변식의 검사 방법을 고안해야 하는 필요성 제거, (4) 모든 필요한 검사 논리부가 검사 회로에 내장되기 때문에 검사 구조의 배치 및 신호 라우팅의 개선, 및 (5) 원하는 검사 가능한 기능이 선택될 수 있는 기초를 설계자에게 제공하는 것들이 있다.
시스템 레벨에서 IC를 용이하게 검사하기 위하여, 레지스터, 래치, 버퍼 또는 송수신기와 같은 표준 시판용(off-the-self) 구성 부품은 검사셀(12)로 구성된 검사 인터페이스(interface) 및 경계선 스캔 경로를 포함하도록 설계될 수 있다. 어셈블리(assembly)의 하이 레벨에서 검사를 간단히 하기 위해 표준 구성 부품으로 검사 회로를 구현하면, 하드웨어 시스템을 검사 및 유지 보수하는데 소요되는 비용을 줄이기 위한 방법을 제공한다.
현재, 회로 기판 및 시스템을 검사하는 데에는 고가의 검사 장비 및 기계적인 시험 기술의 사용을 필요로 한다. 시스템에 들어가 있는 기판을 검사하기 위해서, 검사 장비로의 검사 억세스가 이용될 수 있도록 제거되어야 한다.
직렬 검사 인터페이스를 통해 억세스할 수 있는 내장 검사 회로를 갖고 있는 표준 구성 부품은 검사를 간단하게 해 준다. 이러한 부분을 사용하여 기판을 설계하면 직렬 검사 버스를 통해서 시스템에 남아 있는 상태에서 검사할 수 있다. 또한, 이러한 장치는 간단하면서 저렴한 검사 장비로 검사를 수행할 수 있게 해 준다.
또한, 현재의 기술 수준의 기판 설계에 있어서, 구성 부품 밀도로 인해 회로를 물리적으로 시험하는 것은 불가능할 수도 있다. 이 경우에, 구성 부품 내에 들어가 있는 검사 회로를 통해서만이 검사가 수행될 수 있다.
제12도에는 조합 논리부(224)가 검사 분할(partitioning) 장치(226 및 228)에 의해 관찰 및 제어되는 상황이 도시되어 있다. 검사 분할 장치(226 및 228)은 버퍼, 래치, 레지스터 또는 송수신기와 같은 다수의 널리 공지된 장치에 기초를 두고 있을 수 있다. 설명을 위해, 분할 장치(226 및 228)이 8-비트 레지스터라고 가정한다. 조합 논리부는 인-서키트 검사 (in-circuit testing)를 할 수 없는 몇 개의 회로를 포함할 수 있다.
입력 검사 레지스터(226)은 데이타를 관찰할 수 있는데, 그렇지 않은 경우에는 조합 논리부로 보내어질 것이고, 또한 입력 검사 레지스터(226)은 조합 논리부(224)를 제어하기 위해 데이타를 출력시킬 수 있다. 출력 검사 레지스턴(228)은 조합 논리부(224)로부터의 데이타 출력을 관찰하고, 장치로의 출력을 제어할 수 있는데, 이러한 장치로의 출력은 그렇지 않은 경우에는 조합 논리부(224) 의 출력에 접속된다. 출력 검사 레지스터(228)로 직렬 데이타를 출력시키는 입력 검사 레지스터(226)이 직렬 데이타를 수신한다. 입력을 관찰하고, 출력을 제어함으로써, 검사 레지스터(226 및 228)은 제1도와 관련하여 상술한 바와 동일한 방식으로 조합 논리부 (224)를 검사할 수 있다.
제13도에는 검사 장치(226)의 실시예가 도시되어 있다. 데이타 입력(D0-7)은 입력 버퍼(230)을 통해 검사 장치(226)에 입력된다. 입력 버퍼(230)의 출력은 입력 검사 회로 레지스터(input test circuit register) (입력 TCR)(232)에 접속된다. 검사 회로 레지스터(232)의 출력은 레지스터(234)에 접속된다. 레지스터(234)의 출력은 출력 검사 회로 레지스터(output test circuit register) (출력 TCR)(236)에 접속된다. 출력 TCR(236)의 출력은 출력 데이타 신호(Q0-7)을 제공하는 출력 버퍼(238)에 접속된다. 검사셀(240 및 242)는 장치 외부로부터의 제어 신호를 수신한다.
이 경우에, 검사셀(242)는 클럭 입력(CLK)을 수신하고, 검사셀(240)은 제어 입력(C)를 수신한다. 검사셀(240)의 출력은 삼상태 동작용 출력 버퍼(238)에 접속된다. 검사셀(242)의 출력은 레지스터(234)의 클럭 입력에 접속된다. 검사 장치(236) 외부로부터의 SDI 신호는 검사셀(240), 스캔 바이패스 레지스터(scan bypass register ; 244) 및 명령어 레지스터(246)에 의해 수신된다. 스캔 데이타 경로는 검사셀(240), 검사셀 (242), 입력 TCR(232) 및 출력 TCR(236)을 통하여 존재한다. 출력 TCR(236)의 직렬 데이타 출력은 스캔 바이패스 레지스터(244)의 출력과 함께 멀티플렉서(248)에 접속된다. 멀티플렉서(248)은 명령어 레지스터(246)으로부터 스캔 경로 선택 신호(scan path select signal)를 수신한다. 멀티플렉서(248)의 출력은 명령어 레지스터(246)으로부터의 출력과 함께 멀티플렉서(250)에 접속된다. 또한, 멀티플렉서(250) 검사 포트(test port ; 252)로부터 선택 신호를 수신한다. 검사 포트는 검사 장치(226) 외부로부터 MODE 및 클럭(CLK) 신호를 수신하고, 스캔 및 검사 제어 신호를 출력시킨다. 또한, 명령어 레지스터(246)은 검사 제어 신호를 검사셀(240 및 242)과 TCR(232 및 236)으로 출력시킨다.
검사 레지스터에 입력된 제어 신호(CLK 및 OC)는 예시적인 것이고, 다른 신호를 특정 응용용으로 사용할 수도 있다. 예를 들어, 클리어(clear) 신호 또는 엔에이블 신호를 검사셀을 통해 적합하게 설계된 레지스터에 접속할 수도 있다. 또한, 레지스터를 적절한 회로로 대체하여 래치, 버퍼, 송수신기 및 다른 장치를 구현할 수 있다. 또한, 제어 및 데이타 I/O 신호의 개수는 장치의 구현 방식에 따라 변할 수 있다.
검사 장치(226)의 스캔 구조는 [검사셀 (240 및 242) 및 TCR(232 및 236)을 통과하는] 경계선 스캔 경로, 스캔 바이패스 경로 및 명령어 스캔 경로를 포함한다. MODE 및 SCK 입력을 통해 발생된 스캔 억세스 프로토콜(scan access protocol)은 직렬 데이타가 경계선 또는 바이패스 스캔 경로 또는 명령어 레지스터 내로 스캔될 수 있게 한다. 경계선과 바이패스 스캔 경로 사이의 선택은 멀티플렉서(248)로 출력되는 스캔 경로 선택을 통해 명령어 레지스터 내에 저장되어 있는 현재의 명령어 (current instruction)에 의해 결정된다.
TCR(232 및 236)은 상술한 바와 같이 검사셀(12)에 기초를 두고 있는 다수의 검사 회로를 포함한다. 통상적으로, TCR(232 및 236)은 PRPG/PSA 및/또는 프로그래밍 가능한 다항 탭 논리부를 갖고 있는 다수의 검사 회로로 형성된다. 검사셀(240 및 242)는 통상적으로 추가 회로가 없는 전형적인 기본 검사셀(12)이다. 검사셀(240 및 242) 및 TCR(232 및 236) 으로의 제어 회로는 도시하지 않았지만, 직렬 데이타 쉬프팅 및 검사 회로 제어용으로 제어 버스가 각 셀에 접속된다.
경계선 스캔 논리부가 검사 동작을 수행하도록 하기 위해 검사 명령어를 명령어 레지스터(246) 내로 스캔할 수 있다. 검사가 수행되지 않을 경우, 명령어 레지스터(246) 내로 정상 동작 명령어가 스캔된다. 정상 동작 명령어 중에, 경계선 스캔 논리부는 정상 I/O 및 제어 신호가 경계선 스캔 논리부를 통하여 자유롭게 통과되도록 할 수 있다.
[TCR(232 및 236) 및 검사셀 (240 및 242) 를 통과하는 ] 경계선 스캔 경로가 내부 I/O 신호를 제어할 수 있도록 경계선 스캔 명령어 (boundary scan instruction)를 명령어 레지스터 내에 설치할 수 있다. 이 제어 동작은 경계선 스캔셀의 DMX 입력을 하이 상태의 논리 레벨로 설정함으로써 달성된다. 이 모드 내에서, 경계선 스캔 경로가 검사셀 (240 및 242) 및 TCR(232 및 236) 상의 DIN 입력의 논리 레벨을 포착하도록, MODE 및 SCK 입력에 의해 외부 제어 신호가 발생될 수 있다. 포착 동작 중에, 검사셀 (240 및 242) 및 입력 TCR(232)는 외부 데이타 출력(DO-7) 및 제어 입력의 상태를 포착한다. 또한, 포착 동작 중에, 출력 TCR(236)은 내부 논리부(234)의 상태를 포착한다. 데이타가 포착된 후에, 경계선 스캔 경로가 SDO 핀을 통해 검사용으로 포착 데이타를 외부로 쉬프트시키도록, 추가 외부 제어 신호가 MODE 및 SCK 입력을 통해 입력된다.
포착된 데이타가 외부로 쉬프트되는 동안, 검사 제어 패턴이 SDI 입력을 통해 경계선 스캔 경로 내로 쉬프트된다. 포착 및 쉬프트 동작 중에, DOUT는 그 현재 상태를 유지하는데, 그 이유는 그 입력이 로우 상태로 설정되기 때문이다. 만일 그 현재 상태가 계속해서 유지되지 않으면, 출력에서의 리플(ripple)효과가 장치의 출력에 부착된 외부 논리부를 업셋(upset)시킬 수 있다.
경계선 스캔 경로 내외로 쉬프트시키는 동작이 완료되면, 추가 외부 제어 신호는 이미 설치된 제어 패턴이 여러 가지 검사셀 및 TCR(240, 242, 232 및 236)의 래치(26)으로부터 인가되도록, MODE 및 SCK 입력을 통해 추가 외부 제어 신호가 입력된다. 경계선 스캔 경로 출력을 포착한 후에, 경계선 스캔 경로로부터 인가할 다음 검사 제어 패턴을 쉬프트시켜 입력하는 동안에 그 포착된 검사용 데이타를 외부로 쉬프트시키는 프로세스는, 원하는 수준의 거사가 완료될 때까지 반복된다. 이방식으로, 내부 논리부, 외부 와이어링 상호 저속부 및/또는 근접 IC들을 동시에 검사할 수 있다.
경계선 데이타 샘플 명령어를 명령어 레지스터(242) 내에 설치할 수도 있다. 경계선 데이타 샘플 명령어는, SCK 및 MODE 입력이 경계선 스캔 경로로 하여금 이들의 입력에 존재하는 논리 상태를 포착하게 하는 동안에, 데이타 및 제어 신호를 경계선 스캔 경로를 통하여 자유롭게 통과시킬 수 있도록 해 준다. 경계선 데이타가 포착되면, 경계선 스캔 경로가 포착 데이타를 SDO 핀을 통해 검사용 외부로 쉬프트시키게 하도록 SCK 및 MODE 입력을 통해 추가의 외부 제어 신호가 발생된다.
하이 임피던스 상태에 대한 제어 출력 명령어 (control outputs to high impedance state instruction)은 출력 버퍼(Q0-7)이 하이 임피던스 상태가 되도록 할 수 있다. 출력은 하이 임피던스 상태이지만, 입력은 기능 상태로 남아 있어서, 데이타 및 제어 입력이 내부 논리부(234)에 계속해서 양향을 끼친다. 이 명령 동작 중에, 스캔 바이패스 레지스터 (하나의 플립-플롭)는 SDI 및 SDO 핀에 결합되어, 데이타 레지스터 스캔 동작 동안 검사 장치를 통해 하나의 비트 스캔 경로를 형성한다.
이 명령의 이점은 출력을 삼상태 조건 (tristate condition)으로 만든다는 것인데, 이렇게 하면 외부 검사 프로브가 출력을 논리(1 또는 0)으로 제어할 수 있게 된다. 또한, 스캔 바이패스 플립-플롭을 통과하는 단축된 데이타 스캔 경로는 내부 스캔 경로 길이를 하나의 비트로 감소시킬 수 있게 해 준다.
논리(1 또는 0)에 대한 제어 경계선 출력 명령어 (comtrol boundary outputs to a logic 1 or 0 instruction)는 경계선 스캔 경로로 하여금 검사셀(240 및 242) 및 TCR(232 및 236)의 출력으로부터 미리 스캔된 검사 제어 패턴을 적용하기 위하여 I/O 신호를 제어할 수 있게 한다. 이 검사 명령을 수행하기 이전에, 이 명령에 의해 적용될 검사 제어 패턴으 설치하도록 경계선 스캔 경로가 스캔되었을 것이다. 이 명령 동작 중에, 데이타 레지스터 스캔 동작 중에 검사 장치를 단일 비트 스캔 경로를 형성하기 위해, 스캔 바이패스 레지스터는 SDI 및 SDO 핀에 결합된다.
이 명령의 이점은, 조합 논리부(224)와 같은 검사 장치 출력에 접속된 다른 장치에 대하여 검사를 수행하는 동안에, 검사 장치가 특정 패턴을 출력할 수 있도록 한다는 것이다. 또한, 명령 동작 중에 스캔 바이패스 플립-플롭을 통과하는 단축된 데이타 스캔 경로는 내부 스캔 경로 길이를 하나의 비트로 감소시킬 수 있다.
추가적인 검사 기능을 제공하기 위하여, 입력 및 출력 TCR(232 및 236) 은 외부에서 인가된 SCK 입력과 동기되어 동작하도록 명령을 받을 수 있다. 이 검사 동작들의 이점은, 검사 동작 중에 스캔 동작이 전혀 필요하지 않으므로, 검사 시간을 상당히 단축시킬 수 있다는 것이다.
제7도와 관련하여 PSA 동작에 대해 상세하게 설명하겠다. 입력 TCR(232)는 그 자체로 또는 출력 TCR(236)과 결합하여 PSA 동작을 수행할 수 있다. 16-비트 폭 기호(16-bit wide signature ; 8-비트 TCR 이라 가정)를 제공하기 위하여 서로 결합되어 사용되는 입력 및 출력 TCR(232 및 236)의 회로도가 제14도에 도시되어 있다. 데이타 입력에 나타나는 데이타는 입력 TCR(232)의 현재 상태와 합산되고, AND 게이트(253)으로부터 출력된 PSA/PRPG 검사 클럭 신호에 의해 입력 TCR(232) 내로 클럭-인 된다. PSA 동작 중에, 입력 TCR(232)는 로드 모드로 되고, 출력 TCR(236)은 쉬프트 모드로 되어 입력 TCR(232)로의 8-비트 쉬프트 레지스터의 연장으로서 작동한다. 출력 TCR(236)과 입력 TCR(232)를 조합함으로서, 8-비트 데이타 입력 버스의 16-비트 폭 기호가 이용될 수 있다. 16-비트 PSA 회로를 사용함으로써, 입력 TCR(232)로 압출될 수 있는 입력 데이타 패턴의 개수는 255개에서 65,535개로 증가된다. PSA 동작 중에, 출력 TCR(236)으로부터의 데이타 출력(QO-)은 선정된 패턴으로 고정되므로, PSA 중의 리플링(rippling) 데이타는 조합 논리부(224) 외부로는 전달되지 않는다.
PSA의 클럭 신호는 제14도에 도시된 게이팅 회로 (gating circuit)로부터 나온다. PSA 명령 레지스터가 설치되고, 외부 제어부가 검사 포트(252)를 아이들 상태로 하면, 게이트 신호가 조정되어 AND 게이트(253)이 SCK 입력을 TCR(232 및 236)으로 통과시킬 수 있도록 한다. 명령어 레지스터(246)은 명령어가 설치될 때 검사 클럭 엔에이블 신호를 출력시킨다. 검사 포트(252)는 논-스캐닝 아이들 상태(non-scanning idle state)에 들어가면 싱크(sync)신호를 출력시킨다. 두개의 엔에이블 신호가 모두 하이 상태로 설정되면, 외부 SCK 는 AND 게이트(252)를 통해 게이트되어 PSA/PRPG 검사 클럭을 발생시키게 된다.
PSA 명령의 종료 시에, 외부 제어부 (SCK 및 MODE)는 검사 포트(252)로 하여금 PSA/PRPG 검사 클럭을 금지하게 하고, 새로운 명령이 명령어 레지스터 (246) 내로 스캔된다. 스캔 경로가 정상 구조로 다시 설정된 후에, TCR(232 및 236) 내에 저장된 기호는 후술하는 바와 같이 경계선 스캔 해독 명령어 레지스터를 통해 검사를 위해 외부로 스캔될 수 있다.
이와 마찬가지로, 출력 패턴 발생 동작을 제공하기 위해 PRPG 명령어가 명령어 레지스터(246) 내에 설치될 수 있다. 또 다시, TCR(232 및 236)을 결합하여 8-비트 출력 패턴의 수를 연장시킬 수 있는 16-비트 폭 패턴 발생 동작을 제공할 수 있다. 16-비트 구조는 제14도에 도시된 구조와 유사하다. PRPG 동작 중에, 두개의 TCR 모두가 쉬프트 모드에 놓여진다. 패턴 발생 신호는 출력 TCR(236)으로 부터 출력된다. PRPG를 클럭시키는 동작은 PSA 명령 동작에서와 동일하다. 이와 마찬가지로, 검사 클럭 엔에이블 비트를 리셋트시키고 경계선 스캔 경로를 정상 루팅 경로로 재구성하기 위해, PRPG 동작의 종료 시에 새로운 명령어가 명령어 레지스터 내로 스캔될 것이다.
제15도와 관련하여 도시된 바와 같이, PSA와 PRPG는 동시에 가동될 수 있다. 이 구조에서, 입력 및 출력 TCR(232 및 236)은 결합되지 않고, 오히려 그 자체내로 피드백된다. 국부 멀티플렉서(254 및 256)은 요구된 피드백 접속부를 TCR(232 및 236) 각각에 제공한다. 이 구조에서는 TCR이 결합될 수 없으므로, PSA 및 PRPG 동작은 8-비트로 제한된다. PSA 및 PRPG 동작을 클럭시키는 동작은 PSA 명령어 레지스터에 관련하여 기술한 것과 동일하다.
제15도에서 동시에 발생하는 PSA 및 PRPG 명령과 구조상 유사하게, PSA 및 2진수 카운트 업(count up) 패턴 출력 명령도 동시에 수행될 수 있다. 이 명령 동작 중에, 입력 TCR(232)는 PSA를 수행하고, 출력 TCR(236)은 2진수 카운트 업 패턴을 출력시킨다. PSA 및 2진수 카운트 업 패턴 동작의 클럭킹 동작은 PSA 명령 동작에 관련하여 기술한 것과 동일하다. 2진수 카운트 업 패턴은 메모리 검사중에 2진수 어드레스 패턴을 제공할 때 유용하다. 이 멸영 동작 중에, 메모리 장치의 어드레스는 한 검사 레지스터의 TCR(236)으로부터의 카운트 업 패턴에 의해 동시에 발생 될 수 있지만, 데이타 출력은 다른 검사 레지스터의 TCR(232)에 의해 압축된다. 유사한 검사 응용이 PSA 및 PRPG 명령 동작에 의해 수행된다.
제16도에서, TCR(236)의 검사셀(12)는 2진수 카운트 업 패턴이 TCR(236)으로부터 출력될 수 있도록 카운트 엔에이블 논리부(Count Enable Logic Section ; 258)에 부착되어 있는 것으로 도시되어 있다. 카운트 엔에이블 논리부(258)은 다수의 AND 게이트(250)을 포함한다. 각각의 AND 게이트(260)은 한 입력으로서 이전 AND 게이트의 출력을 하나의 입력으로서 수신하고 관련된 검사셀(12)로부터의 DOUT 신호를 나머지 입력으로서 수신한다. 제1 AND 게이트(260)은 첫번째 2개의 검사셀(12)로부터의 DOUT 신호를 수신한다. 각각의 AND 게이트(260)의 출력은 다음 검사셀(12)의 하나의 A 선택부에 접속된다. 이러한 구성에서, TCR(236)내의 최하위 검사셀(least significant test cell ; 12)는 토글 모드로 설정되고(AB=01), 선행 검사셀(12)는 카운터 엔에이블 논리부로부터 각 검사셀(12)의 A 입력으로 출력되는 논리 레벨에 따라 토글 모드 또는 아이들 모드로 동작하도록 설정된다. 모든 뒤따르는 검사셀이 하이 상태의 논리 레벨로 설정되면, PSA/PRPG 검사 클럭이 인가될 때 검사셀(12)는 토글 될 것이다. 뒤따르는 검사셀 중 어느 하나라도 로우 상태의 논리 레벨로 설정되면, PSA/PRPG 검사 클럭이 인가될 때 검사셀(12)는 그 현재 상태 (아이들 상태)를 유지한다.
검사셀(12)와 관련하여 상술한 다른 기능을 검사 장치에 의해 수행할 수도 있다. 이전 스캔 동작 중에 출력 TCR(236)에 설치된 데이타가 각각의 PSA/PRPG 검사 클럭 사이클 중에 참(true) 출력 패턴과 이것의 보상 (compliment) 출력 패턴 사이에서 토글되도록, 검사 장치가 토글 동작을 수행하도록 할 수도 있다. 토글 기능은 장치의 출력 버퍼의 검사 중에 그리고 간단한 검사 패턴 발생기로서 기판 레벨에서 유용하다. 토글 동작을 클럭시키는 동작은 PSA 명령 동작에서와 동일하다.
또한, 경계선 스캔 경로는 그 내용을 판정하도록 해독될 수 있다. 검사 장치는 이 동작 중에 정상 동작 모드 상태를 유지한다. 이 명령어는 포착 동작이 수행되지 않는다는 점에서 경계선 스캔 및 경계선 데이타 샘플 명령어와는 다른 것이다. PSA 동작의 결과를 추출하도록 경계선 해독 명령어를 사용할 수도 있다.
지금까지, 본 발명에 관해 상세하게 설명하였지만, 첨부된 청구 범위 내에서 본 발명의 의의 및 범위를 벗어나지 않고 본 발명을 여러 가지로 변화, 대체 및 변경시킬 수 있다.

Claims (16)

  1. 집적 회로 내에 사용하기 위한 검사 회로에 있어서, 데이타 수신용 입력부, 데이타 공급용 출력부, 검사 데이타 수신용 입력부 및 검사 데이타 공급용 출력부를 가지고 있는 검사셀로서, 상기 검사셀로의 상기 입력부 중의 하나로부터의 데이타를 선택적으로 저장할 수 있는 검사셀 ; 및 상기 검사셀에 접속되어, 상기 데이타 수신용 입력부로부터의 데이타를 선정된 값과 비교하고 상기 데이타 수신용 입력부로부터의 상기 데이타가 상기 선정된 값과 일치하는지 여부를 나타내는 제어 신호를 발생시키는 비교 회로를 포함하는 것을 특징으로 하는 검사 회로.
  2. 제1항에 있어서, 상기 검사셀은 상기 선정된 값을 저장하기 위한 메모리를 포함하는 것을 특징으로 하는 검사 회로.
  3. 제1항에 있어서, 상기 검사 회로는, 입력을 선정된 값과 비교하고 상기 입력이 상기 선정된 값과 일치하는지 여부를 나타내는 각각의 제어 신호를 발생시키기 위해 관련된 비교 회로를 갖고 있는 다수의 검사셀을 더 포함하는 것을 특징으로 하는 검사 회로.
  4. 제3항에 있어서, 상기 각각의 제어 신호가 모두 일치하는지 여부를 결정하기 위한 회로를 더 포함하는 것을 특징으로 하는 검사 회로.
  5. 제4항에 있어서, 한 개 이상의 상기 관련된 비교 회로에서 강제로 일치 상태가 되도록 하기 위한 회로를 더 포함하는 것을 특징으로 하는 검사 회로.
  6. 제1항에 있어서, 상기 비교 회로는 익스클루시브 OR 게이트(exclusive OR gate)를 포함하는 것을 특징으로 하는 검사 회로.
  7. 제6항에 있어서, 상기 비교 회로는, 상기 익스클루시브 OR 게이트의 출력에 접속된 하나의 입력과 마스킹 제어 신호에 접속된 하나의 입력을 가지고 있어서 선정된 값의 마스킹 제어 신호에 응답하여 일치 상태를 나타내는 신호가 발생되도록 하는 NAND 게이트를 포함하는 것을 특징으로 하는 검사 회로.
  8. 집적 회로 내에 사용하기 위한 검사 회로에 있어서, 각각의 입력을 저장할 수 있는 다수의 검사셀 ; 및 각각의 검사셀들에 접속되어 상기 검사 회로로 입력된 데이타 스트림(stream of data) 상의 합계 검사(checksum)를 계산하기 위한 기호 분석 회로들(signature analysis circuits)을 포함하는 것을 특징으로 하는 검사 회로.
  9. 제8항에 있어서, 원하지 않는 기호 분석 회로들을 상기 합계 검사 계산으로부터 마스크시키기 위한 마스킹 회로(masking circuitry)를 더 포함하는 것을 특징으로 하는 검사 회로.
  10. 제8항에 있어서, 상기 기호 분석 회로들을 디스에이블시키기 (disable)위한 제어 회로를 더 포함하는 것을 특징으로 하는 검사 회로.
  11. 제8항에 있어서, 상기 기호 분석 회로들 중 소정의 회로들을 상기 합계 검사 계산으로부터 제외시키기 위한 프로그래밍 가능한 다항 탭 회로(programmable polynomial tap circuitry)를 더 포함하는 것을 특징으로 하는 검사 회로.
  12. 제8항에 있어서, 상기 기호 분석 회로는, 상기 검사셀의 입력에 접속된 출력, 상기 데이타 스트림이 입력되는 입력 노드에 결합된 제1 입력, 및 다음 검사셀로부터의 출력에 결합된 제2 입력을 갖고 있는 익스클루시브 OR 게이트를 포함하는 것을 특징으로 하는 검사 회로.
  13. 집적 회로 내에 사용하기 위한 검사 회로에 있어서, 각각의 입력을 저장 할 수 있는 다수의 검사셀 ; 및 각각의 검사셀에 접속되어 의사-무작위 패턴(pseudo-random pattern)을 발생시키기 위한 다수의 패턴 발생 회로들(pattern generation circuits)을 포함하는 것을 특징으로 하는 검사 회로.
  14. 제13항에 있어서, 검사셀은 그 내부에 저장된 데이타를 다음 패턴 발생 회로로 쉬프트시키기 위한 쉬프트 회로(shift circuitry)를 포함하는 것을 특징으로 하는 검사 회로.
  15. 제13항에 있어서, 상기 패턴 발생 회로들을 디스에이블시키기 위한 제어 회로를 포함하는 것을 특징으로 하는 검사 회로.
  16. 제13항에 있어서, 상기 패턴 발생 회로들 중 소정의 회로들을 패턴 발생으로부터 제외시키기 위한 프로그래밍 가능한 다항 탭 회로를 포함하는 것을 특징으로 하는 회로.
KR1019890012886A 1988-09-07 1989-09-06 개량된 검사 회로 KR0165105B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US24151188A 1988-09-07 1988-09-07
US241,511 1988-09-07

Publications (2)

Publication Number Publication Date
KR900005474A KR900005474A (ko) 1990-04-14
KR0165105B1 true KR0165105B1 (ko) 1999-04-15

Family

ID=22910976

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019890012886A KR0165105B1 (ko) 1988-09-07 1989-09-06 개량된 검사 회로

Country Status (4)

Country Link
EP (1) EP0358371B1 (ko)
JP (2) JPH032577A (ko)
KR (1) KR0165105B1 (ko)
DE (1) DE68928600T2 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE504041C2 (sv) * 1995-03-16 1996-10-21 Ericsson Telefon Ab L M Integrerat kretsarrangemang för provning
JP2009216619A (ja) * 2008-03-12 2009-09-24 Texas Instr Japan Ltd 半導体集積回路装置
EP2624000A4 (en) 2010-09-27 2014-08-06 Fujitsu Ltd INTEGRATED CIRCUIT
TWI416145B (zh) * 2011-11-03 2013-11-21 Winbond Electronics Corp 積體電路及其測試方法
EP2722680B1 (en) * 2012-10-19 2018-10-10 IMEC vzw Transition delay detector for interconnect test
CN113377592B (zh) * 2021-06-28 2022-07-29 昆山国显光电有限公司 芯片的检测方法及装置、计算机可读存储介质及电子设备

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58155599A (ja) * 1982-03-10 1983-09-16 Hitachi Ltd メモリテスタ−
US4618956A (en) * 1983-09-29 1986-10-21 Tandem Computers Incorporated Method of operating enhanced alu test hardware
US4594711A (en) * 1983-11-10 1986-06-10 Texas Instruments Incorporated Universal testing circuit and method
GB8432533D0 (en) * 1984-12-21 1985-02-06 Plessey Co Plc Integrated circuits
GB8501143D0 (en) * 1985-01-17 1985-02-20 Plessey Co Plc Integrated circuits
US4734921A (en) * 1986-11-25 1988-03-29 Grumman Aerospace Corporation Fully programmable linear feedback shift register
JP2628154B2 (ja) * 1986-12-17 1997-07-09 富士通株式会社 半導体集積回路

Also Published As

Publication number Publication date
JP3529762B2 (ja) 2004-05-24
JPH032577A (ja) 1991-01-08
DE68928600T2 (de) 1998-07-02
EP0358371A3 (en) 1992-02-26
EP0358371A2 (en) 1990-03-14
JP2002236145A (ja) 2002-08-23
DE68928600D1 (de) 1998-04-16
KR900005474A (ko) 1990-04-14
EP0358371B1 (en) 1998-03-11

Similar Documents

Publication Publication Date Title
KR0156547B1 (ko) 집적 회로용 검사셀
KR0165104B1 (ko) 검사 버퍼/레지스터
US5084874A (en) Enhanced test circuit
US5056094A (en) Delay fault testing method and apparatus
US6304987B1 (en) Integrated test circuit
US6314539B1 (en) Boundary-scan register cell with bypass circuit
US8010856B2 (en) Methods for analyzing scan chains, and for determining numbers or locations of hold time faults in scan chains
US4669081A (en) LSI fault insertion
US10520550B2 (en) Reconfigurable scan network defect diagnosis
US20030011396A1 (en) Semiconductor device and test system therefor
KR0165105B1 (ko) 개량된 검사 회로
US20030046625A1 (en) Method and apparatus for efficient control of multiple tap controllers
US4876501A (en) Method and apparatus for high accuracy measurment of VLSI components
US20050015689A1 (en) Electronic component and method for measuring its qualification
US5793777A (en) System and method for testing internal nodes of an integrated circuit at any predetermined machine cycle
Bhuyan et al. Estimating Stuck at Coverage percentage through scan flops during scan
EP0286920A2 (en) Method and apparatus for high accuracy measurement of VLSI components

Legal Events

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

Payment date: 20120830

Year of fee payment: 15

EXPY Expiration of term