KR100623310B1 - 전자 회로의 최적화된 병렬 테스팅 및 액세스 방법 및 장치 - Google Patents
전자 회로의 최적화된 병렬 테스팅 및 액세스 방법 및 장치 Download PDFInfo
- Publication number
- KR100623310B1 KR100623310B1 KR1020037003224A KR20037003224A KR100623310B1 KR 100623310 B1 KR100623310 B1 KR 100623310B1 KR 1020037003224 A KR1020037003224 A KR 1020037003224A KR 20037003224 A KR20037003224 A KR 20037003224A KR 100623310 B1 KR100623310 B1 KR 100623310B1
- Authority
- KR
- South Korea
- Prior art keywords
- test
- controller
- bus
- ptb
- local
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3185—Reconfiguring for testing, e.g. LSSD, partitioning
- G01R31/318533—Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
- G01R31/318558—Addressing or selecting of subparts of the device under test
- G01R31/318563—Multiple simultaneous testing of subparts
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/56—External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3185—Reconfiguring for testing, e.g. LSSD, partitioning
- G01R31/318516—Test of programmable logic devices [PLDs]
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3185—Reconfiguring for testing, e.g. LSSD, partitioning
- G01R31/318533—Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
- G01R31/318555—Control logic
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/18—Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
- G11C29/26—Accessing multiple arrays
- G11C2029/2602—Concurrent test
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
병렬 테스트 구조(PTA)는 회로의 최적화된 테스팅, 디버깅 또는 프로그램가능한 구성을 위해 다수의 전자 회로(즉, 병렬인)로의 동시 액세스를 용이하게 하도록 제공된다. PTA는 병렬 테스트 버스(PTB), 상기 PTB 에 접속된 테스트 제어기 및 상기 PTB에 접속된 다수의 어드레싱가능한 PTB 제어기를 포함하며, 각 어드레스가능한 PTB 제어기는 액세스되는 각각의 전자 회로에 결합가능하다. 테스트 제어기는 각각의 어드레싱 가능한 PTB 제어기에 의해 결합가능한 전자 회로의 병렬 스캔 액세스를 개시하기 위해 각각의 어드레싱가능한 PTB 제어기에 PTB를 통해 적어도 하나의 제어 신호를 전송하도록 구성된다. 게다가, 각 어드레싱가능한 PTB는 테스트 제어기에 의해 PTB를 통해 전송된 제어 신호에 기초하여 결합가능한 각각의 전자 회로를 액세스하기 위해 스캔 프로토콜을 이용하며, 상기 각각의 전자 회로를 액세스하는데 응답하여 상기 제 1 제어기에 PTB를 통해 결과 스캔 데이터를 전송하도록 구성된다.
Description
본 출원은 "전자 회로의 최적화된 병렬 테스팅 및 액세스 방법 및 장치"란 명칭의 2001년 7월 5일에 출원된 미국 특허출원 No. 60/303,052의 우선권을 주장한다.
본 발명은 일반적으로 집적 회로, 인쇄 회로 기판 및 시스템의 스캔-기반 테스팅에 관한 것이며, 구체적으로 시스템내의 다수의 상기와 같은 전자 회로를 액세스하고 다수의 상기와 같은 전자 회로를 최적으로 병렬 테스팅하는 방법 및 장치에 관한 것이다.
스캔-기반 테스팅은 결함을 검출하고 진단하며 디버깅하기 위해 전자 소자(예를 들어, 집적 회로(IC)) 및 시스템(예를 들어, 인쇄 회로 기판(PCB) 및 시스템 온 칩(SoC)의 개발 및 제조동안 종종 이용된다. 이러한 테스트 방법은 회로의 상태 엘리먼트가 동작의 테스트 모드동안 스캔 경로 또는 스캔 체인으로 지칭되는 직렬 시프트(즉, 스캔) 레지스터를 형성하도록 구성되기 때문에, 공통으로 "스캔"이라 지칭된다. 스캔 테스트는 일반적으로 디지털 논리 값을 테스트 자극으로 적용하고 상기 테스트 자극에 응답하여 디지털 논리 값을 수집하는 방법으로, 시프팅 데이터를 직렬로 유니트 언더 테스트(Unit Under Test(UUT))의 스캔 경로로 스캔-인 하고 상기 스캔 경로로부터 스캔-아웃시키는 것과 관련된다. 상기 응답은 일반적으로 예측된 스캔 아웃 데이터에 대해 비교되며, 데이터 비교동안의 소정의 실패는 일반적으로 UUT의 결함 검출을 나타낸다. 따라서, 디지털 회로에 대해, 스캔 테스트 모드는 UUT에 포함된 결합 논리의 입력 및 출력의 완전한 제어성 및 관측성을 제공한다. 이것은 테스트 문제를 상당히 간단화시키며 전체적으로 감소된 비용으로 고품질의 테스트를 제공한다.
직렬 스캔 액세스를 제공함으로써, 물리적 검색이 필요없이 회로 상태를 관찰하고/제어하는 방법을 제공하여 테스트 및 디버그 목적을 위해 UUT로의 "가시성 (visibility)"이 가능해진다. 스캔이 없이, 회로의 내부 노드는 UUT의 물리적 핀을 통해서만 액세스가능할 것이다. 이 경우에, 회로의 소정 테스팅 또는 디버깅은 내부 상태의 제어/관찰을 제공하기 위해 동작의 복합 시퀀스를 적용하는 것이 요구될 것이다. 스캔을 갖는 UUT는 또한 UUT에 접속된 다른 회로, 예를 들어, 내장 메모리 및 코더 또는 UUT에 외부적으로 접속된 다른 회로와 같이 UUT내에 내장된 회로를 액세스하는데 이용될 수 있다. 이러한 방법은 예를 들어, 플래시 메모리에 접속된 IC의 경계 스캔 경로로부터 플래시 메모리를 프로그래밍하는 것과 같이, 컨텐츠를 프로그래밍할 목적으로 외부 메모리에 액세스하는데 종종 이용된다.
스캔 액세스는 일반적으로, 여기서 참조로 통합되는 IEEE 1149.1 표준 테스트 액세스 포트 및 경계 스캔 구조 규격에 따라 수행된다. 이러한 표준은 주로 PCB 테스팅 문제를 해결하기 위해 개발되었다. IEEE 1149.1 표준은 PCB 상에 설치된 장치의 I/O 핀으로의 액세스를 용이하게 하도록 경계 스캔 경로를 이용한다. 게다가, IEEE 1149.1 표준은 IC, PCB 및 시스템의 테스트, 디버그 및 시스템내 구성을 용이하게 하도록 IC내의 스캔 경로를 액세스하는데 이용될 수 있다.
도 1은 종래의 IEEE 1149.1 경계 스캔 구조(100)를 도시한다. 도 1에 도시된 바와 같이, IEEE 1149.1 경계 스캔 구조(100)에 따르는 IC는 테스트 클록(TCK), 테스트 모드 선택(TMS), 테스트 데이터 입력(TDI) 및 테스트 데이터 출력(TDO)(및 선택적으로 테스트 리셋(TRSTN))으로 지칭되는 4개의(선택적으로, 5개의) 추가 소자 핀을 갖는다. 이러한 전용 테스트 핀은 공통으로 테스트 액세스 포트(TAP)로 지칭된다. 부가적으로, IEEE 1149.1에 따르는 IC는 세개의 스캔 레지스터(명령 레지스터(IR)(102) 및 바이패스 레지스터(104)와 경계 스캔 레지스터(BSR)(106)로 지칭되는 두개의 표준 데이터 레지스터(DR))를 실행한다. 도 1은 또한 IEEE 1149.1 표준이 사용자로 하여금 내부 스캔 경로 및 빌트-인 셀프-테스트(Built-In Self-Test(BIST))와 같은 구조(100)의 추가 테스트 및 디버그 특징을 지원하도록 실행하는 것을 허용하는 사용자 DR(108)을 도시한다.
IEEE 1149.1 표준에서, 5개의 TAP 핀은 다음의 기능을 갖는다:
TCK는 개별 IC 소자내에서 그리고 TAP를 통해 액세스되는 다수의 IC 소자간에, 다양한 테스트 동작의 실행을 동기시키도록 제공되는 입력 신호이다. TCK는 일반적으로 일정한 주파수로 자유 진행하는 주기적 클록 신호이다. 그러나, TCK는 시작되거나 중단될 수 있으며, 또는 TCK의 주파수는 애플리케이션에 따라 변경될 수 있다. 대부분의 테스트 동작은 TCK 펄스의 상승 에지상에서 발생하지만 소정 동작은 TCK의 하강-에지상에서만 발생한다.
TMS는 TAP 제어기(110)의 내부 상태를 제어하는데 이용되는 입력 핀이다(도 1 참조). TAP 제어기(110)는 상기 구조(100)내의 기능을 액세스하기 위해 표준 IEEE 1149.1 프로토콜을 제공하는 16-상태 유한 상태 머신(FSM)이다. IEEE 1149.1 표준에 의해 정의된 소정 동작이 허용되며 특정 TAP 제어기 상태에서만 실행될 수 있다. TMS 값은 TCK의 상승-에지상에 샘플링된다.
TRSTN은 IC 소자가 미션(mission) 기능을 실행하도록 하기 위해 Test-Logic-Reset 상태로 발생시키는 TAP 제어기(110)의 비동기 리셋을 제공하는 입력 신호이다. TCK 및 TMS 입력 상태에 관계없이, 타겟 TAP 제어기는 TRSTN이 0의 논리 값으로 있는 한 Test-Logic-Reset 상태로 진입하여 그 상태로 남아있다. 적어도 5개 TCK 주기동안 논리 1값으로 TMS를 세팅함으로써, TAP 제어기(110)를 리셋할 수 있기 때문에, TRSTN은 선택적 입력 신호로 정의된다.
TDI는 직렬 스캔-인 데이터를 장치에 제공하는 입력 신호이다. TDI는 또 다른 장치의 TDO로부터 또는 스캔 제어기 또는 자동 테스트 장비(ATE)와 같은 외부 테스트 자원으로부터 테스트 데이터를 수신한다. TDI상의 신호의 논리값은 TCK의 상승-에지상에 샘플링된다.
TDO는 장치로부터 직렬 스캔-아웃된다. 장치가 데이터를 스캐닝하도록 인에이블되면, TDO는 테스트 데이터를 또 다른 장치의 TDO로 또는 테스트 장치로 전송한다. TDO 출력상의 스캔-아웃 값은 TCK의 하강-에지와 함께 변화한다.
IEEE 1149.1 표준은 접속된 회로가 공통 TAP 프로토콜에 액세스되도록 하는 IEEE 1149.1 버스를 형성하도록 다수 소자의 TAP 포트를 함께 접속하는 것을 용이하게 한다. 이것은 일반적으로 체인과 함께 이전 장치로부터의 TDO 출력이 상기 체인의 다음 장치의 TDI 입력에 접속되도록 데이지 체인 방식(daisy chain fashion)으로 개별 장치의 직렬 데이터 단말기, TDI 및 TDO를 접속함으로써 달성된다. 그후에, 공통으로 장치의 모든 개별 TMS, TCK(및 선택적으로 TRSTN) 신호를 접속함으로써, 모든 TAP 버스가 형성된다.
IEEE 1149.1 버스의 종래의 데이지 체인 구성(200)은 도 2에 도시된다. 도 2에 도시된 바와 같이, 제 1 장치(202.1)(UUT1)상의 TDI 및 최종 장치(202.n)는 각각 버스의 직렬 데이터 입력 및 직렬 데이터 출력으로 이용된다. 도 2에 도시된 버스 구성(200)이 주어지면, 테스트 장치는 버스의 TDI, TDO, TMS, TCK 및 TRSTN에 접속할 수 있으며 IEEE 1149.1 TAP 프로토콜을 이용하여 장치(202.1-202.n)와 통신할 수 있다.
도 2의 데이지 체인 구성(200)은 단일 PCB상에 사용될 수 있다. 그러나, 다른 방법은 TAP 버스가 시스템 백플레인상의 다수의 PCB를 통해 확장된다. 이 경우에, 스캔 체인은 소정 보드가 언플러그되면 접속차단되기 때문에, 백플레인에 따라 도 2의 데이지 체인 TDI/TDO 구성(200)을 실행하는 것은 실용적이지 않다. 게다가, 전체 구성(예를 들어, 스캔 체인의 총 길이)은 다른 형태의 보드가 추가되거나 제거됨에 따라 변화할 수 있다. 이것은 개별 보드가 적절하게 식별되거나 테스트될 수 있도록 테스트 장치가 개별 보드와 통신하는 것을 어렵게 한다. 결과적으로, 시스템 백플레인을 통해 단일 직렬 체인을 실행하는 복잡도는 일반적으로 멀티-드롭 버스 구조로 지칭되는 IEEE 1149.1 TAP 버스의 구성 개발 및 이용을 유도시킨다.
도 3에 도시된 바와 같이, IEEE 1149.1 버스의 종래의 멀티-드롭 구성(300)은 각 보드(302.1-302.n)가 버스, 즉 병렬의 와이어의 동일한 세트에 접속을 형성하도록 하기 위해 백플레인을 통해 단일 TAP 버스를 제공하는데 이용될 수 있다. TCK, TMS, TDI 및 선택적 TRSTN은 입력 신호이기 때문에, 상기 신호는 시스템 백플레인을 통해 개별 보드(302.1-302.n)의 TAP 각각에 직접 접속될 수 있다. 그러나, 다수의 TDO 출력을 멀티-트롭 버스의 단일 TDO 와이어상에 접속하기 때문에 발생할 수 있는 신호 충돌을 방지하도록 주의가 요구된다. IEEE 1149.1 표준은 직렬 데이터가 TAP의 TDI-TDO 핀으로/핀밖으로 시프팅될 때만 TDO 출력이 나오도록 요구하기 때문에, 상기의 충돌 방지가 가능하다. 이것은 직렬-시프트가 TAP FSM의 Shift-IR 또는 Shft-DR 상태동안만 인에이블되도록 TAP 제어기(110)(도 1 참조)의 내부 상태에 의해 제어된다. 다른 때에, TDO 출력은 비활성 또는 고-임피던스 상태로 강제 형성함으로써 디스에이블된다.
그러나, 멀티-드롭 구성(300)을 이용할 때, 모든 TAP 제어기는 입력 신호의 동일 세트를 수신하며 따라서 서로에 대해 로킹 단계로 동작한다. 즉, 모든 TAP 제어기의 FSM은 상기 구조에 소정의 변화가 이루어지지 않는다면, 소정의 TAP 제어기로부터 TDO 출력을 발생시키도록(예를 들어, Shift-DR 상태동안), 또한 모든 다른 TAP 제어기로부터 TDO 출력을 발생시키도록 동일한 상태에 있다. 부가로, 모든 TAP 제어기가 로킹 단계에서 동작하고 동일한 입력 데이터 값(즉, 공통으로 버스화된 TDI로부터)을 수신하기 때문에, 구조의 특정 고려없이 서로 다른 보드(302.1 - 302.n)상의 서로 다른 테스트 동작을 수행하는 것은 어려운 일이다.
IEEE 1149.1 버스의 멀티-드롭 구성(300) 제어는 일반적으로 TAP 제어기의 맞춤식 버전 및 통신을 위한 특정 프로토콜의 이용을 필요로 한다. 더욱이, TAP 제어기 및 프로토콜은 일반적으로 멀티-드롭 버스에 인터페이싱하는 각 장치 또는 보드와 함께 이용된다. 멀티-드롭 구성(300)은 단일 TAP 제어기가 고유하게 선택된 후에만 자신의 TDO 출력을 발생시키도록 버스상의 TAP 제어기를 어드레싱하는 능력을 필요로 한다. 선택되지 않을 경우, TAP 제어기는 여전히 TDI 입력을 수신하고 로킹 단계에서 동작하지만, TDO 출력이 멀티-드롭 버스상에서 발생하도록 인이에블시키지 않는다.
프로그램가능한 회로의 병렬 테스팅 또는 구성의 현재의 해결방안은 UUT의 "집단 액세스(ganged access)" 또는 "스캔 곱셈기" 구성을 이용하는 것을 포함한다. IEEE 1149.1 버스를 이용하는 종래의 집단 액세스 스캔 곱셈기 구성(400)은 도 4에 도시된다. 이러한 구성으로, UUT(402.1-402.n)로의 입력(즉, TDI, TMS, TCK 및 TRSTN)은 병렬로 버스로 운반되는 반면, 각 UUT(402.1-402.n)로부터의 스캔 출력(즉, TDO)은 개별적으로 멀티플렉싱 제어기(408)에 접속된다. 따라서, 버스상의 각 UUT(402.1-402.n)에 대한 전용 TDO 라인이 일반적으로 요구된다. 높은 정도의 병렬 테스팅을 필요로 하는 애플리케이션에 대해, 이것은 UUT(402.1-402.n)로부터 멀티플렉싱 제어기(408)로 다시 접속되는 다수의 TDO 신호를 필요로 할 것이다. 따라서, 예를 들어, 이 구성(400)에서 백개의 UUT를 접속하는 것이 바람직하다면, 백개의 개별 TDO 라인(UUT당 한개)이 TDO 선택 회로(406)에 라우팅될 것이다. 멀티플렉싱 제어기(408)의 목적은 도 4에 도시된 바와 같이, 4개 또는 5개의 표준 TAP 제어기 핀만을 갖는 범용-목적 IEEE 1149.1 제어기(404)를 갖는 단순한 인터페이스를 허용하는 것이다.
집단 액세스 스캔 곱셈기 구성(400)의 방식으로, IEEE 1149.1 제어기(404)는 TAP 프로토콜을 모든 UUT(402.1-402.n)에 병렬로 제공하며, 따라서 모든 UUT (402.1-402.n)는 동일한 TAP 명령 및 테스트 데이터를 수신한다. 게다가, 도 4에 도시된 바와 같이, 멀티플렉싱 제어기(408)는 IEEE 1149.1 제어기(404)에 다시 접속하기 위해 UUT 중 하나로부터 단일 TDO 출력만을 선택할 수 있다. 따라서, 집단 액세스 스캔 곱셈기 구성(400)은 버스의 공통 TDI상의 스캔-인 테스트 데이터를 모든 UUT(402.1-402.n)에 병렬로 전송할 수 있지만, 한번에 하나의 UUT로부터 TDO상의 스캔-아웃 테스트 데이터를 수신한다. 이러한 방법은 다수의 장치를 프로그래밍하는데 요구되는 시간을 감소시킬 수 있지만, 각각의 UUT의 TDO 출력으로부터 스캔-아웃 테스트 데이터 검사를 필요로 하는 동작을 가속시키지 않는다. 따라서, 예를 들어, UUT상의 플래시 메모리의 프로그래밍된 컨텐츠를 검증하는 것은 한번에 하나씩 개별적으로 각 플래시 메모리의 컨텐츠의 재판독 및 검사를 필요로 할 것이다. 상태 폴링 또는 검사를 요구하는 소정의 다른 동작은 유사한 페널티를 경험한다. 테스팅 목적을 위해, TDO 스캔 아웃은 스캔 아웃의 각 비트에 대해 각 UUT 상에서 검사된다. 따라서, UUT의 직렬 테스팅을 통한 이러한 방법에는 명백히 거의 장점이 없다. 따라서, 종래의 집단 액세스 스캔 곱셈기 구성(400)은 병렬 테스팅에 대한 최적의 해결책이 아니다.
엔지니어에 의한 테스트 성능용 설계(DFT)의 이용은(IEEE 1149.1 경계 스캔, 내부 스캔 및 빌트-인 셀프-테스트(BIST)의 실행을 포함) IC, PCB 및 시스템이 더욱 복잡해짐에 따라 상당히 증가하였다. 이러한 DFT의 증가된 이용은 고품질 테스트, 감소된 테스트 시간 및 테스트 비용, 감소된 디버그 노력 및 감소된 마케팅 시간을 제공한다. 그러나, 전자 회로의 복잡도가 계속 증대됨에 따라, 테스트는 계속해서 도전과제가 되며 고도의 기술 전자 시스템의 설계 및 제조시의 주요한 장애가 될 수 있다. 설계 복잡도를 증가시키는데 기여하며 따라서 테스트 및 디버그동안 처리되어야 하는 기술의 예는 내장 코어, 내장 메모리, 아날로그/혼합-신호 애플리케이션 및 프로그램가능 로직(예를 들어, CPLD 및 FPGA)의 시스템내 구성(ISC) 및 비휘발성 메모리(예를 들어, 플래시 메모리)를 포함한다. 게다가, 시장에서의 증가된 경쟁에 부가하여 상기 제품에 대한 시장 요구의 성장은 계속해서 비용의 감소 및 시장화 시간을 개선시키도록 전자 시스템의 제조에 압력을 가하고 있다. 따라서, 비용을 감소시키면서 테스팅, 디버깅 및 복잡한 IC, PCB 및 시스템의 구성에 요구되는 시간을 최소화하는 새로운 방법이 요구된다.
본 발명에 따르면, 병렬 테스트 구조(PTA)는 최적화된 테스팅 및/또는 디버깅 목적을 위해, 또는 프로그램가능한 회로의 구성을 위해 다수의 전자 회로에의 동시 액세스(즉, 병렬)를 용이하게 하도록 제공된다. 일 실시예에서, PTA는 병렬 테스트 버스(PTB), PTB에 접속된 테스트 제어기 및 PTB에 접속된 다수의 어드레싱가능한 PTB 제어기를 포함하며, 각 어드레싱가능한 PTB 제어기는 액세스되는 각각의 전자 회로에 결합될 수 있다. 현재 개시된 실시예에서, 테스트 제어기는 각각의 어드레싱가능한 PTB 제어기에 의해 결합가능한 전자 회로의 병렬 스캔 액세스를 개시하기 위해 각 어드레싱가능한 PTB 제어기에 PTB를 통해 적어도 하나의 제어 신호를 전송하도록 구성된다. 게다가, 각 어드레싱가능한 PTB 제어기는 PTB를 통해 테스트 제어기에 의해 전송된 적어도 하나의 제어 신호에 기초하여 결합가능한 각각의 전자 회로를 액세스하고 각각의 전자 회로 액세스에 응답하여 상기 PTB를 통해 제 1 제어기에 결과 스캔 데이터를 전송하기 위해 스캔 프로토콜을 이용하도록 구성된다.
전자 회로는 실리콘 웨이퍼상에 제작된 IC 다이, 패키징된 IC, PCB 또는 시스템내의 회로를 포함하는 소정의 회로를 포함할 수 있다. PTA는 테스트 장치가 병렬로 동일한 유형의 소정수의 회로를 테스트하거나 프로그래밍하도록 허용하기 위해 병렬인 모든 전자 회로에의 액세스를 가능하게 한다.
현재 개시된 병렬 테스트 구조는 전자 회로 및 프로그램가능한 로직 장치 및 메모리 구성의 테스팅과 관련된 비용을 감소시킨다. PTA를 통해, PTA를 제어하는데 요구된 테스트 장치가 개인용 컴퓨터(PC) 또는 풀-기능 ATE 대신에 유닉스-기반 워크스테이션과 같은 저비용 시스템에 의해 실행될 수 있기 때문에, 자동 테스트 장비(ATE)의 비용은 크게 감소된다. 게다가, PTA는 병렬로 다수의 회로를 테스트하거나 프로그래밍할 수 있기 때문에 비용이 감소되며, 테스팅 및 프로그래밍 시간을 최소화한다. PTA는 또한 종래의 ATE를 통해 확장의 용이성을 제공한다. 일반적으로, ATE는 단일 UUT 또는 병렬의 소정 장치만을 테스팅하도록 제한된다. 게다가, 종래의 ATE의 확장성은 종종 실행불가한데, 왜냐하면 비용이 드는 자원(예를 들어, 테스터 채널 및 벡터 메모리)을 부가하거나 또는 다수 UUT의 증가된 "병렬" 테스팅을 제공하기 위해 부가의 ATE를 이용하기 때문이다.
PTA는 다수의 UUT의 실제 병렬 테스팅을 제공하도록 구성된다. PTA는 한번에 하나씩보다는, 병렬로, 즉 동시에 다수의 UUT를 테스팅하거나 검증할 수 있다. PTA를 통해, 직렬 테스팅을 통한 테스트 시간의 가속은 병렬로 접속되고 테스팅되는 UUT의 수와 동일하다. PTA는 각 UUT에 대한 개별 TDO 라인을 필요로 하는 문제점과 같은 종래의 테스트 구조의 여러 문제점을 해결한다. 이것은 PTA가 다양한 애플리케이션에 대해 실제적으로 실행되고 이용될 수 있게 한다. 예를 들어, PTA는 장치 또는 UUT로부터 개별적으로 실행될 수 있거나, 또는 최종 시스템 구성의 일부로서 UUT와 함께 실행될 수 있다. 예를 들어, 웨이퍼 프로브의 칩 테스팅의 경우에, PTA는 테스터 또는 프로브 인터페이스 카드의 일부로서 실행될 수 있다. 게다가, PTA는 시스템 백플레인에 플러그되는 PCB 각각 상에 실행될 수 있다. 예를 들어, UUT가 SoC내의 내장 코어인 경우 병렬 테스트를 제공하기 위해, IC내의 PTA를 실행할 수 있다.
PTA는 UUT와 통신하기 위해 강화된 테스트 제어기와 프로토콜을 이용한다. 테스트 제어기 자체는 외부적으로 UUT에 접속될 수 있거나, 또는 UUT를 포함하는 시스템에 내장되거나(예를 들어, PCB 보드상의 마스터 제어기 장치) 또는 시스템의 IC(예를 들어, 마스터 제어기 코어)내에 내장된 마스터 테스트 제어기일 수 있다. 외부 테스트 제어기는 적절한 애플리케이션 소프트웨어를 갖는 범용-목적 컴퓨터 또는 PC일 수 있다.
현재 개시된 병렬 테스트 구조는 전자 회로의 병렬 테스팅 및/또는 프로그램가능한 회로의 구성에 저가의 최적 해결책을 제공한다. 상기 구조는 애플리케이션 이용에 적절한 여러 방법으로 실행될 수 있다. 부가로, PTA는 UUT의 테스팅, 예를 들어, 경계 스캔, 내부 스캔 및 BIST를 위해 소정수의 DFT 방법을 지원한다.
본 발명의 다른 특징, 기능 및 측면은 다음의 본 발명의 상세한 기술로부터 명백해질 것이다.
본 발명은 다음의 도면을 참조로 본 발명의 상세한 기술을 참조하여 완전히 이해될 것이다.
도 1은 종래의 IEEE 1149.1 테스트 액세스 포트(TAP) 및 경계 스캔 구조를 도시하는 블록선도이다.
도 2는 IEEE 1149.1 버스의 종래 데이지 체인 구성을 도시하는 블록선도이다.
도 3은 IEEE 1149.1 버스의 종래 멀티-드롭 구성을 도시하는 블록선도이다.
도 4는 IEEE 1149.1 버스의 종래 집단 액세스 스캔 곱셈기 구성을 도시하는 블록선도이다.
도 5는 본 발명에 따른 병렬 테스트 구조를 도시하는 블록선도이다.
도 6은 도 5의 병렬 테스트 구조에 포함되는 병렬 테스트 버스 제어기를 도 시하는 블록선도이다.
도 7은 도 6의 병렬 테스트 제어기에 포함되는 어드레싱가능한 TAP 링커를 도시하는 블록선도이다.
도 8은 본 발명에 따라 병렬 테스트 버스 브리지를 도시하는 블록선도이다.
도 9는 도 8의 병렬 테스트 버스 브리지를 이용하는 버스 대 버스 전송을 도시하는 타이밍도이다.
도 10은 병렬 테스트 버스의 브리지형 구조를 포함하고 있는 도 5의 병렬 테스트 구조를 도시하고 있는 블록도이다.
도 11은 상기 병렬 테스트 버스의 대안적인 브리지형 구조를 포함하고 있는 도5의 병렬 테스트 구조를 도시하고 있는 블록도이다.
도 12는 아날로그 테스팅을 지원하는 병렬 테스트 버스 구조를 포함하고 있는 도 5의 병렬 테스트 구조를 도시하고 있는 블록도이다.
도 13은 아날로그 테스팅을 지원하도록 구성된 도 6의 상기 어드레싱가능한 TAP 링커(linker)를 도시하고 있는 블록도이다.
도 14a는 본 발명에 상응하는 방식으로 동작하는 도 5의 상기 병렬 테스트 구조를 사용하는 테스트 하에서 복수의 유니트의 병렬 테스팅을 수행하는 방법을 예시하고 있는 흐름도이다.
도 14b는 본 발명에 상응하는 방식으로 동작하는 도 5의 상기 병렬 테스트 구조를 사용하여 백플레인의 다수의 인쇄 회로보드에서 보드와 보드의 상호접속을 테스팅하는 방법을 예시하고 있는 흐름도이다.
2001년 7월 5일에 출원된 미국 가출원 제 60/303,052는 이하 참고로 통합되어 있다.
도 5는 본 발명에 상응하는 병렬 테스트 구조(PTA)의 예시적인 실시예를 도시하고 있다. 예시적인 실시예에서, 테스트 제어기(502)는 병렬 테스트 버스(PTB, 504)에 접속되어 있다. 예를 들어, 상기 테스트 제어기(502)는 분리된 외부 테스트 제어기 또는 예를 들어, 테스트 유니트(506.1-506.n)를 포함하는 시스템에 내장되어 있는 내장된 마스터 제어기일 수 있다. 상기 테스트 제어기(502)는 상기 PTA(500)의 프로토콜을 사용하는 상기 PTB(504)상에서 통신하도록 구성되어 있으며, 이하 설명되어 있다. 이러한 예시적인 실시예에서, 상기 UUT(506.1- 506.n)는 각각의 어드레싱가능한 PTB 제어기 회로(508.1-508.n)를 통해 상기 PTB(504)에 접속되어 있다. 게다가, 상기 PTA(500)은 상기 PTB(504)에 접속되어 있는 (1-n)개의 UUT를 가질 수 있다. 어느 적절한 수의 유사한 UUT는 테스팅 및/또는 디버깅 목적을 위해 또는 프로그램할 수 있는 회로의 구조를 위해 병렬로 액세스되는 수 있다. 대안적으로, 각각의 UUT는 개별적으로 액세스되는 수 있다.
예를 들어, 상기 테스트 제어기(502)는 데이터를 저장하기 위한 읽기 전용 메모리(ROM)와 랜덤 액세스 메모리(RAM)와 같이 시스템을 운영하는 하나 이상의 메모리와 테스팅, 디버깅 또는 프로그램가능하게 상기 UUT(506.1- 506.n)를 구성하는 애플리케이션 소프트웨어 모듈 및 상기 PTB(504)를 통해 상기 각각의 PTB 제어기 회로(508.1-508.n)를 제어하고 전자 회로 테스트/디버깅/구성 애플리케이션을 실행하기 위한 적어도 하나의 프로세서를 포함하는 범용 컴퓨터 또는 PC을 포함할 수 있다.
상기 PTB(504)는 각각의 어드레싱가능한 PTB 제어기 회로(508.1-508.n)를 통해 상기 테스트 제어기(502)와 상기 UUT(506.1-506.n)사이에서 통신을 수월하게 한다. 상기 PTB 제어기는 여러 방식으로 구현될 수 있다. 예를 들어, 상기 PTB 제어기는 상기 UUT(506.1-506.n)로부터 분리된 단일 장치 및 상기 테스트 제어기 (502)로 구현될 수 있다. 대안적으로, 상기 PTB 제어기는 예를 들어 PCB에 장착된 또는 UUT의 부분으로 내장된 수 개의 이산 장치로 구현될 수 있다.
예시적인 실시예에서, 각 PTB 제어기(508.1-508.n)는 각 UUT(506.1-506.n)와의 국부 통신을 조정한다. 상기 PTB 제어기와 그곳에 접속된 상기 UUT사이에서 국부적으로 통신하는데 사용되는 프로토콜은 IEEE 1149.1 프로토콜 규격이다. 따라서, PTA 시스템은 현존하는 UUT가 상기 PTB 제어기의 IEEE 1149.1 인터페이스 기준에 직접적으로 인터페이스할 수 있도록 구성되어 동작할 수 있다.
상기 PTB(504), 상기 PTB 제어기(508.1-508.n) 및 상기 PTA 프로토콜의 보다 자세한 설명과 동작은 이하에서 설명된다.
병렬 테스트 버스(PTB)
도 6은 상기 PTB(504)에 접속되어 있는 예시적인 병렬 테스트 버스(PTB) 제어기(508)를 묘사하고 있다. 예시적인 실시예에서, 상기 PTB(504)는 확장 멀티-드롭 TAP 버스를 포함하고 있다. 도 6에 도시되어 있는 것과 같이, 상기 PTB(504)는 IEEE 1149.1 규격 신호들- TCK, TMS, TDI, TDO 및 TMS를 가지고 있다. 게다가, 상기 PTB(504)는 예측 데이터 인(EDI)과 마스크 데이터 인(MDI) 신호를 포함하고 있다.
상기 EDI와 MDI 신호들은 상기 PTA(500)으로 하여금 상기 UUT(506.1-506.n)에 대한 스캔 아웃 데이터를 병렬로 조사하고 인증하도록 하기 위해 제공된다. 따라서, 상기 테스트 제어기(502)와 상기 PTA프로토콜은 상기 PTB(504)의 상기 EDI 신호에서 상기 예측 스캔 아웃 데이터를 제공하도록 동작하며, 여기서 상기 예측 스캔 아웃 데이터는 상기 UUT(506.1-506.n)로부터 온 실제 TDO 데이터와 비교될 수 있다.
게다가, 상기 테스트 제어기(502)는 상기 PTB(504)의 상기 MDI 신호에서 상기 예측된 TDO 데이터에 대한 마스크를 제공하도록 구성된다. 이것은 상기 UUT(506.1-506.n)에 대해 "X"로 규정된(즉, 결정되어 있지 않거나 또는 알려지지 않은 논리 값) 어느 일정한 예측된 TDO 데이터는 마스크될 수 있거나 또는 상기 스캔 아웃 데이터의 조사 동안에 무시될 수 있다. 따라서, 상기 PTA(500)의 상기 EDI와 MDI 신호는 상기 UUT의 TDO 데이터의 조사가 국부적으로, 즉, 상기 테스트 제어기(502)보다는 각각의 PTB 제어기(508.1-508.n)에 의해 실행될 수 있도록 한다.
상기 PTB(504)에 대한 상기 멀티 드롭 버스 구조의 활용 결과에서, 상기 PTA(500)은 병렬로 멀티 UUT를 테스팅하는 적절한 방법으로 제공한다. 상기 멀티-드롭 PTB(504)를 활용하는 경우에, 상기 PTA(500)은 상기 TDO가 상기 PTB 제어기(508.1-508.n)에 병렬로 접속되어 있기 때문에, 상기 PTA(500)은 각 UUT에 대한 분리된 TDO 라인을 요구하지 않는다. 이것은 상기 UUT(506.1-506.n)으로의 접속에서 유선의 수를 상당히 감소시킨다. 게다가, 상기 EDI와 MDI 신호를 상기 PTB(504)에 포함하는 것은 스캔 아웃 데이터에 대한 분산된 조사 접근을 허용하는데, 상기 UUT(506.1- 506.n) 모두는 동시에 테스트될 수 있다.
비록 상기 TDO는 병렬로 버스화되어 있지만, 상기 PTB(504)는 단일 선택된 UUT로의 통신을 지원하며, 원한다면 상기 선택된 UUT로부터 실제 TDO 데이터를 다시 수신할 수 있다. 따라서, 예를 들어, 상기 테스트 제어기(502)는 상기 선택된 UUT의 복구나 디버그를 수행하는데 사용될 수 있다. 게다가, 상기 PTB(504)의 구현은 상기 특정 테스트 애플리케이션에 상응하게 개조되거나 최적화될 수 있다. 예를 들어, 웨이퍼 프로브의 경우, 상기 PTB(504)는 ATE 안에서 즉, 병렬로 테스트되는 다이로부터 분리되어 구현될 수 있다. 대안적으로, 상기 PTB(504)는 마지막 시스템 구성에서 상기 UUT(506.1-506.n)와 함께, 예를 들어 상기 시스템 백플레인과 함께 구현될 수 있다. 상기 PTB(504)를 포함하고 있는 상기 PTA(500)는 상기 설명된 IEEE1149.1 스캔 방법론을 대신하여 다른 스캔 프로토콜 및/또는 방법론을 지원하거나 사용하도록 구성될 수 있다.
어드레싱가능 PTB 제어기
도 6은 예시적인 PTB 제어기(508)를 도시하고 있다. 도 6에 도시되어 있는 것과 같이, 상기 PTB 제어기(508)는 상기 PTB(504)에서 상기 PTB 제어기(508.1-508.n)를 선택하거나 어드레싱하며 상기 UUT(506.1-506.n)로의 스캔 액세스를 제어하기 위해 제공되는 어드레싱가능 TAP 링커(ATL, 602)를 포함한다. 상기 ATL 회로(602)는 자립적인 구현, 즉 상기 PTB 제어기(508)로부터 분리되어 멀티-드롭 스캔 버스 애플리케이션에서 사용될 수 있으며, 여기서 병렬 테스트 능력은 요구되지 않는다. 예시적인 실시예에서, UUT마다 상기 PTB(504)에 접속된 하나의 ATL(602)이 존재한다. 따라서, 상기 복수의 PTB 제어기(508)는 상기 PTB(504)에 접속될 수 있으며, 반대로, 상기 PTB 제어기의 각 ATLs는 단일 UUT와 상기 PTB(504)에 인터페이스할 수 있다. 상기 PTB 제어기 회로(508)는 또한 마스크 및 비교 회로(604), 디지털 I/O(DIO)회로(606), PTB 자동 시작 회로(608) 및 프로그램할 수 있는 I/O 전압 회로(610)를 포함할 수 있다. 상기 PTB 제어기(508)의 기능 블록은 이하에 설명되어 있다.
어드레싱가능 TAP 링커
도 6에 도시되어 있는 것과 같이, 상기 ATL(602)은 상기 IEEE 1149.1 규격 신호 TCK, TMS, TDI, TDO, 및 TMS를 통해 상기 PTB(504)로 접속된다. 상기 멀티 드롭 PTB 버스(504)로의 상기 접속은 상기 PTA 프로토콜을 사용하는 상기 PTB 제어기(508)에 포함되어 있는 상기 ATL(602)와 다른 회로(604, 606, 608, 610)와 통신하는 상기 테스트 제어기(502)에 의해 사용된다. 게다가, 상기 ATL(602)은 개별적인 UUT(미도시)와 상기 PTB 제어기의 다른 회로(604, 606, 608, 610)와 인터페이싱한다.
상기 UUT 쪽에서, 상기 ATL(602)은 상기 UUT의 TAP 버스와 인터페이싱한다. 상기 ATL는 신호(TDO_UUT, TMS_UUT, TCK_UUT, TRSTN_UUT)를 상기 UUT로 출력한다. 이러한 신호는 상기 UUT의 상응하는 TAP 입력에 접속된다(예를 들어, 상기 TDO_UUT 출력은 상기 UUT의 TDI 입력에 접속된다). 게다가, 상기 ATL(602)은 상기 UUT의 TDO출력에 접속되어 있는 TDI_UUT 입력 신호에 접속되어 있다. 상기 PTA(500)에서, 상기 테스트 제어기(502)는 상기 UUT(506.1-506.n)와 상기 PTB(504)상의 상기 PTB 제어기(508.1-508.n) 사이의 상기 IEEE 1149.1 프로토콜을 관리하기 위해 상기 UUT의 TAP로의 상기 ATL 인터페이스를 활용한다. 상기 ATL(602)은 상기 PTA 프로토콜에 근거하여 상기 UUT TAP를 제어하며, 상기 UUT(506.1-506.n)가 병렬로 처리되는지를 제어하며, 또는 상기 ATL(602)에 접속되어 있는 특정 UUT가 스스로 액세스되는 수 있는지를 결정한다(예를 들어, 상기 PTB(504)에서 특정 UUT TDO를 조사한다). 예시적인 실시예에서, 상기 ATL(602)은 또한 마스크 및 비교 회로(604), 디지털 I/O(DIO)회로(606), PTB 자동 시작 회로(608) 및 프로그램가능한 I/O 전압 회로(610)와 인터페이싱한다.
상기 ATL(602)은 이하 설명되어 있는 것과 같이, 어드레싱과 UUT를 선택하기 위해 수 개의 특성을 제공한다.
UUT의 어드레싱과 선택
도 6에 도시되어 있는 것과 같이, 상기 ATL(602)은 상기 ATL_ADDR[n:0]버스와 상기 UUT_ID[n:0]버스 상에서 입력을 수신한다. 이러한 입력은 상기 테스트 제어기(502)로 하여금 상기 PTB(504)를 통해 상기 각각의 PTB 제어기(508.1-508.n)에 접속되어 있는 상기 UUT(506.1-506.n)를 어드레싱하고 선택할 수 있도록 한다.
상기 예시적인 실시예에서, 상기 PTB(504)에 접속되어 있는 상기 PTB 제어기(508.1-508.n) 모두는 n+1 비트 ATL 어드레스를 구현하며, 여기서 상기 ATL 어드레스는 상기 ATL_ADDR[n:0]라인 상에서 상기 ATL(602)로의 입력이다. 상기 ATL 어드레스는 상기 PTB(504) 상의 각 상기 PTB 제어기(508.1-508.n)에 독특한 어드레스가 할당될 수 있도록 구성되어 있다. 상기 어드레스는 상기 테스트 제어기(502)로 하여금 유일하게 어드레스되고 상기 멀티 드롭 PTB(504) 상에서 상기 PTB 제어기(508.1-508.n)중 하나를 선택할 수 있도록 한다. 예를 들어, PTB가 16개의 UUT를 지원할 수 있도록 구성되면, 적어도 4 비트 ATL 어드레스가 16개의 유일한 ATL 어드레스를 제공하는 ATL_ADDR[3:0] 입력이 존재하도록 구현된다.
UUT_ID[n:0] 라인상의 상기 ATL(602)로의 입력인 상기 UUT ID는 UUT 식별 데이터를 상기 PTA(500)에서 상기 각 PTB 제어기(508.1-508.n)에 접속되어 있는 상기 UUT(506.1-506.n)를 위해 상기 테스트 제어기(502)에 제공하는데 사용된다. 예시적인 실시예에서, 상기 UUT ID는 상기 UUT 타입, 궁극적으로 상기 UUT 버젼, UUT 제품 및/또는 상기 UUT를 식별하는데 사용되는 다른 데이터를 제공한다. 만약 PTA가 동일한 타입과 버젼의 UUT로 구현되면, 상기 ATL(602)로의 입력 UUT_ID[n:0]은 요구되지 않는다. 이러한 경우에, 상기 ATL(602)은 이러한 입력들 없이 구성될 수 있거나 또는 상기 UUT_ID[n:0] 라인들이 일정한 소정의 또는 디폴트 로직 값에 접속될 수 있다. 복수 타입의 또는 버젼의 UUT는 동일한 PTA에서 구현되는 경우에, 상기 UUT ID는 지원되는 모든 UUT 타입들이 유일한 할당을 가질 수 있도록 구성된다. 상기 UUT ID는 상기 테스트 제어기(502)로 하여금 동일한 타입, 버젼 등등의 UUT를 동시에, 즉, 그룹으로 어드레싱하고 선택하도록 한다.
상기 설명한 것과 같이, 상기 ATL 어드레스와 UUT ID는 상기 테스트 제어기 (502)에 의해 사용되는 어드레싱 모드에 의존하여 하나 이상의 UUT를 선택하고 어드레싱하도록 한다. 예시된 실시예에서, 상기 ATL(602)은 다음의 어드레싱 모드를 지원한다.
ATL 어드레스 모드- 상기 어드레싱 모드는 그것의 ATL 어드레스 값에 근거하여 상기 UUT를 유일하게 선택한다. 이러한 모드에서, 모든 ATL 어드레스는 유일하게 하나의 PTB 제어기에 할당되므로, 단지 단일의 UUT만이 하나의 PTB 제어기에 할당된다. 상기 모드에서 선택된 상기 PTB 제어기는 그것의 TDO를 상기 PTB로 구동하도록 할 수 있다.
UUT 타입 모드- 이것은 상기 UUT ID에 의해 주어진 것과 같이, 그들의 UUT 타입에 근거하여 UUT를 어드레싱한다. UUT 타입 모드는 동일한 타입, 수정 및/또는 제품의 모든 UUT에 전송되도록 한다. 이러한 모드에서, 상기 PTB 제어기는 그것의 TDO를 상기 PTB로 구동되지 않도록 한다(즉, 그것의 TDO는 3상태가 된다(tri-stated)).
그룹 어드레스 모드- 이것은 프로그램할 수 있는 어드레싱 모드이며, 여기서 상기 테스트 제어기는 그룹 어드레스를 각 PTB 제어기에 할당한다. 복수의 PTB 제어기는 동일한 그룹 어드레스로 프로그램될 수 있다. 결국, 상기 그룹 어드레스 모드를 사용하여, 상기 테스트 제어기는 그룹으로 2개 이상의 UUT와 통신할 수 있다. 이것은 모든 UUT로 전송하거나 또는 상기 UUT의 일정한 특성 예를 들어, 그것의 하드웨어 버젼 또는 어떤 구성요소/기능이 포함되어 있는지에 근거하여 UUT의 그룹을 선택할 수 있도록 한다. 이러한 모드에서, 상기 PTB 제어기는 그것의 TDO를 상기 PTB로 구동할 수 없다(즉, 그것의 TDO는 3상태가 된다).
에일리어스 어드레스 모드- 이것은 상기 그룹 어드레스 모드와 유사한 프로그램가능한 어드레싱 모드이다. 그러나, 에일리어스 모드는 또한 단일 PTB 제어기에 유일한 어드레싱을 허용한다. 이러한 경우에, 즉 유일한 에일리어스가 단일 UUT에 할당될 때, 상기 PTB 제어기는 그것의 TDO를 상기 PTB에 구동할 수 있다.
따라서, 상기 ATL 어드레스 모드는 단일 UUT을 선택하도록 하고, 상기 테스트 제어기에 의해 연속적으로 수신된 스캔 아웃 데이터와 상기 UUT의 TDO가 상기 PTB로 구동될 수 있도록 한다. 상기 모드는 비록 모든 다른 UUT가 상기 데이터를 무시하기 위해 제어되지만, 개별적인 UUT의 구성 또는 테스팅 및, 상기 선택된 UUT에 배타적으로 TDI 데이터를 제공하기 위해 사용될 수 있다. 따라서, 상기 ATL 어드레스 모드는 디버그, 진단 및 복구를 위해 사용될 수 있으며, 여기서 데이터를 단지 하나의 UUT에 전송할 것이 요구되거나 또는 상기 UUT로부터의 TDO 출력 데이터를 상기 테스트 제어기를 이용하여 조사하는 것이 요구된다. 상기 타입과 그룹 모드는 복수의 보드로의 전송을 허용하며, 병렬 구성을 위해 사용되거나 또는 상기 PTA(500)에 의해 테스트하기 위해 사용된다. 게다가, 상기 에일리어스 모드는 유일한 에일리어스 어드레스를 할당할 수 있도록 하며, 이 경우에 상기 PTB 제어기는 상기 PTB의 상기 TDO를 구동할 수 있도록 한다. 유일한 에일리어스 어드레스를 할당하는 것은 UUT를 테스팅하거나 또는 프로그램가능하게 구성하기 위한 벡터 세트로 하여금 상기 ATL 어드레스에 독립적이 되도록 한다. 상기 ATL(602)의 상기 특성은 상기 PTA(500)의 상기 멀티 드롭 테스트 버스 구현에서 테스트 벡터들의 재사용을 수월하게 한다.
PTB 자동 시작
도 6에 도시되어 있는 것과 같이, 상기 ATL(602)은 상기 PTB(504)의 시작 신호 상에서 테스트 제어기(502)에게 신호를 반송하도록 구성된 상기 PTB 자동 시작 회로와 인터페이싱하며, 테스트되는 모든 상기 UUT(506.1-506.n)는 제시되며, 상기 테스트 제어기(502)는 상기 테스팅 시퀀스를 초기화할 수 있다. 이러한 자동 시작 능력은 조작자의 개입 없이도 상기 PTA(500)로 하여금 생산 환경에서 테스팅을 자동적으로 초기화할 수 있도록 한다.
예시적인 실시예에서, 상기 PTB 자동 시작 회로(608)는 상기 UUT로부터 UUT_PRESENT 신호를 수신한다. 상기 UUT_PRESENT 신호는 상기 PTB 자동 시작 회로(608)로 입력되고, UUT가 상기 PTB 제어기에 접속될 때 보장된다. 상기 UUT_PRESENT의 보장은 상기 PTB 자동 시작 회로(608)에 신호를 전송하며, 상기 UUT는 상기 ATL(602)의 UUT 버스에 접속되며, 액세스되는 수 있다. 테스트되는 모든 UUT가 그들의 관련된 PTB 제어기(508.1-508.n)에 접속되면, 상기 시작 신호는 상기 PTB에서 보장되며, 상기 테스트 제어기(502)에 의해 수신된다.
상기 ATL(602)은 상기 PTB 제어기(508)에 대한 UUT가 제시될 것으로 예측되는지의 여부에 따라 상기 자동 시작 능력이 인에이블 또는 디스에이블되도록 하기 위해 상기 PTB 자동 시작 회로(608)에 인터페이싱한다. 상기 UUT(506.1-506.n)의 모두가 상기 PTA 시스템에 모여있지 않으면, 사용자(예를 들어, 인간 조작자 또는 테스트 제어기(502)에서 동작하는 프로그램)는 상기 테스트 제어기(502)를 통해 어떤 UUT가 제시되었는지를 지시할 수 있다. 상기 ATL(602)은 어느 일정한 에러 조사와 상기 특정 UUT에 대한 상기 PTB 자동 시작 회로(608)을 디스에이블할 수 있다. 만약 주어진 PTB 자동 시작 회로(608)가 디스에이블되고, 상기 사용자가 UUT를 접속하면, 상기 자동 시작 회로(608)는 상기 조건을 감지하며, 상기 ATL(602)의 인터페이스를 통해 판독될 수 있는 경고 상태 비트를 설정한다.
데이터 마스크 및 비교
도 6에 도시되어 있는 것과 같이, 상기 마스크 및 비교 회로(604)는 상기 PTB(504)에 접속되어 있으며, 상기 ATL(602)와 인터페이싱한다. 상기 마스크 및 비교 회로(604)는 상기 PTB(504)로부터 EDI와 MDI 신호를 수신하며, 상기 ATL(602)로부터 실제 데이터 인(ADI)를 수신하며, 상기 UUT 및/또는 상기 디지털 I/O 회로(606)으로부터의 스캔 데이터를 조사하고 스캔하는데 사용한다. 상기 예측된 스캔 데이터는 그것이 선택될 때, 상기 PTB(504)의 상기 EDI 신호를 통해 수신되며, 상기 ATL(602)로부터의 ADI신호에서 수신된 상기 실제 스캔 데이터와 비교된다. 상기 PTB 제어기(508)가 선택되지 않으면, 상기 마스크 및 비교 회로(604)는 자동으로 디스에이블된다. 스캔 동작 동안에 상기 ATL(602)은 ADI 상에서 상기 ATL(602)을 통해 구성되는 어떤 스캔 경로이든지, 예를 들어, 상기 디지털 I/O 회로(606)로부터의 상기 스캔 아웃 데이터, IR 스캔 데이터 및/또는 TDI_UUT 데이터와 같은 데이터를 입력한다. EDI와 ADI는 그들이 직렬 상기 마스크 및 비교 회로(604)로 이동할 때, 비트 단위로 비교된다. 상기 PTB 제어기(508)는 또한 유일하게 선택되면 그것의 TDO 데이터를 상기 PTB(504)로 출력할 수 있다. 상기 각 비트의 비교의 결과는 상기 예측된 그리고 실제 데이터 비트가 각각 "비교되는지" 또는 "비교되지 않는지"에 따라 통과 또는 실패가 된다.
EDI에서 제공되는 상기 예측된 스캔 데이터에 있는 비트가 X로 규정되면, 상기 PTB(504)의 상기 MDI 라인상의 데이터를 사용하여 마스크될 수 있다. EDI의 각 스캔 비트는 MDI의 상기 스캔 마스크 데이터에서 상응하는 비트를 가지는데, 그것은 상응하는 ADI 스캔 비트의 값을 무시하도록 한다. 따라서, 상기 EDI 스캔 데이터에서 마스크된 비트는 상기 ADI 값에 무관하게 상기 상응하는 ADI 데이터와 비교되는 상기 비트를 통과시킨다. 따라서, MDI가 보장되는 경우, 상기 마스크 및 비교 회로(602)에 의한 임의의 ADI 스캔 데이터 비트의 조사는 테스트 실패의 원인이 될 수 있다.
상기 설명한 것과 같이, 상기 마스크 및 비교 회로(604)는 상기 ATL(602)과 인터페이싱한다. 이러한 인터페이스는 상기 테스트 제어기(502)로 하여금 상기 마스크 및 비교 회로(604)에서 상기 기능을 제어할 수 있도록 한다. 상기 예시된 실시예에서, 상기 마스크 및 비교 회로(604)는 ATL TAP 지시를 통해 상기 테스트 제어기(502)에 의해 조회될 수 있는 통과/실패 상태를 등록한다. 이것은 상기 PTA(500)으로 하여금 병렬로 UTT의 수를 테스트하고 인증할 수 있도록 하며, 상기 관련된 PTB 제어기 각각으로부터 통과/실패 상태를 다시 수신할 수 있도록 한다. 따라서, 상기 테스트 제어기(502)는 많은 UUT에서 병렬로 테스트를 수행할 수 있으며, 상기 관련된 UUT에 대한 실패가 존재하는지를 알기 위해 각 PTB 제어기를 조사할 수 있다. 그리고 나서, UUT는 임의의 UUT의 진단 및 수리가 필요한 경우 PTB(504)의 정상 TDI_TDO 접속을 사용하여, 개별적으로 접속될 수 있다.
마스크 및 비교 회로(604)는 추가적인 기능적 능력을 구비하는데, 이러한 기능적 능력은 ATL(602)에 대한 인터페이스를 통해 제어된다. 실시예에서, 마스크 및 비교 회로(604)에 대해 인에이블/디스에이블 기능이 존재한다. 이러한 기능은 PTB 제어기(508)에서의 통과/실패 상태의 래칭 및 비교 연산이 수동으로 디스에이블될 수 있도록 하여준다. 또한, 마스크 및 비교 회로(604)는 잘못된 비교 탐지시에 어떠한 조치를 취할 수 있다. 실시예에서, 실패가 탐지되는 경우, 잘못된 비교는 UUT가 Test-Logic-Reset 상태가 되도록 한다. 이는 TMT_UUT를 TLR_MODE로 변경함으로써 PTB 제어기(508)에 의해 자동적으로 이뤄진다. 또한, PTB 제어기(508)는 현재 스캔 연산이 UUT가 Test-Logic-Reset 상태로 되기 전에 완료되도록 한다. 따라서, TLR_MODE는 현재 스캔 연산의 업데이트-IR 또는 업데이트-DR에 뒤이어 설정된다. 이는 예상되는 스캔 데이터의 잘못된 비교에 의해 탐지되는 제조 결함에 기인한 UUT에 대한 잠재적인 손상을 방지한다.
전술된 같이, 마스크 및 비교 회로(604)는 데이터 비교가 동일한 타입의 모든 UUT에 대해 병렬로 수행될 수 있도록 하여준다. PTB의 EDI 및 MDI 신호 그리고 마스크 및 비교 회로(604)에 대한 그들의 접속은 이러한 병렬 테스트 및 검증이 가능하도록 하여 준다. 이러한 특징은 테스트 제어기(502)가 아닌 PTB 제어기들(508.1-508.n) 각각에 의해 각각의 UUT의 TDO 데이터 검사가 동시에(즉 병렬로) 이루어지도록 함으로써, UUT(506.1-506.n)의 테스트 시간을 최적화시킨다. 결과적으로, PTA(500)를 사용하여 동일한 타입의 n개의 UTT를 테스트하는 시간은 하나의 UUT를 테스트하는 시간과 동일하게 된다.
디지털 I/0
도 6에 제시된 바와 같이, PTB 제어기(508)는 디지털 I/O(DIO) 회로(606)를 포함하고, 상기 회로는 ATL(602) 및 UUT에 대해 인터페이싱한다. DIO 회로(606)는 PTB 제어기(508)에 접속된 UUT에 다수의 병렬(즉, "브로드사이드(broadside)") 입력 및 출력 DIO_UUT[n:0]을 제공한다. DIO_UUT 라인은 테스트 제어기(502) 또는 ATL(602)에 의해 직접적으로 PTB(504) 상에서 제어될 수 있고, UUT에 대한 스캔 인터페이스뿐만 아니라 UUT의 테스팅, 디버깅, 또는 배치를 용이하게 하는데 사용될 수 있다. 실시예에서, DIO_UUT 라인은 프로그램 가능한 입력/출력(즉, 양-방향성) 신호로서 구현된다. 대안적으로, DIO_UUT 라인은 고정 입력 또는 출력 신호로서 구현될 수도 있다.
실시예에서, DIO 회로(606)는 ATL(602)에 대한 직렬 인터페이스를 가지며, ATL(602)를 통해 입력/출력 데이터 및 DIO_UUT 라인의 방향 제어가 접속될 수 있다. 또한, DIO 회로(606)는 예를 들면 PTB(504)의 정상 TDI-TDO를 통해 개별적으로 또는 UUT의 스캔 경로와 직렬로 연결되어 ATL(602)에 대한 직렬 인터페이스롤 통해 접속될 수 있다. 이는 UUT의 스캔 데이터와 함께 PTB(504) 상에서 DIO 회로(606)의 병렬 I/0 라인들이 테스트 제어기(502)에 의해 접속될 수 있도록 하여준다. 결과적으로, UUT 입력으로부터 DIO_UUT 라인들로의 병렬 데이터는 TDI_UUT 입력상에서 차례로 나열될 수 있다. 그리고 나서, 이는 ATL(602)의 ADI 출력 상에서 마스크 및 비교 회로(604)로 전송되어 테스트 제어기(502)로부터 EDI 및 MDI 데이터를 사용하여 검사될 수 있다.
프로그램가능한 I/O 전압
도 6에 제시되는 바와 같이, PTB 제어기(508)는 ATL(602)에 대해 인터페이싱하는 프로그램가능한 I/O 전압 회로(610)를 추가로 포함한다. 실시예에서, 프로그램 가능한 I/0 전압 회로(610)는 UUT 인터페이스에 대한 전압 레벨을 설정하여 UUT와의 전기적 호환성 및 ATL 인터페이스와의 적절한 동작을 가능케 하는데 사용된다. ATL(602)과의 인터페이스를 통해, 논리 1 또는 "하이" 전압 레벨에 대한 임계치가 설정될 수 있고 뒤이어 프로그램 가능한 I/0 전압 회로(610)에 의해 제어될 수 있다. 예를 들어, 상기 전압은 UUT 인터페이스의 특정 요구조건에 따라 5볼트, 3.3 볼트 등으로 선택될 수 있다. 또한, 프로그램 가능한 I/0 전압 회로(610)로부터의 전압은 외부에서 공급되는(예를 들면 사용자에 의해) 전압 레벨이 UUT 인터페이스에 동력을 공급하도록 설정될 수 있도록 하기 위해 턴오프 되거나 세팅될 수 있다.
ATL 명령
PTA(500,도5 참조)에서 사용되는 ATL(602, 도 6 참조)에 대한 TAP 제어기 명령이 하기에서 기술된다. ATL TAP 제어기 명령은 테스트 제어기(502) 또는 PTB(504) 상의 마스터 제어기에 의해 발생된다. 테스트 제어기(502)는 PTB 제어기(508.1-508.n, 도 5참조)와 통신하는데 있어서 이러한 ATL TAP 명령을 사용하여 PTA(500)의 특징에 액세스한다. 다수의 ATL들이 PTB(504) 상에서 병렬로 접속되고 록(lock) 단계로 동작하기 때문에, ATL 모두는 동일한 TAP 제어기 명령 및 옵코드(opcode)를 실행한다. 하기에서 기술되는 모든 명령에 대해서, ATL(602)은 ATL(602)이 그 ATL 어드레스 또는 유일한 에일리어스 어드레스로 통해 이전에 선택되지 않았다면 PTB(504) 상에서 그 TDO를 구동하기 위해 인에이블되지 않는다.
아래에서 기술되는 명령은 일부는 병렬 테스트 구조의 특정 구현에 따라 선택적일 수 있다. 예를 들어, ATL(602)이 자립 애플리케이션 또는 병렬 테스트 기능을 요구하지 않는 다른 애플리케이션에서 사용되는 경우, COMPARE_STATUS 및 AUTO_START 명령은 그들이 자립 동작에 필요하지 않는 PTB 제어기(508) 내의 데이터 레지스터들 및 기능들을 제어할 때에서는 실행되지 않을 수 있다.
BYPASS - 이 명령은 표준 IEEE 1149.1 BYPASS 명령이다. 이는 TDI 및 TDO 사이에 어드레싱가능한 TAP 링커(ATL)(602)에서 단일 비트 바이패스 레지스터를 선택한다. 아래에서 기술되는 IDCODE 명령이 실행되지 않으면, BYPASS 명령은 병렬 테스트 버스(PTB)(504) 상에서 리셋될 때 ATL 명령 레지스터(IR)내에 로딩된다.
IDCODE - IDCODE 명령은 표준 32-비트 IEEE 1149.1 식별 코드를 제공하는 장치_ID 레지스터를 선택하는데 사용될 수 있다. ATL(602)의 장치_ID 레지스터는 TDI 및 TDO 사이에서 선택된다. 실행시에, IDCODE 명령은 리셋될 때 ATL의 IR 내에 로딩된다.
SAMPLE/PRELOAD - 이 명령은 PTB 제어기(508)의 I/O 핀을 샘플링하거나 PTB 제어기의 경계 스캔 셀 내에 값을 프리-로딩하는데 사용될 수 있다. PTB 제어기(508)는 IEEE 1149.1 경계 스캔 구조와 완전히는 일치하지 않는 전용 테스트 핀을 가질 수 있음을 주목하여야 한다. 따라서, 이 명령은 PTB 제어기(508)의 모든 핀에 대해 액세스하는 것은 아니다.
EXTEST - 이 명령은 표준 IEEE 1149.1 EXTEST 명령과 유사하다. SAMPLE/PRELOAD 명령에서와 같이, PTB 제어기(508)의 전용 테스트 핀들은 IEEE 1149.1 경계 스캔 구조와 완전히는 일치하지 않을 수 있고, 따라서 EXTEST 명령은 PTB 제어기(508)의 모든 핀들에 대한 제어가 불가능할 수도 있다.
LOAD_ATL_ADDR - LOAD_ATL_ADDR 명령은 ATL(602)이 ATL 어드레스 로딩을 제공하는 경우에 실행된다. 실시예에서, ATL_ADDR 입력은 PTB 제어기(508)에 대한 직접적인 병렬 입력이고, 따라서 LOAD_ATL_ADDR 명령은 실행되지 않는다.
실행시에, LOAD_ATL_ADDR 명령은 ATL의 ATL_ADDR 입력으로부터의 ATL 어드레스가 ATL_Address 레지스터내에 포획되도록 한다. 구현에 따라, 직렬로 로딩되거나(예를 들면, ATL TAP 제어기의 Run-Test/Idle 상태) 또는 ATL_ADDR 입력들로부터 바로 포획된다. 어느 경우이든, ATL_Address 레지스터는 병렬 ATL_ADDR 입력을 구비한 구현에 의해 요구되는 동일한 사이즈(즉, n+1 비트)이다. 테스트 제어기(502)는 ATL(602)이 선택되면 ATL_Address 레지스터에서 포획되는 ATL 어드레스를 검사할 수 있다.
SELECT_ATL - SELECT_ATL 명령은 ATL 어드레스에 기반하여 단일 PTB 제어기(508)를 선택하는데 사용된다. 이러한 SELECT_ATL 명령은 Select_ATL 레지스터내로 테스트 제어기(502)로부터의 ATL 어드레스를 직렬로 로딩하고, ATL(602)에 대한 ATL_ADDR 입력 또는 ATL_Address 레지스터(즉, LOAD_ATL_ADDR 명령에 의해 로딩된)와 이를 비교한다. SELECT_ATL 레지스터는 ATL_ADDR 입력(또는 ATL_Address 레지스터)와 동일한 사이즈(즉, n+1 비트)로 구현된다. LOAD_ATL_ADDR 명령이 실행되지 않으면, SELECT_ATL 명령은 ATL_ADDR 입력을 SELECT_ATL 레지스터내로 포획한다(즉, 테스트 제어기(502)로부터 ATL 어드레스 내로의 시프팅에 앞서 Capture-DR 동안).
SELECT_ATL 레지스터가 ATL_ADDR 입력(또는 ATL_Address 레지스터)과 비교되면, PTB 제어기(508)는 유일하게 선택되어 그 TDO는 PTB(504) 상에서 구동할 수 있도록 인에이블된다. 일단 선택되면, 테스트 제어기(502)는 다른 명령을 발생시키고 부속 UUT와 통신한다. UNSELECT_ALL 명령(하기에서 기술)이 발생되거나, PTB 제어기(508)를 선택하지 않는 다른 명령이 발생되거나(예를 들면, 다른 PTB 제어기에 대한 ATL 어드레스를 로딩하는 SELECT_ALIAS 명령), 또는 ATL이 리셋될 때까지, PTB 제어기(508)는 선택된 상태로 남겨진다. SELECT_ATL 명령에 뒤이어, 테스트 제어기(502)는 PTB 제어기가 선택되었고 따라서 PTB의 TDO 상에서 데이터를 구동하고 있다는 것을 검증하기 위해 BYPASS 또는 IDCODE와 같은 다른 명령을 발생시킬 수 있다.
LOAD_UUT_ID - LOAD_UUT_ID 명령은 ATL(602)이 UUT_ID 코드 로딩을 제공하는 경우에 실행된다. 실시예에서, UUT_ID의 로딩은 제공되지 않고 UUT_ID는 PTB 제어기(508)의 UUT_ID 라인으로부터 직접 입력된다.
실행시에, LOAD_UUT_ID 명령은 ATL의 UUT_ID[n:0] 입력으로부터의 UUD_ID가 UUT_ID 레지스터내에 포획되도록 한다. 구현에 따라, 이는 직렬로 로딩되거나(예를 들면, ATL TAP 제어기의 Run-Test/Idle 상태에서), 또는 UUT_ID[n:0] 입력으로부터 직접적으로 로딩된다. 테스트 제어기(502)는 ATL(602)이 선택되면 UUT_ID 레지스터내로 포획된 UUT ID를 검사할 수 있다.
SELECT_TYPE - SELECT_TYPE 명령은 테스트 제어기(502)로부터의 UUT 타입을 SELECT_TYPE 레지스터내로 직렬로 로딩하고 이를 UUT_ID의 UUT 타입 비트와 비교한다. 구현에 따라, UUT 타입은 UUT_ID 레지스터내의 비트 필드이거나, 또는 ATL(602)의 UUT_ID[n:0] 라인에 대해 바로 입력된다. UUT 타입은 UUT_ID 레지스터내 또는 UUT_ID[n:0] 입력으로부터의 UUT 타입 필드와 동일한 비트로 구현된다. LOAD_UUT_ID 명령이 실행되지 않으면, SELECT_TYPE 명령은 UUT_ID를 SELECT_TYPE 레지스터내로 포획한다(즉, 테스트 제어기(502)로부터 UUT 타입에서의 시프팅 전에 Capture-DR 동안).
ATL(602)의 현재 제시되는 실시예에서, SELECT_TYPE 레지스터는 UUT 타입 및 UUT 제조자 코드 모두를 비교하도록 구현된다. 이 경우, UUT 타입은 ATL(602)에 대한 직접적인 병렬 입력에 의해 제공되고, UUT 제조자는 ATL(602)내의 내부 코드로서 제공된다. 이는 상이한 벤더(vendor)에 독자적인 UUT 제조자 코드가 할당되는 경우 상이한 벤더의 UUT 타입과는 독립적이고 사용자에 의해 UUT 타입이 특정될 수 있는 방식을 제공한다. 따라서, 2명의 사용자가 동일한 UUT 타입을 UUT에 할당하더라도, 사용자는 유일한 제조자 코드에 의해 필요에 따라 구별될 수 있다.
SELECT_TYPE 레지스터가 대응하는 UUT 타입 및 UUT 제조자와 비교되는 경우, PTB 제어기(508)가 선택되게 된다. 다수의 PTB 제어기가 이러한 명령에 의해 선택될 수 있기 때문에(예를 들면, 동일한 타입 및 동일한 벤더), 그 TDO는 PTB(504) 상에서 구동되도록 인에이블되지 않는다. 따라서, 테스트 제어기는 PTB(504) 상에서 그 TDO를 구동하기 위해 인에이블된 PTB 제어기(508) 없이 SELECT_TYPE 레지스터에 의해 규정된 타입의 모든 UUT와 병렬로 통신한다.
PROGRAM_GROUP - PROGRAM_GROUP 명령은 테스트 제어기(502)에 의해 할당된 프로그램 가능한 그룹 어드레스를 갖는 GROUP_Address 레지스터를 직렬로 로딩한다. PTB 제어기(508)가 이전에 ATL 어드레스 또는 유일한 에일리어스 어드레스에 의해 선택되었다면, PTB(504) 상에서 그 TDO의 구동이 인에이블될 수 있고, Capture-DR 상태에서 포획된 현재 GROUP_ADDRESS 레지스터 컨텐츠는 테스트 제어기(502)에 의해 검사 및 스캔아웃될 수 있다. PTB 제어기(508)가 이전에 ATL 어드레스, 에일리어스 어드레스, UUT 타입, 또는 GROUP 어드레스(하기의 SELECT_GROUP 명령 참조) 매치에 의해 이전에 선택되었다면, ATL(602)의 GROUP_ADDRESS 레지스터는 업데이트된다. PTB 제어기(508)가 선택되지 않았다면, GROUP_ADDRESS 레지스터의 업데이트는 디스에이블된다. GROUP_ADDRESS 레지스터에는 ATL(602)이 리셋될 때마다 모두 O 어드레스가 할당된다.
SELECT_GROUP - SELECT_GROUP 명령을 사용하여, Group Address가 테스트 제어기(502)로부터 SELECT_GROUP 레지스터 내로 직렬로 로딩되고 프로그램 가능한 Group_Address 레지스터와 비교될 수 있다. SELECT_GROUP 레지스터는 GROUP_ADDRESS 레지스터와 동일한 비트수로서 구현된다. SELECT_GROUP 레지스터 내의 그룹 어드레스가 그룹 어드레스 레지스터의 그룹 어드레스와 매칭되면, PTB 제어기(508)가 선택된다. 그러나, 다수의 PTB 제어기들(508)이 이러한 명령에 의해 선택될 수 있기 때문에, 그 TDO는 PTB(504) 상에서의 구동하기 위한 인에이블이 되지 않는다. 따라서, 테스트 제어기(502)는 PTB(504) 상에서 그 TDO를 구동하기 위해 인에이블된 PTB 제어기(508) 없이, 동일한 그룹 어드레스가 할당된 모든 UUT들과 병렬로 통신한다.
PROGRAM_ALIAS - PROGRAM_ALIAS 명령은 에일리어스 어드레스를 PTB 제어기(508)에 할당하기 위해 사용된다. 이러한 명령은 Alias_Address 레지스터를 선택하고 직렬로 이를 테스트 제어기(502)에 의해 할당된 프로그램 가능한 에일리어스 어드레스를 통해 로딩한다. 공통 에일리어스 어드레스가 모든 제어기 또는 PTB 제어기의 특정그룹에 할당될 수 있고, 또는 유일한 에일리어스 어드레스가 하나의 PTB 제어기에 할당될 수 있다. 공통 에일리어스를 PTB 제어기 그룹에 할당함으로써, 테스트 제어기(502)는 그룹으로서 어드레스 또는 선택할 수 있고, 병렬로 이러한 그룹들에 브로드캐스트하기 위해 인에이블될 수 있다. 이는 PROGRAM_GROUP 및 SELECT_GROUP 명령에서와 동일하다. 유일한 에일리어스 어드레스를 하나의 PTB 제어기에 할당함으로써, 프로그램적으로 UUT를 배치 또는 테스트하기 위한 벡터가 ATL_ADR 입력으로부터 ATL(602)로 로딩되거나 규정된 물리적인 ATL 어드레스와는 독립적으로 만들어질 수 있다.
Alias_Address 레지스터는 PTB 제어기(508)가 ATL 어드레스, UUT 타입, 그룹 어드레스, 또는 다른 에일리어스 어드레스(하기의 SELECT_ALIAS 명령 참조)에 의해 이전에 선택된 경우에만 업데이트된다. PTB 제어기(508)가 선택되지 않았다면, Alias_Address 레지스터의 업데이트가 디스에이블된다. Alias_Address 레지스터는 Select_ATL 레지스터 보다 1 비트만큼 길게 구현된다. 소위 Unique_Alias 비트 로 언급되는 이러한 추가적인 비트는 Alias_Address가 PTB(504) 상에서 유일한 에일리어스 어드레스로 프로그래밍 되었음을 표시하는데 사용된다. 실시예에서, Unique_Alias 비트는 Alias-Address 레지스터의 최상위 비트(MSB)로서 구현된다. Unique_Alias 비트가 로직 1로 셋팅될 때, 선택된 PTB 제어기는 PTB(504)에서 TDO를 구동하도록 인에이블 될 수 있다. 유일한 에일리어스 어드레스를 할당할 때, 테스트 제어기(502)는 임의의 에일리어스 어드레스가 개별적인 PTB 제어기와 유일하도록 보장한다. Alias_Address 레지스터는 ATL이 리셋될 때 모든 0의 어드레스에 로딩된다. 따라서, 각각의 PTB 제어기에서 Unique_Alias 비트는 제거되며, 따라서 초기의 에일리어스 어드레스는 유일하지 않으며, PTB 제어기는 TDO를 구동하도록 인에이블될 수 없다.
SELECT_ALIAS - SELECT_ALIAS 명령은 테스트 제어기(502)로부터 에일리어스 어드레스를 Select_Alias 레지스터에 연속적으로 로딩하여 프로그램 가능한 Alias_Address 레지스터와 비교한다. Select_Alias 레지스터는 동일한 비트수가 되도록 Select_ATL 레지스터로서 구성된다. Select_Alias 레지스터 내의 에일리어스 어드레스가 프로그램 가능한 Alias_Address 레지스터의 에일리어스 어드레스와 매칭하면, PTB 제어기(508)가 선택된다. Alias_Address 레지스터에 대한 Select_Alias 레지스터의 비교에서, Alias_Address 레지스터내의 Unique_Alias 비트는 무시된다. 따라서, 만약 Select_Alias 레지스터 및 Alias_Address 레지스터가 매칭하면, Unique_Alias 비트는 PTB 제어기(508)가 PTB(504)에서 TDO를 구동하도록 인에이블한다. 다양한 PTB 제어기가 상기 명령에 의해 선택될 수 있기 때문에, 특정 PTB 제어기는 테스트 제어기(502)가 Alias_Address 레지스터를 프로그래밍할때 Unique_Alias 비트를 세팅하지 않으면 PTB(504)에서 TDO를 구동하도록 인에이블되지 않는다. 따라서, 다양한 UUT가 선택될 때, 테스트 제어기(502)는 모든 UUT, 즉, 동일한 에일리어스 어드레스에 프로그래밍된 UUT와 병렬로, 그러나 PTB(504)상에서 TDO를 구동시킬 수 있는 PTB 제어기(508) 없이 통신한다.
UNSELECT_ALL - UNSELECT_ALL 명령을 ATL(602)의 IR에 로딩하는 것은 모든 PTB 제어기가 그들이 선택되지 않은 상태를 입력하도록 한다. 이것은 현재의 어드레싱 모드, 즉 ATL 어드레스 모드, UUT 타입 모드, 그룹 모드, 또는 에일리어스 어드레스 모드에 의해 실행된 임의의 선택을 "선택해제"한다. UNSELECT_ALL 명령 다음에, 어떤 PTB 제어기도 PTB(504)의 TDO를 구동하도록 인에이블될 수 없다. UNSELECT_ALL 명령은 만약 IDCODE 명령이 실행되면 Bypass 레지스터 또는 Device_ID 레지스터를 선택한다.
DIO_ACCESS - DIO_ACCESS 명령은 DIO_UUT[n:0] 라인을 제어하는 데이터 레지스터를 액세스 하기 위해 사용된다. DIO_ACCESS 명령은 PTB(504)의 TDI 및 TDO 사이의 디지털 I/O 회로(606)에서 DIO_UUT 레지스터를 선택한다. 상기 명령을 위해, ATL(602)은 ATL 어드레스 또는 유일한 에일리어스 어드레스와 함께 이전에 선택되지 않았다면, PTB(504)에서 TDO를 구동하도록 인에이블할 수 없다. 또한, DIO_UUT 레지스터는 PTB 제어기(508)가 ATL 어드레스, UUT 타입, 그룹 어드레스 또는 에일리어스 어드레스 매칭에 의해 이전에 선택되었다면, 포획하고, 시프트하며, 업데이팅한다. 따라서, 만약, PTB 제어기(508)가 유일하게 선택되면, PTB(504)에서 TDO를 구동시킬 수 있으며, 현재의 DIO_UUT 레지스터 컨텐츠는 테스트 제어기(502)에 의해 스캐닝되고 검사될 수 있다. 만약 PTB 제어기(508)가 선택되지 않으면, DIO_UUT 레지스터의 시프트, 업데이트 및 포획 동작은 불가능하다.
DIO_UUT 레지스터로부터 스캐닝된 데이터는 DIO 데이터가 MDI를 사용하여 마스킹되고 PTB의 EDI 신호에 대해 비교될 수 있도록 마스크 및 비교 회로(604)에 선택적으로 라우팅된다. UUT로부터 수신된 디지털 I/O는 UUT의 테스팅동안 각각의 PTB 제어기에서 병렬로 검사될 수 있다. DIO_UUT 레지스터는 모든 UUT_DIO[n:0] 라인이 ATL(602)이 리셋될 때마다 입력되도록 리셋된다.
TMS_CONTROL - 상기 명령은 ATL(602)의 TAP 제어기를 사용하여 UUT TAP 제어기의 동작을 조정하기 위해 사용된다. 이는 접속된 UUT TAP 제어기가 안정된 상태로 유지되는 동안에 ATL(602)과 통신하거나 두개의 TAP 제어기가 록 스텝(lock step)으로 동작하는 동안 ATL(602)을 통해 UUT와 통신하도록 인에이블한다.
TMS_CONTROL 명령은 TMS_Control 레지스터를 선택하여, 테스트 제어기(502)로부터 TMS 제어 코드와 로딩된다. TMS_Control 레지스터에 로딩된 TMS 제어 코드에 따라, ATL(602)의 TMS_UUT 출력은 하기에서 설명되는 바와 같이 4개의 모드중 하나에서 제어된다.
TLR_Mode - TMS_UUT는 TMS_Control 레지스터의 Update-DR 동안 TCK의 하강 에지에서 로직 1이어야 한다. 이는 UTT의 TAP 제어기가 Test-Logic-Reset(적어도 5개의 TCK 클록 뒤로)으로 이동하도록 하며 UUT TMS가 TMS_Mode로 다시 변경될 때까지 상태를 유지한다. TLR_Mode는 임의의 다른 TMS 모드로부터 입력될 수 있다.
RTI_Mode - TMS_UUT는 TMS_Control 레지스터의 Update-DR 동안 TCK의 하강 에지에서 로직 0이어야 한다. UUT TAP 제어기는 (TCK의 다음 상승 에지에서) Run-Test/Idle로 이동하며 UUT TMS가 TMS_Mode 또는 TLR_Mode로 다시 변화될 때까지 유지한다. RTI_Mode는 TLR_Mode 또는 TMS_Mode로부터 또는 RTI-Pause_Mode에서 동안 그리고 UUP TAP이 Pause-DR 또는 Pause-IR에서 대기하지 않을 때 입력될 수 있다.
RTI-Pause_Mode - RTI-Pause_Mode는 Run-Test/Idle에서 유지할 때 및 ATL(602)이 교대로 선택될/선택되지 않을 때 Pause-DR 또는 Pause-IR 사이에서 변화하도록 TMS_UUT를 제어한다. RTI-Pause_Mode는 TLR_Mode 또는 TNS_Mode로부터, 또는 RTI-Pause_Mode에서 동안 그리고 UUP TAP이 Pause-DR 또는 Pause-IR에서 대기하지 않을 때 입력될 수 있다.
TMS_Mode - TMS_Mode는 이전의 모드에 따라 TMS_UUT가 PTB의 TMS를 재동기화 시키도록 하며 하기에서 PTB의 TMS값을 뒤따른다.
TMS_Control 레지스터는 PTB 제어기(508)가 ATL 어드레스, UUT 타입, 그룹 어드레스, 또는 에일리어스 어드레스에 의해 이전에 선택되었다면 데이터를 포획하고, 시프트하며, 업데이팅한다. 따라서, 만약, PTB 제어기(508)가 선택되지 않는다면, TMS_UUT 출력은 TMS_Control 레지스터에서 코드당 지난 제어된 값을 유지한다. 유사하게, TMS_UUT는 ATL(602)이 선택되지 않는다면 Run-Test/Idle 또는 Pause-DR/Pause-IR의 외부에서 동기화시키기 위해 RTI-Pause_Mode에서 상태를 변경시키지 않는다.
PTB(504)에서 PTB 제어기(508)의 리셋 다음에, TMS_Control 레지스터는 TLR_Mode를 사용하여 TMS_UUT 신호를 제어하도록 리셋된다. 따라서, UUT TAP 제어기는 TMS 제어 코드가 TMS_CONTROL 명령에 의해 연속적으로 변경될 때까지 Test-Logic-Reset을 유지한다. 또한 UUT TAP 제어기 또는 독립적으로 PTB에서 글로벌 TRSTN의 UUT TAP 제어기의 그룹을 리셋시키는 것이 가능하다. 예를 들면, GROUP_SELECT 명령을 사용함에 따라, UUT의 한정된 그룹은 TMS 리셋을 사용하여 테스트 제어기(502)에 의해 리셋될 수 있지만, 남아있는(즉, 선택되지 않은) UUT TAP 제어기는 Run-Test/Idle에서 대기한다. TLR_Mode에서 선택된 그룹에 TMS_Control 레지스터를 세팅함에 따라, TMS 리셋은 ATL(602)이 Run-Test/Idle 및 클록 TCK로 이동하는 동안 UUT의 그룹에서 수행될 수 있다. TMS 제어 모드 사이의 전이는 하기에서 설명된다.
RTI-Pause_Mode는 둘 또는 그 이상의 UUT의 효율적인 제어를 허용하며 개별적으로 스캐닝될 수 있지만 Update-DR 또는 Update-IR 상태를 동시에 실행한다. 예를 들면, 상기 모드는 시스템에서 board-to-board 상호 접속 테스팅을 수행하도록 사용될 수 있다. RTI-Pause_Mode 및 Run-Test/Idle의 UUT TAP 제어기에 세팅된 TMS 제어 모드와 함께, 선택된 ATL은 ATL TAP이 Run-Test/Idle를 통과할 때 UUT TAP 제어기를 사용하여 동기화된다. 따라서, TMS_UUT는 ATL(602)이 Pause-DR 또는 Pause-IR중 하나에 입력될 때까지 PTB TMS를 뒤따른다. Pause-DR/IR 중 한개에 입력되면, 상태는 TMS_UUT가 로직 0에서 제어되도록 하며 UUT TAP 제어기가 개별적인 Pause-DR/IR 상태를 유지하도록 한다. ATL(602)이 선택되고 다음에 그에 상응하는 Pause-DR 또는 Pause-IR 상태에 입력될 때, ATL(602) 및 UUT TAP 제어기는 동기화되고 TMS_UUT는 다시 PTB(504)를 뒤따른다. 따라서, ATL(602)이 다음에 Run-Test/Idle에 입력될 때, UUT TAP이 Run-Test/Idle 상태를 다시 유지하도록 작용하면 TMS_UUT가 로직 0에서 제어될 수 있도록 한다. Run-Test/Idle 또는 Pause-DR/IR에서 동기화 및 남아있는 시퀀스는 RTI-Pause_Mode가 사실상 존재하는 것 보다 더 오래 계속된다.
TMS_Control 레지스터가 TMS_Mode에 대한 제어 코드를 사용하여 연속적으로 업데이팅될 때, TMS_UUT 출력은 ATL TAP 제어기가 Run-Test/Idle 또는 각각의 Pausw-DR 또는 Pause-IR 상태, 즉 Test-Logic-Reset, Run-Test/Idle, Pause-DR 또는 Pause-IR로부터 변화하지 않는다. 이러한 상태는 동기화 또는 트리거 상태이다. 적합한 동기화 상태로 입력한 다음에, TMS_UUT 신호는 전이에 따라서 이전의 TMS 모드에 의해 결정된 바와 같이 ATL TAP 제어기 트리거 상태와 동기화되도록 이전 상태로부터 UUP TAP가 제어된다. 두 TAP 제어기 모두가 동기화된 상태를 가지면, TMS_UUT는 PTB(504)의 TMS를 뒤따르며, ATL(602) 및 UUT에서 TAP 제어기는 PTB 제어기(508)가 선택되는 것보다 더 오랫동안 록 스텝으로 동작한다. 동기화를 위해 트리거 상태를 제공하는 것은 테스트 제어기(502)가 다른 PTB 제어기와 통신하는 것을 계속하도록 하며, PTB 제어기에서 통신 다음에 UUT를 TMS_Mode로 다시 전이시킨다.
TMS_UUT가 TMS_Mode에서 제어될 때(즉, PTB TMS를 뒤따르기 위해), 명령 및 데이터는 ATL(602) 및 UUT 모두에서 스캐닝되기 때문에 그들 사이의 스캔 경로는 서로 차단된다. 따라서, TDO_UUT 출력은 UUT에서 데이터를 구동할 수 있기 때문에 ATL TAP 제어기가 Shift-DR 또는 Shift-IR에 있을 때, 스캔 데이터가 TDO_UUT 외부에서 UUT의 TDI로 구동된다. ATL IR 및 UUT IR로 로딩된 명령에 따라, ATL(602)에서 임의의 데이터 레지스터는 UUT에서 임의의 데이터 레지스터와 함께 차단될 수 있다. 따라서, 예를 들면, ATL(602)의 DIO_UUT 레지스터는 UUT의 내부 스캔 레지스터에서 차단될 수 있다. TDO_UUT 출력이 임의의 다른 TMS 모드에서 제어될 때, TDO_UUT 출력은 구동하도록 인에이블되지 않으며, 즉, 높은 임피던스 상태를 유지한다.
PTB 제어기(508)가 선택되지 않기 이전에, TMS_UUT 출력은 UUT TAP 제어기가 Run-Test/Idle을 (예를 들면 RTI_Mode를 사용하여 TMS_Control 레지스터를 로딩함으로써) 유지하도록 제어된다. 이는 선택되지 않았을때, UUT가 PTB의 TMS를 뒤따르는 것을 계속하도록 TMS 제어 모드에 남아있지 않는 것이다. 최근에 개시된 PTA(500)의 실시예에서, PTB 제어기(508)는 이를 자동적으로 처리한다. PTB 제어기(508)가 TMS_Mode에서 존재하는 동안, 그리고 그후에 선택되지 않을 때, TMS_UUT 출력은 ATL TAP 제어기가 Run-Test/Idle 트리거 상태에 입력될 때, RTI_Mode에 입력되도록 잠정적으로 제어된다. 그후에 PTB 제어기(508)가 선택될 때, TMS_UUT는 ATL TAP 제어기가 Run-Test/Idle을 통과한 후에 PTB(504)의 TMS를 뒤따르기 시작한다. 따라서, TMS_Mode 동안, PTB 제어기(508)는 UUT 모드가 선택되지 않았을 때, ATL TAP 제어기의 TMS를 뒤따르는 것을 계속하지 않는다.
COMPARE_STATUS - COMPARE_STATUS 명령은 마스크 및 비교 회로에서 Compare_Status 레지스터를 선택한다. 테스트 제어기(502)는 각각의 PTB 제어기(508.1-508.n)의 통과/실패 상태를 판독하거나 제거하고 마스크 및 비교 회로(604)의 다양한 기능을 제어하기 위해 상기 명령을 사용할 수 있다.
최근에 개시된 PTA(500)의 실시예에서, Compare_Status 레지스터는 3비트 레지스터이다. 한 비트는 잘못된 비교가 마스크 및 비교 회로(604)에 의해 검출될 때 설정된 Pass/Fail_Status 비트로서 기능한다. 테스트 제어기(502)는 그후에 만약 잘못된 비교가 발생된다면, 즉 Pass/Fail_Status 비트가 세팅된다면 검사를 위해 Compare_Status 레지스터를 판독할 수 있다. 또한 제거된 상태로 새로운 테스트를 시작하기 위해 Pass/Fail_Status 비트, 즉 잘못된 비교 다음에 제거할 수 있다. Compare_Status 레지스터에서 제 2 비트는 Compare_Enable이며 비교 기능을 인에이블/디스에이블하기 위해 사용될 수 있으며, 제 3 비트, TLR_Enable은 실패시에 UUT를 TLR_Mode로 작용시키도록 인에이블/디스에이블한다.
Compare_Status 레지스터는 만약 PTB 제어기(508)가 ATL 어드레스, UUT 타입, 그룹 어드레스 또는 에일리어스 어드레스 매칭에 의해 이전에 선택되었다면, 데이터를 포획하고, 시프트하고, 업데이팅한다. PTB 제어기(508)가 리셋될 때, Compare_Status 레지스터는 Pass/Fail_Status 비트가 통과 상태로 리셋되고 Compare_Enable 및 TLR_Enable 기능이 인에이블되도록 제거된다.
AUTO_START - AUTO_START 명령은 PTB Auto Start 회로(608)에서 Auto_Start 레지스터를 선택한다. 테스트 제어기(502)는 PTB Auto Start 회로(608)에 UUT_PRESENT 입력을 질문하고 PTB(504)에서 START 출력을 인에이블 또는 디스에이블하기 위해 상기 명령을 사용한다. 최근에 개시된 PTA(500)의 실시예에서, Auto_Start 레지스터는 2 비트의 DR이다. - 제 1 비트는 UUT_PRESENT 라인의 상태를 포획하고 제 2 비트는 START 라인이 PTB(504)에서 인에이블되는지를 제어한다. Auto_Start 레지스터는 만약 PTB 제어기(508)가 ATL 어드레스, UUT 타입, 그룹 어드레스 또는 에일리어스 어드레스 매칭에 의해 이전에 선택되었다면 데이터를 포획하고 시프트 하고, 업데이팅한다. PTB 제어기(508)가 리셋되면, UUT Present 비트는 제거되고 START는 디스에이블된다.
PROGRAM_IOV - PROGRAM_IOV 명령은 프로그램가능한 I/O 전압 회로(610)에서 IO_Voltage 레지스터를 선택하며 UUT 인터페이스 전압을 프로그래밍하기 위해 사용된다. 최근에 개시된 실시예에서, IO_Voltage 레지스터는 4개의 프로그램 가능한 전압 레벨, 예를 들면 5볼트, 3.3볼트, USER_SUPPLIED 및 "off"를 인코딩하는 2 비트의 DR이다. IO_Voltage 레지스터는 만약 PTB 제어기(508)가 ATL 어드레스, UUT 타입, 그룹 어드레스, 또는 에일리어스 어드레스 매칭에 의해 이전에 선택되었다면 데이터를 포획하고 시프트하고 업데이팅한다. PTB 제어기(508)가 리셋될 때, IO_Voltage 레지스터는 OFF로 셋팅된다.
PTB 브리징
높은 병렬 테스트 능력을 요구하는 병렬 테스트 구조(PTA)의 실행은 (전기적 로딩, 전송 거리, 또는 다른 설계 제한 때문에) 병렬 테스트 버스에 지원될 수 있는 PTB 제어기의 갯수에 제한될 수 있다. 따라서, 최근에 개시된 PTA는 2개의 병렬 테스트 버스(PTB) 사이에서 브리지하기 위해 제공된다. 이는 병렬로 UUT의 임의의 적합한 갯수를 효율적으로 검사하기 위해 PTA를 인에이블한다. 상기 능력의 타입은 웨이퍼 프로브 테스트 애플리케이션 및 높은 처리율의 보드 테스트 스테이션을 위해 요구된다.
도 8은 PTB 브리지 회로(800)의 예시적인 실시예를 도시한다. PTB 브리지(800)는 도 8에 PTB_ADDR[n:0]로서 명시된 ATL(비도시) 및 병렬 테스트 버스(PTB)의 어드레스를 포함하는 점에서 PTB 제어기(508)(도 6에 도시)와 유사하다. 상기 PTB 어드레스는 ATL 어드레스에 독립적일 수 있으며, 주어진 PTA 시스템에서 PTB 브리지의 전체 갯수를 지원하기에 충분히 크다. 도 8은 PTB 브리지 기능을 위한 회로(806)에 따라 2개의 PTB, 즉 PTB_0(804.0) 및 PTB_1(804.1) 사이에 접속된 PTB 브리지(802)를 도시한다. PTB 브리지는 소스 PTB로서 한 개의 PTB를 브리지되거나 링크된 PTB로서 또다른 PTB에 접속한다. 도 8에서, PTB_1(804.1)는 소스 PTB_0(804.0)에 브리지된다.
도 10-11은 각각 PTA의 브리지된 PTB 구성(1000 및 1100)을 도시한다. 도 10에 도시된 바와 같이, N+1 PTB는 N개의 PTB 브리지 회로(1002.0-1002.N-1), 즉 PTB_0(1004.0) 부터 PTB_N(1004.N)를 통해 링크되며 각각의 PTB(1004.0-1004.N)는 n개의 UUT까지 지원한다. 상기 구성(1000)은 상대적으로 적은 PTB 브리지를 사용하는 다수의 UUT를 지원할 수 있다. 도 11에 도시된 브리지된 PTB 구성(1100)은 N개의 링크된 PTB(1104.1-1104.N)을 포함하며, 각각의 PTB는 개별적인 PTB 제어기 (1108.1-1108.N)에 접속된다. 상기 방식에서, PTA는 다수의 UUT(1106.1-1106.N)를 수용하도록 용이하게 확장될 수 있다. 각각의 UUT를 위해 어드레스가능한 PTB 제어기 및 PTB 브리지를 사용함에 따라, PTA 시스템은 다중-드롭 버스에 의해 접속된 특정수의 UUT를 지원하는데 제한되지 않는다. 두 가지 구성(1000 및 1100) 모두에서, ATL 어드레스 공간은 각각의 PTB 제어기에 대한 동일한 어드레스를 지원한다. 따라서, 도 10에서, 만약 N=2 및 n=2라면 14개의 유일한 ATL 어드레스가 요구된다. 상기 경우에, PTB 브리지 회로를 위해 2개의 유일한 PTB 어드레스가 존재한다. 도 11에서, 만약 PTB 제어기 및 PTB 브리지가 참조 숫자(1120)에 도시된 바와 같이 단일 회로에 결합된다면, ATL 및 PTB 어드레스(즉, n=12에 대하여 12개의 유일한 어드레스를 요구하는)를 결합하는 것이 가능하며, 적어도 몇 가지의 관련된 명령이 결합된다. PTB 브리지 회로의 다른 구성이 가능하다는 사실이 인식되어야 한다.
도 8에 도시된 바와 같이, PTB 브리지(802) 내의 2개의 레지스터, 특히 Source_REG(812) 및 Link_REG(814)가 존재한다. Source_REG(812)는 소스 PTB_0(804.0)으로부터 TCK에 의해 클록되며 Link_REG(814)는 링크된 PTB_1(804.1)을 클록하는 TCK_LINK 클록에 의해 클록된다. 따라서, PTB 브리지(802)는 소스 PTB_0(804.0)의 TCK 클록을 버퍼링하여 PTB 브리지 회로(800)의 링크된 측면에 접속된 PTB_1(804.1)를 위해 PTB 신호를 클록하도록 사용한다. 따라서, 2개의 PTB가 브리지되면, 링크된 PTB는 소스 PTB로부터 지연된 한 개의 TCK 사이클이다. 테스트 제어기(502)는 링크된 PTB를 통해 통신하고 브리지된 PTB 구성을 위해 PTB 프로토콜을 적절히 관리할때 상기 TCK 링크 사이클을 고려한다. PTB 브리지(802)의 임의의 갯수는 각각의 PTB 브리지에 대한 단일 사이클 TCK 지연 페널티를 사용하여 주어진 PTA 구성을 위해 실행될 수 있다.
도 9는 2개의 링크된 PTB(804.0-804.1)(도 8에 도시)사이의 PTB 브리지 전송의 타이밍 다이어그램(900)을 도시한다. 도 8에 도시된 바와 같이 PTB_0(804.0)의 TRSTN 신호 및 PTB_1(804.1)의 TRSTN_LINK 신호는 Source_REG 및 Link_REG 레지스터(812 및 814)를 통해 등록된다. 이는 PTA의 비동기 리셋동안(즉, PTB의 TRSTN을 가정하여) TCK는 도 9에 도시된 바와 같이 각각이 PTB 브리지를 통해 TRSTN 신호를 클록한다. PTA의 추가의 실시예에서, PTB 브리지(802)의 소스 및 링크 측면, 예를 들면, TRSTN 및 TRSTN_LINK의 신호는 각각 PTB 브리지 회로(800)를 통해 버퍼링(즉, 등록되지 않는)될 수 있다.
PTB 브리지 회로(800)가 리셋될 때, BYPASS 명령(또는 만약 실행된다면 IDCODE 명령)이 로딩된다. 또한, PTB 브리지(802)는 선택되지 않는, 즉 소스 PTB_0(804.0)상에서 TDO 및 소스 PTB_0(804.0)의 TDO를 구동하도록 인에이블 되지 않으며, 링크된 PTB_1(804.1)의 TDI_LINK는 링크되지 않는다. 소스 측면(즉, 도 8에 도시된 TDI, TMS 등등)의 PTB 브리지(802)에서의 입력은 PTB 브리지(802)에 로딩된 ATL 명령 없이 링크된 측면(즉, DO_LINK, TMS_LINK, 등)의 PTB 브리지(802)의 각각의 출력에 링크된다. 따라서, PTB 브리지의 TAP 제어기는 테스트 제어기를 사용하여 록 스텝으로 동작한다. 더욱이, 테스트 제어기는 PTB 브리지를 통해 모든 PTB 제어기와 병렬로 통신할 수 있다.
PTB 브리지(802)(도 8 참조)는 자신에게 접속된 UUT를 가지지 않기 때문에, PTB 제어기(508)(도 6 참조)의 UUT 관련 명령은 필요하지 않다. 따라서, PTB 브리지(802)내 ATL(미도시)은 PTB 제어기의 ATL(602)에 의해 사용된 명령의 서브세트에만 응답한다. 따라서, PTB 브리지(802)의 도시된 실시예에서, PTB 브리지(802)용 ATL은 BYPASS, IDCODE, EXTEST, PRELOAD 및 UNSELECT_ALL 명령에 응답한다. 추가로, PTB 브리지(802)는 SELECT_PTB, LINK_PTB 및 UNLINK_ALL 명령을 수행하고, 선택적으로 LOAD_PTB_ADDR 명령을 수행하며, 이들은 이하에서 설명될 것이다. 결과적으로, 이들 PTB 브리지 명령은 PTB 제어기(508)의 ATL(602)에 의해 무시된다. PTB 제어기(508)내 ATL(602) 및 PTB 브리지(802)내 ATL은 모두 그들의 TAP 제어기내에서 동일한 IR 길이를 가진다.
PTB 브리지 명령 LOAD_PTB_ADDR, SELECT_PTB 및 LINK_PTB가 이하에서 설명된다.
LOAD_PTB_ADDR - LOAD_PTB_ADDR 명령은 PTB 어드레스를 로딩하기 위해 PTB 브리지(802)가 제공될 때 실행된다. PTA의 개시된 실시예에서, PTB_ADDR 입력은 PTB 브리지(802)에 대한 직접 병렬 입력이고 LOAD_PTB_ADDR 명령은 실행되지 않는다.
실행시, LOAD-PTB_ADDR 명령은 PTB 브리지의 PTB_ADDR 입력으로부터의 PTB 어드레스가 PTB_Address 레지스터내에 포획되도록 한다. 실행에 따라, 어드레스는 PTB_ADDR 입력으로부터 병렬로 로딩되거나 또는 직접 포획된다. ATL_Address 레지스터는 병렬 PTB_ADDR 입력을 실행함으로써 요구되는 것과 동일한 크기 즉, n+1 비트 길이를 가진다.
SELECT_PTB - SELECT_PTB 명령은 자신의 할당된 PTB 어드레스에 기초하여 단일 PTB 브리지를 선택하는데 사용된다. 이러한 명령은 테스트 제어기로부터 Select_PTB 레지스터로 PTB 어드레스를 직렬로 로딩하고 PTB 브리지(802)로의 (또는 실행시 LOAD_PTB_ADDR 명령에 의해 로딩되는 바와 같이 자신의 PTB_Address로의) PTB_ADDR 입력과 비교한다. Select_PTB 레지스터는 PTB_ADDR 입력과 동일한 크기 즉, n+1 비트를 가지도록 구성된다. LOAD_PTB_ADDR 명령이 실행되지 않을 때, SELECT_PTB 명령은 PTB_ADDR 입력을 Select_PTB 레지스터로 포획한다(즉, 테스트 제어기로부터 PTB 어드레스내에서 시프팅하기 전 Capture-DR 동안).
만일 PTB 어드레스가 PTB_ADDR 입력(또는 PTB_Address 레지스터 콘텐츠)과 매칭된다면, PTB 브리지(802)가 선택될 수 있다. PTB 브리지(820)가 SELECT_PTB 명령을 사용하여 선택될 때, 그 TDO는 PTB상으로 드라이브되고 PTB 브리지(802)의 DR(예를 들면, 바이패스 레지스터, Device_ID 레지스터 등)이 액세스되는 수 있다. PTB 브리지(802)가 UNSELECT_ALL 또는 UNLINK_ALL 명령(이하에서 설명됨)이 통보될 때까지 선택된 상태를 유지하고, 이러한 PTB 브리지(802)를 선택하지 않은 다른 명령이 통보(issue)되거나(예를 들면, PTB 제어기를 위한 ATL 어드레스를 로딩하는 SELECT_ATL 명령) 또는 PTB 브리지(802)가 리셋된다. SELECT_PTB 명령에 후속하여, 테스트 제어기는 PTB 브리지가 선택되었고 이에 따라 PTB의 TDO상에 데이터가 드라이브되었음을 검증(verify)하는 BYPASS 또는 IDCODE 명령과 같은 다른 명령을 통보한다.
LINK_PTB - LINK_PTB 명령은 두 개의 PTB 링크(예를 들면, PTB_0(804.4) 및 PTB_1(804.1))가 PTB 브리지 회로(예를 들면, PTB 브리지(802))를 통해 접속되도록 한다. 두 개의 PTB(804.0-804.1)가 링크되기 전에, 소스 PTB_0(804.0)용 PTB 브리지(802)는 SELECT_PTB 명령을 사용하여 가장 먼저 선택된다. LINK_PTB 명령에 후속하여, PTB 브리지(802)의 TDO가 소스 PTB_0(804.0)으로 드라이브되도록 인에이블되고, 소스 PTB_0(804.0)의 TDO와 브리지 PTB_1(804.1)의 TD1_LINK가 링크된다.
링크된 PTB는 선택되고 링크된 상태를 유지하고 PTB 브리지 회로는 UNLINK_ALL 명령(이하 설명됨)으로 링크될 때까지 자신들의 TDO를 드라이브한다. 링크된 PTB는 UNSELECT_ALL 또는 SELECT_PTB와 같은 명령에 의해 선택되지 않고, 가장 먼저 링크해제(unlinked)된다. 이들은 다수의 PTB가 링크내 다음 PTB로 PTB 신호를 통과시키도록 링크된 상태를 유지하고, 그 결과 테스트 제어기는 링크된 PTB 제어기에 명령을 전송한다. 더욱이, 선택된 UUT로부터의 TDO 데이터가 테스트 제어기로 다시 드라이브될 수 있도록, 즉, PTB 브리지 회로를 통해 다시 드라이브될 수 있도록 한다.
UNLINK_ALL - UNLINK_ALL 명령은 PTB 브리지 회로의 모든 회로를 선택해제(unselect)하고 링크해제(unlink)하는데 사용된다. 예를 들면, PTB 브리지(802)의 ATL의 IR로 UNLINK_ALL 명령을 로딩하는 것은 브리지된 PTB_1 (804.1)의 TD1_LINK로부터 소스 PTB_0(804.0)의 TDO를 링크해제하고, PTB 브리지(802)의 TDO가 PTB_0(804.0)으로 드라이브되도록 인에이블시킨다. 추가로, 모든 PTB 제어기는 UNSELECT_ALL 명령에서 발생하는 것과 같이 선택해제된다. UNLINK_ALL 명령은 Bypass 레지스터를 선택하거나 또는 선택적으로 IDCODE 명령이 실행될 때 Device_ID 레지스터를 선택한다.
다수의 유니트 언더 테스트(UUT)의 병렬 테스트를 수행하기 위한 병렬 테스트 구조(PTA)(500)(도 5 참조)를 사용하는 첫 번째 방법은 도 14a에 도시되어 있다. 도 14a에 도시된 방법은 PTA의 UUT와 여러 기능을 액세스하기 위해 PTB를 통해 PTB 제어기와 테스트 제어기가 통신하는 방법을 도시한다.
단계(1402)에 도시된 바와 같이, PTA 시스템은 리셋된다. 이는 PTB의 TRSTN을 논리 0으로 가정(assert)하거나 적어도 5TCK 클록 사이클로 TMS를 논리 1로 설정하는 테스트 제어기에 의해 달성된다. 각각의 PTB 제어기는 Test-Logic-Reset를 입력하고 그들의 IDCODE 명령(또는 만일 IDCODE 가 실행되지 않는다면 BYPASS 명령)이 IR에서 업데이트된다. Test-Logic-Reset를 입력하는 것은 이하의 상황이 발생하도록 한다:
PTB로의 ATL의 TDO 및 TDO_UUT는 3상태(tri_state)이고, TMS_UUT는 논리 1로 강제되며(즉, TLR_Mode는 TMS_Control 레지스터로 로딩되고), TRSTN_UUT와 TCK_UUT는 각각 PTB의 TRSTN 및 TCK를 따른다.
Compare-Statue 레지스터는 클리어링되고, Auto_Start 레지스터가 START가 디스에이블되도록 리셋되며, IO_Voltage 레지스터는 인터페이스 전압이 오프되도록 리셋된다.
Select_ATL, Select_Type, Group_Address, Select_Group, Alias_Address, Select_Alias 및 DIO_UUT 레지스터가 모두 0으로 리셋된다. 모든 PTB 제어기는 선택해제되고, DIO_UUT[n:0] 라인이 3상태가 된다.
다음으로, UUT I/O 전압이 턴온되고 리세트가 UUT에 통보되며, 이는 단계(1404)에 도시된 바와 같다. SELECT_GROUP 명령은 그룹 어드레싱 모드를 사용하여 PTA 시스템내 모든 PTB 제어기를 선택하는데 사용될 수 있다. 모두 0인 Select_Group 레지스터 값은 이를 위해 사용되고, 이들은 PTB가 리셋될 때 Group_Address 레지스터가 모두 0으로 리셋되는 바와 같다. 다음으로, 테스트 제어기가 PROGRAM_IOV 명령을 사용하여 UUT에 대한 인터페이스 전압을 설정한다. 이러한 포인트에서, 테스트 제어기는 TRSTN을 가정하고, TRSTN을 실행하지 않은 임의의 UUT가 리셋되도록 적어도 5 TCK 클록을 제공한다. 모든 UUT는 상기 5 TCK 클록만큼 수행된 바와 같이 TRSTN_UUT를 통해 비동기적으로 또는 TMS_UUT 리세트에 의해 이러한 포인트에서 리셋되고, Test_logic-Reset로 유지된다.
다음으로 테스트 제어기가 단계(1406)에서 도시된 바와 같이 PTA 시스템을 검증한다. 특히, 다음의 상황이 발생한다:
테스트 제어기는 SELECT_ATL 명령을 사용하여 ATL 어드레스 범위를 통해 탐색하고, 각각의 어드레스에서 PTB 제어기의 존재 또는 부재를 확인한다. 주어진 ATL 어드레스에서 PTB 제어기의 존재는 Select_ATL 레지스터 내에서 체킹될 ATL 어드레스를 가장 먼저 업데이트함으로써 결정될 수 있다. 다음으로, 테스트 제어기는 Capture-DR을 통해 PTB 제어기의 TAP 제어기를 이동시킨다. 이는 선택된 PTB 제어기(만일 선택된다면)의 ATL 어드레스가 자신의 Select_ATL 레지스터로 포획되도록 한다. 다음으로 테스트 제어기는 Shift-DR로 이동하고 스캔 경로 보전을 확인하기 위해 특정 테스트 패턴을 사용하여 Select_ATL 레지스터를 스캐닝한다. 만일 PTB 제어기가 선택된다면, 제어기는 특정 STL 어드레스를 보고, PTB의 TDO에서 스캔 테스트 패턴이 후속한다.
테스트 제어기는 PTB 제어기의 존재가 결정되면 PTA 시스템의 필요한 테스팅을 수행할 수 있다.
이러한 단계(1406)가 완결되면, 테스트 제어기는 UNSELECT_ALL을 사용하여 모든 PTB 제어기가 선택해제되도록 하고, ATL의 Address 레지스터가 그들의 리셋 상태로 설정되도록 하며 UUT가 Test-Logic-Reset에 있도록 한다. 추가로, 테스트 제어기는 PTA 구성 및 PTA에서 발견된 임의의 결함 또는 문제점을 보고할 수 있어야 한다. 만일 PTA가 올바르게 동작하면, 테스트 제어기는 내부에 포함된 메모리(미도시)내 구성을 저장한다.
단계(1408)에 도시된 바와 같이, 회로에 대한 병렬 테스팅 또는 구성 이전에접속된 UUT를 테스트 제어기가 필요로 하는지에 관한 결정이 행해진다. 테스트 제어기가 질의하는 경우, 테스트 제어기는 PTA상의 각각의 ATL를 어드레싱하고, 이는 단계(1410)에 도시된 바와 같다. 특히, 테스트 제어기는 SELECT_ATL 명령을 사용하여 각각의 UUT를 선택한다. 테스트 제어기가 질의하지 않는 경우, 테스트 제어기는 UUT의 병렬 테스팅 또는 구성을 시작하고, 이는 단계(1412)에 도시된 바와 같다. 특히, 만일 LOAD_CUT_ID 명령이 실행되면, UUT의 UUT_ID 레지스터가 이러한 포인트에서 로딩될 수 있고, 테스트 제어기는 이들을 제어할 수 있다. 다음으로, 테스트 제어기는 TMS-CONTROL 명령을 사용하고 TMS_Control 레지스터를 ATL로 설정하는 PTB의 TMS를 따르도록 ATL의 TMS_UUT를 제어한다. 이는 UUT 스캔 경로가 ATL를 통해 액세스되는 수 있도록 인에이블 시킨다. 테스트 제어기는 각각의 UUT의 ID 레지스터를 실행되는 곳에서 검사하고, UUT_ID 레지스터와 함께 UUT 타입 및 버전을 확인한다. 테스트 제어기는 이에 따라 UUT로 Group 및 에일리어스 어드레스를 할당한다. 테스트 제어기는 Run-Test/Idle내 각각의 UUT를 남기고 실행시 UNSELECT_ALL 명령을 통보한다.
다음으로, 테스트 제어기가 다수의 PTB 제어기를 가장 먼저 선택함으로써 UUT의 병렬 테스팅 및/또는 구성을 실행하고, 이는 단계(1414)에 도시된 바와 같다. 이는 SELECT_TYPE, SELECT_GROUP 또는 SELECT_ALIAS 명령중 하나를 사용하여 실행된다. 다음으로, TMS_CONTROL 명령이 제어 모드를 TMS_Mode로 설정하는데 사용되어, 개별 ATL의 TMS_UUT 출력이 PTB의 TMS를 후속한다. 결과적으로, 모든 이전에 선택된 UUT는 병렬로 액세스된다. 병렬 테스트와 구성 동작이 완결될 때, 테스트 제어기는 TMS_CONTROL을 RT1_Mode로 설정함으로써 Run-Test/Idle내에 UUT를 남기고 UNSELECT_ALL 명령을 통보한다.
병렬 테스트에 후속하여, 테스트 제어기는 각각의 PTB 제어기가 Compare_Status 레지스터를 체킹하고 자신의 통과/실패(pass/fail) 상태를 로깅하며, 이는 단계(1416)에 도시된 바와 같다. PTB 제어기의 Compare_Status 레지스터는 체킹이후 다음 테스트를 위한 준비로 클리어링되어야만 한다. 모든 Compare_Status 레지스터가 체킹된 이후, 테스트 제어기는 UNSELECT_ALL 명령을 통보한다.
각각의 UUT의 통과/실패 상태가 알려지면, 추가의 디버그와 진단이 실패 UUT상에서 수행되고, 이는 단계(1418)에 도시된 바와 같다. SELECT_ATL 명령은 실패 UUT의 PTB 제어기를 선택하는데 사용되고, 다음으로 TMS_CONTROL 명령은 TMS 제어를 UUT 액세싱을 위한 TMS_Mode로 설정하는데 사용된다. 테스트 제어기는 실패 테스트를 재적용 하고, 진단을 위해 PTB의 TDO상의 실패 데이터를 검사한다. UUT가 액세싱되지 않을 때, UUT TAP 제어기가 TMS_CONTROL 명령을 사용하고 RTI_Mode를 설정함으로써 Run_Test/Idle내에 위치하여야 한다. 이들은 테스트 및 구성 목적으로 다시 액세스되는 때까지 그 상태를 유지할 수 있다.
백플레인내 다수의 인쇄 회로 기판 유니트 언더 테스트(UUT)상에서의 보드간 상호접속 테스트를 수행하기 위해 병렬 테스트 구조(PTA)(도 5 참조)를 사용하는 두 번째 방법은 도 14b를 참조하여 설명된다. 단계(1420)에 도시된 바와 같이, 테스트 제어기는 시스템내 모든 UUT를 선택하기 위한 SELECT_GROUP 명령을 사용하고, TMS를 제어하기 위한 TMS_CONTROL 명령은 RTI-Mode로 출력하고, 모든 UUT TAP 제어기는 Run-Test/Idle 모드로 이동한다.
다음으로, 테스트 제어기는 UUT를 구성하고, 이는 단계(1422)에 도시된 바와 같다. 특히, 테스트 제어기는 SELECT_ATL 명령을 사용하여 상호접속 테스트에 참여하는 UUT 중 하나를 선택한다. 다음으로, 테스트 제어기는 PROGRAM_ALIAS 명령으로 에일리어스 어드레스를 할당하고, Unique_Alias 비트를 설정한다. 다음으로, 테스트 제어기는 PROGRAM-GROUP 명령을 사용하여 1의 그룹 어드레스를 할당한다. 단계(1422)는 상호접속 테스트에 참여할 각각의 UUT에 대해 반복되고, 각각의 새로운 기판은 단일 에일리어스 어드레스에 할당된다.
단계(1424)에 도시된 바와 같이, 테스트 제어기는 초기에는 UUT의 IR를 로딩한다. 특히, 테스트 제어기는 자신의 에일리어스 어드레스를 사용하여 프로그램된 기판중 하나를 선택하고 TMS 모드를 RTI-Pause_Mode로 설정하기 위해 TMS_CONTROL 명령을 사용한다. 다음으로, 테스트 제어기는 Run-Test/Idle을 통해 ATL TAP 제어기를 전이시키고, 이는 선택된 ATL의 TAP 제어기와 UUT가 동기화되도록 한다. 다음으로, 테스트 제어기는 EXTEST(또는 PRELOAD) 명령으로 UUT의 IR을 로딩하고, ATL IR을 SELECT_ALIAS로 로딩한다. 다음으로, 테스트 제어기는 UUT TAP을 Pause-IR로 전이시킨다. UUT TAP는 Pause-IR에 머무르고, ATL은 Run-Test/Idle로 간다. 다음으로 단계(1424)가 각각의 상호 접속 테스트에 참여하는 기판에 대해 반복된다. 따라서, 후속 단계(1424)에서 각각의 UUT는 EXTEST로 로딩되고 Pause-IR에서 대기한다.
다음으로, 테스트 제어기는 UUT의 IR을 업데이팅하고, 이는 단계(1426)에 도시된 바와 같다. 특히, 테스트 제어기는 상호접속 테스트에 참여하는 모든 기판을 선택하기 위해 프로그램된 그룹 어드레스(예를 들면, 그룹 어드레스 1)와 함께 SELECT_GROUP 명령을 사용한다. 다음으로, 테스트 제어기는 Capture-IR을 통해 ATL TAP 제어기를 전이시키고 다음으로 Pause-IR로 직접 전이한다. 이는 선택된 ATL의 TAP 제어기와 이들에 접속된 개별 UUT가 동기화되도록 한다. 다음으로 테스트 제어기는 ATL과 UUT TAP 제어기를 Update-IR로 전이시킨다. 이는 모든 UUT의 동시 IR 업데이트를 야기한다. 업데이트에 후속하여, Run-Test/Idle로 가고, 이는 UUT TAP 제어기가 그곳에 남아있도록 한다.
단계(1428)에 도시된 바와 같이, 테스트 제어기는 테스트 벡터를 적용할 수 있다. 특히, 테스트 제어기는 SELECT_ALIAS 명령을 사용하여 UUT중 하나를 선택하고 다음으로 Select_Alias Address 레지스터를 로딩한다. 테스트 제어기는 UUT TAP 제어기를 Run-Test/Idle에 유지하기 위해 Run-Test/Idle을 통해 ATL의 TAP 제어기를 전이시키는 것을 방지해야 한다. 다음으로, 테스트 제어기는 BYPASS 명령으로 선택된 UUT의 ATL을 로딩하고, UUT TAP 제어기를 ATL과 동기화하기 위해 Run-Test/Idle을 통해 ATL TAP 제어기를 전이시킨다. 다음으로, 테스트 제어기는 상호접속 테스트 벡터를 Capture-DR 및 Shift-DR 스캐닝함을 통해 ATL과 UUT TAP 제어기를 전이시킨다. 테스트 벡터 스캔은 Pause-DR로 감으로써 종결되고, 이는 UUT TAP 제어기가 그곳에 머무르도록 한다. 단계(1428)는 상호접속 테스트에 참여하는 각각의 기판에 대해 반복되고, 각각의 UUT는 적절한 상호접속 테스트 벡터를 수용한다. 추가적으로, 후속 단계(1428)에서 각각의 UUT는 테스트 벡터로 로딩되고 Pause-DR에서 대기한다.
다음으로, 테스트 제어기는 UUT의 DR을 업데이팅하고, 이는 단계(1430)에 도시된 바와 같다. 특히, 테스트 제어기는 상호접속 테스트에 참여하는 모든 기판을 선택하기 위해 프로그램된 그룹 어드레스(예를 들면, 그룹 어드레스 1)와 함께 SELECT_GROUP 명령을 사용한다. 다음으로, 테스트 제어기는 Capture-DR을 통해 다음으로 직접 Pause-DR으로 ATL TAP 제어기를 전이시킨다. 이는 선택된 ATL의 TAP 제어기 및 이들에 접속된 개별 UUT가 동기화되도록 한다. 다음으로 테스트 제어기는 ATL과 UUT TAP 제어기가 Update-DR로 전이되도록 한다. 이는 모든 UUT의 동시 DR 업데이트를 야기한다. 업데이트 이후, Run-Test/Idle로 가고, 이는 UUT TAP 제어기가 그곳에 머무르도록 한다.
단계(1432)에 도시된 바와 같이, 다음 상호접속 벡터가 테스트 제어기에 의해 제공될 지의 여부가 결정된다. 만일 그렇다면, 순서 루프는 단계(1428)로 돌아간다. 단계(1428)에서 제 1 스캔-인 벡터에 대해, 최초 Capture-DR 데이터가 무시될 수 있다. 최후 스캔-아웃 동작에 후속하여, 테스트 시퀀스는 단계(1430)에서 종결되고, 이에 따라 BSR에서 안정 상태를 업데이팅한다.
기판간 상호접속 테스트를 종결하기 위해, 테스트 제어기는 선택된 그룹 어드레스내 UUT를 RTI_Mode로 위치시키고, 이는 단계(1434)에 도시된 바와 같다. 더욱이, 테스트 제어기는 UNSELECT_ALL 명령을 통보하여 UUT TAP 제어기가 이들이 다시 선택될 때까지 Run-Test/Idle에 머무르도록 한다.
병렬 테스트 구조(PTA)의 상술된 실시예에 대해 다른 선택적인 실시예 또는 변형이 가능하다는 것을 숙지한다. 이러한 선택적인 실시예 또는 변형이 이하에서 설명될 것이다.
ATL 및 PTB 제어기의 선택적인 실시예
도 6에 도시된 PTB 제어기(508)는 여러 다른 성능을 가지고 구비될 수 있다. 예를 들면, ATL 회로(602)는 UUT의 테스트를 용이하게 하기 위해 다른 회로에 대한 인터페이스를 적용할 수 있다. 특히, PTB 제어기(508)는 UUT상의 다수의 스캔 경로를 액세스하도록 구성될 수 있다. 다수의 스캔 경로는 직렬 또는 병렬로 액세스되는 수 있다. 스캔 경로가 직렬로 액세스되는 때, PTB 제어기(508)는 ATL(602)과 UUT 사이에 스캔 경로 스위칭 및 링크 능력을 제공할 수 있다. 병렬 액세스된 스캔 경로에 대해, ATL(602)은 PTB 제어기(508)와 UUT 사이의 직렬-인/병렬-아웃 및 병렬-아웃/직렬-인 변환에 대한 인터페이스일 수 있거나 ATL(602)은 자신의 회로의 일부로서 이들 변환을 포함할 수 있다. 더욱이, ATL(602)은 예를 들면, 멀티플렉싱된 D 플립-플롭(DFF) 또는 레벨 센서티브 스캔 디자인(LSSD)인 UUT측상의 IEEE 1149.1을 제외한 스캔 프로토콜을 제어하도록 구성될 수 있다. 더욱이, PTB 제어기(508)는 단일 PTB 제어기가 다수의 UUT를 액세스할 수 있도록 구비된다. 이는 PTB(504)상에 ATL(602)의 공유를 허용하고, 다른 PTB 제어기 기능들이 마스크 및 비교 및 DIO 회로(604, 606)와 같은 단일 UUT에 전용되도록 한다. 더욱이, UUT는 도 6에 도시된 실시예와 같이, UUT 선택이 UUT_Select 레지스터 및 UUT로부터의 TDI_UUT 신호의 멀티플렉싱을 통해 달성되는 곳에 병렬로 또는 개별적으로 액세스되는 수 있다.
마스크 및 비교 회로(604)는 여러 다른 기능을 가질 수 있다. 예를 들면, 제 1 실패 검출 신호가 마스크 및 비교 회로(604)가 스캔 데이터 오비교가 발생되자 마자 테스트 제어기(502)에 시그널링하도록 구비될 수 있다. 이러한 신호는 PTB(504)의 TDO 라인을 사용하여 구비될 수 있는데, 그 이유는 예측 데이터 비교를 위해 병렬 테스팅 동안 이들이 사용될 필요가 없기 때문이다. 이러한 경우, PTB의 TDO 라인은 실패 검출시 마스크 및 비교 회로(604)에 의해 논리 0으로 드라이브된다. 더욱이, 실패-카운터는 비교 동작 동안 실패가 있는 것으로 판명된 스캔 비트 또는 스캔 비트 수를 카운트하도록 마스크 및 비교 회로(604) 내에 포함될 수 있다.
마스크 및 비교 회로(604)는 추가적으로 UUT로부터의 응답 데이터를 압축하기 위해 시그니처 레지스터를 포함한다. 이는 직렬 또는 다중 입력 시그니처 레지스터(SISR 또는 MISR, 각각)로서 구비될 수 있다. 이 경우, 시그니처는 UUT 테스트에 후속하는 패스/실패를 위해 체킹된다. EDI 라인은 시그니처 테스트 동안 사용되지 않지만 MDI 라인은 SISR 또는 MISR에 입력될 중간 응답을 마스크 하는데 사용되며 이에 따라 결정적 시그니처가 얻어지도록 한다는 것을 주목한다.
더욱이, PTA(500)의 다른 실시예에서, PTB 제어기(508)는 선형 피드백 시프트 레지스터(LFSR)와 같은 패턴 발생 회로를 포함하고, 이는 UUT에 테스트 패턴을 공급하는데 사용될 수 있다. LFSR 및 SISR/MIST을 제공함으로써, PTB 제어기(508)는 UUT에 빌트-인 셀프-테스트(BIST)를 효율적으로 제공할 수 있다. 더욱이, PTB(504)는 XDI(eXtended Data In) 신호를 포함할 수 있고, 이는 LFSR 또는 PTB의 TDI 신호로부터 UUT로 스캔-인 데이터를 선택하는데 사용될 수 있다. 따라서, XDI 라인은 (마스킹된 데이터가 LFSR로부터의 임의 데이터를 구비하는) PTB(504)의 TDI 데이터를 "마스킹"할 수 있다.
PTA(500)의 추가적인 실시예에서, 하나 이상의 DIO_UUT 라인은 예를 들면, 테스트 또는 프로그램 가능 구성을 위한 UUT에 의해 사용될 수 있는 프로그램 가능 클록 또는 인터럽트로서 ATL(602)에 의해 자동적으로 제어 또는 연속적으로 폴링될 수 있다. 프로그램 가능 인터럽트가 제공되는 곳에서, ATL(602)은 DIO_UUT(602)의 상태를 연속적으로 모니터링하고, 인터럽트 상황이 발생될 때 PTB의 TDO상의 테스트 제어기(502)로 순차적으로 신호를 돌려보낸다. 더욱이, TAP 제어기 명령은 상술된 바에 추가하여 다른 확장을 PTA(500)까지 지지하기 위해 ATL(602)내에 제공된다.
PTB의 선택적인 실시예
PTB(504)는 특정 세트의 신호 및 특정 버스 실행에 한정되는 것이 아니며, 도 5-6, 8 및 10-13에 도시된 바와 같은 여러 다른 실시예를 가질 수 있다는 것을 이해할 수 있을 것이다. PTB(504)는 예를 들면, 특정 병렬 테스트 적용, UUT의 수 및/또는 다수의 UUT로의 병렬 통신에 필요한 비용과 성능에 따라 여러 다른 능력을 가질 수 있다.
예를 들면, PTB(504)의 다른 실시예는 보조 테스팅, 디버깅 또는 UUT(506.1-506.N)을 위한 구성 능력을 용이하게 하기 위한 추가의 신호를 포함한다. UUT(506.1-506.N)용 고속 시스템 클록과 같은 신호, PTB(504)의 마스터 클록, 아날로그 테스트와 측정을 지지하기 위한 신호(이하에서 설명됨) 또는 XDI 신호가 이러한 예이다.
PTB(504)의 구조적 전기적 구성은 특정 실행에 적합하도록 변화될 수 있다. 예를 들면, 새로운 회로 기술이 가능함에 따라, 새로운 PTB가 고속 및/또는 장거리 전송을 가능케 할 것이다. 특히, 저전압 차동 시그널링(LVDS) 버스 기술을 사용하기 위해 PTB를 구성함으로써, PTB 신호는 고성능 PTB를 달성하기 위한 차동 신호 쌍으로써 구비될 수 있다. 더욱이, PTB(504)는 여러 형태로 구비될 수 있다. 예를 들면, 시스템 백플레인의 일부로서 PCS상에 구비될 수 있거나 또는 PTA 테스터로부터 UUT(506.1-506.n)로 제공할 수 있는 케이블링을 통해 구비될 수 있다.
추가의 선택적인 실시예에서, PTB(504)는 감소된 수의 물리적 PTB 라인 또는 와이어를 가지고 구비될 수 있다. 이를 도시하기 위해, 도 7은 어드레싱 가능 TAP 링커(ATL)(702)의 병렬 테스트 버스(PTB)(704)로의 선택적인 접속을 도시한다. 도 7에 도시된 바와 같이, EDI 및 MDI 라인은 PTB(704)의 TDO 라인상에서 멀티플렉싱될 수 있다. 이는 TDO 라인이 병렬 테스트 및 인증 동안 EDI 및 NDI 라인과 관련하여 일반적으로 사용되지 않지만 실제 스캔-아웃 데이터가 PTB(704)상이 테스트 제어기로 다시 전송될 때에만 가능하다. PTB(704)에서, TDO 라인은 양방향 신호일 수 있다. 병렬 테스트 동안 ATL(702)로의 입력으로서 그리고 실제 TDO 데이터가 테스트 제어기로 재전송될 때 ATL(702)으로부터의 출력으로서 기능을 한다. 병렬 테스트 동안, EDI 및 MDI 신호 모두 다른 PTB 클록 사이클로 도 7의 단일 TDO 와이어를 통해 전송되고 이들은 ATL(702)내에 포함된 EDI/NDI 추출 회로(730)에 의해 추출된다. 이는 PTB(704)의 TCK 클록율이 UUT의 클록율의 두 배(즉, 2X)가 될 것을 요구한다. 따라서, 데이터는 개별 EDI 및 MDI 라인을 통해 PTB의 클록율을 1/2로 UUT로부터 전송 및 수신된다. 이는 실행 비용을 감소시킨다. 기술 및 응용이 허용되는 한, PTB의 다른 실시예는 물리적 와이어링을 감소시킨다. 게다가, 기술이 허용하는 한, 무선 통신을 이용하여 실행된 PTB는 또한 달성될 수 있으며 다수 UUT에 대한 병렬 액세스의 관점에서 부가의 장점을 제공할 것이다.
PTA(500)(도 5를 참조)의 부가의 선택적인 실시예는 상기 테스트 제어기 (502)와 상기 PTB 제어기(508.1-508.n)간의 다수의 PTB(504)를 이용하여 실행될 수 있다. 예를 들어, 두개의 독립 PTB가 이용될 수 있으며, 제 1 PTB는 각각의 PTB 제어기에 접속하며 상기 PTB 제어기에 접속된 UUT를 액세스하는데 이용되며 제 2의, 즉, 개별 PTB는 또한 동일한 PTB 제어기에 접속하며 PTB 제어기의 DIO를 액세스하는데 이용하도록 전용된다. 이것은 병렬로 다수의 스캔 데이터 스트림을 제공함으로써 PTA의 더 높은 전체 스루풋(throughput)을 제공한다.
아날로그 테스트 성능을 갖는 PTA
PTA(500)(도 5를 참조)는 디지털 회로 테스팅 이외로 확장될 수 있으며 혼합-신호(즉, 양 아날로그 및 디지털 회로) 테스팅 성능을 부가적으로 제공할 수 있다. 도 12-13은 여기서 참조로 통합되는 IEEE 1149.4 혼합 신호 테스트 버스 표준 규격에 기술된 IEEE 1149.4 에 기술된 IEEE 1149.4 혼합 신호 테스트 버스 표준을 이용하여 아날로그 테스팅을 지원하는 PTA의 두 개의 선택적인 실시예(1200, 1300) 각각을 도시한다. 도 1-3에 도시된 바와 같은 IEEE 1149.1 TAP 신호에 더하여, IEEE 1149.4 표준은 IEEE 1149.4 아날로그 테스트 액세스 포트(ATAP)에 대한 두개의 필수 아날로그 핀인 두 개의 아날로그 버스 신호(AT1, AT2)를 포함한다. AT1은 UUT에 일정한 자극 전류를 적용하는데 이용되는 UUT로의 아날로그 입력 핀이며, AT2는 결과 전압을 측정하는데 이용된 UUT로부터의 아날로그 출력이다.
IEEE 1149.4 표준은 AT1/AT2 아날로그 테스트 버스 및 ATAP를 포함하기 위해 IEEE 1149.1 표준에 대한 확장으로 개발되었다. IEEE 1149.4 표준은 예를 들어, 아날로그 상호접속 테스팅을 위해 EXTEST 명령을 이용하는 인프라구조로서 표준 IEEE 1149.1 구조를 이용하도록 설계되었다. 상기 표준은 AT1/AT2 아날로그 테스트 버스를 통해 아날로그 테스트 및 측정 성능을 제공하는 경계 스캔 레지스터에 대한 새로운 아날로그 경계 모듈(ABM)을 정의한다. IEEE 1149.4 표준은 주로 아날로그 신호 및 성분(예를 들어, 단락, 개방 또는 잘못된 값 성분이 로딩됨)에 대한 제조 관련 상호접속 실패의 테스팅을 제공하도록 지정된다. 그러나, AT1/AT2 아날로그 테스트 버스는 또한 예를 들어, 저항 성분 또는 DC 파라메트릭 테스팅의 임피던스 측정과 같은 아날로그 측정 성능을 제공하는데 이용될 수 있다. 또한 예를 들어, 내장된 아날로그 코어의 내부 테스트와 같은 내부 칩 테스팅은 IEEE 1149.4 표준을 이용하는 것이 가능하다.
아날로그 자극의 적용 및 결과 응답 측정의 특성으로 인하여, 아날로그 테스트 및 측정은 디지털 테스팅에 비교할 때 비교적 속도가 느리며 시간을 소비한다. 예를 들어, 단순한 아날로그 테스트는 DC 또는 AC 전류 또는 전압이 테스트 자극으로서 테스트하의 회로에 인가되며 그 후에 결과 아날로그 응답이 측정되고 분석될 것을 필요로 한다. 이것은 일반적으로 아날로그 수단 또는 ATE가 먼저 테스트하의 회로에 스위칭되며 그 후에 적절한 아날로그 테스트를 적용하고 측정하도록 제어된다. 아날로그 수단의 스위칭 및 후속 동작은 일반적으로 테스트/측정 당 수 밀리초 순서로 이루어진다. 이것은 시간을 덜 소모하는 여러 크기의 순서로 달성될 수 있는 디지털 테스팅에 반대된다. 그와 같이, 병렬 아날로그 테스트는, 예를 들어, 보드 제조 테스트동안, 또는 웨이퍼 프로브 테스팅동안 요구된다. 예를 들어, 이러한 아날로그 테스트 성능이 반도체 제조 공정을 모니터링하고 특성화하기 위해 디지털 I/O의 DC 파라메트릭 테스팅을 제공하는데 이용될 수 있다. 이런 경우에, 실리콘 웨이퍼상의 다이간에 이용되는 종래의 이산 트랜지스터 구조 및 웨이퍼 프로브 패드보다는, 테스트 구조는 온-칩에 배치될 수 있으며 IEEE 1149.4 표준을 이용하여 액세스되는 수 있다.
도 12는 PTB가 부가의 IEEE 1149.4 아날로그 테스트 버스 신호, AT1 1240.1 및 AT2 1240.2를 제공하도록 어떻게 확장될 수 있는지를 도시하는 아날로그 병렬 테스트 버스(APTB)를 도시한다. 도 12는 디지털 PTB(1204)에 부가하여, AT1 및 AT2 라인(1240.1-1240.2)과 아날로그 적용 및 측정 수단 유니트(1260)에 결합된 아날로그 공통 그라운드(1242)를 도시한다. AT1, AT2 라인(1240.1, 1240.2)은 논의의 명확화를 위해 도 12에서 개별 버스로서 도시되지만, 일반적으로 APTB(1244)를 구성하는 결합된 버스가 되도록 고려된다. AT1, AT2 라인(1240.1-1240.2)은 각각의 아날로그 스위치(1250.1-1250.n)를 통해 각 UUT(1206.1-1206.n)의 AT1 및 AT2 신호에 접속된다. 아날로그 유니트(1260)는 디지털 테스트 제어기(1202)와 분리되어 또는 결합되어 실행될 수 있다. 논의의 명확화를 위해, 도 12는 아날로그 PTB 구성(1200)의 각각의 아날로그 및 디지털 섹션으로서 아날로그 유니트(1260) 및 테스트 제어기(1202)를 도시한다. 도 12는 또한 아날로그 유니트(1260)와 테스트 제어기 (1202)간의 통신 링크(1270)를 도시한다. 아날로그 적용 및 측정 수단 유니트 (1260)는 아날로그 테스트가 AT_Done 신호를 이용하여 완료되었음을 테스트 제어기(1202)에 시그널링할 수 있으며, PTB 제어기(1208.1-1208.n)는 라인(1272)상의 AT_Next 신호를 통해 다음의 아날로그 테스트를 시작하도록 아날로그 유니트 (1260)에 시그널링할 수 있다. PTB 제어기가 선택될 때 AT_Next 신호는 제어되며, 아날로그 테스트는 접속된 UUT에 대해 셋업된다.
이러한 방법으로, 아날로그 유니트(1260) 및 테스트 제어기(1202)는 UUT (1206.1-1206.n) 각각의 아날로그 테스트를 적용하고 측정하기 위해 자동화된 방식으로 동작할 수 있다. PTB 제어기(1208.1-1208.n)는 또한 APTB의 AT1 및 AT2 라인을 UUT(1206.1-1206.n)에 접속하는 각각의 아날로그 스위치(1250.1-1250.n)의 자동 제어를 제공한다. 아날로그 테스팅을 위한 디지털 셋업은 일반적으로 다수의 UUT (1206.1-1206.n)상에 병렬로 수행되는 반면, 적용 및 측정 동작은 일반적으로 각 UUT에 대해 직렬로 수행되는 것을 주목하라.
도 13은 각각이 도 4를 참조로 상기에 기술된, PTB(504)에 접속된 ATL(602), 마스크 및 비교 회로(604), 디지털 I/O 회로(606) 및 프로그램가능한 I/O 전압 회로(610)를 포함하는 PTB 제어기(1300)를 도시한다. PTB 제어기(1300)는 부가로 아날로그 테스트 성능을 갖는 PTB 제어기(1300)를 제공하는 아날로그 테스트 회로 (1380)를 더 포함한다. 아날로그 테스트 회로(1380)에 부가하여, PTB 제어기 (1300)는 AT1_UUT 신호(1382.1), AT2_UUT 신호(1382.2) 및 접속된 UUT의 아날로그 테스팅을 위한 공통 그라운드(1384)를 제공한다. 그와 같이, AT1_UUT/AT2_UUT 신호(1382.1-1382.2) 및 아날로그 공통 그라운드(1384)를 포함하는 IEEE 1149.4 아날로그 테스트 버스(1386)는 멀티-드롭 PTB(504)상의 각 PTB 제어기로부터 직접 이용가능하게 형성될 수 있다. 게다가, IEEE 1149.4 테스트 버스(1386)는 도 12에 도시된 바와 같이 단일 APTB(1244)를 공유하는 대신 병렬로 각 UUT에 제공된다.
아날로그 테스트 회로(1380)(도 13을 참조)는 디지털 인터페이스를 통해 ATL(602)과 통신하며, 그로 인해 APTB(1386) 또는 아날로그 적용 및 측정 수단 유니트(1260)와 같은 아날로그 섹션을 통한 액세스를 필요로 하지 않고, 아날로그 테스트 회로(1380)가 상기 테스트 제어기에 의해 PTB(504)를 통해 직접 제어되도록 허용한다. 따라서, PTB 제어기(1300)에 대해, AT1 및 AT2 신호(1240.1-1240.2) 및 아날로그 유니트(1260)는 존재하지 않으며, PTB 제어기(1300)와 함께 이용된 PTB(504)와 테스트 제어기(502)는 도 5에 도시된 PTA(500)의 대응 엘리먼트와 동일하다.
아날로그 테스트 회로(1380)(도 13을 참조)는 디지털 데이터간에 변환되는 아날로그 테스트의 "적용" 및 "측정" 기능을 가능하게 하는 아날로그 대 디지털 변환(ADC) 및 디지털 대 아날로그 변환(DAC) 회로(1388)를 포함하며, 따라서 모든 아날로그 테스팅은 PTB(504)상의 디지털 테스트 제어기만을 이용하는 UUT의 다른 디지털 테스트에서와 동일한 방법으로 달성될 수 있다. 아날로그 테스트 회로(1380)는 DAC 회로(1388)에 의해 제어되는 바와 같이, AT1_UUT 신호(1382.1)상의 UUT에 DC 또는 AC 전류를 적용하도록 구성된다. 부가로, 아날로그 테스트 회로(1380)는 아날로그로부터 디지털 형태로 후속적으로 변환되는 AT2_UUT 라인(1382.2)상의 결과 UUT 전압을 측정할 수 있다. 아날로그 테스트 회로(1380)는 AT1(1382.1)에서의 공지된 로드의 AT(1382.2)에서 이루어지는 전압 측정을 제공하는 아날로그 멀티플렉서(1389)를 더 포함하며, 그로 인해 AT1/AT2 버스의 보정을 가능하게 한다. 다수의 PTB 제어기(1300)를 포함하는 병렬 테스트 구조(PTA)는 PTB(504) 및 PTB 제어기(1300)의 병렬 테스트 성능과 연관되는 적용 및 측정 동작의 디지털 변환을 이용함으로써 아날로그 테스트가 병렬로 수행되도록(즉, 다수의 UUT상에 동시에) 허용한다.
상기에 기술된 병렬 테스트 구조의 변형 및 변조는 여기에 개시된 본 발명의 정신 및 범위로부터 이탈하지 않고서 형성될 수 있음을 당업자는 이해할 것이다. 따라서, 본 발명은 다음의 청구범위의 범위 및 정신에 의해서만 제한됨을 이해해야 할 것이다.
Claims (117)
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 전자 회로들을 테스팅하거나, 디버깅하거나, 또는 프로그램가능하게 구성하기 위해 하나 이상의 전자 회로들을 액세스하는 시스템으로서,테스트 버스;상기 테스트 버스에 접속된 주 테스트 제어기; 및상기 테스트 버스에 접속된 다수의 로컬 테스트 제어기를 포함하며, 상기 각각의 로컬 테스트 제어기는 액세스되는 각각의 전자 회로에 결합가능하며,상기 주 테스트 제어기는 상기 각각의 로컬 테스트 제어기를 경유하여 상기 전자 회로들을 병렬로 액세스하기 위해 상기 테스트 버스를 통해 입력 데이터 및 예측 데이터를 상기 각각의 로컬 테스트 제어기에 전송하도록 구성되며,상기 각각의 로컬 테스트 제어기는 그것에 결합가능한 상기 각각의 전자 회로에 입력 데이터를 인가하도록 구성되어, 상기 입력 데이터의 인가에 응답하여 상기 각각의 전자 회로에 의해 생성된 결과 데이터를 수신하고, 상기 예측 데이터를 사용하여 상기 결과 데이터를 인증하는 액세스 시스템.
- 제 52 항에 있어서,상기 각각의 로컬 테스트 제어기는 IEEE 1149.1 테스트 표준과 호환가능한 인터페이스를 포함하며, 로컬 테스트 제어기에 결합가능한 각각의 전자 회로를 액세스하기 위해 상기 IEEE 1149.1 테스트 표준에 주어진 프로토콜을 이용하도록 구성되는 것을 특징으로 하는 액세스 시스템.
- 삭제
- 제 52 항에 있어서,상기 주 테스트 제어기는 IEEE 1149.1 테스트 표준과 호환가능한 인터페이스를 포함하는 것을 특징으로 하는 액세스 시스템.
- 제 52 항에 있어서,상기 테스트 버스는 멀티-드롭 테스트 액세스 버스를 포함하며, 액세스되는 각각의 전자 회로는 각각의 테스트 액세스 버스를 포함하는 것을 특징으로 하는 액세스 시스템.
- 제 56 항에 있어서,상기 각각의 로컬 테스트 제어기는 그것에 결합가능한 상기 전자 회로에 포함된 상기 각각의 테스트 액세스 버스에 상기 멀티-드롭 테스트 액세스 버스를 링크시키도록 부가적으로 구성되는 것을 특징으로 하는 액세스 시스템.
- 제 52 항에 있어서,상기 테스트 버스는 IEEE 1149.1 테스트 표준과 호환가능한 것을 특징으로 하는 액세스 시스템.
- 제 52 항에 있어서,상기 테스트 버스는 디지털 테스트 버스를 포함하고, 상기 주 테스트 제어기는 제 1 주 테스트 제어기이고, 상기 액세스 시스템은 부가하여 아날로그 테스트 버스, 제 2 주 테스트 제어기 및 상기 제 2 주 테스트 제어기를 상기 제 1 주 테스트 제어기에 결합하도록 구성된 통신 링크를 더 포함하며, 상기 아날로그 테스트 버스는 상기 제 2 주 테스트 제어기에 결합되며 액세스되는 상기 각각의 전자 회로에 결합가능한 액세스 시스템.
- 제 59 항에 있어서,상기 제 1 주 테스트 제어기는 부가하여 상기 디지털 테스트 버스를 통해 입력 데이터 및 예측 데이터를 상기 제 2 주 테스트 제어기로 전송하도록 구성되고, 상기 제 2 주 테스트 제어기는 그것에 결합가능한 상기 각각의 전자 회로에 상기 입력 데이터를 인가하도록 구성되어, 상기 입력 데이터의 인가에 응답하여 상기 각각의 전자 회로에 의해 생성된 결과 데이터를 수신하고, 상기 통신 링크를 통해 상기 제 1 주 테스트 제어기에 제공하는 액세스 시스템.
- 제 59 항에 있어서,부가하여 상기 제 2 주 테스트 제어기는 상기 IEEE 1149.4 테스트 표준과 호환가능한 인터페이스를 포함하며, 상기 각각의 전자 회로를 액세스하기 위해 상기 IEEE 1149.4 테스트 표준에 주어진 프로토콜을 이용하도록 구성되는 것을 특징으로 하는 액세스 시스템.
- 삭제
- 제 52 항에 있어서,부가하여 상기 각각의 로컬 테스트 제어기는 액세스된 결과로서 상기 각각의 전자 회로로부터 실제 데이터를 수신하고, 상기 실제 데이터와 상기 예측 데이터를 비교하도록 구성되는 것을 특징으로 하는 액세스 시스템.
- 제 52 항에 있어서,부가하여 상기 주 테스트 제어기는 마스크 데이터를 상기 테스트 버스를 통해 상기 각각의 로컬 테스트 제어기들로 전송하도록 구성되는 액세스 시스템.
- 삭제
- 제 52 항에 있어서,부가하여 상기 각각의 로컬 테스트 제어기는 상기 결과 데이터를 저장하도록 구성되는 것을 특징으로 하는 액세스 시스템.
- 제 66 항에 있어서,부가하여 상기 주 테스트 제어기는 상기 저장된 결과 데이터를 검색하도록 구성되는 것을 특징으로 하는 액세스 시스템.
- 제 63 항에 있어서,부가하여 상기 각각의 로컬 테스트 제어기는 상기 실제 데이터를 압축하도록 구성되는 것을 특징으로 하는 액세스 시스템.
- 삭제
- 제 52 항에 있어서,상기 각각의 로컬 테스트 제어기는 상기 로컬 테스트 제어기와 상기 각각의 전자 회로간에 하나 이상의 디지털 신호를 전달하도록 구성되는 디지털 입력/출력 회로를 포함하는 액세스 시스템.
- 삭제
- 삭제
- 제 52 항에 있어서,부가하여 상기 주 테스트 제어기는 마스크 데이터를 상기 테스트 버스를 통해 상기 각각의 로컬 테스트 제어기들로 전송하도록 구성되는 것을 특징으로 하는 액세스 시스템.
- 삭제
- 삭제
- 삭제
- 삭제
- 제 52 항에 있어서,부가하여 상기 각각의 로컬 테스트 제어기는 상기 입력 데이터의 적어도 일부를 발생시키도록 구성되는 것을 특징으로 하는 액세스 시스템.
- 제 52 항에 있어서,상기 각각의 로컬 테스트 제어기는 상기 로컬 테스트 제어기로부터 상기 주 테스트 제어기로 상기 테스트 버스를 통해 시작 신호를 전송하도록 구성된 자동 시작 회로를 포함하며, 상기 시작 신호는 액세스되는 상기 각각의 전자 회로가 상기 로컬 테스트 제어기에 결합되는 것을 상기 주 테스트 제어기에 나타내도록 동작하는 액세스 시스템.
- 제 52 항에 있어서,상기 각각의 로컬 테스트 제어기는 액세스되는 상기 각각의 전자 회로에 결합가능한 관련 전압 레벨을 갖는 통신 인터페이스 및 상기 각각의 전자 회로와의 전기적 호환성을 보장하기 위해 상기 통신 인터페이스의 상기 전압 레벨을 세팅하도록 구성된 프로그램가능한 입력/출력 전압 회로를 포함하는 액세스 시스템.
- 제 80 항에 있어서,상기 프로그램가능한 입력/출력 전압 회로는 상기 주 테스트 제어기에 의해 상기 테스트 버스를 통해 전송된 적어도 하나의 신호에 기초하여 상기 통신 인터페이스의 상기 전압 레벨을 세팅하는 것을 특징으로 하는 액세스 시스템.
- 제 52 항에 있어서,상기 테스트 버스는 다수의 테스트 버스를 포함하며, 다수의 로컬 테스트 제어기의 각각은 상기 테스트 버스에 접속되며, 연속적으로 상기 테스트 버스와 상호접속하도록 구성된 적어도 하나의 버스 브리지를 더 포함하는 액세스 시스템.
- 제 82 항에 있어서,상기 버스 브리지는 제 1 테스트 버스와 제 2 테스트 버스를 상호접속하며, 상기 제 1 테스트 버스는 소스 버스인 것을 특징으로 하는 액세스 시스템.
- 제 82 항에 있어서,상기 버스 브리지는 제 1 테스트 버스와 제 2 테스트 버스를 상호접속하고, 상기 제 1 및 제 2 테스트 버스 각각은 테스트 데이터를 전달하도록 구성되며, 상기 버스 브리지는 상기 제 1 테스트 버스와 상기 제 2 테스트 버스 사이에서 상기 테스트 데이터를 전달하도록 구성되는 것을 특징으로 하는 액세스 시스템.
- 제 52 항에 있어서,상기 주 테스트 제어기는 상기 다수의 로컬 테스트 제어기를 어드레싱하기 위해 다수의 모드를 나타내는 데이터를 저장하며, 상기 어드레싱 모드 중 하나에 따라 상기 다수의 로컬 테스트 제어기 중 적어도 하나를 어드레싱하기 위해 적어도 하나의 애플리케이션을 실행하도록 구성되는 액세스 시스템.
- 제 85 항에 있어서,상기 각각의 로컬 테스트 제어기는 관련된 어드레스 값을 가지며, 상기 어드레싱 모드 중 하나에서 상기 주 테스트 제어기는 관련된 어드레스 값에 기초하여 하나의 단일 로컬 테스트 제어기를 어드레싱하는 것을 특징으로 하는 액세스 시스템.
- 제 85 항에 있어서,상기 각각의 로컬 테스트 제어기는 관련된 식별 값을 가지며, 상기 어드레싱 모드 중 하나에서 상기 주 테스트 제어기는 관련된 식별 값에 기초하여 상기 다수의 로컬 테스트 제어기 중 하나 이상을 어드레싱하는 것을 특징으로 하는 액세스 시스템.
- 제 85 항에 있어서,상기 각각의 로컬 테스트 제어기는 관련된 그룹 어드레스 값을 가지며, 상기 어드레싱 모드 중 하나에서 상기 주 테스트 제어기는 상기 동일한 그룹 어드레스 값을 갖는 각각의 로컬 테스트 제어기를 어드레싱하는 것을 특징으로 하는 액세스 시스템.
- 제 85 항에 있어서,상기 다수의 로컬 테스트 제어기 중 적어도 하나는 관련된 에일리어스 (alias) 어드레스 값을 가지며, 상기 어드레싱 모드 중 하나에서 상기 주 테스트 제어기는 관련된 에일리어스 어드레스 값에 기초하여 적어도 하나의 로컬 테스트 제어기를 어드레싱하는 것을 특징으로 하는 액세스 시스템.
- 전자 회로들을 테스팅하거나, 디버깅하거나 또는 프로그램가능하게 구성하기 위해 하나 이상의 전자 회로들을 액세스하는 테스트 버스 구조로서,테스트 버스;상기 테스트 버스에 접속된 주 테스트 제어기; 및상기 테스트 버스에 접속된 다수의 로컬 테스트 제어기를 포함하며, 상기 각각의 로컬 테스트 제어기는 액세스되는 각각의 전자 회로에 결합가능하며,상기 테스트 버스는 상기 각각의 로컬 테스트 제어기를 통해 상기 전자 회로들을 병렬로 액세스하기 위해 상기 주 테스트 제어기로부터 상기 각각의 로컬 테스트 제어기로 입력 데이터 및 예측 데이터를 전달하도록 구성된 테스트 버스 구조.
- 제 90 항에 있어서,상기 액세스되는 전자 회로들의 각각의 포트는 IEEE 1149.1 테스트 표준과 호환가능한 것을 특징으로 하는 테스트 버스 구조.
- 제 90 항에 있어서,상기 테스트 버스는 멀티-드롭 테스트 액세스 버스를 포함하는 것을 특징으로 하는 테스트 버스 구조.
- 제 90 항에 있어서,상기 테스트 버스는 상기 IEEE 1149.1 테스트 표준과 호환가능한 것을 특징으로 하는 테스트 버스 구조.
- 제 90 항에 있어서,상기 테스트 버스는 상기 주 테스트 제어기와 상기 다수의 로컬 테스트 제어기 간에 적어도 하나의 테스트 액세스 신호를 전달하도록 부가적으로 구성되며, 상기 적어도 하나의 테스트 액세스 신호는 테스트 클록 신호, 테스트 모드 선택 신호, 테스트-데이터 입력 신호, 테스트-데이터 출력 신호 및 테스트 리셋 신호를 포함하는 신호 그룹으로부터 선택되는 것을 특징으로 하는 테스트 버스 구조.
- 삭제
- 제 90 항에 있어서,상기 각각의 로컬 테스트 제어기는 상기 각각의 전자 회로로부터 실제 데이터를 수신하고, 상기 실제 데이터와 상기 예측 데이터를 비교하도록 더 구성되며, 상기 테스트 버스는 비교의 결과로서 상기 각각의 로컬 테스트 제어기로부터 상기 주 테스트 제어기로 결과 데이터를 전달하도록 더 구성되는 테스트 버스 구조.
- 제 90 항에 있어서,부가하여 상기 테스트 버스는 마스크 데이터를 상기 주 테스트 제어기로부터 상기 각각의 로컬 테스트 제어기로 전달하도록 구성되는 것을 특징으로 하는 테스트 버스 구조.
- 삭제
- 제 90 항에 있어서,상기 테스트 버스는 상기 각각의 로컬 테스트 제어기로부터 상기 주 테스트 제어기로 시작 신호를 전달하도록 더 구성되며, 상기 시작 신호는 액세스되는 상기 각각의 전자 회로가 상기 로컬 테스트 제어기에 결합되는 것을 상기 주 테스트 제어기에 나타내도록 동작하는 테스트 버스 구조.
- 하나 이상의 전자 회로들을 테스팅하거나, 디버깅하거나 또는 프로그램가능하게 구성하기 위해 하나 이상의 전자 회로들로의 액세스를 제어하는 테스트 제어기로서,테스트 버스에 접속가능한 통신 인터페이스를 포함하는데, 상기 테스트 버스는 다수의 로컬 제어기에 접속되며, 상기 각각의 로컬 제어기는 액세스되는 각각의 전자 회로에 결합가능하며; 및상기 다수의 로컬 제어기를 통해 상기 각각의 전자 회로를 병렬로 액세스하기 위해 적어도 하나의 애플리케이션을 저장하도록 구성된 적어도 하나의 저장 장치를 포함하며,상기 테스트 제어기는 상기 통신 인터페이스를 경유하여 상기 테스트 버스를 통해 상기 각각의 로컬 제어기로의 입력 데이터 및 예측 데이터 전송을 제어하기 위해 상기 적어도 하나의 애플리케이션을 실행하도록 구성되며, 상기 각각의 로컬 제어기는 상기 테스트 제어기에 의해 상기 테스트 버스를 통해 전송된 상기 입력 데이터 및 상기 예측 데이터를 사용하여 상기 로컬 제어기에 결합가능한 상기 전자 회로를 테스트하도록 구성되는 테스트 제어기.
- 제 100 항에 있어서,상기 통신 인터페이스는 IEEE 1149.1 테스트 표준과 호환가능한 것을 특징으로 하는 테스트 제어기.
- 제 100 항에 있어서,상기 적어도 하나의 저장 장치는 선택된 로컬 제어기에 의해 하나의 단일 전자 회로를 액세스하기 위해 적어도 하나의 애플리케이션을 저장하도록 구성되며, 상기 테스트 제어기는 상기 통신 인터페이스를 경유하여 상기 테스트 버스를 통해 상기 선택된 로컬 제어기로의 입력 데이터 및 예측 데이터의 전송을 제어하기 위해 상기 적어도 하나의 애플리케이션을 실행하도록 구성되는 것을 특징으로 하는 테스트 제어기.
- 삭제
- 삭제
- 제 100 항에 있어서,상기 각각의 로컬 제어기는 관련된 식별 값을 가지며, 상기 어드레싱 모드 중 하나에서 상기 테스트 제어기는 관련된 식별 값에 기초하여 상기 다수의 로컬 제어기 중 하나 이상을 어드레싱하는 테스트 제어기.
- 제 100 항에 있어서,상기 각각의 로컬 제어기는 관련된 그룹 어드레스 값을 가지며, 상기 어드레싱 모드 중 하나에서 상기 테스트 제어기는 상기 동일한 그룹 어드레스 값을 갖는 각각의 로컬 제어기를 어드레싱하는 테스트 제어기.
- 제 100 항에 있어서,상기 다수의 로컬 제어기 중 적어도 하나는 관련된 에일리어스(alias) 어드레스 값을 가지며, 상기 어드레싱 모드 중 하나에서 상기 테스트 제어기는 관련된 에일리어스 어드레스 값에 기초하여 적어도 하나의 로컬 제어기를 어드레싱하는 테스트 제어기.
- 삭제
- 전자 회로들을 테스팅하거나, 디버깅하거나 또는 프로그램가능하게 구성하기 위해 하나 이상의 전자 회로들을 액세스하는 방법으로서,제 1 테스트 버스를 제공하는 단계;상기 제 1 테스트 버스에 접속된 주 테스트 제어기 및 다수의 로컬 테스트 제어기를 제공하는 단계를 포함하는데, 상기 각각의 로컬 테스트 제어기는 액세스되는 각각의 전자 회로에 결합가능하며;상기 각각의 로컬 테스트 제어기를 통해 상기 전자 회로들을 병렬로 액세스하기 위해 상기 주 테스트 제어기에 의해 상기 제 1 테스트 버스를 통해 입력 데이터 및 예측 데이터를 각각의 로컬 테스트 제어기에 전송하는 단계;상기 각각의 로컬 테스트 제어기에 의해 상기 전자 회로들로 상기 입력 데이터를 인가하는 단계;상기 각각의 로컬 테스트 제어기에 의해 상기 입력 데이터의 인가에 응답하여 상기 전자 회로들에 의해 생성된 결과 데이터를 수신하는 단계; 및상기 각각의 로컬 테스트 제어기에 의해 상기 예측 데이터를 사용하여 상기 결과 데이터를 인증하는 단계;를 포함하는 액세스 방법.
- 삭제
- 삭제
- 제 109 항에 있어서,상기 로컬 테스트 제어기에 의해 액세스된 결과로 상기 각각의 전자 회로로부터 실제 데이터를 수신하는 단계; 및상기 로컬 테스트 제어기에 의해 상기 실제 데이터를 상기 예측 데이터와 비교하는 단계;를 더 포함하는 것을 특징으로 하는 액세스 방법.
- 제 109 항에 있어서,상기 주 테스트 제어기에 의해 마스크 데이터를 상기 각각의 로컬 테스트 제어기로 전송하는 단계를 더 포함하는 것을 특징으로 하는 액세스 방법.
- 제 109 항에 있어서,상기 제 1 제공단계는 다수의 테스트 버스를 제공하는 단계를 포함하며, 상기 제 2 제공단계는 상기 테스트 버스에 접속된 다수의 로컬 테스트 제어기의 각각을 제공하는 단계를 포함하며, 적어도 하나의 버스 브리지에 의해 상기 테스트 버스를 연속하여 상호접속하는 단계를 더 포함하는 액세스 방법.
- 제 114 항에 있어서,상기 테스트 버스를 연속하여 상호접속하는 단계는 상기 버스 브리지에 의해 제 1 테스트 버스와 제 2 테스트 버스를 상호접속하는 단계를 포함하며, 상기 제 1 테스트 버스는 소스 버스로서 구성되는 것을 특징으로 하는 액세스 방법.
- 제 114 항에 있어서,상기 테스트 버스를 연속하여 상호접속하는 단계는 상기 버스 브리지에 의해 제 1 테스트 버스와 제 2 테스트 버스를 상호접속하는 단계를 포함하며, 상기 제 1 및 제 2 테스트 버스 각각은 테스트 데이터를 전달하도록 구성되고, 상기 버스 브리지를 통해 상기 제 1 테스트 버스와 상기 제 2 테스트 버스 사이에서 상기 테스트 데이터를 전달하는 단계를 더 포함하는 것을 특징으로 하는 액세스 방법.
- 제 52항에 있어서,상기 각각의 로컬 테스트 제어기는 상기 각각의 전자 회로를 액세스하는 결과로서 상기 테스트 버스를 통해 상기 주 테스트 제어기에 결과 데이터를 제공하도록 더 구성되는 것을 특징으로 하는 액세스 시스템.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US30305201P | 2001-07-05 | 2001-07-05 | |
US60/303,052 | 2001-07-05 | ||
US10/119,060 US6988232B2 (en) | 2001-07-05 | 2002-04-09 | Method and apparatus for optimized parallel testing and access of electronic circuits |
US10/119,060 | 2002-04-09 | ||
PCT/US2002/020505 WO2003005050A1 (en) | 2001-07-05 | 2002-06-27 | Method and apparatus for optimized parallel testing and access of electronic circuits |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20030048024A KR20030048024A (ko) | 2003-06-18 |
KR100623310B1 true KR100623310B1 (ko) | 2006-09-18 |
Family
ID=26817004
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020037003224A KR100623310B1 (ko) | 2001-07-05 | 2002-06-27 | 전자 회로의 최적화된 병렬 테스팅 및 액세스 방법 및 장치 |
Country Status (11)
Country | Link |
---|---|
US (2) | US6988232B2 (ko) |
EP (1) | EP1402278B1 (ko) |
JP (1) | JP4083117B2 (ko) |
KR (1) | KR100623310B1 (ko) |
CN (1) | CN100416288C (ko) |
AT (1) | ATE370423T1 (ko) |
CA (1) | CA2421047C (ko) |
DE (1) | DE60221836T2 (ko) |
HK (1) | HK1064444A1 (ko) |
TW (1) | TWI250293B (ko) |
WO (1) | WO2003005050A1 (ko) |
Families Citing this family (127)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7308629B2 (en) | 2004-12-07 | 2007-12-11 | Texas Instruments Incorporated | Addressable tap domain selection circuit with TDI/TDO external terminal |
US7328387B2 (en) * | 2004-12-10 | 2008-02-05 | Texas Instruments Incorporated | Addressable tap domain selection circuit with selectable ⅗ pin interface |
US7159161B2 (en) * | 1999-01-29 | 2007-01-02 | National Science Council | Test method and architecture for circuits having inputs |
US7657810B2 (en) * | 2006-02-03 | 2010-02-02 | Texas Instruments Incorporated | Scan testing using scan frames with embedded commands |
US7417450B2 (en) | 2005-12-02 | 2008-08-26 | Texas Instruments Incorporated | Testing combinational logic die with bidirectional TDI-TMS/TDO chanel circuit |
US7200783B2 (en) * | 2003-11-04 | 2007-04-03 | Texas Instruments Incorporated | Removable and replaceable TAP domain selection circuitry |
US6823497B2 (en) * | 1999-11-30 | 2004-11-23 | Synplicity, Inc. | Method and user interface for debugging an electronic system |
US7065481B2 (en) * | 1999-11-30 | 2006-06-20 | Synplicity, Inc. | Method and system for debugging an electronic system using instrumentation circuitry and a logic analyzer |
US7356786B2 (en) * | 1999-11-30 | 2008-04-08 | Synplicity, Inc. | Method and user interface for debugging an electronic system |
US7240303B1 (en) | 1999-11-30 | 2007-07-03 | Synplicity, Inc. | Hardware/software co-debugging in a hardware description language |
US8286046B2 (en) | 2001-09-28 | 2012-10-09 | Rambus Inc. | Integrated circuit testing module including signal shaping interface |
JP4217158B2 (ja) * | 2002-01-23 | 2009-01-28 | インテリテック コーポレイション | 電子回路のライセンスされた引渡しおよび課金をするための管理システム、方法および装置 |
TW531876B (en) * | 2002-04-24 | 2003-05-11 | Winbond Electronics Corp | Manufacturing method of identification code for integrated circuit |
US7827510B1 (en) | 2002-06-07 | 2010-11-02 | Synopsys, Inc. | Enhanced hardware debugging with embedded FPGAS in a hardware description language |
US7231552B2 (en) * | 2002-10-24 | 2007-06-12 | Intel Corporation | Method and apparatus for independent control of devices under test connected in parallel |
US7424417B2 (en) * | 2002-11-19 | 2008-09-09 | Broadcom Corporation | System and method for clock domain grouping using data path relationships |
JP2004264057A (ja) * | 2003-02-12 | 2004-09-24 | Sharp Corp | バウンダリスキャンコントローラ、半導体装置、半導体装置の半導体回路チップ識別方法、半導体装置の半導体回路チップ制御方法 |
US7340364B1 (en) * | 2003-02-26 | 2008-03-04 | Advantest Corporation | Test apparatus, and control method |
JP2005037995A (ja) * | 2003-07-15 | 2005-02-10 | Toshiba Corp | 半導体集積回路の検証システム |
DE10340828A1 (de) * | 2003-09-04 | 2005-04-28 | Infineon Technologies Ag | Testanordnung und Verfahren zur Auswahl eines Testmodus-Ausgabekanals |
DE60323246D1 (de) * | 2003-12-17 | 2008-10-09 | St Microelectronics Res & Dev | TAP-Daten-Transfer mit doppelter Daten-Rate |
EP1544633B1 (en) | 2003-12-17 | 2008-10-01 | STMicroelectronics (Research & Development) Limited | Tap multiplexer |
EP1544631B1 (en) | 2003-12-17 | 2007-06-20 | STMicroelectronics Limited | Reset mode for scan test modes |
US7752004B1 (en) * | 2004-01-09 | 2010-07-06 | Cisco Technology, Inc. | Method and apparatus for configuring plurality of devices on printed circuit board into desired test port configuration |
US7149943B2 (en) * | 2004-01-12 | 2006-12-12 | Lucent Technologies Inc. | System for flexible embedded Boundary Scan testing |
US7356745B2 (en) | 2004-02-06 | 2008-04-08 | Texas Instruments Incorporated | IC with parallel scan paths and compare circuitry |
US20050204217A1 (en) * | 2004-02-06 | 2005-09-15 | Whetsel Lee D. | Identical core testing using dedicated compare and mask circuitry |
US7096139B2 (en) * | 2004-02-17 | 2006-08-22 | Advantest Corporation | Testing apparatus |
US7404128B2 (en) * | 2004-02-17 | 2008-07-22 | Texas Instruments Incorporated | Serial data I/O on JTAG TCK with TMS clocking |
US7584386B2 (en) | 2004-04-21 | 2009-09-01 | Stmicroelectronics Sa | Microprocessor comprising error detection means protected against an attack by error injection |
US7395471B2 (en) | 2004-06-17 | 2008-07-01 | Texas Instruments Incorporated | Connection of auxiliary circuitry to tap and instruction register controls |
US7412624B1 (en) * | 2004-09-14 | 2008-08-12 | Altera Corporation | Methods and apparatus for debugging a system with a hung data bus |
US7263639B2 (en) * | 2004-09-30 | 2007-08-28 | Intel Corporation | Combinatorial at-speed scan testing |
US7266743B2 (en) * | 2004-09-30 | 2007-09-04 | Intel Corporation | Combinatorial at-speed scan testing |
JP2006107590A (ja) * | 2004-10-04 | 2006-04-20 | Nec Electronics Corp | 半導体集積回路装置及びそのテスト方法 |
US7500165B2 (en) | 2004-10-06 | 2009-03-03 | Broadcom Corporation | Systems and methods for controlling clock signals during scan testing integrated circuits |
US7650542B2 (en) * | 2004-12-16 | 2010-01-19 | Broadcom Corporation | Method and system of using a single EJTAG interface for multiple tap controllers |
JP4542910B2 (ja) * | 2005-01-07 | 2010-09-15 | Okiセミコンダクタ株式会社 | テストシステム |
US7900099B2 (en) * | 2005-01-25 | 2011-03-01 | Micron Technology, Inc. | Enabling test modes of individual integrated circuit devices out of a plurality of integrated circuit devices |
US7543200B2 (en) * | 2005-02-17 | 2009-06-02 | Advantest Corporation | Method and system for scheduling tests in a parallel test system |
JP4826116B2 (ja) * | 2005-03-25 | 2011-11-30 | 富士通株式会社 | Ram試験装置及び試験方法 |
US7895308B2 (en) * | 2005-05-11 | 2011-02-22 | Tindall Steven J | Messaging system configurator |
TWI266065B (en) * | 2005-05-18 | 2006-11-11 | Via Tech Inc | Chip capable of testing itself and testing method thereof |
US7657807B1 (en) * | 2005-06-27 | 2010-02-02 | Sun Microsystems, Inc. | Integrated circuit with embedded test functionality |
US20070006056A1 (en) * | 2005-06-30 | 2007-01-04 | Lucent Technologies Inc. | Method and apparatus for enabling multipoint bus access |
US7528622B2 (en) | 2005-07-06 | 2009-05-05 | Optimal Test Ltd. | Methods for slow test time detection of an integrated circuit during parallel testing |
US7208969B2 (en) * | 2005-07-06 | 2007-04-24 | Optimaltest Ltd. | Optimize parallel testing |
US20070168809A1 (en) * | 2005-08-09 | 2007-07-19 | Naoki Kiryu | Systems and methods for LBIST testing using commonly controlled LBIST satellites |
EP1922555B1 (en) | 2005-08-09 | 2014-10-08 | Texas Instruments Incorporated | Selectable jtag or trace access with data store and output |
US20070035321A1 (en) * | 2005-08-10 | 2007-02-15 | Emanuel Gorodetsky | Device and method for testing mixed-signal circuits |
KR100660640B1 (ko) * | 2005-08-18 | 2006-12-21 | 삼성전자주식회사 | 웨이퍼 자동선별 테스트를 위한 데이터 기입 장치 및 방법 |
EP1791133A1 (en) * | 2005-11-29 | 2007-05-30 | STMicroelectronics Pvt. Ltd. | A method of sharing testing components for multiple embedded memories and the memory system incorporating the same |
US7345502B1 (en) * | 2006-01-17 | 2008-03-18 | Xilinx, Inc. | Design security for configurable devices |
US7404121B2 (en) * | 2006-01-31 | 2008-07-22 | Verigy (Singapore) Pte. Ltd. | Method and machine-readable media for inferring relationships between test results |
CN101405609B (zh) | 2006-02-17 | 2012-11-14 | 明导公司 | 多级测试响应压缩器 |
US7743304B2 (en) * | 2006-02-17 | 2010-06-22 | Verigy (Singapore) Pte. Ltd. | Test system and method for testing electronic devices using a pipelined testing architecture |
KR100781276B1 (ko) * | 2006-03-09 | 2007-11-30 | 엘지전자 주식회사 | 테스트 회로 변환 방법 |
US20070260812A1 (en) * | 2006-05-04 | 2007-11-08 | Westell Technologies, Inc. | Programming method for write buffer and double word flash programming |
US20070258298A1 (en) * | 2006-05-04 | 2007-11-08 | Westell Technologies, Inc. | Parallel programming of flash memory during in-circuit test |
US7360137B2 (en) * | 2006-05-04 | 2008-04-15 | Westell Technologies, Inc. | Flash programmer for programming NAND flash and NOR/NAND combined flash |
US7580807B2 (en) * | 2006-06-15 | 2009-08-25 | Texas Instruments Incorporated | Test protocol manager for massive multi-site test |
JP4262265B2 (ja) * | 2006-06-20 | 2009-05-13 | キヤノン株式会社 | 半導体集積回路 |
JP4705886B2 (ja) * | 2006-06-20 | 2011-06-22 | 株式会社日立製作所 | 回路基板の診断方法、回路基板およびcpuユニット |
US20080016421A1 (en) * | 2006-07-13 | 2008-01-17 | International Business Machines Corporation | Method and apparatus for providing programmable control of built-in self test |
US7681081B2 (en) * | 2006-09-15 | 2010-03-16 | Hong Fu Jin Precision Industry (Shenzhen) Co., Ltd. | Test device and method for testing stability of computer |
KR100881622B1 (ko) * | 2006-11-14 | 2009-02-04 | 삼성전자주식회사 | 멀티칩 및 그것의 테스트 방법 |
US8108744B2 (en) * | 2006-11-28 | 2012-01-31 | Stmicroelectronics Pvt. Ltd. | Locally synchronous shared BIST architecture for testing embedded memories with asynchronous interfaces |
US7882405B2 (en) * | 2007-02-16 | 2011-02-01 | Atmel Corporation | Embedded architecture with serial interface for testing flash memories |
US8261143B2 (en) * | 2007-05-07 | 2012-09-04 | Texas Instruments Incorporated | Select signal and component override signal controlling multiplexing TDI/TDO |
US7877653B2 (en) * | 2007-05-09 | 2011-01-25 | Texas Instruments Incorporated | Address and TMS gating circuitry for TAP control circuit |
KR100878301B1 (ko) * | 2007-05-10 | 2009-01-13 | 주식회사 하이닉스반도체 | 다중 테스트 모드를 지원하는 테스트 회로 |
US8015462B2 (en) * | 2007-05-11 | 2011-09-06 | Renesas Electronics Corporation | Test circuit |
US7958419B2 (en) * | 2007-06-07 | 2011-06-07 | Texas Instruments Incorporated | Entering a shift-DR state in one of star connected components |
CN101102566B (zh) * | 2007-06-25 | 2010-12-08 | 中兴通讯股份有限公司 | 一种手机jtag调试接口信号设计方法及其调试方法 |
US8384410B1 (en) * | 2007-08-24 | 2013-02-26 | Advantest (Singapore) Pte Ltd | Parallel test circuit with active devices |
US7890286B2 (en) * | 2007-12-18 | 2011-02-15 | Hynix Semiconductor Inc. | Test circuit for performing multiple test modes |
US7870448B2 (en) * | 2007-12-18 | 2011-01-11 | International Business Machines Corporation | In system diagnostics through scan matrix |
US8458542B2 (en) * | 2007-12-21 | 2013-06-04 | Sony Corporation | Analog scan circuit, analog flip-flop, and data processing apparatus |
US7805644B2 (en) * | 2007-12-29 | 2010-09-28 | Texas Instruments Incorporated | Multiple pBIST controllers |
US8242796B2 (en) * | 2008-02-21 | 2012-08-14 | Advantest (Singapore) Pte Ltd | Transmit/receive unit, and methods and apparatus for transmitting signals between transmit/receive units |
US7793181B2 (en) * | 2008-03-27 | 2010-09-07 | Arm Limited | Sequential storage circuitry for an integrated circuit |
JP4992791B2 (ja) * | 2008-03-28 | 2012-08-08 | 富士通株式会社 | スキャン制御方法及び装置 |
JP5167904B2 (ja) * | 2008-03-28 | 2013-03-21 | 富士通株式会社 | スキャン制御方法、スキャン制御回路及び装置 |
JP2009266258A (ja) | 2008-04-22 | 2009-11-12 | Hitachi Ltd | 半導体装置 |
US8255749B2 (en) * | 2008-07-29 | 2012-08-28 | Texas Instruments Incorporated | Ascertaining configuration by storing data signals in a topology register |
US8112249B2 (en) * | 2008-12-22 | 2012-02-07 | Optimaltest Ltd. | System and methods for parametric test time reduction |
CN101813744B (zh) * | 2009-02-23 | 2012-09-19 | 京元电子股份有限公司 | 平行测试系统以及平行测试方法 |
US8161434B2 (en) * | 2009-03-06 | 2012-04-17 | Synopsys, Inc. | Statistical formal activity analysis with consideration of temporal and spatial correlations |
US8312331B2 (en) * | 2009-04-16 | 2012-11-13 | Freescale Semiconductor, Inc. | Memory testing with snoop capabilities in a data processing system |
US8108742B2 (en) | 2009-06-11 | 2012-01-31 | Texas Instruments Incorporated | Tap control of TCA scan clock and scan enable |
KR20110015217A (ko) * | 2009-08-07 | 2011-02-15 | 삼성전자주식회사 | 향상된 신호 무결성을 가지는 메모리 시스템 |
IT1398937B1 (it) * | 2010-02-17 | 2013-03-28 | St Microelectronics Srl | Metodo per eseguire un testing elettrico di dispositivi elettronici |
TWI482166B (zh) * | 2010-03-19 | 2015-04-21 | Hoy Technology Co Ltd | Hybrid self - test circuit structure |
US9304166B2 (en) * | 2010-07-16 | 2016-04-05 | Infineon Technologies Ag | Method and system for wafer level testing of semiconductor chips |
US9336105B2 (en) * | 2010-09-30 | 2016-05-10 | International Business Machines Corporation | Evaluation of multiple input signature register results |
CN102073565B (zh) * | 2010-12-31 | 2014-02-19 | 华为技术有限公司 | 触发操作方法、多核分组调试方法、装置及系统 |
US8473792B2 (en) * | 2011-01-06 | 2013-06-25 | Lsi Corporation | Logic BIST for system testing using stored patterns |
CN102129887B (zh) * | 2011-01-17 | 2016-03-23 | 上海华虹宏力半导体制造有限公司 | 存储器测试模式信号产生电路及方法 |
WO2012100830A1 (en) * | 2011-01-27 | 2012-08-02 | Advantest (Singapore) Pte. Ltd. | Test card for testing one or more devices under test and tester |
US8826086B2 (en) * | 2011-02-07 | 2014-09-02 | Sandisk Technologies Inc. | Memory card test interface |
US8615694B2 (en) * | 2011-02-07 | 2013-12-24 | Texas Instruments Incorporated | Interposer TAP boundary register coupling stacked die functional input/output data |
US8566657B2 (en) | 2011-04-26 | 2013-10-22 | Taiwan Semiconductor Manufacturing Co., Ltd. | Circuit and method for diagnosing scan chain failures |
US9817062B2 (en) * | 2011-05-19 | 2017-11-14 | Celerint, Llc. | Parallel concurrent test system and method |
SG194193A1 (en) * | 2011-05-19 | 2013-11-29 | Celerint Llc | Parallel concurrent test system and method |
US8756467B2 (en) * | 2011-11-30 | 2014-06-17 | Freescale Semiconductor, Inc. | Methods and apparatus for testing multiple-IC devices |
US8645774B2 (en) | 2011-12-13 | 2014-02-04 | International Business Machines Corporation | Expedited memory drive self test |
US8977919B2 (en) | 2012-02-21 | 2015-03-10 | Texas Instruments Incorporated | Scan, test, and control circuits coupled to IC surfaces contacts |
US9091727B1 (en) * | 2012-10-16 | 2015-07-28 | Xilinx, Inc. | Configuration and testing of multiple-die integrated circuits |
US20150046763A1 (en) * | 2013-08-12 | 2015-02-12 | Apple Inc. | Apparatus and Method for Controlling Internal Test Controllers |
WO2015193707A1 (en) * | 2014-06-19 | 2015-12-23 | X-Fab Semiconductor Foundries Ag | Sleek serial interface for a wrapper boundary register (device and method) |
US9823304B2 (en) | 2015-04-30 | 2017-11-21 | Stmicroelectronics S.R.L. | Integrated electronic device having a test architecture, and test method thereof |
US20170125125A1 (en) * | 2015-10-30 | 2017-05-04 | Texas Instruments Incorporated | Area-efficient parallel test data path for embedded memories |
US11175638B2 (en) | 2015-11-09 | 2021-11-16 | Otis Elevator Company | Self-diagnostic electrical circuit |
DE102016123400B3 (de) * | 2016-01-19 | 2017-04-06 | Elmos Semiconductor Aktiengesellschaft | Eindrahtlichtsteuerbus mit mehreren Pegeln |
US10095650B2 (en) * | 2016-04-04 | 2018-10-09 | A-Dec, Inc. | High speed controller area network (CAN) in dental equipment |
US11262396B2 (en) * | 2017-02-10 | 2022-03-01 | Checksum, Llc | Functional tester for printed circuit boards, and associated systems and methods |
WO2018223384A1 (zh) * | 2017-06-09 | 2018-12-13 | 海能达通信股份有限公司 | 通信设备及其通信系统 |
CN109425796B (zh) * | 2017-08-30 | 2021-09-07 | 中兴通讯股份有限公司 | 一种背板工装测试系统 |
CN109540268B (zh) * | 2018-12-18 | 2020-06-30 | 成都前锋电子仪器有限责任公司 | 一种能够自动初始化的智能燃气表主板的检测方法 |
WO2020152231A1 (en) | 2019-01-22 | 2020-07-30 | Advantest Corporation | Automated test equipment for testing one or more devices under test, method for automated testing of one or more devices under test, and computer program using a buffer memory |
WO2020231717A1 (en) * | 2019-05-10 | 2020-11-19 | Westinghouse Electric Company Llc | Calibration system and method |
CN112147482B (zh) * | 2019-06-26 | 2023-06-13 | 杭州广立微电子股份有限公司 | 一种并行测试系统及其测试方法 |
CN110808743B (zh) * | 2019-10-30 | 2020-11-06 | 电子科技大学 | 一种高速并行信号处理方法与装置 |
EP4198529A4 (en) * | 2020-08-31 | 2023-10-25 | Huawei Technologies Co., Ltd. | CHIP TEST CIRCUIT AND CIRCUIT TESTING METHODS |
CN112649717B (zh) * | 2020-09-15 | 2024-07-26 | 深圳市几米物联有限公司 | 一种测试方法、装置、终端设备及存储介质 |
CN112255527A (zh) * | 2020-09-24 | 2021-01-22 | 胜达克半导体科技(上海)有限公司 | 一种测试组件及集成电路测试机 |
TWI773301B (zh) * | 2021-05-07 | 2022-08-01 | 華邦電子股份有限公司 | 半導體晶圓與多晶片的並行測試方法 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0417905B1 (en) | 1989-08-09 | 1997-11-05 | Texas Instruments Incorporated | System scan path architecture |
US5617420A (en) * | 1992-06-17 | 1997-04-01 | Texas Instrument Incorporated | Hierarchical connection method, apparatus, and protocol |
US5627842A (en) * | 1993-01-21 | 1997-05-06 | Digital Equipment Corporation | Architecture for system-wide standardized intra-module and inter-module fault testing |
US6006343A (en) * | 1993-07-30 | 1999-12-21 | Texas Instruments Incorporated | Method and apparatus for streamlined testing of electrical circuits |
DE69734379T2 (de) * | 1996-08-30 | 2006-07-06 | Texas Instruments Inc., Dallas | Vorrichtung zur Prüfung von integrierten Schaltungen |
US6018815A (en) * | 1996-10-18 | 2000-01-25 | Samsung Electronics Co., Ltd. | Adaptable scan chains for debugging and manufacturing test purposes |
US5805610A (en) * | 1997-04-28 | 1998-09-08 | Credence Systems Corporation | Virtual channel data distribution system for integrated circuit tester |
US6000051A (en) * | 1997-10-10 | 1999-12-07 | Logic Vision, Inc. | Method and apparatus for high-speed interconnect testing |
US6408413B1 (en) * | 1998-02-18 | 2002-06-18 | Texas Instruments Incorporated | Hierarchical access of test access ports in embedded core integrated circuits |
JP2000276367A (ja) * | 1999-03-23 | 2000-10-06 | Advantest Corp | データ書込装置、データ書込方法、及び試験装置 |
US6385749B1 (en) * | 1999-04-01 | 2002-05-07 | Koninklijke Philips Electronics N.V. (Kpenv) | Method and arrangement for controlling multiple test access port control modules |
US6476628B1 (en) * | 1999-06-28 | 2002-11-05 | Teradyne, Inc. | Semiconductor parallel tester |
US6728814B2 (en) * | 2000-02-09 | 2004-04-27 | Raytheon Company | Reconfigurable IEEE 1149.1 bus interface |
US7113902B2 (en) * | 2000-03-02 | 2006-09-26 | Texas Instruments Incorporated | Data processing condition detector with table lookup |
US6618827B1 (en) * | 2000-04-13 | 2003-09-09 | Hewlett-Packard Development Company, L.P. | System and method for parallel testing of IEEE 1149.1 compliant integrated circuits |
US6671844B1 (en) * | 2000-10-02 | 2003-12-30 | Agilent Technologies, Inc. | Memory tester tests multiple DUT's per test site |
US6829730B2 (en) * | 2001-04-27 | 2004-12-07 | Logicvision, Inc. | Method of designing circuit having multiple test access ports, circuit produced thereby and method of using same |
-
2002
- 2002-04-09 US US10/119,060 patent/US6988232B2/en not_active Expired - Fee Related
- 2002-06-27 EP EP02742331A patent/EP1402278B1/en not_active Expired - Lifetime
- 2002-06-27 WO PCT/US2002/020505 patent/WO2003005050A1/en active IP Right Grant
- 2002-06-27 CA CA002421047A patent/CA2421047C/en not_active Expired - Fee Related
- 2002-06-27 JP JP2003510974A patent/JP4083117B2/ja not_active Expired - Fee Related
- 2002-06-27 DE DE60221836T patent/DE60221836T2/de not_active Expired - Lifetime
- 2002-06-27 CN CNB028023137A patent/CN100416288C/zh not_active Expired - Fee Related
- 2002-06-27 AT AT02742331T patent/ATE370423T1/de not_active IP Right Cessation
- 2002-06-27 KR KR1020037003224A patent/KR100623310B1/ko not_active IP Right Cessation
- 2002-12-10 TW TW091135694A patent/TWI250293B/zh not_active IP Right Cessation
-
2004
- 2004-09-14 HK HK04106974A patent/HK1064444A1/xx not_active IP Right Cessation
-
2005
- 2005-11-23 US US11/286,915 patent/US7574637B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
DE60221836T2 (de) | 2008-04-30 |
CN1610834A (zh) | 2005-04-27 |
US6988232B2 (en) | 2006-01-17 |
CN100416288C (zh) | 2008-09-03 |
TW200305027A (en) | 2003-10-16 |
US20030009715A1 (en) | 2003-01-09 |
US7574637B2 (en) | 2009-08-11 |
WO2003005050B1 (en) | 2003-03-06 |
TWI250293B (en) | 2006-03-01 |
EP1402278A1 (en) | 2004-03-31 |
JP4083117B2 (ja) | 2008-04-30 |
KR20030048024A (ko) | 2003-06-18 |
EP1402278B1 (en) | 2007-08-15 |
CA2421047A1 (en) | 2003-01-16 |
JP2004522169A (ja) | 2004-07-22 |
WO2003005050A1 (en) | 2003-01-16 |
ATE370423T1 (de) | 2007-09-15 |
EP1402278A4 (en) | 2005-05-18 |
DE60221836D1 (de) | 2007-09-27 |
US20060107160A1 (en) | 2006-05-18 |
CA2421047C (en) | 2005-01-25 |
HK1064444A1 (en) | 2005-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100623310B1 (ko) | 전자 회로의 최적화된 병렬 테스팅 및 액세스 방법 및 장치 | |
US5428624A (en) | Fault injection using boundary scan | |
Bleeker et al. | Boundary-scan test: a practical approach | |
US7036062B2 (en) | Single board DFT integrated circuit tester | |
KR100267096B1 (ko) | 디버그 및 제조 테스트 목적을 위한 적응적 스캔 체인 | |
CA2249088C (en) | Method and apparatus for high-speed interconnect testing | |
US5254942A (en) | Single chip IC tester architecture | |
US7870448B2 (en) | In system diagnostics through scan matrix | |
US20160349320A1 (en) | Remote bus wrapper for testing remote cores using automatic test pattern generation and other techniques | |
EP0470803A2 (en) | Event qualified test architecture | |
WO2008049104A2 (en) | Interface to full and reduced pin jtag devices | |
US7406641B2 (en) | Selective control of test-access ports in integrated circuits | |
KR19980064249A (ko) | Jtag 명령 디코드 테스트 레지스터 및 그 테스트 방법 | |
US20030046625A1 (en) | Method and apparatus for efficient control of multiple tap controllers | |
US20110202811A1 (en) | Test access port with address and command capability | |
KR20100076445A (ko) | 제이택을 지원하는 칩의 멀티사이트 테스트용 프로브 카드 | |
Clark et al. | Infrastructure IP for configuration and test of boards and systems | |
US7506228B2 (en) | Measuring the internal clock speed of an integrated circuit | |
CN115639463A (zh) | 一种基于边界扫描jtag测试系统 | |
Sonawane et al. | Flexible scan interface architecture for complex SoCs | |
EP0470802A2 (en) | Event qualified test methods and circuitry | |
Njinda | A hierarchical DFT architecture for chip, board and system test/debug | |
Collins | Design considerations in using 1149.1 as a backplane test bus | |
McLeod | Built-in system test and fault location | |
Whetsel | JTAG Compatible Devices Simplify Board Level Design For Testability |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
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: 20090903 Year of fee payment: 4 |
|
LAPS | Lapse due to unpaid annual fee |