KR20050058413A - 코어 기반 시스템 온 칩을 평가하는 방법 - Google Patents
코어 기반 시스템 온 칩을 평가하는 방법 Download PDFInfo
- Publication number
- KR20050058413A KR20050058413A KR1020057002929A KR20057002929A KR20050058413A KR 20050058413 A KR20050058413 A KR 20050058413A KR 1020057002929 A KR1020057002929 A KR 1020057002929A KR 20057002929 A KR20057002929 A KR 20057002929A KR 20050058413 A KR20050058413 A KR 20050058413A
- Authority
- KR
- South Korea
- Prior art keywords
- core
- error
- test
- chip
- list
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 69
- 238000012360 testing method Methods 0.000 claims abstract description 147
- 239000013598 vector Substances 0.000 claims abstract description 73
- 239000002184 metal Substances 0.000 claims abstract description 52
- 230000004044 response Effects 0.000 claims abstract description 28
- 239000000523 sample Substances 0.000 claims description 15
- 238000011156 evaluation Methods 0.000 claims description 12
- 230000008569 process Effects 0.000 description 12
- 238000013461 design Methods 0.000 description 11
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical group [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 7
- 238000003745 diagnosis Methods 0.000 description 6
- 238000004519 manufacturing process Methods 0.000 description 6
- 230000004807 localization Effects 0.000 description 5
- 229910052710 silicon Inorganic materials 0.000 description 5
- 239000010703 silicon Substances 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000010894 electron beam technology Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000007781 pre-processing Methods 0.000 description 3
- 238000010998 test method Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 206010070834 Sensitisation Diseases 0.000 description 1
- 241001417495 Serranidae Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000007630 basic procedure Methods 0.000 description 1
- 238000005056 compaction Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002546 full scan Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003071 parasitic effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000008313 sensitization Effects 0.000 description 1
- 150000003376 silicon Chemical class 0.000 description 1
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
- G01R31/317—Testing of digital circuits
- G01R31/31724—Test controller, e.g. BIST state machine
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L27/00—Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate
- H01L27/02—Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers
- H01L27/04—Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers the substrate being a semiconductor body
-
- 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
-
- 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/31704—Design for test; Design verification
-
- 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/31705—Debugging aspects, e.g. using test circuits for debugging, using dedicated debugging test circuits
-
- 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
-
- 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/318505—Test of Modular systems, e.g. Wafers, MCM's
- G01R31/318508—Board Level Test, e.g. P1500 Standard
-
- 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/318552—Clock circuits details
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L22/00—Testing or measuring during manufacture or treatment; Reliability measurements, i.e. testing of parts without further processing to modify the parts as such; Structural arrangements therefor
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Power Engineering (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Condensed Matter Physics & Semiconductors (AREA)
- Manufacturing & Machinery (AREA)
- Tests Of Electronic Circuits (AREA)
- Testing Or Measuring Of Semiconductors Or The Like (AREA)
- Semiconductor Integrated Circuits (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
코어 기반 SoC를 평가하는 방법은 코어 또는 코어간의 인터커넥트의 오류를 높은 정확도 및 관찰가능성으로 검출하고 국소화시킨다. 방법은 하위 금속층상의 I/O(입출력) 패드를 최상위 금속층에 접속시키는 동안에 SoC에서 각 코어에 대해 하나의 패드 프레임 및 내부 회로 노드를 확립하도록 2개 이상의 금속층을 구축함으로써, 각 코어의 패드 프레임의 최상위 금속층의 표면 상에 모든 I/O 패드 및 전력 패드를 가지는 코어 I/O 패드를 생성하는 단계; 테스트 벡터를 칩 I/O 패드를 통해 SoC에 인가하고 칩 I/O 패드를 통해 수신된 SoC의 응답 출력을 평가함으로써 SoC를 전체적으로 테스트하는 단계; 코어의 최상위 금속층 상의 코어 I/O 패드를 통해 코어 특정 테스트 벡터를 코어에 인가하고 코어 I/O 패드를 통해 수신된 코어의 응답 출력을 평가함으로써 SoC의 각 코어를 테스트하는 단계; 및 SoC 칩을 전체적으로 또는 각 코어를 테스트할 때 오류가 검출되는 경우에 오류 위치를 찾아내는 단계를 포함한다.
Description
본 발명은 반도체 디바이스를 테스트하는 것에 관한 것으로, 특히 실리콘 형태(실리콘 디버그)의 내장된 코어 기반 시스템 온 칩(SoC) IC의 설계 무결성 및 오류 진단을 높은 정확도 및 가관측성으로 평가하는 방법에 관한 것이다.
최근 수년 동안에, ASIC(어플리케이션 특정 집적 회로) 기술은 칩-세트 원리에서 내장된 코어 기반 시스템 온 칩(SoC)으로 발전되어 왔다. SoC는 복수의 단독 VLSI 설계(코어)를 함께 꿰매어(stitch) 어플리케이션에 대한 완전한 기능을 제공함으로써 설계되는 IC이다. 즉, SoC는 다양한 어플리케이션을 지원하는 "코어"(또는 지적 재산 또는 IP로도 알려짐)로서 알려진 복잡한 기능들의 미리-설계된 모델을 이용하여 구축된다. 이들 코어들은 Verilog/VHDL에서와 같이 고레벨 기술 언어(HDL) 또는 GDS II와 같은 트랜지스터 레벨 레이아웃에서 일반적으로 가용하다. SoC는 마이크로프로세서, 큰 메모리 어레이, 오디오 및 비디오 컨트롤러, 모뎀, 인터넷 튜너, 2D 및 3D 그래픽 컨트롤러, DSP 기능, 등과 같은 다른 기능들의 코어의 조합을 포함할 수 있다.
EDA(전자 설계 자동화) 환경하에서 수행된 설계 단계 이후에, SoC 설계는 실리콘 칩의 형태로 구현된다. 본 발명은 전체적으로뿐만 아니라 각 코어에 대한 실리콘 형태의 SoC 설계를 평가하기 위한 방법("실리콘 디버그")에 관한 것이다. 그러한 시스템-칩은 넓은 어플리케이션에 대해 지원하지만, 이들 칩들의 복잡도는 너무나 복잡해서 통상의 수단에 의해서는 테스트될 수 없다. ("Testing embedded cores" A D&T Roundtable, IEEE Design and Test, pp81-89, April-June 1997, "Challenge of the 90's Testing CoreWare based ASICs"Panel on "DFT for embedded cores", R. Rajsuman, International Test Conference, pp. 940, 1996).
제조 테스트시의 어려움뿐만 아니라, 이들 SoC들은 프로토타입 실리콘이 제조된 경우에 그 기능 정확도를 결정하는데 주요한 어려움을 가지고 있다. 어려움의 주 원인은 개별적인 코어들의 제한된 가관측성 및 제어가능성 때문이다. 일반적으로, 칩 I/O(SoC 칩의 입력 및 출력)만이 테스트 벡터를 적용하거나 테스트 벡터에 대한 응답을 관찰하는데 액세스가능하고, 각 내장된 코어의 I/O들은 액세스할 수 없다. 그러므로, 복잡한 SoC에서, 다수의 내부 오류가 칩 I/O에서 드러나지 않는다.
도 1은 SoC의 일반적인 구조의 예를 개략적으로 예시하고 있다. 본 예에서, SoC(10)는 내장된 메모리(12), 마이크로프로세서 코어(14), 3개의 기능 특정 코어들(16, 18 및 20), PLL(위상 동기 루프, 22) 및 TAP(테스트 액세스 포트, 24)를 구비하고 있다. SoC의 전체 테스트는 칩-레벨 I/O를 통해서만 수행될 수 있다. 이러한 예에서, 그러한 칩 레벨 I/O는 SoC(10)의 외부 주변부에서의 I/O 패드 프레임(26) 상에 형성된 칩 I/O 패드(28)에 의해 확립된다. 각 기능적 코어(12, 14, 16, 18 및 20)는 코어 주변부에서 I/O 패드의 복수 층을 통상 포함하는 패드 프레임(29)을 포함한다. 일반적으로, IC 설계에서, 상부 금속층은 전원(전력 패드(32))에 이용되는데 대해, 중간 금속층은 다른 코어, 마이크로프로세서 코어 및 내장된 메모리와 인터페이싱하기 위한 I/O 또는 신호 패드에 이용된다.
고장이 존재하는 경우에, 고장이 마이크로프로세서 코어(24) 또는 기능 특정 코어(16, 18 또는 20)로 인한 것인지 여부와 같은 고장 원인, 또는 코어들간의 간섭과 같은 다른 원인을 아는 것이 중요하다. 고장을 디버깅하는 것이 필요한 이유는 SoC 설계가 대량 생산에 이송되기 이전에 고장이 정정되어야 하기 때문이다.
오류 진단을 위한 종래 기술들 중 하나는 오류 사전(R. Rajsuman, M. Saad and B. Gupta, "On the fault location in combinational logic circuits", IEEE Asilomar Conference, pp. 1245-1250, 1991, A. k. Sonami, V. k. Agarwal and D. Avis, "A generalized theory for system level diagnosis", IEEE Trans. Computer, pp. 538-546, May 1987)에 기초하고 있다. 자동화된 테스트 패턴 생성(ATPG) 툴은 각 스턱-엣(stuck-at) 오류에 대해 다수의 벡터를 생성하고 이들 벡터들을 하나로 정리하여 각 오류를 단지 한번만 커버한다. 그러한 툴의 예들은 Synopsys Tetramax와 같은 상용 툴 또는 Socretes와 같은 연구용 환경에서 개발된 툴이 있다.
ATPG 툴에서의 테스트 벡터 감축은 컴팩트한 테스트 세트를 제공하지만, 오류 진단에 필수적인 테스트 벡터 압축(compaction) 동안에 다량의 정보가 손실된다. 그러한 정보의 손실을 극복하기 위해서는, 모든 벡터, 그 대응하는 오류 및 종종은 오류 감작(sensitization) 동안이나 오류 영향 전파 동안에 액티브되어 있는 대응하는 오류 전파 콘(cone)을 리스트하는 기본적으로 데이터베이스인 "오류 사전"이 이용된다. 전통적으로, 오류 사전으로부터, 오류를 가지고 있는 영역(액티브 콘)을 식별할 수 있다.
이러한 방법의 가장 심각한 한계는 오류 사전으로부터 추가 테스트 벡터가 적용되어 오류 영역을 식별하기 위해서는 코어의 내부 I/O에 직접 액세스를 필요로 한다는 점이다. 전자 빔 테스터(N. Kuji, T. Tamara and M. Nagatani, "FINDER: A CAD system based on electron beam tester for fault diagnosis of VLSI circuits", IEEE Trans. CAD, pp. 313-319, April 1986) 또는 완전 스캔 회로(K. De and A. Gunda, "Failure analysis for full-scan circuits", IEEE Int. Test Conference, pp. 636-645, 1995)를 이용하는 일부 시도들이 수행되었다.
현재, IEEE P1500 워킹 그룹은 코어 I/O가 액세스가능하도록 하는 솔루션을 개발하고 있다. 이러한 솔루션은 코어 I/O에서 시프트-레지스터 기반 래퍼(wrapper) 및 칩 I/O로부터 코어 I/O로의 데이터 전송 포트를 포함하는 여분의 로직의 이용에 기초하고 있다(IEEE P1500 웹 사이트, http://grouper.ieee.org/groups/1500/, "Preliminary outline of the IEEE P1500 scalable architecture for testing embedded cores", IEEE VLSI Test Symposium, 1999). 이러한 구조는 도 2A-2C에 예시되어 있고, 도 2A는 코어의 외측 경계에서 전체 래퍼를 도시하고 있으며, 도 2B 및 2C는 도 2A의 래퍼에서 입력 셀(42) 및 출력 셀(44)의 구조를 각각 도시하고 있다.
코어 래퍼 및 데이터 전송 로직에 기초한 유사한 솔루션들은 가상 소켓 인터페이스 연맹(VSIA, Virtual Socket Interface Alliance) 및 다른 개발자들(Manufacturing related test development specification 1", version 1.0, VSI Alliance, 1998; and "Test access architecture" VSI Alliance, 2000, R. Rajsuman, "System-on-a-Chip: Design and Test", Artech House Publishers Inc., ISBN 1-58053-107-5, 2000, D. Bhattacharya, "Hierarchical test access architecture for embedded cores in an integrated circuit", IEEE VLSI Test Symposium, pp. 8-14, 1998)에 의해 제안되었다.
이들 방법들의 주요한 단점은 이들은 칩 크기를 증가시키고 따라서 단가를 높이는 여분의 로직을 필요로 하고, 그리고 코어 I/O에서의 래퍼로 인해 성능 불이익(penalty)을 당하게 된다는 점이다. 그러한 성능 불이익의 예는 추가 회로 컴포넌트 및 경로로 인한 SoC에서의 신호 전파 지연을 포함한다. 또한, 모든 경우에, 테스트 벡터는 래퍼 레지스터로 시프트-인되고, 응답은 복수의 클럭 사이클을 이용하여 시프트-아웃된다. 이전 벡터의 응답이 완전하게 시프트-아웃될 때까지, 새로운 테스트 벡터가 인가될 수 없다. 그러므로, 이들 솔루션들은 고속 테스트가 수행될 수 없으므로 타이밍 관련된 오류의 진단에 도움을 줄 수 없다. 또한, 모든 이들 솔루션들에서, 테스트 시간이 너무 길게 되고, 이는 과도한 비용을 의미한다.
다른 종래의 접근법은 미국 특허 제4,749,947호 및 제4,937,826호에 기재된 "네일 베드(bed of nails)" 타입의 방법이다. 이러한 방법에서, 테스트될 기능적 회로가 배치될 와이어의 그리드가 생성된다. 기능적 회로의 모든 노드는 노드에서 그리드-와이어로의 접속을 제공할 수 있는 수직 트랜지스터에 의해 액세스될 수 있다. 원리적으로는, 이러한 방법은 100% 가관측성을 제공한다. 그러나, 이러한 방법은 현재의 SoC의 제조 공정에 복수의 추가 공정(레이아웃 마스크) 및 변형을 필요로 하므로 너무 고가이다. 또한, 와이어의 그리드가 존재하기 때문에, 회로 기생 용량을 크게 증가시키고 따라서 성능 불이익을 당하게 된다.
상기에서와 같이, 종래 기술은 크기 및 비용을 증가시키는 것이나 성능 불이익에 관련되는 것과 같은 단점없이, SoC에서 개별적인 코어 및 인터커넥트를 완전하게 디버깅하거나 SoC에서 오류 위치를 식별하기에는 만족스럽지 못하다.
도 1은 메모리, 마이크로프로세서 및 기능 특정 코어를 포함하는 내장된 코어 기반 시스템 온 칩(SoC)의 구조의 예를 도시하고 있는 개략적인 블록도이다.
도 2A는 SoC에서 개별적인 코어에 액세스하기 위한 IEEE P1500 워킹 그룹에 의해 제안된 전체 래퍼 구조의 예이고, 도 2B는 도 2A의 래퍼 구조에서 입력 셀의 구조 예이며, 도 2C는 도 2A의 래퍼 구조에서 출력 셀의 구조 예이다.
도 3은 본 발명이 이용되는 SoC에서 각 코어에 대한 입력 및 출력(I/O) 프레임의 복수의 층을 구축할 때의 구조 예를 도시하는 개략적인 블록도이다.
도 4A는 종래 코어 I/O 패드 프레임의 구조를 도시하고 있고, 도 4B는 본 발명이 구현되는 코어 I/O 패드 프레임의 구조 예를 도시하고 있다.
도 5는 본 발명이 구현되는 코어의 최상위 금속 층에서 I/O 패드 프레임을 가지는 SoC의 구조 예를 도시하고 있는 개략적인 블록도이다.
도 6은 본 발명에서 내장된 코더 기반 시스템 온 칩(SoC)을 테스트하는 기본적인 절차를 도시한 플로우 차트이다.
도 7은 본 발명에서 IC 테스터, I/O 패드 프레임에 구체적으로 구조화된 내장된 코어를 가지는 SoC, 및 컨택트 프로브간의 구조적 관계를 도시하는 개략적인 도이다.
도 8은 본 발명의 내장된 코어 기반 SoC 실증 방법에서 오류 국소화 휴리스틱 절차를 도시한 플로우차트이다.
따라서, 본 발명의 목적은 구현하기 쉽고 현재 방법의 단점에서 자유로운 시스템 온 칩(SoC)에서 개별 코어를 디버깅하는 방법을 제공하는 것이다.
본 발명의 다른 목적은 코어에 임의의 여분의 로직을 필요로하지 않고 따라서 어떠한 성능 불이익도 관련되지 않는, 시스템 온 칩(SoC)에서 개별 코어를 디버깅하는 방법을 제공하는 것이다.
본 발명의 또 다른 목적은 시스템 온 칩(SoC)에서 개별 코어를 디버깅하고 코어들간의 오류 인터커넥트 또는 코어내의 오류 위치를 비교적 단순한 절차로 식별하는 방법을 제공하는 것이다.
본 발명에서, 각 코어의 I/O 패드-프레임은 프로토타입 제조 동안에 최상위-레벨 금속에서 중복된다. 결과적으로, 개별적인 코어의 I/O 인터페이스는 테스트 신호 인가 및 응답 신호 관찰에 이용될 수 있다. 본 발명은 코어 테스트 패턴을 SoC 칩 전체라기보다는 특정 코어에 직접 인가한 후 코어 또는 코어의 와이어간의 인터커넥트의 오류 위치를 찾아낼 수 있게 한다.
방법은 각 코어의 패드 프레임의 최상위 금속층을 이용하여 표면 상에 모든 I/O 패드 및 전력 패드를 가지는 코어 I/O 패드를 생성하도록 2개 이상의 금속층을 구축하는 단계; 테스트 벡터를 칩 I/O 패드를 통해 SoC에 인가하고 SoC의 응답 출력을 평가함으로써 SoC를 전체적으로 테스트하는 단계; 코어의 최상위 금속층 상의 코어 I/O 패드를 통해 코어 특정 테스트 벡터를 코어에 인가하고 코어의 응답 출력을 평가함으로써 SoC의 각 코어를 테스트하는 단계; 및 SoC 칩을 전체적으로 또는 각 코어를 테스트할 때 오류가 검출되는 경우에 오류 위치를 찾아내는 단계를 포함한다.
오류 위치를 찾아내는 프로세스에서, 본 발명의 방법은 오류가 SoC 칩의 전체적인 테스트 및 개별적인 코어 테스트 모두에서 발견되는지 여부 및 오류가 SoC 칩의 전체적인 테스트에서만 발견되는지 여부를 구별한다. 그리고나서, 방법은 오류가 SoC 칩의 전체적인 테스트에서는 발견되고 개별적인 코어의 테스트에서는 발견되지 않은 경우에 오류를 유발하는 2개 이상의 코어들간의 인터커넥트를 찾아내는 단계로 진행한다. 이러한 프로세스는 하나의 인터커넥트에 대한 오류를 검출할 때까지, 테스트 신호를 하나의 코어의 코어 I/O 패드에 인가하고 각 인터커넥트에 대해 다른 코어의 코어 I/O 패드에서 테스트 신호로부터 기인하는 신호를 평가함으로써 수행된다.
오류 위치를 찾아내는 프로세스에서, 본 발명은 오류가 SoC 칩의 전체 테스트 및 각 코어의 테스트 모두에서 발견된 경우에, 오류를 유발하는 코어 내에서 오류 와이어의 가능성있는 위치를 찾아낸다. 이러한 프로세스는 테스트 벡터를 코어 I/O 패드를 통해 코어에 인가하고 테스트 벡터에 응답하여 코어 출력의 임의의 오류를 검출하고, 테스트 벡터의 인가의 결과에 기초하여 오류와 연관된 와이어의 오류 와이어 리스트 및 오류가 없는 와이어의 양호한 와이어 리스트를 생성하며, 양호한 와이어 리스트 및 오류 와이어 리스트의 엔트리를 비교하고 양호한 와이어 리스트로부터 미스매칭된 엔트리를 제거하며 나머지 엔트리를 발생 회수에 의해 소팅함으로써 수행된다. 가장 큰 오류 와이어의 회수는 개별적인 코어의 테스트에 의해 검출된 오류를 유발하는 가장 큰 확률을 나타낸다.
본 발명에 따르면, 오류 코어, 오류 인터커넥트 및 코어에서 와이어(경로 또는 라인)의 위치는 휴리스틱(heuristic) 알고리즘을 이용하여 결정될 수 있다. 본 발명의 방법은 IC 테스터, 또는 종래 컨택트 프로브를 가지는 로직 분석기와 같은 종래 툴의 이용으로 구현된다. 본 발명은 래퍼와 같은 임의의 여분의 로직 또는 전자 빔 테스터와 같은 임의의 특별한 장비를 필요로 하지 않는다. 오류가 코어들간의 인터커넥트 상에 존재하는 경우, 본 발명은 그 와이어를 결정론적으로 식별할 수 있다. 다른 경우에, 본 방법은 개별적인 코어에서 라인 스턱-엣 오류의 가능성있는 위치를 제공한다.
본 발명은 첨부된 도면을 참조하여 더 상세하게 설명된다. 도 3-8은 내장된 코어 기반 시스템 온 칩(SoC) IC의 설계 무결성 및 오류 진단을 평가하기 위한 본 발명의 방법을 도시하고 있다. 도 3-5는 본 발명에 따라 실리콘 형태로 SoC 및 내장된 코어를 실리콘 형태로 테스트하기(실리콘 디버그) 위한 SoC의 특별 구조를 도시하고 있다. 도 6-8은 본 발명에서 SoC 및 내장된 코어를 평가하기 위한 테스트 절차 및 테스트 시스템 구조를 도시하고 있다. 본 발명의 방법은 도 3-5에 도시된 특정 구조를 가지도록 설계된 SoC에만 적용가능하다.
이제, 도 3-5를 참조하면, 본 발명의 방법이 구현되는 SoC의 기본적인 구조가 도시되어 있다. 이러한 구성은 전통적인 컨택트 프로브에 의해 직접 액세스될 수 있는 각 코어에 대한 I/O 인터페이스(I/O 패드)를 확립한다. 개별적인 코어의 I/O 인터페이스는 테스트 신호 인가 및 응답 신호 관찰에 이용될 수 있다. 결과적으로, 코어 테스트 패턴(칩 테스트 패턴보다는)을 바로 특정 코어에 적용할 수 있다. 즉, 테스트 시스템은 전체적으로 SoC 칩뿐만 아니라, 코어의 I/O 인터페이스를 통해 직접 SoC의 각 코어에 액세스할 수 있다.
더 구체적으로는, 도 3 및 4에 도시된 바와 같이, 각 코어의 I/O 패드 프레임은 프로토타입 제조 동안에 최상위-레벨 금속에서 중복된다. 종래 기술을 참조하여 상기 지적된 바와 같이, I/O 패드 프레임의 최상위-레벨 금속층은 통상 전력 라인을 라우팅하는데에만 이용되고, 하위 레벨 금속층은 I/O를 포함하는 신호를 라우팅하는데 이용된다. 그러므로, 개별적인 코어의 I/O 패드 프레임을 통해 개별적인 코어를 액세스할 수 없다.
도 4A 및 4B는 I/O 프레임을 형성하는데 5개의 금속층들이 이용되는 경우를 도시하고 있다. 도 4A는 I/O 프레임의 종래 구조에 관한 것인데 대해 도 4B는 본 발명에 이용되는 I/O 프레임 구조에 관한 것이다. 도 4A의 종래 기술에서, 전력 패드(32)만이 비아(39)를 통해 최상위 금속층에 접속된다. 신호 및 제어를 위한 패드(33-36)는 하위 금속층에 숨겨진다. 본 발명이 구현되는 도 4B의 구성에서, 임의의 층들의 모든 패드(32-26)는 비아(39)를 통해 최상위 금속층에 접속된다. 그러므로, 하위층의 모든 패드(32-36)는 도 4B에 도시된 바와 같이 최상위(제5)층 금속에까지 중복된다. 이러한 중복된 금속 패드-프레임으로의 코어의 실제 I/O로의 접속은 다른 층들에서 비아(39)를 통해 만들어진다.
각 코어의 I/O 패드는 임의의 로직 또는 복잡한 감지 구조를 이용하지 않고 SoC의 최상위-레벨 금속에까지 연장되므로, 최상위 금속층이 코어의 실제 I/O 패드로의 단순한 접속점이 된다. 그러므로, 도 1에 도시된 SoC(10)의 최상위-레벨 금속층이 단지 전력 패드만을 가지고 있는데 대해, 도 5에 도시된 SoC의 최상위 레벨 금속은 모든 I/O 패드 및 전력 패드를 가지고 있다. 도 5에 도시되지는 않았지만, PLL 코어(22) 및 TAP 코어(24)는 유사하게 최상위 레벨 금속에서 코어의 모든 I/O 패드 및 전력 패드를 가지도록 I/O 패드 프레임내에 구성된다.
코어의 I/O 패드에 액세스하는 방법은 코어의 일부 키 내부 노드에 액세스하는데 이용될 수 있다. 도 5에 도시된 바와 같이, 마이크로프로세서 코어의 2개의 내부 노드(42, 43) 및 기능 특정 코어(18)의 하나의 내부 노드(44)는 최상위 레벨 금속까지 연장된다(brought-up). 이들 노드들(42, 43 및 44)은 테스트 신호를 공급하거나 응답 출력을 수신하기 위해 프로브될 수 있다.
도 3-5에 도시된 구조는 SoC에서 각 개별 코어로의 완전한 액세스를 허용한다. 예를 들어, 프로토타입 SoC의 테스트 동안에, 오류가 발견되는 경우, 각 코어는 최상위 금속 레벨 I/O 패드 프레임을 통해 개별적으로 또는 다른 코어와 함께(프로브 카드를 이용함) 프로브될 수 있다. 코어의 모든 I/O가 프로브될 수 있으므로, 코어 특정 테스트 벡터가 적용되어 특정 코어가 오류가 있는지를 결정할 수 있다.
도 6을 참조하면, SoC 및 SoC내의 개별적인 코어를 평가하기 위한 본 발명의 기본적인 플로우가 설명된다. 상기 지적된 바와 같이, 이러한 방법은 도 3-5를 참조하여 상기 설명된 특정 구조를 가지도록 설계된 SoC에만 적용가능하다. 이러한 특정 구조는 내장된 코어의 I/O를 I/O 프레임의 최상위 레벨 금속에까지 연장시켜, 이들이 전통적인 컨택트 메커니즘을 통해 관찰가능하고 액세스가능하게 한다. 도 7은 본 발명의 SoC 및 테스트 시스템의 구조 예를 도시하고 있다.
본 발명의 방법은 컨택트 프로브를 이용하는 IC 테스터 또는 로직 분석기(집합적으로 "IC 테스터")와 같은 종래 툴에 의해 구현될 수 있다. 기본적으로, 전체적으로 SoC 칩은 우선 테스트 벡터를 SoC에 대해 인가하고 SoC의 응답을 평가함으로써, 칩 I/O 패드(28)를 통해 테스트된다. 그리고나서, 각 코어는 코어 특정 테스트 벡터를 인가하고 각 코어의 응답을 평가함으로써 테스트된다. 오류가 검출되는 경우, 오류 인터커넥트의 정확한 위치가 결정된다. 오류가 코어 내부에 있다면, 오류의 가능성있는 위치가 결정된다.
도 6의 테스트 절차에서, 제1 단계 101에서, 도 3-5를 참조하여 설명된 바와 같이 각 내장된 코어의 패드 프레임내에 특정 구조를 가지는 SoC 칩(10)이 설계된다. 단계 102에서, 테스트 벡터가 도 5에 도시된 칩 I/O 프레임(26)상의 칩 I/O 패드(28)를 통해 SoC(10)에 인가되어 전체적으로 SoC 칩(10)의 임의의 오류를 검출한다. 통상, 테스트 벡터는 도 7에서 IC 테스터(78)와 같은 반도체 테스트 시스템에 의해 생성된다. 테스트 헤드(80)는 IC 테스터(78)에 접속되어 테스트 벡터를 프로브 카드(82)를 통해 SoC 칩(10)에 인가한다.
프로브 카드(28)는 테스트 벡터를 SoC에 전송하고 SoC로부터 출력을 수신하는 I/O 패드(28)를 컨택트하는 다수의 컨택트 프로브(86)를 가지고 있다. 테스트 벡터에 응답하여 생성된 SoC(10)의 출력 신호가 단계 103에서 IC 테스터(78)에 의해 평가되어, 임의의 오류가 존재하는지 여부를 검출한다. 어떠한 오류도 검출되지 않은 경우, 테스트 절차가 단계 104에서 중지되고 추가 액션이 더 이상 필요하지 않다.
오류가 검출된 경우, 오류가 코어에 있는지 또는 인터커넥트에 있는지 여부에 관해 결정되지 않으므로, 추가 테스트가 필요하다. 그러므로, 단계 105에서, 각 내장된 코어는 도 5에 도시된 코어 전력 패드(32) 및 I/O 패드(33-36)를 통해 IC 테스터(78)에 의해 액세스된다. 본 발명에서, 상기 언급된 바와 같이, 각 내장된 코어의 I/O 패드 프레임(29)이 최상위 층에서 전력 패드(32) 및 I/O 패드(33-36)를 가지고 있으므로, IC 테스터(78)는 전력 및 I/O 패드(32-36)로 컨택트 프로브(86)를 접촉함으로써 각 내장된 코어와 직접 통신할 수 있다. 그러므로, 도 7에서, 프로브 카드(82)는 컨택트 프로브(86)를 통해 코어(12, 14, 16, 18 또는 20)에 접촉하고, 즉 각 코어는 한번에 하나씩 액세스되고 특정 코어에 대한 코어 특정 테스트 벡터가 거기에 인가된다. 따라서, 단계 106에서, 내장된 코어는 IC 테스터(78)로부터 코어에 특정된 테스트 벡터를 수신하고, 결과적인 출력 신호를 생성한다.
IC 테스터는 단계 107에서 그 내부에 오류를 찾아내기 위해 코어의 응답을 조사한다. 오류가 특정 코어와 관련하여 발견된 경우, 프로세스는 단계 109의 서브 프로세스로 이동하여 코어를 추가 조사한다. 본 발명에서, 단계 109에서의 프로세스는 오류 국소화 휴리스틱 프로세스라 불려지고, 도 8의 플로우차트와 관련하여 더 상세하게 설명된다. 오류 국소화 프로세스를 적용한 결과로서, 오류가 단계 110에서 국소화된 경우에, 프로세스가 종료한다. 그러므로, 오류의 특정 위치 및 그 원인이 최고의 확률로 결정되고, 오류 원인이 정정될 것이다.
단계 107에서 어떠한 오류도 발견되지 않은 경우에, 단계 108에서, 오류는 코어간의 인터커넥션에 있는 것으로 가정된다. 그러므로, 단계 111에서, 2개의 코어들의 I/O 패드(33-36)가 액세스되어, 2개의 코어간의 각 인터커넥트가 감작하게 된다. 예를 들어, 단계 112에서, IC 테스터(78)는 "1" 및 "0"을 가지는 테스트 신호를 하나의 코어의 I/O 패드(33-36)에 인가하고 다른 코어의 I/O 패드(33-36)에서 신호의 값들을 관찰한다. IC 테스터(78)는 단계 113에서 I/O 패드에서 값들에서 오류가 발견되는지 여부를 조사한다.
이러한 절차는 오류가 존재하는 정확한 인터커넥트를 식별한다. 오류가 특정 인터커넥트에서 발견되지 않는다면, 절차는 2개의 코어의 다른 I/O 패드에 액세스함으로써 다른 인터커넥트로 반복되어 각 인터커넥트를 감작시킨다. 이러한 절차는 단계 113에서 발견된 오류가 인터커넥션에 관련하여 검출될 때까지 계속된다. 오류가 특정 인터커넥트에서 발견된 경우, 단계 114에서, 오류의 정확한 위치, 즉 인터커넥트가 식별되고 프로세스가 종료된다.
도 8은 내장된 코어에서 오류의 특정 (가능성있는) 위치를 찾아내기 위한 도 6의 오류 국소화 휴리스틱 단계 109의 상세화된 프로세스를 도시하고 있다. 도 8에서 점선으로 도시된 바와 같이, 오류 국소화 휴리스틱 절차는 3가지 주요 스테이지, (1) 전처리(130), (2) 코어 특정 테스트 벡터 소팅(140), 및 (3) 오류의 가능성있는 위치의 식별(150)로 구성된다.
전처리 스테이지(130)에서, 단계 201에서, 오류 코어는 도 6을 참조하여 상기 설명된 절차(단계 107)에 기초하여 식별된다. 단계 202에서, 단계 210에서 식별된 오류 코어에 대한 모든 코어 특정 테스트 벡터가 테스트 벡터 리스트에 리스팅된다. 또한, 단계 203에서, 테스트 벡터에 대응하는 모든 액티브 와이어(신호 및 전력에 대한 라인 또는 경로)가 경로 리스트에 리스팅된다. 상기 절차는 예를 들면 엔지니어링 워크스테이션과 같은 IC 테스터(78)의 호스트 컴퓨터(도시되지 않음)를 통해 수행될 수 있다.
코어 특정 테스트 벡터를 소팅하기 위한 스테이지(140)에서, 단계 204에서, IC 테스터(78) 및 컨택트 프로브(86)를 통해, 모든 코어 특정 테스트 벡터가 오류 코어에 인가되고 코어의 응답이 관찰된다. 테스트 벡터는 I/O 프레임 상의 최상위 레벨 금속에서 코어 I/O 패드를 프로브함으로써 코어에 인가된다. 단계 205에서, IC 테스터(78)가 응답 출력이 오류를 포함하는지 여부를 조사한다. 응답이 오류가 있는 경우, 오류에 대응하는 테스트 벡터가 단계 206에서 오류 경로 리스트(리스트 A)에 리스팅된다. 응답이 오류가 없다면, 대응하는 테스트 벡터가 단계 207에서 양호한 경로 리스트(리스트 B)에 리스팅된다. 그러므로, 테스트 벡터가 오류 출력을 생성했는지 여부에 기초하여 테스트 벡터가 소팅되고 리스팅되는 2개의 리스트들이 생성된다. 2개의 리스트들은 또한 테스트 벡터에 대응하는 와이어(경로)에 관한 정보를 포함한다. 응답에 기초하여 테스트 벡터를 소팅하는 이러한 절차는 단계 208에서, 전처리 스테이지(130)에서 생성된 경로 리스트의 모든 엔트리가 소모될 때까지 반복된다.
오류의 가능성있는 위치의 식별에 대한 스테이지(150)는 경로 리스트의 모든 엔트리가 단계 208에서 소모된 경우에 시작한다. 그리고나서, 단계 209에서, 리스트 A에서 각 오류 경로에 대한 하나의 세그먼트 리스트가 리스트 A 및 전처리(130)에서 생성된 경로 리스트에 기초하여 생성된다(리스트 D). 단계 210에서, 모든 양호한 경로들의 모든 세그먼트의 리스트는 리스트 B 및 전처리(130)에서 생성된 경로 리스트에 기초하여 생성된다(리스트 C). 리스트 D의 엔트리가 단계 211에서 리스트 C의 엔트리와 비교된다. 리스트 D의 엔트리가 리스트 C의 엔트리와 미스매칭하는 경우, 리스트 C의 그러한 엔트리가 단계 212에서 리스트 C로부터 제거된다. 이러한 절차는 리스트 C의 모든 엔트리가 비교될 때까지 반복된다. 효율적으로는, 단계 212는 리스트 C로부터 모든 양호한 세그먼트를 제거하고, 즉 리스트 C에 남아있는 세그먼트들만이 리스트 D의 것들이다.
그러므로, 상기 절차 후에, 리스트 C에 하나의 엔트리 또는 엔트리들이 남아있는 경우, 단계 213에서, 리스트 C의 그러한 잔여 세그먼트(와이어)는 오류를 가지고 있다고 가정된다. 단계 214에서, 리스트 C의 모든 세그먼트들이 융합되고, 단계 215에서, 세그먼트들이 발생 빈도의 순서로 소팅된다. 그러므로, 특정 와이어가 7개의 잔여 엔트리를 가지고 있고 다른 와이어는 3개의 엔트리를 가지고 있는 경우, 7개의 엔트리를 가지는 와이어가 처음으로 순서지어진다. 가장 큰 개수의 엔트리를 가지는 세그먼트(와이어)는 오류를 가질 가장 큰 확률을 나타낸다.
상기에서와 같이, 본 발명에서, 오류 코어, 오류 인터커넥트 및 코어에서 와이어(경로 또는 라인)의 위치는 휴리스틱 절차로 결정될 수 있다. 코어에서 오류의 위치를 결정할 때, 라인 스턱-엣 오류의 가능성있는 위치가 결정된다. 한편, 인터커넥트에서 오류의 정확한 위치를 평가할 수 있다. 본 발명은 래퍼와 같은 임의의 여분의 로직 또는 전자 빔 테스터와 같은 임의의 특별한 장비를 필요로 하지 않는다. 본 발명은 임의의 여분의 로직을 이용하지 않으므로, 성능 불이익이 전혀 없다. 코어 테스트 패턴은 임의의 기능적 및 타이밍 관련된 오류를 디버깅하는 속도로 코어 I/O 패드를 통해 코어에 인가될 수 있다.
단지 양호한 실시예들만이 구체적으로 예시되고 설명되었지만, 본 발명의 다수의 변형 및 변동이 상기 설명에 비추어 본 발명의 사상 및 범주에서 벗어나지 않고서 첨부된 청구의 범위의 범위내에서 가능하다는 것은 자명하다.
Claims (15)
- 시스템 온 칩 IC(SoC)를 평가하는 방법에 있어서,하위 금속층상의 I/O(입출력) 패드를 최상위 금속층에 접속시키는 동안에 SoC에서 각 코어에 대해 하나의 패드 프레임 및 내부 회로 노드를 확립하도록 2개 이상의 금속층을 구축함으로써, 각 코어의 패드 프레임의 최상위 금속층의 표면 상에 모든 I/O 패드 및 전력 패드를 가지는 코어 I/O 패드를 생성하는 단계;테스트 벡터를 칩 I/O 패드를 통해 SoC에 인가하고 칩 I/O 패드를 통해 수신된 SoC의 응답 출력을 평가함으로써 SoC를 전체적으로 테스트하는 단계;코어의 최상위 금속층 상의 코어 I/O 패드를 통해 코어 특정 테스트 벡터를 코어에 인가하고 코어 I/O 패드를 통해 수신된 코어의 응답 출력을 평가함으로써 SoC의 각 코어를 테스트하는 단계; 및SoC 칩을 전체적으로 또는 각 코어를 테스트할 때 오류가 검출되는 경우에 오류 위치를 찾아내는 단계를 포함하는 시스템 온 칩 평가 방법.
- 제1항에 있어서, 상기 오류 위치를 찾아내는 단계는, 상기 오류가 SoC 칩의 전체적인 테스트 및 개별적인 코어 테스트 모두에서 발견되는지 여부 및 오류가 SoC 칩의 전체적인 테스트에서만 발견되는지 여부를 구별하는 단계를 포함하는 시스템 온 칩 평가 방법.
- 제2항에 있어서, 상기 오류 위치를 찾아내는 단계는, 오류가 SoC 칩의 전체적인 테스트에서는 발견되고 각 코어의 테스트에서는 발견되지 않은 경우에 오류를 유발하는 2개의 코어들간의 인터커넥트를 찾아내는 단계를 포함하는 시스템 온 칩 평가 방법.
- 제3항에 있어서, 상기 인터커넥트를 찾아내는 단계는, 오류를 검출할 때까지, 테스트 신호를 하나의 코어의 코어 I/O 패드에 인가하고 각 인터커넥트에 대해 다른 코어의 코어 I/O 패드에서 테스트 신호로부터 기인하는 신호를 평가하는 단계를 포함하는 시스템 온 칩 평가 방법.
- 제2항에 있어서, 상기 오류 위치를 찾아내는 단계는, 오류가 SoC 칩의 전체 테스트 및 각 코어의 테스트 모두에서 발견된 경우에, 오류를 유발하는 코어 내에서 오류 와이어의 가능성있는 위치를 찾아내는 단계를 포함하는 시스템 온 칩 평가 방법.
- 제5항에 있어서, 상기 코어 내에서 오류 와이어의 가능성있는 위치를 찾아내는 단계는,테스트 벡터를 코어 I/O 패드를 통해 코어에 인가하고 테스트 벡터에 응답하여 코어의 출력의 임의의 오류를 검출하는 단계;테스트 벡터의 인가의 결과에 기초하여 오류와 연관된 와이어의 오류 와이어 리스트 및 오류가 없는 와이어의 양호한 와이어 리스트를 생성하는 단계; 및양호한 와이어 리스트 및 오류 와이어 리스트의 엔트리를 비교하고 양호한 와이어 리스트로부터 미스매칭된 엔트리를 제거하며 나머지 엔트리를 발생 회수에 의해 소팅하는 단계를 포함하고,가장 큰 오류 와이어의 회수는 개별적인 코어의 테스트에 의해 검출된 오류를 유발하는 가장 큰 확률을 나타내는 시스템 온 칩 평가 방법.
- 제5항에 있어서, 상기 코어 내에서 오류 와이어의 가능성있는 위치를 찾아내는 단계는,오류가 검출된 코어에 인가되는 모든 테스트 벡터의 테스트 벡터 리스트 및 테스트 벡터에 의해 감작되는 액티브 와이어의 경로 리스트를 생성하는 단계;테스트 벡터를 코어 I/O 패드를 통해 코어에 인가하여 테스트 벡터에 응답하여 코어의 출력의 임의의 오류를 검출하는 단계;코어의 출력의 오류에 대응하는 테스트 벡터의 오류 테스트 벡터 리스트 및 오류없는 테스트 벡터의 양호한 테스트 벡터 리스트를 생성하는 단계;경로 리스트를 이용하여 오류와 연관된 와이어의 오류 와이어 리스트 및 오류 테스트 벡터 리스트를 생성하는 단계;경로 리스트를 이용하여 오류없는 와이어의 양호한 와이어 리스트 및 양호한 테스트 벡터 리스트를 생성하는 단계;양호한 와이어 리스트 및 오류 와이어 리스트의 엔트리를 비교하고 양호한 와이어 리스트로부터 불일치한 엔트리를 제거하는 단계; 및양호한 와이어 리스트에 남아있는 엔트리를 발생 회수에 의해 소팅하는 단계를 포함하고,가장 큰 오류 와이어의 회수는 개별적인 코어의 테스트에 의해 검출된 오류를 유발하는 가장 큰 확률을 나타내는 시스템 온 칩 평가 방법.
- 제1항에 있어서, 상기 코어의 금속층을 구축하는 단계는, 코어의 내부 회로 노드를 최상위 금속층에서 컨택트 패드에 접속함으로써, 컨택트 프로브에 의해 내부 회로 노드 및 I/O 패드에 액세스할 수 있게 하는 단계를 포함하는 시스템 온 칩 평가 방법.
- 제1항에 있어서, 상기 I/O 패드를 최상위 금속층에 접속하는 단계는, 패드 프레임의 하위 금속층과 상부 금속층간의 금속 비아를 이용함으로써, I/O 패드를 최상위 금속층으로 중복시키는 단계를 포함하는 시스템 온 칩 평가 방법.
- 시스템 온 칩 IC(SoC)를 평가하는 방법에 있어서,하위 금속층상의 I/O(입출력) 패드를 최상위 금속층에 접속시키는 동안에 SoC에서 각 코어에 대해 하나의 패드 프레임 및 내부 회로 노드를 확립하도록 2개 이상의 금속층을 구축함으로써, 각 코어의 패드 프레임의 최상위 금속층의 표면 상에 모든 I/O 패드 및 전력 패드를 가지는 코어 I/O 패드를 생성하는 단계;테스트 벡터를 칩 I/O 패드를 통해 SoC에 인가하고 칩 I/O 패드를 통해 수신된 SoC의 응답 출력을 평가함으로써 SoC를 전체적으로 테스트하는 단계;코어의 최상위 금속층 상의 코어 I/O 패드를 통해 코어 특정 테스트 벡터를 코어에 인가하고 코어 I/O 패드를 통해 수신된 코어의 응답 출력을 평가함으로써 SoC의 개별적인 코어를 테스트하는 단계;오류가 SoC 칩의 전체적인 테스트에서는 발견되고 개별적인 코어의 테스트에서는 발견되지 않은 경우에 오류를 유발하는 2개 이상의 코어들간의 인터커넥트를 찾아내는 단계; 및오류가 SoC 칩의 전체 테스트 및 개별적인 코어의 테스트 모두에서 발견된 경우에, 오류를 유발하는 코어 내에서 오류 와이어의 가능성있는 위치를 찾아내는 단계를 포함하는 시스템 온 칩 평가 방법.
- 제10항에 있어서, 상기 인터커넥트를 찾아내는 단계는, 오류를 검출할 때까지, 테스트 신호를 하나의 코어의 코어 I/O 패드에 인가하고 각 인터커넥트에 대해 다른 코어의 코어 I/O 패드에서 테스트 신호로부터 기인하는 신호를 평가하는 단계를 포함하는 시스템 온 칩 평가 방법.
- 제10항에 있어서, 상기 코어 내에서 오류 와이어의 가능성있는 위치를 찾아내는 단계는,테스트 벡터를 코어 I/O 패드를 통해 코어에 인가하고 테스트 벡터에 응답하여 코어의 출력의 임의의 오류를 검출하는 단계;테스트 벡터의 인가의 결과에 기초하여 오류와 연관된 와이어의 오류 와이어 리스트 및 오류가 없는 와이어의 양호한 와이어 리스트를 생성하는 단계; 및양호한 와이어 리스트 및 오류 와이어 리스트의 엔트리를 비교하고 양호한 와이어 리스트로부터 미스매칭된 엔트리를 제거하며 나머지 엔트리를 발생 회수에 의해 소팅하는 단계를 포함하고,가장 큰 오류 와이어의 회수는 개별적인 코어의 테스트에 의해 검출된 오류를 유발하는 가장 큰 확률을 나타내는 시스템 온 칩 평가 방법.
- 제10항에 있어서, 상기 코어 내에서 오류 와이어의 가능성있는 위치를 찾아내는 단계는,오류가 검출된 코어에 인가되는 모든 테스트 벡터의 테스트 벡터 리스트 및 테스트 벡터에 의해 감작되는 액티브 와이어의 경로 리스트를 생성하는 단계;테스트 벡터를 코어 I/O 패드를 통해 코어에 인가하여 테스트 벡터에 응답하여 코어 출력의 임의의 오류를 검출하는 단계;코어 출력의 오류에 대응하는 테스트 벡터의 오류 테스트 벡터 리스트 및 오류없는 테스트 벡터의 양호한 테스트 벡터 리스트를 생성하는 단계;경로 리스트를 이용하여 오류와 연관된 와이어의 오류 와이어 리스트 및 오류 테스트 벡터 리스트를 생성하는 단계;경로 리스트를 이용하여 오류없는 와이어의 양호한 와이어 리스트 및 양호한 테스트 벡터 리스트를 생성하는 단계;양호한 와이어 리스트 및 오류 와이어 리스트의 엔트리를 비교하고 양호한 와이어 리스트로부터 불일치한 엔트리를 제거하는 단계; 및양호한 와이어 리스트에 남아있는 엔트리를 발생 회수에 의해 소팅하는 단계를 포함하고,가장 큰 오류 와이어의 회수는 개별적인 코어의 테스트에 의해 검출된 오류를 유발하는 가장 큰 확률을 나타내는 시스템 온 칩 평가 방법.
- 제10항에 있어서, 상기 코어의 금속층을 구축하는 단계는, 코어의 내부 회로 노드를 최상위 금속층에 중복시킴으로써, 컨택트 프로브에 의해 내부 회로 노드 및 I/O 패드에 액세스할 수 있게 하는 단계를 포함하는 시스템 온 칩 평가 방법.
- 제10항에 있어서, 상기 I/O 패드를 최상위 금속층에 접속하는 단계는, 패드 프레임의 하위 금속층과 상부 금속층간의 금속 비아를 이용함으로써, I/O 패드를 최상위 금속층으로 중복시키는 단계를 포함하는 시스템 온 칩 평가 방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/225,930 US6944808B2 (en) | 2001-05-12 | 2002-08-22 | Method of evaluating core based system-on-a-chip |
US10/225,930 | 2002-08-22 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20050058413A true KR20050058413A (ko) | 2005-06-16 |
Family
ID=31946313
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020057002929A KR20050058413A (ko) | 2002-08-22 | 2003-08-20 | 코어 기반 시스템 온 칩을 평가하는 방법 |
Country Status (6)
Country | Link |
---|---|
US (1) | US6944808B2 (ko) |
JP (1) | JP2005536884A (ko) |
KR (1) | KR20050058413A (ko) |
CN (1) | CN1679165A (ko) |
DE (1) | DE10393176T5 (ko) |
WO (1) | WO2004019407A1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100694315B1 (ko) * | 2005-02-28 | 2007-03-14 | 한양대학교 산학협력단 | 다중 시스템 클럭 및 이종 코어를 포함하는 시스템 온 칩용연결선 지연 고장 테스트 제어기 |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6948105B2 (en) * | 2001-05-12 | 2005-09-20 | Advantest Corp. | Method of evaluating core based system-on-a-chip (SoC) and structure of SoC incorporating same |
JP3833984B2 (ja) * | 2002-10-28 | 2006-10-18 | 株式会社東芝 | テストベクタの生成装置、テストベクタの生成方法、半導体集積回路の故障解析装置、およびテストベクタを生成するためのプログラム |
US7313739B2 (en) * | 2002-12-31 | 2007-12-25 | Analog Devices, Inc. | Method and apparatus for testing embedded cores |
US6999900B2 (en) * | 2004-03-30 | 2006-02-14 | Arm Limited | Testing memory access signal connections |
US7239978B2 (en) * | 2004-03-31 | 2007-07-03 | Wu-Tung Cheng | Compactor independent fault diagnosis |
US8280687B2 (en) | 2004-03-31 | 2012-10-02 | Mentor Graphics Corporation | Direct fault diagnostics using per-pattern compactor signatures |
US7234120B1 (en) * | 2004-10-06 | 2007-06-19 | Xilinx, Inc. | Fault isolation in a programmable logic device |
US7536658B2 (en) * | 2004-10-29 | 2009-05-19 | Synopsys, Inc. | Power pad synthesizer for an integrated circuit design |
US7607057B2 (en) * | 2004-12-28 | 2009-10-20 | Lsi Corporation | Test wrapper including integrated scan chain for testing embedded hard macro in an integrated circuit chip |
US7320115B2 (en) * | 2005-07-12 | 2008-01-15 | Taiwan Semiconductor Manufacturing Co., Ltd. | Method for identifying a physical failure location on an integrated circuit |
CN100449320C (zh) * | 2006-06-23 | 2009-01-07 | 河海大学 | 板级时序电路测试矢量生成方法 |
JP2008020960A (ja) * | 2006-07-10 | 2008-01-31 | National Applied Research Lab National Chip Implementation Center | MP‐SoCプラットフォームおよびその設計方法 |
US8327309B2 (en) * | 2007-08-14 | 2012-12-04 | Synopsys, Inc. | Verification of design information for controlling manufacture of a system on a chip |
US8056025B1 (en) * | 2008-02-21 | 2011-11-08 | Altera Corporation | Integration of open space/dummy metal at CAD for physical debug of new silicon |
JP5509568B2 (ja) * | 2008-10-03 | 2014-06-04 | 富士通株式会社 | コンピュータ装置、プロセッサ診断方法、及びプロセッサ診断制御プログラム |
CN105468797B (zh) | 2014-08-22 | 2019-10-22 | 深圳市中兴微电子技术有限公司 | 一种信息处理方法及装置 |
US10698805B1 (en) * | 2017-01-25 | 2020-06-30 | Cadence Design Systems, Inc. | Method and system for profiling performance of a system on chip |
US11408934B2 (en) | 2017-12-22 | 2022-08-09 | Nvidia Corporation | In system test of chips in functional systems |
US20240160825A1 (en) * | 2022-11-10 | 2024-05-16 | Cornami, Inc. | Method and system for providing fault tolerant layout of massively parallel processing array |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS52123875A (en) * | 1976-04-10 | 1977-10-18 | Fujitsu Ltd | Wiring inspection system for highly integrated lsi |
JPH0541503A (ja) * | 1991-06-21 | 1993-02-19 | Nec Ic Microcomput Syst Ltd | マスタスライス方式の半導体装置の製造方法 |
JPH05335308A (ja) * | 1992-06-04 | 1993-12-17 | Nec Corp | 半導体集積回路装置 |
US6378093B1 (en) * | 1998-02-10 | 2002-04-23 | Texas Instruments Incorporated | Controller for scan distributor and controller architecture |
US6425100B1 (en) * | 1998-04-24 | 2002-07-23 | Texas Instruments Incorporated | Snoopy test access port architecture for electronic circuits including embedded core with built-in test access port |
JP3189802B2 (ja) * | 1998-09-14 | 2001-07-16 | 日本電気株式会社 | 半導体集積回路 |
JP2002311090A (ja) * | 2001-04-09 | 2002-10-23 | Mitsubishi Electric Corp | 半導体集積回路およびテスト用ボード |
US6948105B2 (en) * | 2001-05-12 | 2005-09-20 | Advantest Corp. | Method of evaluating core based system-on-a-chip (SoC) and structure of SoC incorporating same |
-
2002
- 2002-08-22 US US10/225,930 patent/US6944808B2/en not_active Expired - Fee Related
-
2003
- 2003-08-20 DE DE10393176T patent/DE10393176T5/de not_active Withdrawn
- 2003-08-20 JP JP2004530571A patent/JP2005536884A/ja not_active Withdrawn
- 2003-08-20 WO PCT/JP2003/010486 patent/WO2004019407A1/en active Application Filing
- 2003-08-20 KR KR1020057002929A patent/KR20050058413A/ko not_active Application Discontinuation
- 2003-08-20 CN CNA038199548A patent/CN1679165A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100694315B1 (ko) * | 2005-02-28 | 2007-03-14 | 한양대학교 산학협력단 | 다중 시스템 클럭 및 이종 코어를 포함하는 시스템 온 칩용연결선 지연 고장 테스트 제어기 |
Also Published As
Publication number | Publication date |
---|---|
DE10393176T5 (de) | 2005-09-29 |
WO2004019407A1 (en) | 2004-03-04 |
CN1679165A (zh) | 2005-10-05 |
JP2005536884A (ja) | 2005-12-02 |
US20030056163A1 (en) | 2003-03-20 |
US6944808B2 (en) | 2005-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6944808B2 (en) | Method of evaluating core based system-on-a-chip | |
Wang et al. | VLSI test principles and architectures: design for testability | |
US6948105B2 (en) | Method of evaluating core based system-on-a-chip (SoC) and structure of SoC incorporating same | |
Agrawal et al. | Designing circuits with partial scan | |
Milor | A tutorial introduction to research on analog and mixed-signal circuit testing | |
Steininger | Testing and built-in self-test–A survey | |
JP2003084036A (ja) | 診断システム及び診断方法 | |
Taouil et al. | Post-bond interconnect test and diagnosis for 3-D memory stacked on logic | |
Kusko et al. | Microprocessor test and test tool methodology for the 500 MHz IBM S/390 G5 chip | |
Song et al. | Diagnostic techniques for the IBM S/390 600 MHz G5 microprocessor | |
Storey | A test methodology for VLSI chips on silicon | |
Swan et al. | Crosscheck-a practical solution for ASIC testability | |
Li et al. | IEEE standard 1500 compatible oscillation ring test methodology for interconnect delay and crosstalk detection | |
Kinra et al. | Diagnostic techniques for the UltraSPARC/sup TM/microprocessors | |
Li et al. | IEEE standard 1500 compatible interconnect diagnosis for delay and crosstalk faults | |
De Jong et al. | Boundary scan test, test methodology, and fault modeling | |
Huhn et al. | Integrated Circuits | |
Zorian | Emerging trends in VLSI test and diagnosis | |
Chen et al. | A Scan-Chain Based Built-In Self-Test for ILV in Monolithic 3D ICs | |
Khalil et al. | Design for testability of circuits and Systems; An overview | |
Russell et al. | Design for testability—a review of advanced methods | |
Patnaik et al. | The state of VLSI testing | |
Sontakke et al. | Testing nanometer memories: a review of architectures, applications, and challenges. | |
Joe | Incremental Test Pattern Generation for structurally similar circuits | |
Aitken | The challenge of IC test and fault diagnosis |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid |