KR101524451B1 - Ip 블럭의 회로 테스팅을 위한 기능적 패브릭 기반 테스트 래퍼 - Google Patents
Ip 블럭의 회로 테스팅을 위한 기능적 패브릭 기반 테스트 래퍼 Download PDFInfo
- Publication number
- KR101524451B1 KR101524451B1 KR1020137025678A KR20137025678A KR101524451B1 KR 101524451 B1 KR101524451 B1 KR 101524451B1 KR 1020137025678 A KR1020137025678 A KR 1020137025678A KR 20137025678 A KR20137025678 A KR 20137025678A KR 101524451 B1 KR101524451 B1 KR 101524451B1
- Authority
- KR
- South Korea
- Prior art keywords
- test
- block
- wrapper
- fabric
- data
- 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
- 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/3183—Generation of test inputs, e.g. test vectors, patterns or sequences
-
- 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/26—Testing of individual semiconductor devices
-
- 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/318561—Identification of the subpart
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/267—Reconfiguring circuits for testing, e.g. LSSD, partitioning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
시스템 온칩(SoC)에 통합된 IP 블럭의 테스트를 가능하게 하기 위한 테스트 래퍼(wrapper) 및 연관 테스트 액세스 매커니즘(TAM) 구조. TAM 구조는 테스트 컨트롤러 및 IP 블럭에 근접한 SoC 상에 통합되는 하나 이상의 테스트 래퍼를 포함한다. 외부 테스터로부터의 입력에 대응하는 테스트 데이터 및 커맨드는 테스트 컨트롤러에 의해 패키징되고, 상호접속 패브릭을 통해 하나 이상의 테스트 래퍼로 송신된다. 테스트 래퍼는 IP 블럭의 회로 레벨 테스트를 가능하게 하기 위해 테스트 데이터, 제어 및/또는 자극 신호를 IP 블럭에 제공하도록 하나 이상의 IP 테스트 포트와 접속한다. 회로 레벨 테스트에 대한 테스트 결과는 패브릭을 통해 테스트 컨트롤러로 되돌아간다. 테스트 래퍼는 IP 블럭의 기능 테스트가 테스트 패키지를 통해 가능하게 되고 테스트 결과가 테스트 컨트롤러와 IP 블럭 사이에서 패브릭을 통해 송신되게 할 수 있는, 상호접속 신호를 전달하도록 구성될 수 있다. 테스트 래퍼는 또한 테스트 파티션을 포함하는 다수의 IP 블럭을 테스트하도록 구성될 수 있다.
Description
본 발명의 분야는 일반적으로 컴퓨터 시스템에 관한 것이고, 더 자세하게는 시스템 온칩(SoC) 설계에 관한 것이지만 배타적인 것은 아니다.
컴퓨터 구조는 이산적 구성요소를 인쇄회로기판 상에서 또는 다른 패키지 구성을 이용하여 연결하거나, 통상 시스템 온칩(SoC) 구조라고 불리는 단일의 집적 칩에 다수의 구성요소를 통합하는 것으로 변하고 있다. SoC는 기능적 구성요소 사이의 조밀한 패키징 및 고속 통신, 더 낮은 온도 동작을 포함하는 다수의 이점을 제공한다. SoC 설계는 또한 표준화, 확장성, 모듈화, 및 재사용 가능성을 제공한다.
SoC 구조가 장래의 추세지만, 현재의 일부는 이산적 구성요소를 이용하는 것과 비교하여 설계 및 통합의 검증에 대해 도전한다. 예컨대, 수년동안 퍼스널컴퓨터는 인텔의 유비쿼터스 "노스" 브리지와 "사우스" 브리지 구조를 사용했는데, 중앙처리장치는 첫번째 세트의 버스를 통해 메모리 컨트롤러 허브(MCH)에 접속되었고, 결국 메모리 컨트롤러 허브는 또 다른 세트의 버스를 통해 입력/출력 컨트롤러 허브(ICH)에 접속되었다. MCH 및 ICH의 각각은 또 다른 버스 및 인터페이스를 통해 여러가지 시스템 구성요소 및 주변장치에 인터페이스를 더 제공했다. 이들 버스 및 인터페이스 각각은 잘 확립된 표준을 고수하여, 시스템 구조가 모듈식 설계를 지원할 수 있게 한다. 적절한 설계를 보장하기 위해, 개별 구성요소 또는 구성요소들의 그룹은 디바이스 핀을 통해 액세스 가능한 테스트 인터페이스를 이용하여 테스트될 수 있다.
모듈화는 또한 SoC 구조의 중요한 요소다. 전형적으로, 시스템 설계자는 이 분야에서 통상 IP(Intellectual Property Core) 코어, IP 블럭 또는 간단히 IP라고 불리는 기능적 블럭을 포함하는 다양한 기능적 블럭을 통합할 것이다. 여기서의 목적으로, 이들 기능적 블럭은 IP 블럭 또는 간단히 "IP"로 불리고, SoC 개발 및 제조 업계의 당업자에 의해 이해될 것인 바와 같이, 용어 IP 블럭 또는 IP는 또한 IP 코어 및 다른 구성요소 또는 일반적으로 IP로 알려진 블럭을 포함하는 것으로 이해될 것이다. 이들 IP 블럭은 일반적으로 하나 이상의 전용 기능을 제공하고, 종종 여러 판매자로부터 허가받거나 내부에서 개발된 기존의 회로 설계 블럭을 포함한다. 이들 IP 블럭을 통합하기 위해, 여러가지 인터페이스가 SoC 내에 설계된다. 명확한 노스브리지-사우스브리지 구조 및 그 표준화된 인터페이스가 SoC에서의 통합에 실제적이거나 또는 바람직하지 않기 때문에, 이것은 상당한 도전이 될 수 있다.
이 문제를 해결하기 위해, 고속이고 더 모듈화된 인터페이스가 새롭게 개발되었다. 예컨대, 인텔사는 최근 IOSF(INTEL On-Chip Scalable Fabric)를 포함하는 새로운 상호접속 패브릭(interconnect fabric) 구조를 개발하였다. 부가적으로, OCP(Open Core Protocol) 및 ARM의 AMBA(Advanced Microcontroller Bus Architecture) 인터페이스를 포함하여 다른 패브릭 기반 인터페이스가 개발되었다. IOSF 상호접속 패브릭 등의 온칩 상호접속은 패킷화된 계층 통신 프로토콜을 이용하고, 이종 IP를 표준 IOSF 인터페이스와 쉽게 통합하게 하는 IP 블럭 간의 점대점 상호접속을 지원한다.
SoC 구조의 설계 무결성을 검증하기 위해, IP 블럭간의 통신의 테스트 및 IP 기능 및 회로의 테스트가 요구된다. 종래의 접근방식하에서, 특정 SoC 구조의 테스트는 애드혹(ad-hoc) 기술을 이용하여 고안된 테스트 액세스 메커니즘(TAM)을 이용하여 구현된다. 그러한 TAM은 전용 확인 및 설계 수고를 수반하고, 이것은 모든 리드(lead) 또는 파생 SoC에 대해 반복될 필요가 있다. 사용된 애드혹 기술은 여분의 면적과 SoC 레벨로 기입하는 수고를 초래하고, 이는 오늘날의 조밀한 SoC에 혼잡을 증가시키도록 야기할 수 있다. 이것은 SoC에 대한 제품 개발 시간 및 저렴한 비용의 목표를 심각하게 손상시킬 수 있다. 따라서, 더 유연하고 예측 가능한 방식으로 SoC 구조의 테스트를 용이하게 할 필요가 있다.
본 발명의 상기 국면 및 수반되는 많은 이점은, 첨부하는 도면과 연관지어 볼 때, 다음의 상세한 설명을 참조하여 더 잘 이해되는 바와 마찬가지로 더 쉽게 알 수 있을 것이고, 유사한 참조부호는 특별한 언급이 없는 한 여러 도면에 걸쳐 유사 부분을 가리킨다.
도 1은 본 발명의 일 실시예에 따라, 예시적 TAM(Test Access Mechanism) 구조를 도시하는 블럭도,
도 1(a)는 IOSF 패브릭을 구현하는 도 1의 TAM 구조의 일 실시예의 블럭도,
도 2는 일 실시예에 따라, 테스트 컨트롤러의 마이크로 구조를 도시하는 블럭도,
도 3은 일 실시예에 따라 테스트 래퍼(Test Wrapper)의 마이크로 구조를 도시하는 블럭도,
도 4는 일 실시예에 따라 테스트 컨트롤러의 클럭 크로싱 FIFO의 이용을 도시하는 블럭도,
도 5는 일 실시예에 따라 테스트 래퍼의 클럭 크로싱 FIFO의 이용을 도시하는 블럭도,
도 6은 예시적 IP 블럭 및 대응하는 테스트 로직의 세부사항을 도시하는 블럭도,
도 7은 테스트 컨트롤러 및 다수의 테스트 래퍼가 대응하는 IP 블럭의 테스트를 용이하게 하도록 구현되는 SoC 구조를 도시하는 블럭도,
도 8은 테스트 파티션을 포함하는 다수의 IP 블럭을 테스트하도록 구성되는 테스트 래퍼의 실시예를 도시하는 블럭도이다.
도 1(a)는 IOSF 패브릭을 구현하는 도 1의 TAM 구조의 일 실시예의 블럭도,
도 2는 일 실시예에 따라, 테스트 컨트롤러의 마이크로 구조를 도시하는 블럭도,
도 3은 일 실시예에 따라 테스트 래퍼(Test Wrapper)의 마이크로 구조를 도시하는 블럭도,
도 4는 일 실시예에 따라 테스트 컨트롤러의 클럭 크로싱 FIFO의 이용을 도시하는 블럭도,
도 5는 일 실시예에 따라 테스트 래퍼의 클럭 크로싱 FIFO의 이용을 도시하는 블럭도,
도 6은 예시적 IP 블럭 및 대응하는 테스트 로직의 세부사항을 도시하는 블럭도,
도 7은 테스트 컨트롤러 및 다수의 테스트 래퍼가 대응하는 IP 블럭의 테스트를 용이하게 하도록 구현되는 SoC 구조를 도시하는 블럭도,
도 8은 테스트 파티션을 포함하는 다수의 IP 블럭을 테스트하도록 구성되는 테스트 래퍼의 실시예를 도시하는 블럭도이다.
여기에 SoC의 테스트를 용이하게 하는 방법 및 장치의 실시예가 기술된다. 다음의 명세서에서, 여러가지 특정 세부 사항은 본 발명의 실시예의 완전한 이해를 제공하기 위해 언급된다. 그러나 당업자는 본 발명이 하나 이상의 그 특정 세부사항이 없거나 다른 방법, 구성요소, 재료 등에 의해 실시될 수 있음을 이해할 것이다. 다른 예에서, 공지된 구조, 재료 또는 동작은 본 발명의 국면을 애매하게 하는 것을 피하기 위해 세부적으로 도시 또는 기술되지 않는다.
본 명세서 전체에 걸쳐 "하나의 실시예" 또는 "일 실시예"와 같은 언급은, 그 실시예와 연관지어 기술된 특정 특징, 구조 또는 특성이 본 발명의 적어도 하나의 실시예에 포함됨을 의미한다. 따라서, 본 명세서 전체에 걸친 여러 부분에서 "하나의 실시예에서" 또는 "일 실시예에서"라는 구절의 출현은 모두 반드시 동일한 실시예를 가리키는 것은 아니다. 또한, 특정 특징, 구조, 또는 특성은 하나 이상의 실시예에서 임의의 적당한 방식으로 조합될 수 있다.
여기에 개시된 실시예의 국면에 따르면, 테스트 액세스 메커니즘 또는 TAM이라 불리는, 테스트 액세스를 위한 표준의, 모듈식 확장형의 재사용가능한 인프라구조가 제공된다. TAM은 기존의 기능적 패브릭(들)을 이용하여 구현되고, 테스트 자극의 전달을 위한 표준 메커니즘 및 구성요소 디버그 및 제조 테스트 동안의 테스트 응답의 샘플링을 제공한다. TAM에 대한 기능적 패브릭의 재사용은 구현 비용을 줄이고, 이에 따라 TAM은 기능적 패브릭과 별개이고 그와 구별되는 전용 테스트 인프라 구조의 사용을 수반하는 종래 방식 및 구조에 비해 표준화된 기능적 패브릭의 이점(모듈성, 재사용 가능성, 확장성 및 저렴한 비용 등)을 이어받는다.
다음의 실시예의 일부에서, IOSF(INTEL On-Chip Scalable Fabric)를 채용하는 SoC를 이용하여 구현된 TAM을 채용하는 예시적 구현 국면 및 개념이 개시된다. IOSF 패브릭을 이용하는 구현은 단지 예시적이며, 유사한 개념이, 오픈 코어 프로토콜(OCP) 및 인텔 퀵패스 상호접속을 포함하지만, 여기에 한정되지 않는, 다른 타입의 상호접속 패브릭을 이용하여 구현하도록 채용될 수 있음이 이해될 것이다.
일 실시예에 따르면, TAM은 자동화 테스트 장비 또는 ATE라고도 불리는, 테스터로/로부터 테스트 데이터 및 자극을 전달하기 위한 SoC에 이미 구현된 패브릭 인트라 구조, 프로토콜 및 인터페이스를 이용하여 구현된다. TAM이 기존의 기능적 패브릭을 이용하기 때문에, 그 결과 종래 기술보다 게이트 수가 더 적고 글로벌 라우팅(조밀한 SoC에서 특히 중요함)이 더 적어진다.
TAM은 두가지 주요 구성요소인 테스트 컨트롤러 및 테스트 래퍼를 통해 구현된다. 개요로서, 테스트 컨트롤러는 패브릭의 에이전트로서 작용하고 ATE와 SoC 사이에서의 관문으로서 기능하고, 따라서, SoC에 대해 외부에 있는 ATE가, SoC의 각 타입의 패브릭에 대해 적용 가능한 패브릭 프로토콜에 의해 사용되는 패킷으로 테스트 데이터를 변환함으로써 테스트 데이터를 타겟 IP로 전달할 수 있게 한다. 패킷은 테스트 래퍼에 의해 (필요하다면) 목적지 IP 블럭에서 테스트 자극으로 역 패킷화된다. 그 후 테스트 래퍼는 타겟 IP로부터 테스트 자극에 대한 응답을 수집하고, 그것을 하나 이상의 패킷으로서 테스트 컨트롤러로 다시 송신하고, 그 후 ATE에 의해 샘플링에 적합한 형태로 변환한다.
TAM의 일 실시예의 블럭 레벨 세부사항을 도시하는 예시적 구조가 도 1에 도시된다. 구조는 테스트 인터페이스(103), 테스트 컨트롤러(104), 상호접속 패브릭(106), 테스트 래퍼(108), IP 블럭(108) 및 테스트 구성 블럭(112)을 포함하는 SoC(102)에 대해 외부에 있는 ATE(100)를 포함한다. 테스트 컨트롤러(104) 및 테스트 래퍼(108)의 각각은 패브릭(106)에 통신 가능하게 연결된다. 테스트 컨트롤러(104)는 또한 SoC 패키지 상에서 복수의 핀을 포함하는 테스트 인터페이스(103)를 통해 ATE(100)에 통신 가능하게 연결된다. 부가하여, 테스트 래퍼(108)는 IP 블럭(110)에 통신 가능하게 연결된다. 명료성을 위해 도 1에 도시되지 않지만, 다른 여러가지 테스트 래퍼, IP 블럭 및/또는 브리지가 또한 도 7에 도시되고 이하에 설명되는 것 등의 일반적인 SoC 구조에서 패브릭(106)에 통신 가능하게 연결될 것이다.
테스트 컨트롤러는 테스터가 테스트 자극을 IUT(IP-under-Test)에 인가하고 IUT로부터의 응답을 샘플링하는 주요 인터페이스이다. 테스트 컨트롤러는 패브릭 기반 인터페이스를 사용하지 않는 장치를 테스트하기 위해 필요한 인터페이스와 매우 유사한 인터페이스를 제공함으로써 ATE와 테스터로부터의 패브릭 사이에 추상화된 인터페이스를 제공한다. 도 1에 도시된 바와 같이, 테스트 컨트롤러(104)는 세 개의 주요 구성요소, 즉, 테스트 데이터 포매터(114), 송신 트랜잭션 큐(TXQ)(116), 수신 트랜잭션 큐(RXQ)(118), 패브릭 인터페이스(120)를 포함한다.
테스트 래퍼는 패브릭과 IP 블럭의 테스트 포트 사이의 인터페이스로서 작용하는데, 래퍼를 상상하는 한가지 방법은, 패브릭으로부터의 IP 블럭을 테스트하기 위한 저 레벨 시그널링 요건을 추상화하고, 반대로 IP 블럭으로부터의 패브릭 관련 프로토콜을 추상화하는 추상화 계층이다. 도 1에 도시된 바와 같이, 테스트 래퍼(108)로부터의 테스트 신호의 한 부분은 IP 블럭의 패브릭 인터페이스 구성요소와 접속하는 반면, 테스트 신호의 다른 부분은 IP 테스트 포트와 테스트 래퍼(108)의 테스트 인터페이스(124) 사이에 연결된 접속(122)을 통해 IP 테스트 포트(130)에 접속된다. IP 테스트 포트는 IP 코어 등의 무결성을 검증하기 위해 통상 수행된 스캔 테스트를 포함하여, 여러가지 구성요소 및 회로 레벨 테스트를 수행하는 데 이용될 수 있다. 테스트 래퍼(108)는 또한 IP 블럭 및 패브릭 인터페이스의 통신 및 기능적 테스트를 지원하고 통상의 SoC 사용중 패브릭 통신 동작을 지원하기 위해, IP 블럭(110)에 패브릭 신호의 패스스루(pass through)를 직접 지원하도록 구성된다.
IP 블럭(110)은 여기에 개시된 원리 및 개념에 따라 TAM을 이용하여 테스트될 수 있는 여러가지 타입의 IP 블럭 및 IP 코어의 예이다. 예시된 바와 같이, IP 블럭(110)은 IP 코어(126), 패브릭 인터페이스 블럭(128), IP 테스트 포트(130)를 포함한다. 예시적 IP 블럭에 대응하는 보다 세부적인 사항은 도 6을 참조하여 이하에 설명된다.
테스트 컨트롤러(104A)에 대한 마이크로 구조의 일 실시예의 세부사항은 도 2에 도시된다. 예시적 구성요소는 커맨드 디코더(200), 각각 송신 큐(TXQ) 인터페이스(206) 및 수신 큐(RXQ) 인터페이스(208)에 연결된 한 쌍의 FIFO(First In, First Out) 버퍼(202, 204)를 포함한다. 테스트 컨트롤러(104)는 또한 목적지 어드레스 레지스터(210)를 포함한다. 부가하여, 송신 및 수신 큐(TXQ(116) 및 RXQ(118)) 및 도 1의 테스트 컨트롤러(104)의 패브릭 인터페이스(120)는, 테스트 컨트롤러(104)의 마이크로 구조의 다른 세부사항을 애매하게 하지 않도록 명료성을 위해 도 2에 패브릭 인터페이스 블럭(212)으로서 집합적으로 묘사된다.
테스트 테이터 포매터(114)는 테스터로부터 테스트 데이터 및 테스터 커맨드/제어 신호를 포함하는 테스터 입력을 수신하고, IUT로의 송신을 위해 대응하는 테스트 데이터 및 테스트 커맨드/명령을 패키징하고, 패키징 동작은, 패키지가 의도된 목적지 IP로 전달되도록 적절한 어드레스 정보를 포함하는 것 및 타겟 IP가 테스트 데이터로 무엇을 할지 알도록 추가 커맨드 필드를 첨부하는 것을 수반한다. 예를 들어, 스캔 모드에서, 패킷은 IP 어드레스와, 스캔 로드, 언로드, 자극 로드/언로드를 실행하거나 캡쳐 클럭을 펄스화하기 위해 IP에 대한 테스트 래퍼에 보내는 데이터에 내장된 커맨드로 구성된다.
테스트 데이터 포매터에 의해 패키징된 테스터 입력 데이터는 패브릭으로의 송신을 위한 송신 트랜잭션 큐에 맡겨진다. 최대 패키지 사이즈는 송신/수신 트랜잭션 큐의 사이즈에 따라 달라지고 패킷화/역 패킷화를 위한 오버헤드의 최소화를 보장하도록 최적화된다. 부기(bookkeeping)의 양을 최소화함으로써 래퍼의 설계를 간략화하기 위해, 일 실시예에서 송신 트랜잭션 큐의 각 엔트리는 커맨드가 실행되는 데이터와 마찬가지로 커맨드도 인코딩하는 자립 엔티티이다. 예를 들어, 스캔 데이터를 포함하는 엔트리는 스캔 데이터가 후속되는 스캔 동작의 타입(로드, 언로드 또는 양쪽 모두)을 특정하는 필드를 가질 것이다. 부가적으로, 목적지 스캔 래퍼는, 스캔 데이터를 수신하는 한, 간단하고 저가의 래퍼 설계를 초래하는 스캔 시프트 동작을 실행하는 것을 지속한다. 최대 스캔 길이의 스캔 체인이 로드되는 것을 보장하기 위해서 부기는 필요없다(래퍼는 최대 스캔 체인 길이에 관계없이 설계될 수 있음). 테스트 데이터 패킷이 어셈블링되면, 그것은 목적지 IUT로 포스팅된 트랜잭션으로서 패브릭을 통한 송신을 위해 패브릭 인터페이스로 전달된다. 대안적 방식 하에서, 특정 테스트 패키지는 다수의 패킷을 이용하여 송신될 수 있지만, 첫번째 패킷의 정보 또는 헤더 정보 등의 다른 정보는 얼마나 많은 패킷이 특별한 테스트 패키지에 있었는지 수신기에 통지하도록 채용될 필요가 있을 것이기 때문에 이 방식은 더 많은 오버헤드를 수반한다.
일 실시예에서, 테스트 컨트롤러(104A)는 다음의 방식으로 동작한다. 테스트 데이터는 테스트 커맨드와 함께 ATE(100)로부터 수신된다. 예시된 실시예에서, 테스트 데이터는 N비트 인터페이스를 통해 ATE(100)로부터 수신되고, 테스트 커맨드는 4비트 값으로서 4비트 인터페이스를 통해 수신된다. 그러나, 다른 비트 값을 포함하는 테스트 커맨드도 채용될 수 있기 때문에, 4비트 값의 이용은 예시적인 것이다. 일반적으로, ATE와 테스트 컨트롤러 사이에 (및 SoC(102)의 프록시 테스트 인터페이스(103)에 의해) 통신을 간단히 하기 위해 병렬 인터페이스가 바람직하지만, N비트 및 4비트 인터페이스의 각각은 병렬 또는 직렬 인터페이스를 포함할 수 있다. 더욱이, 테스트 데이터의 하나 이상의 N비트 그룹은 특정 테스트 패키지를 위해 사용될 수 있다. 부가적으로, 특정 테스트 커맨드는 순차적으로 수신되는 하나 이상의 4비트 테스트 커맨드 데이터값으로서 코딩될 수 있다. 테스트 커맨드 데이터는 또한 제어 데이터를 포함할 수 있다. 도 2에 도시된 테스트 데이터 및 테스트 커맨드 데이터 입력에 부가하여, 대응하는 클럭 주파수에서 동작하는 클럭(CLK) 신호가 또한 있다. 이하에 더 상세히 설명되는 바와 같이, 기술은, ATE 클럭 신호에 의해 사용된 클럭 주파수가 상호접속 패브릭에 의해 사용된 클럭 주파수와 상이할 수 있도록 테스트 컨트롤러에 의해 구현된다.
ATE(100)로부터의 테스트 커맨드 데이터는 커맨드 디코더(200)에서 수신되고 룩업테이블, 레지스터 등을 이용하여 디코딩된다. 테스트 커맨드는 데이터의 패브릭으로의 및 패브릭으로부터의 전송을 제어하도록 수행되어야 할 동작이 무엇인지 테스트 컨트롤러에게 알린다. 목적지 어드레스 레지스터(210)는 테스트 패킷이 송신되어야 하고 테스터로부터의 별개의 커맨드를 이용하여 로딩될 IP의 목적지 어드레스를 저장한다. 적용 가능한 테스트 커맨드의 제어 하에, 입력 테스트 데이터("Test Data In")가 FIFO(202)로 로딩되고, 송신 큐 인터페이스(204)가 포맷팅된 테스트 커맨드 패킷을 패브릭(106)에 송신될 송신 큐로 "로딩"하는 데 사용된다. 실제로, 송신 큐 인터페이스(204)는 패브릭으로 아웃바운드 송신될 패킷 데이터를 포함하는 메모리 저장 위치를 식별하기 위해 포인터를 조작한다.
패브릭 인터페이스 블럭(212)은 대응하는 상호접속에 의해 사용된 응용 가능한 데이터, 신호 및 프로토콜을 이용하여 패브릭(106)과 통신하기 위한 인터페이스를 제공한다. 일부 실시예에서, 패브릭(106)은 1x, 2x, 4x, 8x, 16x 등의 하나 이상의 구성 가능한 폭의 복수의 단일 방향의 직렬 링크를 이용하여 구현된 점대점 상호접속을 포함한다. 패브릭은 또한 버스와 같은 구조를 가질 수 있다. 일반적으로, 임의의 타입의 기존 및 장래의 패브릭은 여기 개시된 일반적 개념 및 원리를 구현하기 위해 채용될 수 있다. 데이터는 패브릭(106)에 의해 채용된 다레벨 프로토콜 스택을 이용하여 구현되는 패킷 및 대응하는 트랜잭션을 이용하여 전송된다. 예를 들어, 일 실시예에서, 패브릭 프로토콜은 인텔 온칩 확장형 패브릭(IOSF) 프로토콜에 대응한다. 다른 실시예에서, 패브릭(106)은 오픈 코어 프로토콜(OCP)을 구현할 수 있다. 이들 예는 여기에 개시된 SoC 구조 및 대응하는 원리 및 개념이 임의의 기존의 또는 장래의 상호접속 패브릭 구조 및 프로토콜로 구현될 수 있는 것에 한정되는 것을 의미하는 것이 아니다. 더욱이, 점대점 상호접속에 부가하여, 여기에 개시된 기술 및 원리는 또한 링-, 메시-, 토루스- 및 버스-기반 상호접속 등의 다른 토폴로지를 사용하여 SoC에 구현될 수 있다.
더 일반적인 수준에서, 패브릭 인터페이스 블럭(212)은 패브릭(106)에 의해 채용된 트랜잭션 구현과 패브릭(106)을 통해 아웃바운드 송신된 및 인바운드 수신된 데이터 사이에서의 추상화 계층을 제공한다. 따라서, 상이한 타입의 상호접속 패브릭을 지원하기 위해, 패브릭 인터페이스 블럭(212)(및 잠재적으로 TXQ 및 RXQ 인터페이스(206, 208))의 회로만이 변경될 필요가 있을 것인 반면, 테스트 컨트롤러(104)의 회로의 나머지는 동일하게 유지되고 특정 패브릭 상호접속 구조 및 프로토콜에 독립적인 방식으로 구현될 것이다.
패킷 기반 패브릭 프로토콜을 채용하는 실시예에서, 테스트 데이터 및 대응하는 테스트 커맨드 정보는 "패킷화"(즉, 하나 이상의 패킷으로 포매팅)되고, 패브릭을 통해 IP 블럭에 할당된 대응하는 어드레스에 의해 식별된 타겟 IP 블럭으로 전송된다. 마찬가지로, 타겟 IP 블럭 및/또는 (이하에 더 상세히 설명되는 바와 같이) 테스트 래퍼에 의해 생성된 테스트 출력 데이터는 패브릭 인터페이스 블럭(212)에서 수신되고, 대응하는 제어 신호를 통해 RXQ 인터페이스(206)에 의해 용이하게 되는 수신 큐 전송에 맞추어, 적용 가능한 테스트 커맨드에 따라 "역패킷화"되고 FIFO(204)로 로딩된다. 그 후 FIFO(204)에 버퍼링된 응용 가능한 테스트 결과 데이터는 테스트 컨트롤러(104)로 전송되어 ATE(100)에 의해 "테스트 데이터 아웃"(즉, 테스트 응답 데이터)로서 수신된다. 도 2에 도시된 바와 같이, 테스트 데이터는 하나 이상의 M 비트 데이터 블럭으로서 테스트 컨트롤러(200)로부터 수신된다. 앞서와 같이, M 비트 데이터 전송은 병렬 또는 직렬 인터페이스를 통해 구현될 수 있고, 특정 테스트 결과는 하나 이상의 M 비트 유닛의 데이터를 포함할 수 있다.
개요로서, 일반적인 IP 블럭에 수행되는 2가지 종류의 테스트, 기능적 테스트 및 구조적 테스트가 있다. 기능적 테스트는 통신 인터페이스 및 IP 블럭에 의해 수행된 기능을 테스트하는 것에 관한 것이고, SoC의 패브릭에 통신 가능하게 또는 동작 가능하게 연결되는 각 IP 블럭이 패브릭을 통해 데이터를 송신 및 수신할 수 있기 때문에, 기능적 테스트는 일반적으로 패브릭을 통해 송신된 테스트 데이터 및 커맨드의 이용을 통해 용이하게 될 수 있다. 따라서, 일 실시예에서, 테스트 래퍼는 기능 테스트에 관한 테스트 데이터 및 커맨드를 포함하는 테스트 패킷이 패브릭을 통해, 테스트 래퍼를 통해 테스트 컨트롤러로 리턴될 테스트 결과 및/또는 기능 테스트 리턴 데이터를 포함하는 패킷에 대해 테스트 컨트롤러로부터 전달될 수 있게 하는 패스스루 메커니즘을 제공한다.
기능 테스트에 부가하여, 구조적 테스트가 또한 테스트 래퍼에 의해 지원된다. 본질적으로, 테스트 컨트롤러와 결합된 테스트 래퍼는, 테스트 래퍼가 구현되는 각 IP 블럭의 테스트 포트에 ATE를 효과적으로 연결하는 메커니즘을 제공한다. 따라서, 스캔 테스트 등의 종래의 이산적 구성요소에서 수행될 수 있는 구조적 테스트는 마찬가지로 IP 블럭에서 수행될 수 있지만, 여기에 개시된 구조 하에서 ATE SoC 인터페이스 또는 스위치 블럭으로부터 각 IP 블럭으로의 전역 배선에 대한 필요 또는, 개별 JTAG 핀으로의 전역 배선이 필요가 없어서, 소중한 다이 레이아웃 공간을 절약한다. 부가하여, 테스트 래퍼 설계가 모듈식이며, 재사용 가능하고, 매우 작은 다이 공간을 포함하기 때문에, 개발 일정에 최소의 영향으로 새로운 및 기존의 설계를 부가하기 쉽고, 따라서 제품 개발 시간에 대한 우려가 경감된다. 더욱이, 구조의 모듈식 및 재사용 가능한 성질은, 개별적으로 주문제작되는 테스트 구조가 더이상 필요없다는 것을 의미한다.
상기에 설명한 바와 같이, 테스트 래퍼는 패브릭과 IP의 테스트 포트 사이의 인터페이스로서 작용한다. 테스트 래퍼는 패브릭을 통해 테스트 컨트롤러에서 유래하는 테스트 패킷을 회수하고, 패킷의 데이터가 패킷에 내장된 커맨드를 통해 스스로 어떻게 처리될 필요가 있는지 해석하며, 그 후 적절한 시그널링 프로토콜에 의해 데이터를 IP의 적절한 테스트 포트에 인가한다. 예컨대, (TAP를 통해 적절한 제어 레지스터를 설정함으로써 주장된) 스캔 모드에서, 래퍼는 (IP 수신 큐(RXQ)에 쌓인 패킷으로부터 회수된) 테스트 컨트롤러에 의해 공급된 스캔 데이터를 이용하여 스캔 로드 동작을 수행하고, IP로부터의 스캔 언로드 데이터(응답)를 IP 송신 큐(TXQ)로 저장하고, 스캔 패킷에 내장된 커맨드에 의해 보내질 때 적절한 캡쳐 클럭을 인가한다. 특정 테스트 방법을 위한 테스트 래퍼는 다음 동작을 수행하는 서브 블럭을 설계함으로써 구현될 수 있다.
RXQ / TXQ 판독- 기입 로직 : 이것은 수신 큐(RXQ)로부터 데이터를 회수하기 위해 트랜잭션 큐와 접속하고, 패브릭을 통해 테스트 컨트롤러로 최후에 다시 전달하기 위한 송신 큐(TXQ)에 데이터를 배치한다. 데이터는 새로운 데이터가 RXQ에 도달하는 것을 검출함으로써 RXQ로부터 회수된다. RXQ에 데이터가 도달하는 것은 간단한 상태 신호에 의해 또는 (존재한다면) 큐의 헤드 및 테일 포인터를 비교함으로써 판정될 수 있다. RXQ로부터의 판독 동작은 보통 RXQ로부터의 엔트리를 쏘아냄으로써 수행된다. 마찬가지로 TXQ에서의 기입 동작은, 응답 데이터가 IP로부터 이용 가능할 때, 그리고 (간단한 상태 신호를 이용하거나 TXQ의 헤드 및 테일 포인터를 비교함으로써) TXQ가 기입 동작을 지원하는 적당한 공간을 가지고 있다고 판정될 때 수행된다. TXQ 엔트리의 수가 사전 결정된 한계에 도달하면, TXQ의 데이터는 패브릭 패킷으로서 테스트 컨트롤러로 전달된다.
테스트 프로토콜 해석기 : 이것은 상기에 한쪽에서 기술된 RXQ/TXQ 판독-기입 로직과 접속하고, IP를 테스트하기 위해 필요한 테스트 프로토콜을 구현하기 위해 다른 쪽에서 IP의 테스트 핀과 접속하는 (다수의 구성요소를 통해 구현된) 논리적 서브블럭이다. 이 인터페이스는 내장된 커맨드를 디코딩하는 것, RXQ로부터의 원래의 데이터(raw data)를, 테스트 자극을 IP에 인가하기 위해 필요한 파형으로 변환하는 것, IP로부터의 응답 파형을 샘플링하는 것, 그것을 TXQ로의 기입에 적당한 데이터로 변환하는 것을 포함한다. 세심한 설계에 의해, 스캔 등의 다양한 구조적 테스트 방법을 구현하기 위해 필요한 테스트 프로토콜 해석기는 테스트 래퍼에 대한 하드웨어 오버헤드를 낮추기 위해 동일한 RXQ/TXQ 판독-기입 로직을 공유할 수 있다.
클럭-도메인 크로싱 : 무려 3개나 되는 상이한 클럭 도메인을 처리해야 하는 메인 서브블럭은 RXQ/TXQ 판독-기입 로직이고, 그것은 RXQ/TXQ로/로부터 판독 및 기입하기 위해 필요한 기준 클럭 및 테스트 프로토콜 해석기에 의해 사용된 기준 클럭과 맞서야 하고, 이는 테스트 프로토콜의 요건을 시그널링함으로써 판정된다(예를 들어, 스캔 래퍼는 최대 시프트 주파수에 의해 결정된 기준 클럭을 이용할 것이다). 이들 클럭 경계에 걸친 데이터의 질서정연한 교환을 확보하기 위해, 핸드쉐이킹(handshaking) 로직은, 데이터가 이용 가능하기 전에 샘플링되지 않도록 보장하는 데 사용되고, 상이한 클럭 도메인에 있을 수 있는 로직에 데이터를 송신하기에 충분한 시간이 허용된다. 테스트 컨트롤러 및 테스트 래퍼를 위한 예시적 클럭 도메인 교차 구현의 도면이 도 4 및 도 5에 각각 도시되고, 이하에 더 상세히 설명된다.
여기서 주목해야 할 중요한 점은, 테스트 래퍼가 구조적 또는 다른 비 기능적 테스트 응용에만 필요하다는 것이다. 그러한 경우에, 기능적 트랜잭션은 비 기능적/구조적 프로토콜을 적합하게 하기 위해 테스트 래퍼에 의해 수정되어야 할 필요가 있다. 기능적 테스트를 위해, IP는 패브릭으로부터 들어오는 기능적 트랜잭션에 직접 응답할 것이고, 따라서 테스트 래퍼는 필요없다. 따라서, 테스트 래퍼의 패스스루 특징은 기능적 테스트 동안 구현된다.
도 3은 테스트 래퍼(108A)에 대한 마이크로 구조 및 일반화된 IP 블럭(110)으로의/으로부터의 인터페이스의 일 실시예를 더 상세하게 도시한다. 도 3에 도시된 다수의 구성요소는, 패브릭 인터페이스(300), RXQ 및 TXQ 인터페이스(302, 304) 및 FIFO(306, 308)를 포함하여, 도 2의 테스트 컨트롤러(104A)의 유사한 구성요소와 비슷하다. 테스트 래퍼(108)는 멀티플렉서 블럭(310), 테스트 상태 머신(312) 및 테스트 제어 로직(314)을 더 포함한다.
패브릭 인터페이스 블럭(300)은 패브릭(106)으로부터 수신된 인바운드 및 패브릭(106)으로 송신된 아웃바운드 신호의 송수신 및 패스스루를 모두 용이하게 하기 위해, 멀티플렉서 블럭(310)으로서 집합적으로 묘사된 멀티플렉서 회로 및 관련 로직을 사용한다. 상호접속 패브릭의 관점으로부터, 패브릭과 접속하는 각 IP 블럭은 각각의 패브릭 인터페이스 및 고유의 상호접속 어드레스를 갖는다. (특정 패브릭 구조 및 프로토콜에 따른) 일부 실시예에서, 패브릭과 접속하는 각 장치 또는 IP 블럭은 패브릭 상호접속을 통해 송신된 트랜잭션 패킷을 처리하기 위한 에이전트를 사용한다. 여기서 사용되는 바와 같이, (프로그래밍된 로직 등을 통해 일반적으로 구현될 수 있는) 그러한 에이전트는 도면에 묘사된 패브릭 인터페이스 블럭 내에 내장되고, 명료성을 위해 개별적으로 도시되지 않지만, 그러한 에이전트 및 그 연관 기능은 그러한 에이전트를 사용하는 상호접속 패브릭 프로토콜을 이용하는 애플리케이션에 대해 다양한 패브릭 인터페이스에 구현되는 것이 이해될 것이다.
예시된 실시예에서, 특정 타겟 IP 블럭을 테스트하기 위해 이용되는 테스트 컨트롤러에서 유래되는 테스트 패킷은 2개의 어드레스 중 하나를 가질 수 있는데, 그것은 (일반적으로 기능 테스트를 위한) IP 블럭 자체에 대응하는 어드레스 또는 테스트 래퍼에 할당된 어드레스이다. 상술한 바와 같이, IP 블럭의 기능적 테스트가 테스트 래퍼로부터의 지원을 필요로 하지 않기 때문에, 테스트 래퍼는 우회될 수 있다. 상술한 바와 같이, 이것은 멀티플렉서 블럭(300)에 의해 영향을 받는다. 테스트 패킷의 정확한 타겟(IP 블럭, 또는 테스트 래퍼)을 판정하기 위해, 각 패킷에 대해 일부 타입의 어드레스 검출이 수행된다. 따라서, 패브릭 인터페이스 블럭(300) 또는 패브릭(106)은 패킷 어드레스를 검출하기 위한 회로를 포함하고 그에 따라 패킷을 라우팅한다.
테스트 래퍼 및 연관 IP 블럭으로부터의 아웃바운드 패킷의 전송은 다소 유사한 방식으로 반대로 처리된다. 이 경우, IP 블럭 패브릭 인터페이스(128)로부터의 신호 및 테스트 래퍼(108)에 의해 내부적으로 생성된 신호가 멀티플렉서를 통해 테스트 래퍼의 패브릭 인터페이스에 선택적으로 연결된다. 이 경우, 패브릭 인터페이스(128)와 테스트 래퍼 사이의 상호접속 신호 경로 상의 아웃바운드 데이터의 단순한 존재는 출력 패킷의 소스가 IP 블럭(110)임을 나타내기 때문에, 어드레스 검출이 필요없다. IP 블럭의 패브릭 인터페이스가 상호접속 패브릭에 직접 접속된 것처럼, IP 블럭의 관점으로부터 테스트 래퍼는 투명하다. 이 바람직한 기능은 이 신호로 설계된 패스스루 기능에 의해 용이해진다.
테스트 래퍼행 데이터 패킷은 RXQ 인터페이스(302)를 이용하여 패브릭 인터페이스 블럭(300)의 트랜잭션 회수 큐로부터 회수되고, 이는 결국 테스트 제어 로직(314)에 대응하는 입력을 제공하는 테스트 상태 머신(306)을 구동하고, 이것은 입력을 해석하고 테스트 제어 신호 및 ("Test Data Out"으로 묘사되는) 연관 테스트 데이터를 통해 IP 블럭으로 대응하는 테스트 자극을 인가한다. 마찬가지로, 응답 데이터("Test Data In")는 IP 블럭으로부터 회수되고, FIFO(308)에 버퍼링되고, 패킷으로 포맷팅되며, TXQ 인터페이스(304) 및 패브릭 인터페이스 블럭(300)의 이용을 통해 패브릭(106)을 거쳐 전송된다. 테스트 응답 패킷의 목적지는 보통 응답 데이터를 역패킷화하고 리포맷팅하며 데이터를 ATE로 전송하는 테스트 컨트롤러이다. 테스트 래퍼에 의해 구현되는 테스트 방법에 따라, 대응하는 회로 및 로직이 테스트 상태 머신(312) 및 테스트 제어 로직(314)을 통해 구현되고, 적절한 테스트 데이터가 "Test Data Out" 및 "Test Data In" 신호를 통해 전송된다. 예를 들어, 래퍼가 스캔 데이터를 인가하도록 설계되면, "테스트 제어"는 스캔 제어 신호(스캔 인에이블, 캡쳐 및 스캔 클럭) 및 (대응하는 IP 테스트 포트(130)를 통해) IP의 스캔 데이터 인 및 스캔 데이터 아웃 신호와 접속하는 "Test Data In" 및 "Test Data Out" 신호이다. IP에 대해 다수의 테스트 방법을 구현하는 래퍼를 위해, 빌딩 블럭(building block)의 일부는 공유될 수 있다(패브릭과 통신하는 블럭 등, 예컨대, FIFO, RXQ 및 TXQ 인터페이스).
상술한 바와 같이, 일 실시예에서, FIFO는 ATE와 테스트 컨트롤러 사이 및 테스트 컨트롤러와 패브릭 사이의 통신 신호에 의해 사용된 클럭 주파수의 차이를 용이하게 하도록 구성되는 타이밍 크로싱 FIFO를 포함한다. 예컨대, 이것은 개략적으로 도 4에 예시된다. 일반적으로, ATE와 패브릭(들)이 개별적이고 관련없는 클럭을 방출하면, 클럭 크로싱 FIFO는 데이터를 동기화하고, 보통 테스터는 2배 또는 데이터 무결성을 확보하기 위한 패브릭 클럭보다 더 느리게 가동해야 할 것이다. 다른 개요에서, 테스트를 위한 설계(DFT) 로직이 패브릭 클럭과 동일한 테스터 클럭을 만들어내도록 삽입되면(간단한 바이패스 MUX), 동기화 FIFO는 필요없고, 테스터는 패브릭만큼 빠르게 가동할 수 있다. 후자의 개요는 구조적 테스트를 위한 구현에 적합한 선택이다.
도 4에 도시된 예에서, ATE(100) 및 테스트 컨트롤러(104B)의 왼쪽편의 구성요소(집합적으로 포매터(114)로 도시됨)는 제 1 클럭 도메인(CLK 도메인 1)에 대응하는 제 1 클럭 주파수 CLK1에서 동작한다. 반면, 테스트 컨트롤러(104)의 오른쪽에 있는, 명료성을 위해 집합적으로 TXQ 인터페이스(206) 및 패브릭 인터페이스 블럭(212)으로 나타낸 구성요소는 패브릭(106)에 의해 사용된 CLK2 신호의 주파수에 대응하는 제 2 클럭 도메인(CLK 도메인 2)에서 동작한다. 클럭 크로싱 FIFO(202A)는 상이한 클럭 도메인에서 교차하도록 구성되고, 클럭 신호 주파수의 하나 또는 양쪽 모두에 대해 비동기적 방식으로 동작하고, 데이터 무결성을 확보하기 위해 적용 가능한 핸드쉐이킹 회로를 사용한다. CLK2의 주파수가 CLK1의 다수의 주파수이면 회로 및 로직이 간단해지지만, 이것이 엄격한 요건은 아니다. 도시되지 않지만, 테스트 결과 패킷의 수신 및 처리에 관한 테스트 컨트롤러(104B)의 회로는 간단한 방식으로 구성되고, FIFO(204)는 제 2 클럭 크로싱 FIFO로서 구성된다.
유사한 기술이 상호접속 패브릭, 테스트 래퍼, IP 블럭 사이에서 클럭 주파수 차이를 처리하기 위해 사용된다. 도 5의 테스트 래퍼(108B)에 도시된 바와 같이, (간략함을 위해 여기서 요약된) 구성요소가 2 클럭 도메인으로 분할되고, CLK 도메인 2 및 CLK 도메인 3으로 라벨링된다. 클럭 도메인은 클럭 크로싱 FIFO(306A)에 구현된 핸드쉐이킹 제어 및 타이밍 회로를 이용하여 교차된다. 유사한 방식으로, 클럭 크로싱 FIFO(308)(도시되지 않음)를 포함하여, 테스트 래퍼에서의 테스트 결과 데이터의 패키징 및 포워딩에 관련된 회로가 구현될 수 있다.
일반적으로, 실제로 이산적 구성요소 상에서 핀에 직접 연결된 테스터를 이용하여 이산적 구성요소 상에서 실행될 수 있는 임의의 테스트는 여기서 개시된 테스트 컨트롤러 및 테스트 래퍼의 조합을 이용하여 유사한 코어 회로를 이용하여 IP 블럭에서 수행될 수 있다. 특정 테스트 로직은 특별한 테스트 요건에 따라 여기서의 하나 이상의 구성요소에 내장될 수 있다. 전통적으로 IP 블럭 또는 코어의 한 타입의 클래스의 특별한 테스트 로직은 그 클래스에 대해 구현된 테스트 래퍼에 내장될 수 있다.
예컨대, 도 6에 도시된 예시적 IP 블럭(110A)은 스캔 테스트가 적용될 수 있는 IP 블럭의 클래스의 예시이다. 묘사된 바와 같이, IP 블럭(110A)은 메모리(600), 캐시(602) 및 스캔 체인(604)을 포함하는 코어(126A)를 갖는다. 또한, 스캔 테스트, DAT(Direct Access Test) 테스트, SBFT(Structure Based Function Test)를 수행하는 테스트 래퍼(108C)의 로직이 묘사된다.
상기에 논의된 바와 같이, 테스트 래퍼는 IP 블럭의 IP 테스트 포트와 통신하는 테스트 인터페이스를 제공한다. 이 인터페이스는 테스트 인터페이스 블럭(124) 및 접속(122A)으로서 개략적으로 묘사된다. 일반적으로, 접속(122A)은 버스, 직렬 접속 등의, 데이터 및/또는 신호를 송신할 수 있는 임의의 타입의 접속을 통해 구현될 수 있다.
여기에 개시된 TAM의 구현에 관한 다른 관점은 TAM 구성이다. 테스트 데이터가 TAM에 전달되기 전에, TAM은 TAM의 다양한 구성요소가 데이터를 어떻게 처리하는지 알도록 구성되어야 한다. 예를 들어, 스캔 모드에서, 래퍼 및 테스트 컨트롤러는, 그들이 스캔 데이터를 정확하게 패키징하고 해석할 수 있도록 구성될 필요가 있고, 시프트 동작을 하고 캡쳐 클럭 등을 인가하기 위해 스캔 발생 패킷의 적절한 필드를 해석한다. 그러한 구성은 1149.1 TAP, IEEE1500 WTAP 또는 패브릭 측파대(sideband) 등의 독립적 메커니즘을 이용하여 더 잘 수행된다. 최소한, 구성 메커니즘은 스캔, DAT 및 SBFT 등의 TAM에 의해 지원된 모든 테스트 모드를 지원하는 것으로 예상된다. 설계를 간략화하기 위해, 유효화 및 브링업, 구성 메커니즘은 작동 패브릭에 종속적이지 않아야 하고, 제 1 테스트 관련 동작이 패브릭을 통해 개시되기 전에 독립적 구성 메커니즘이 적절한 테스트 모드에 TAM을 배치할 것이라고 가정한다.
일반적으로, TAM 테스트 구성을 구현하기 위한 로직은 테스트 컨트롤러에 내장되어 별개 블럭으로 구현될 수 있고, 또는 다수의 구성요소 사이에 분산된 로직을 포함할 수 있다. 예컨대, 테스트 구성을 구현하기 위한 로직은 도 1에서의 테스트 구성 블럭(112)으로서 묘사된다. 본 예시적 구현예에서, 테스트 구성 블럭(112)은 ATE(100)로부터 입력 및 제어 정보를 수신하고, 그에 응답하여 테스트 컨트롤러(104) 및 테스트 래퍼(108)의 각각에 테스트 구성 데이터를 제공한다.
상기에 논의된 바와 같이, 여기에 개시된 실시예의 국면은 다양한 타입의 상호 접속 패브릭 및 연관 패브릭 프로토콜을 이용하여 구현될 수 있고, 전체 테스트 컨트롤러 및 테스트 래퍼 구조는 임의의 특별한 상호접속 패브릭과 관계없다. 그러나, 관련 통신 동작을 용이하게 하기 위해 상호접속 패브릭의 이용에 관한 인터페이스 국면을 더 잘 예시하기 위해, 실시예는 이제 IOSF 상호접속 패브릭을 이용하여 제시된다.
IOSF는 인텔 SoC 전체에 걸쳐 급증하고 있는 온다이(on-die) 기능 상호접속 패브릭이다. IOSF는 SoC에 IOSF 준수 IP를 통합하는 플러그앤플레이(plug-and-play) 메커니즘을 제공하고, PCI-e 표준에 근거한다. IOSF는 인터페이스 및 프로토콜 레벨로 표준화를 시행하고, 패브릭이 상이한 SoC 마켓 세그먼트를 처리하기 위해 어떻게 구현되는지에 대한 유연성을 허용하기 위해 패브릭 구현을 특정하지 않는다. PCI-e에 기반하는 것은 PCI-e 행동을 가정하는 쉬링크랩(shrink-wrap) 동작 시스템의 호환성을 허용한다. 여기에 개시된 기술의 개발을 위한 주요 동기는, 데이터를 IOSF 패브릭 상주 IP에 전달하고 그로부터의 응답을 샘플링하기 위해 표준 TAM으로서 IOSF 표준 기능 상호접속 패브릭의 이용을 가능하게 하는 것이었다. 이것은 표준 기능 상호접속을 통해 표준화 TAM의 플러그앤플레이 능력과의 논리적 계층화를 가능하게 하고, 설계 오버헤드를 감소시킨다.
도 1(a)는 IOSF 상호접속 패브릭을 구현하는 도 1의 TAM 구조의 실시예를 도시한다. 도 1(a)에 예시된 구성요소의 다수는 도 1의 유사한 구성요소와 동일한 참조부호를 공유하고, 그러한 구성요소는 양 실시예에서 유사한 동작을 수행한다. 부가적으로, 도 1(a)의 구조는 도 6의 IP 코어(126A)를 포함하는 IP 블럭(110B)을 포함하고, 도 6 및 도 1(a)의 IP 코어(126A)의 구성요소의 동작은 유사하다.
IOSF 하에서, 상호접속 패브릭을 통한 통신은 다층 레이어 프로토콜을 이용하는 상호접속을 통해 전달되는 패킷의 이용을 통해 용이하게 된다. 그 프로토콜은 상호접속을 통한 패킷 데이터의 전송을 위한 통신 및 중재 동작을 관리하는 각 종점에서 에이전트를 사용한다. 프로토콜은 또한 각각 패브릭 인터페이스 동작의 송신 및 수신을 용이하게 하는 마스터 및 타겟 인터페이스를 채용한다. IOSF 프로토콜 하에서, 패킷 송신은 마스터 인터페이스에서 발생하고, (패킷의 수신을 위해) 타겟이 된 IP에서 타겟 인터페이스에 대응하는 어드레스 정보를 포함한다. 도 1(a)에서 마스터 및 타겟 인터페이스는 테스트 컨트롤러(104C)의 마스터 인터페이스(132) 및 타겟 인터페이스(134), IP 블럭(110B)의 마스터 인터페이스(138)를 포함한다. IP 블럭(110B)은 송신 트랜잭션 큐(TXQ)(140) 및 수신 트랜잭션 큐(RXQ)(142)를 더 묘사한다. TXQ를 마스터 인터페이스와 짝짓는 것 및, 타겟 인터페이스를 RXQ와 짝짓는 것은 각 IOSF 인터페이스에 대해 통상적인 것이다. 도 1(a)에 도시되지 않지만, 테스트 래퍼(108A)는 또한 마스터 및 타겟 인터페이스와, 연관 TXQ 및 RXQ를 포함한다.
일반적으로, SoC에 대한 실제 TAM 구현예는, TAM 구조가 그 IP를 테스트하기 위해 구현되는 각 IP에 대한 테스트 래퍼의 경우에 따라, 다수의 테스트 래퍼와 통신하는 테스트 컨트롤러를 포함할 것이다. 여기에 기술된 마이크로 구조 서브블럭의 다수는 테스트 래퍼 전체에 걸쳐 재사용될 수 있을 것이지만, 특정 테스트 래퍼의 특별한 마이크로 구조는 테스트하기 위해 설계되는 IP에 다소 의존할 것이다. 그러한 TAM 구조의 예시적 구현예는 도 7에 도시된 SoC(700)에 의해 도시된다.
SoC(700)는 복수의 SoC 테스트 핀을 통해 ATE(100)에 접속되도록 구성된 테스트 인터페이스(103)에 연결된 테스트 컨트롤러(104)를 포함한다. SoC(700)의 구성요소는 노스 컴플렉스(north complex)와 사우스 컴플렉스 사이에 분할되도록 묘사되고, 이는 인텔의 노스 브리지/사우스 브리지 구조에 의해 채용된 이산적 구성요소 통합과 다소 유사하며, SoC에서 모든 구성요소는 구성요소 사이에 외부적 상호접속 없이 공통 다이에 통합됨을 인식한다.
노스 컴플렉스는 IOSF 패브릭(702)에 접속된 복수의 IP(IP 1, IP 2, IP 3으로서 묘사됨)를 포함한다. 각각의 IP는, 테스트 컨트롤러(104)에 의해 구현된 에이전트 0을 포함하여, IP와, IOSF 패브릭에 연결된 다른 에이전트 사이의 통신을 용이하게 하는 데 사용되는 각각의 에이전트(에이전트 1, 에이전트 2, 에이전트 3으로 묘사됨)를 포함한다. 각각의 테스트 래퍼 108-1, 108-2, 108-3은 IP 1, IP 2, IP 3의 테스트를 용이하게 하도록 구현되고, 또한 IOSF 패브릭(702)에 연결된다.
노스 컴플렉스는 또한 코히어런트 IO 패브릭 브리지(706)를 통해 IOSF 패브릭(702)에 통신 가능하게 연결된 코히어런트 패브릭(704)을 포함한다. 코히어런트 패브릭(704)은 다양한 공유 메모리 리소스에 액세스하기 위해 코히어런트 메모리 트랜잭션을 지원하고, 이는 메모리(708)로서 집합적으로 묘사된다. 복수의 코어(712)를 포함하는 CPU(710)는 코히어런트 패브릭(704)에 통신 가능하게 연결되고, 각 코어는 메모리(708)에 액세스할 수 있게 되면서 메모리 일관성을 유지한다. 코히어런트 상호접속 패브릭을 이용하여 메모리 일관성을 유지하기 위한 지원은 일반적으로 다양한 에이전트(명료성을 위해 도시되지 않음)에 의해 유지된다.
테스트 래퍼(108-4)는 CPU(710)의 테스트를 용이하게 하도록 구현되고 인터페이스(714) 및 CPU 상의 에이전트(에이전트 4)를 통해 CPU(710)와 인터페이스한다. 에이전트 4 및 테스트 래퍼(108-4)의 패브릭 인터페이스 구성요소는 코히어런트 패브릭(704)과 접속하도록 구성되고, 이는 IOSF 패브릭(702)과 상이한 인터페이스 구조 및 프로토콜을 채용한다. 브리지(706)는 제 1 프로토콜(예컨대, IOSF)에 따른 패킷을 제 2 프로토콜(예컨대, OCP)에 대응하는 패킷으로 변환하는, 2개의 패브릭 프로토콜 사이의 브리징 동작을 용이하게 하고, 한편, 두개의 패브릭 사이에서 타이밍 및 시그널링 인터페이스를 용이하게 한다. 이런 식으로 테스트 패키지 데이터는 테스트 컨트롤러(104)로부터 IOSF 패브릭(702), 브리지(706), 코히어런트 패브릭(704)를 통해 테스트 래퍼(108-4)로 송신될 수 있고, 대응하는 테스트 결과 데이터는 역 방향으로 다시 테스트 컨트롤러로 되돌아갈 수 있다.
사우스 컴플렉스의 테스터 래퍼의 구현예는 노스 컴플렉스의 IOSF 패브릭(702)에 연결된 테스트 래퍼의 구현예와 유사하다. 사우스 컴플렉스는 IP 5, IP 6, IP 7로 묘사된 다수의 IP가 통신 가능하게 연결되는 IOSF 패브릭(716)을 포함하고 이는 각각 에이전트 5, 6, 7에 의해 용이해진 패브릭과 통신한다. 이들 IP의 각각에 대한 테스트 동작은 각각 테스트 래퍼(108-5, 108-6, 108-7)에 의해 용이해진다. IOSF 패브릭(716)은 IOSF-대-IOSF 브리지(718)를 통해 IOSF 패브릭(702)에 연결되도록 도시된다. 대안적인 구성에서, IOSF 패브릭(702, 716)은 단일 상호접속 패브릭을 포함하고, 따라서, 브리지가 사용되지 않을 수 있다. 다른 실시예에서, 사우스 컴플렉스 패브릭은 OCP 패브릭을 포함하고, 브리지(718)는 IOSF-대-OCP 브리지를 포함한다.
스캔 등의 구조적 테스트 애플리케이션은 테스트 래퍼에 기인한 하드웨어 오버헤드를 최적화하기 위해 다른 기회를 제공한다. 일 실시예에서, 다수의 IP는 결합된 IUT를 형성하기 위해 데이지 체인(daisy-chained) 방식의 그들의 스캔 체인에 의해 "테스트 파티션"으로 그룹화될 수 있다. STAR 및 데이지 체인의 조합의 STAR 구성 등의 다른 방식이 또한 채용될 수 있다. 그러한 테스트 파티션 구조는 각 IP에 대한 하나의 테스트 래퍼 대신에 전체 파티션에 대해 하나의 테스트 래퍼만을 필요로 한다. 이것은 하드웨어 오버헤드를 더 감소시킨다. 테스트 파티션 방법은, IP의 크기, 다양한 IP의 물리적 접근성, 테스트동안의 전체 전력 낭비 등의 여러가지 계수에 의해 유도된다. 예컨대, 개별 IP는 그 스스로에 의해 스캔 테스트되기에 너무 작을 수 있고, 다른 IP에 의해 테스트 파티션으로 포함되기에 적합할 수 있게 된다.
테스트 래퍼의 실시예를 이용하여 테스트 파티션의 예시적 구현예가 도 8에 도시된다. 이 경우, IP 블럭 IP-1, IP-2, IP-3은 테스트 파티션(800)을 형성하도록 그룹화된다. 구조는 한쪽에서 IP 블럭 IP-1, IP-2, IP-3에, 다른 쪽에서 패브릭(808)에 각각 연결되는 테스트 래퍼(802, 804, 806)를 더 포함한다. 이 예시적 구성 하에서, 분리 래퍼(Isolation Wrapper)(IW)(804, 806)로 구현된 로직은 테스트 동안 정지중이고, 간섭하지 않는 상태에서 IP 블럭 IP-2, IP-3을 유지하는 데 주로 사용되기 때문에, 테스트 래퍼 로직의 대부분은 테스트 래퍼(802)로 구현된다. 유사한 방식으로, 테스트 파티션의 IP 블럭에 대해 구현된 테스트 로직의 대부분은, 본 예에서 IP 블럭 IP-1인 "호스트" IP 블럭으로 구현된다. 일반적으로, 호스트 IP 블럭은 구현될 특별한 테스트를 용이하게 하기 위해 IP 테스트 포트(810)로서 묘사된 인터페이스 로직을 가질 것이다. 예컨대, 일반적인 테스트는 스캔 테스트일 것이고, 따라서 테스트 파티션(800)은 스캔 파티션으로서 동작할 것이다.
일반적으로, 테스트 래퍼(802)는 도 3 및 도 5에서 108A, 108B로 묘사된 상세한 실시예를 포함하여 상기에 논의된 108과 유사한 방식으로 구성될 수 있다. 편의를 위해, 대응하는 로직은 도 8에서 테스트 인터페이스 로직(812)으로 묘사된다. 앞서와 같이, 테스트 래퍼(802)는 멀티플렉서(814, 816)에 의해 묘사된 바와 같은 적절한 패브릭 인터페이스를 통해 테스트 입력 및 출력 신호의 라우팅을 용이하게 하는 로직을 포함한다. 특별한 타입의 패브릭 인터페이스는 패브릭(808)에 의해 구현된 대응하는 패브릭 구조 및 프로토콜에 따라 달라질 수 있고, 이는 기존의 또는 장래의 패브릭 구조의 임의의 타입을 나타낸다. 일반적으로, 전체 테스트 래퍼 및 연관 테스트 파티션 방식은 구현되는 특정 패브릭에 대해서는 알 수 없다.
상기에 논의된 바와 같이, 테스트 래퍼(802)는 호스트 IP 블럭 IP-1에 대한 인터페이스를 포함하여 테스트 동작의 대부분을 처리한다. 반면, 분리 래퍼(804, 806)는, IP 블럭 IP-2 및 IP-3에서의 테스트가 패브릭(808)으로의/으로부터의 통신으로부터의 간섭 없이 실행될 수 있도록 분리 모드로 유지된다. 일 실시예에서, 이것은 각각의 아이들 상태 머신(idle state machine, ISM)(818, 820)을 통해 구현되고, 이는 도 8에 묘사된 바와 같이 멀티플렉서(822, 824, 826, 828)에 동작 가능하게 연결된다. 일반적으로, ISM은 테스트 동안 패브릭이 분리 래퍼(804, 806)에 대한 적절한 핸드쉐이킹 신호를 취득하는 것을 보장하는 유한 상태 머신이다. 테스트 래퍼(108)에 대해 상기에 설명한 바와 유사한 방식으로, 분리 래퍼는 패브릭 신호 패스스루로서 동작하도록 구성될 수 있고, 이는 테스트 동작 외에 채용된 구성일 것이다. 패스스루 모드에서 동작하는 경우, 핸드쉐이킹 신호는 각 IP 블럭에 대해 패브릭 인터페이스 블럭에 의해 용이해진다.
테스트 파티션에서의 호스트 IP 블럭은 (테스트 인터페이스 로직(812)으로부터의 테스트 자극과 함께) 파티션에서의 다른 IP 블럭의 테스트를 구현하기 위해, 그리고, 테스트 래퍼(802)에 대해 테스트 파티션의 IP 블럭에 대응하는 테스트 결과 데이터의 통신을 다시 용이하게 하도록 채용되고, 이것은 결국 도 1 및 도 1(a)의 TAM 구조에 대해 상기에 설명된 것과 유사한 방식으로 테스트 컨트롤러(도시하지 않음)로 결과를 되돌려 보낼 것이다. 예컨대, IP 블럭 IP-1, IP-2, IP-3에서 수행된 스캔 테스트의 결과는 테스트 래퍼(802)로 되돌아갈 것이고, 패킷화되고, 패브릭(808)을 통해 테스트 컨트롤러로 다시 전달될 것이다.
상기 실시예에서, 단일의 호스트 IP 블럭은 테스트 파티션에서의 다수의 IP 블럭의 테스트를 용이하게 하는 데 사용되었다. 그러나, 테스트 래퍼는 대안적 구성을 이용하여 테스트 파티션의 다수의 IP 블럭에 테스트 입력을 제공하도록 구성될 수 있기 때문에, 이것은 제한적인 것이 아니다. 예컨대, 다수의 IP 블럭의 각각은 IP 테스트 포트의 그 소유의 세트를 포함하고, 테스트 래퍼로부터의 테스트 입력을 수신하고, 테스트 래퍼로 다시 결과를 전달할 수 있고, 또는 테스트 래퍼와 하나 이상의 다른 IP 블럭 사이에서 일부 동작 및 측파대 통신에 대해 호스트 IP 블럭을 채용하는 하이브리드 방식이 사용될 수 있다.
압축/압축해제를 이용하는 스캔 구조에 대해, 테스트 래퍼는 압축/압축해제 로직에 접속하도록 구성될 수 있음에 주의해야 한다. 그러한 구성 하에서, 테스트 래퍼는 압축해제 블럭에 공급할 것이고, 압축 블럭으로부터의 스캔 응답 데이터를 다시 취득할 것이다. 이 방식은 두가지 이점을 제공한다. 첫째, 테스트 래퍼는 스캔 체인의 내부적 수에 대해 이루어지는 변화로부터 차단된다. 제품에 대한 다량의 제조 요건에 근거하여, IP에 대한 스캔 체인의 내부적 수는 테스트 래퍼에 영향을 미치지 않고 수정될 수 있다. 둘째, IP의 외부적 스캔 체인의 수(즉, 테스트 래퍼에 의해 보이는 스캔 체인의 수)는, 스캔 데이터의 하나의 시프트 주기가 하나의 데이터 주기로 패브릭을 통해 전송될 수 있도록, 패브릭의 폭과 동일하거나 더 작은 수로 표준화될 수 있다. 이것은 테스트 컨트롤러와 테스트 래퍼 모두의 설계를 크게 단순화하고, 헤드웨어 오버헤드를 더 감소시킨다.
테스트 컨트롤러와 테스트 래퍼의 결합 사용은, ATE가 전역 배선에 대한 요구 없이 각 IP에 효과적으로 연결되도록, IUT로/로부터 테스트 커맨드, 테스트 자극, 테스트 결과를 효과적으로 송신하는 메커니즘을 제공한다. 더욱이, TAM 구조는 재사용성 및 확장성을 지원하면서, 각 SoC 설계 또는 파생물에 대한 대응하는 회로를 요구하는 특정 테스트 기능을 생성 및 구현하기 위한 필요를 최소화한다. 예컨대, 특정 IP 블럭에 대한 테스트 래퍼가 설계되면, 그 테스트 래퍼 설계는 IP 블럭이 유사한 통신 구조(예컨대, 동일한 상호접속 패브릭)를 채용하는 SoC에 구현되는 경우에 사용될 수 있다. 더욱이, 테스트 컨트롤러는 다수의 SoC 구조 및/또는 파생물에 걸친 테스트를 지원하도록 구성될 수 있다는 것이 상상된다. 예컨대, "일반적" 테스트 컨트롤러는 칩셋 패밀리에 걸친 테스트를 지원하도록 구성될 수 있다. 선택적으로, 파라미터화할 수 있는 하위 구성요소(신호의 타입 및 수 등) 및 컴파일러 지시를 이용하여 포함/배제될 수 있는 하위 구성요소를 포함하는 테스트 컨트롤러에 대해 구성 가능한 RTL 블럭이 채용될 수 있다. 또 다른 선택으로서, "테스트 컨트롤러 생성기"로서 기능하는 프로그램 또는 스크립트는 사전 코딩된 빌딩 블럭 및 템플릿을 이용하여 주문제작된 테스트 컨트롤러를 급히 생성하는 데 사용될 수 있다.
여기 개시된 본 발명의 예시적 실시예는 반도체 칩에 구현되고, SoC 구조에 의해 예시된 바와 같이, 본 발명의 다양한 국면의 구현예를 예시한다. 부가하여, 본 명세서의 실시예는 기계 판독 가능한 매체 내에 구현될 수 있다. 예컨대, 상기 설명된 설계는 반도체 장치를 설계하기 위해 이용되는 설계 툴과 연관된 기계 판독 가능한 매체에 저장 및/또는 그 안에 내장될 수 있다. 예는 VHDL(VHSIC Hardware Description Language) 언어 또는 베릴로그 언어로 포맷팅된 넷리스트를 포함한다. 일부 넷 리스트의 예는 행위 레벨 넷리스트, 레지스터 전송 레벨(RTL) 넷리스트, 게이트 레벨 넷리스트 및 트랜지스터 레벨 넷리스트를 포함한다. 기계 판독 가능한 매체는 또한 GDS-Ⅱ 파일 등의 레이아웃 정보를 갖는 매체를 포함한다. 또한, 반도체 칩 설계를 위한 넷리스트 파일 또는 다른 기계 판독 가능한 매체는 상기 기술된 교시의 방법을 수행하기 위해 시뮬레이션 환경에 이용될 수 있다.
요약서에 기술된 것을 포함하여, 본 발명의 예시된 실시예의 상기 설명은 본 발명을 개시된 정확한 형태로 철저하게 또는 그에 한정하려는 것이 아니다. 본 발명의 특정 실시예 및 그에 대한 예가 예시 목적으로 여기에 개시되지만, 당업자가 이해할 수 있는 바와 같이, 다양한 등가적 수정이 본 발명의 범위 내에 가능하다.
이들 수정은 상기 상세한 설명에 비추어 본 발명에 이루어질 수 있다. 다음의 청구범위에 사용된 용어는 본 발명을 명세서 및 도면에 개시된 특정 실시예에 한정하는 것으로 해석되어서는 안된다. 오히려, 본 발명의 범위는 전적으로 다음의 청구범위에 의해 정해져야 하며, 청구범위 해석의 확립된 원칙에 따라 해석되어야 할 것이다.
Claims (20)
- 상호접속 패브릭 -상기 상호접속 패브릭을 통해, 패킷화된 다층 프로토콜(packetized multi-layer protocol)을 사용하여 데이터가 전송됨- 과,
상기 상호접속 패브릭에 동작 가능하게 연결된 IP(intellectual property) 블럭과,
상기 상호접속 패브릭 및 상기 IP 블럭 각각에 통신 가능하게 연결된 테스트 래퍼(test wrapper)를 포함하되,
상기 상호접속 패브릭을 통해 전송된 하나 이상의 패킷을 통해 송신되는 테스트 데이터 및 테스트 커맨드 중 적어도 하나를 포함하는 테스트 패키지를 수신하는 것에 응답하여, 상기 IP 블럭의 회로에서 하나 이상의 테스트 동작을 수행하기 위해, 상기 테스트 래퍼는 대응하는 테스트 입력 데이터, 제어 신호 및 자극 신호 중 적어도 하나를 상기 IP 블럭에 제공하도록 구성되는
시스템 온 칩(SoC).
- 제 1 항에 있어서,
상기 상호접속 패브릭은 인텔 온칩 시스템 패브릭(Intel On-Chip System Fabric)을 포함하는
시스템 온 칩.
- 제 1 항에 있어서,
상기 IP 블럭은 패브릭 인터페이스를 포함하고, 상기 테스트 래퍼는 상기 IP 블럭이 상기 상호접속 패브릭과 통신 가능하게 연결되는 것을 가능하게 하기 위해, 상기 IP 블럭의 상기 패브릭 인터페이스로의 상호접속 패브릭 신호의 전달을 가능하게 하도록 구성되는
시스템 온 칩.
- 제 1 항에 있어서,
상기 테스트 래퍼는 제 1 클럭 주파수에 동작하는 상호접속 패브릭에 접속하도록 구성된 패브릭 인터페이스 회로를 포함하고,
상기 테스트 래퍼는 제 2 클럭 주파수에서 동작하는 신호를 이용하여 상기 IP 블럭의 IP 테스트 포트와 접속하도록 구성되는
시스템 온 칩.
- 제 1 항에 있어서,
상기 테스트 래퍼는 상기 IP 블럭으로부터 테스트 결과 데이터를 수신하고, 상기 테스트 결과 데이터를 하나 이상의 패킷으로 패킷화하고, 상기 상호접속 패브릭을 통해, 상기 SoC의 테스트를 가능하게 하기 위해 채용된 테스트 구성요소로 상기 하나 이상의 패킷을 송신하도록 구성되는
시스템 온 칩.
- 제 1 항에 있어서,
상기 상호접속 패브릭에 동작 가능하게 연결된 복수의 IP 블럭과,
복수의 테스트 래퍼 - 각 테스트 래퍼는 상기 상호접속 패브릭과 각각의 IP 블럭에 통신 가능하게 연결됨 - 를 더 포함하되,
상기 테스트 래퍼의 각각은 상기 상호접속 패브릭을 통해 테스트 패키지를 수신하고, 상기 IP 블럭의 회로 상에서 상기 테스트 패키지에 의해 정의된 하나 이상의 테스트 동작을 수행하기 위해 그 각각의 IP 블럭으로 대응하는 테스트 입력 데이터, 제어 신호 및 자극 신호 중 적어도 하나를 제공하도록 구성되는
시스템 온 칩.
- 제 1 항에 있어서,
상기 테스트 래퍼는 상기 IP 블럭에서 스캔 테스트를 수행하도록 구성되는
시스템 온 칩.
- 상호접속 패브릭 -상기 상호접속 패브릭을 통해, 패킷화된 다층 프로토콜(packetized multi-layer protocol)을 사용하여 데이터가 전송됨- 과,
테스트 파티션을 포함하고, 상기 상호접속 패브릭에 동작 가능하게 연결된 복수의 IP 블럭과,
상기 상호접속 패브릭 및 상기 복수의 IP 블럭 중 적어도 하나의 각각에 통신 가능하게 연결된 테스트 래퍼를 포함하되,
상기 상호접속 패브릭을 통해 전송된 하나 이상의 패킷을 통해 송신되는 테스트 데이터 및 테스트 커맨드를 포함하는 테스트 패키지를 수신하는 것에 응답하여, 상기 테스트 래퍼는, 상기 테스트 래퍼가 상기 복수의 IP 블럭의 각각의 회로에서 하나 이상의 테스트 동작을 수행하도록 통신 가능하게 연결되는 상기 적어도 하나의 IP 블럭으로 대응하는 테스트 입력 데이터, 제어 신호 및 자극 신호 중 적어도 하나를 제공하도록 구성되는
시스템 온 칩(SoC).
- 제 8 항에 있어서,
적어도 하나의 분리 래퍼(isolation wrapper)를 더 포함하되,
각각의 분리 래퍼는 상기 상호접속 패브릭 및 각각의 IP 블럭에 통신 가능하게 연결되고,
상기 분리 래퍼는 상기 IP 블럭에서 수행되는 적어도 하나의 테스트 동작 중에 상기 상호접속 패브릭으로부터 상기 각각의 IP 블럭을 분리하도록 구성되는
시스템 온 칩.
- 제 9 항에 있어서,
상기 테스트 래퍼 및 상기 적어도 하나의 분리 래퍼는 상기 복수의 IP 블럭과 상기 상호접속 패브릭 사이에서 신호의 전달을 가능하게 하도록 구성 가능한
시스템 온 칩.
- 제 10 항에 있어서,
상기 테스트 래퍼는 호스트 IP 블럭을 포함하는 단일의 IP 블럭에 통신 가능하게 연결되고,
상기 호스트 IP 블럭은 테스트 입력 신호를 상기 테스트 파티션의 다른 IP 블럭에 제공하고, 상기 다른 IP 블럭 및 상기 호스트 IP 블럭에서 수행된 테스트에 대응하는 테스트 결과 데이터를 상기 테스트 래퍼로 돌려보내도록 구성되는
시스템 온 칩.
- 제 10 항에 있어서,
상기 테스트 래퍼는 상기 복수의 IP 블럭에서 수행된 테스트에 대응하는 테스트 결과 데이터를 수신하고, 상기 테스트 결과 데이터를 하나 이상의 패킷으로 패킷화하고, 상기 상호접속 패브릭을 통해, 상기 SoC의 테스트를 가능하게 하기 위해 채용된 테스트 구성요소로 상기 하나 이상의 패킷을 송신하도록 구성되는
시스템 온 칩.
- 시스템 온칩(SoC)에서 테스트 파티션을 포함하는 복수의 IP 블럭을 테스트하는 방법으로서,
상호접속 패브릭 -상기 상호접속 패브릭을 통해, 패킷화된 다층 프로토콜(packetized multi-layer protocol)을 사용하여 데이터가 전송됨- 을 통해, 상기 SoC 상에 통합되고 상기 상호접속 패브릭 및 복수의 IP 블럭 중 적어도 하나에 통신 가능하게 연결된 테스트 래퍼에 테스트 데이터 및 테스트 커맨드 중 하나 이상을 송신하는 단계와,
상기 테스트 데이터 및 테스트 커맨드 중 하나 이상에 대응하는 상기 복수의 IP 블럭의 회로 레벨 테스트를 가능하게 하기 위해, 상기 테스트 래퍼를 통해, 상기 테스트 파티션의 상기 적어도 하나의 IP 블럭으로 테스트 입력 데이터, 제어 신호 및 자극 신호 중 적어도 하나를 제공하는 단계
를 포함하는 방법.
- 제 13 항에 있어서,
상기 송신하는 단계 전에,
상기 SoC 상에 통합된 테스트 컨트롤러에서 상기 SoC의 외부에 있는 테스터로부터 테스터 입력을 수신하는 단계와,
상기 테스터 컨트롤러에서 상기 테스터 입력에 기초하여, 상기 테스트 데이터 및 테스트 커맨드 중 적어도 하나를 포함하는 테스트 패키지를 생성하는 단계
를 더 포함하고,
상기 송신하는 단계는 상기 테스트 컨트롤러로부터 상기 상호접속 패브릭을 통해 상기 테스트 래퍼로 상기 테스트 패키지를 하나 이상의 패킷으로서 송신하는 단계를 포함하는
방법.
- 제 14 항에 있어서,
상기 제공하는 단계 후에,
상기 테스트 래퍼에서 상기 복수의 IP 블럭의 회로 테스트에 대응하는 테스트 결과 데이터를 수신하는 단계와,
상기 테스트 래퍼로부터 상기 상호접속 패브릭을 통해 상기 테스트 컨트롤러로 상기 테스트 결과 데이터를 포함하는 하나 이상의 패킷을 송신하는 단계 - 상기 테스트 결과 데이터는 상기 IP 블럭에서 수행된 회로 테스트를 포함함 - 를 더 포함하는
방법.
- 제 13 항에 있어서,
상기 제공하는 단계 후에, 상기 복수의 IP 블럭 중 적어도 하나의 회로 테스트 중에 상기 복수의 IP 블럭 중 적어도 하나를 상기 상호접속 패브릭으로부터 분리하는 단계를 더 포함하는
방법.
- 제 16 항에 있어서,
상기 분리하는 단계는 회로 테스트 중에 상기 상호접속 패브릭으로부터 상기 복수의 IP 블럭 중 적어도 하나를 분리하기 위해 적어도 하나의 분리 래퍼를 사용하는 단계를 포함하고,
상기 방법은, 상기 분리하는 단계 후에, 상기 복수의 IP 블럭 중 적어도 하나와 상기 상호접속 패브릭 사이에서 신호의 전달을 가능하게 하기 위해 상기 회로 테스트의 완료 후에 상기 적어도 하나의 분리 래퍼를 구성하는 단계를 더 포함하는
방법.
- 제 13 항에 있어서,
상기 테스트 래퍼는 상기 복수의 IP 블럭 중 하나와 상기 상호접속 패브릭 사이에 통신 가능하게 연결되고,
상기 방법은, 상기 제공하는 단계 후에, 상기 IP 블럭으로부터 상기 상호접속 패브릭으로 신호를 전달하기 위해 상기 테스트 래퍼를 구성하는 단계를 더 포함하는
방법. - 제 13 항에 있어서,
상기 테스트 래퍼는 호스트 IP 블럭을 포함하는 상기 IP 블럭 중 하나에 통신 가능하게 연결되고,
상기 제공하는 단계는,
상기 테스트 래퍼로부터 상기 호스트 IP 블럭에 테스트 입력을 제공하는 단계와,
적어도 하나의 다른 IP 블럭의 회로 테스트를 가능하게 하기 위해 상기 테스트 파티션의 상기 적어도 하나의 다른 IP 블럭에 테스트 데이터 또는 테스트 자극 중 적어도 하나를 제공하기 위해 상기 호스트 IP 블럭을 사용하는 단계
를 포함하는 방법.
- 제 19 항에 있어서,
상기 호스트 IP 블럭을 사용하는 단계 후에,
상기 호스트 IP 블럭에서 상기 적어도 하나의 다른 IP 블럭으로부터 테스트 결과 데이터를 수집하는 단계와,
상기 호스트 IP 블럭으로부터 상기 테스트 래퍼로 상기 테스트 결과 데이터를 전송하는 단계
를 더 포함하는 방법.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/044,285 US9043665B2 (en) | 2011-03-09 | 2011-03-09 | Functional fabric based test wrapper for circuit testing of IP blocks |
US13/044,285 | 2011-03-09 | ||
PCT/US2011/066644 WO2012121783A2 (en) | 2011-03-09 | 2011-12-21 | A functional fabric based test wrapper for circuit testing of ip blocks |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20130132625A KR20130132625A (ko) | 2013-12-04 |
KR101524451B1 true KR101524451B1 (ko) | 2015-06-10 |
Family
ID=46797176
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020137025678A KR101524451B1 (ko) | 2011-03-09 | 2011-12-21 | Ip 블럭의 회로 테스팅을 위한 기능적 패브릭 기반 테스트 래퍼 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9043665B2 (ko) |
KR (1) | KR101524451B1 (ko) |
CN (1) | CN103492890B (ko) |
WO (1) | WO2012121783A2 (ko) |
Families Citing this family (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8522189B2 (en) | 2011-03-09 | 2013-08-27 | Intel Corporation | Functional fabric based test access mechanism for SoCs |
US8793095B2 (en) | 2011-03-09 | 2014-07-29 | Intel Corporation | Functional fabric-based test controller for functional and structural test and debug |
US9043665B2 (en) | 2011-03-09 | 2015-05-26 | Intel Corporation | Functional fabric based test wrapper for circuit testing of IP blocks |
US8954017B2 (en) * | 2011-08-17 | 2015-02-10 | Broadcom Corporation | Clock signal multiplication to reduce noise coupled onto a transmission communication signal of a communications device |
US9021156B2 (en) | 2011-08-31 | 2015-04-28 | Prashanth Nimmala | Integrating intellectual property (IP) blocks into a processor |
US8930602B2 (en) | 2011-08-31 | 2015-01-06 | Intel Corporation | Providing adaptive bandwidth allocation for a fixed priority arbiter |
US8874976B2 (en) | 2011-09-29 | 2014-10-28 | Intel Corporation | Providing error handling support to legacy devices |
US8711875B2 (en) | 2011-09-29 | 2014-04-29 | Intel Corporation | Aggregating completion messages in a sideband interface |
US8713240B2 (en) * | 2011-09-29 | 2014-04-29 | Intel Corporation | Providing multiple decode options for a system-on-chip (SoC) fabric |
US8805926B2 (en) | 2011-09-29 | 2014-08-12 | Intel Corporation | Common idle state, active state and credit management for an interface |
US8713234B2 (en) | 2011-09-29 | 2014-04-29 | Intel Corporation | Supporting multiple channels of a single interface |
US8775700B2 (en) | 2011-09-29 | 2014-07-08 | Intel Corporation | Issuing requests to a fabric |
US8929373B2 (en) | 2011-09-29 | 2015-01-06 | Intel Corporation | Sending packets with expanded headers |
US9053251B2 (en) | 2011-11-29 | 2015-06-09 | Intel Corporation | Providing a sideband message interface for system on a chip (SoC) |
US9436623B2 (en) | 2012-09-20 | 2016-09-06 | Intel Corporation | Run-time fabric reconfiguration |
ITTO20120851A1 (it) * | 2012-09-28 | 2014-03-29 | St Microelectronics Grenoble 2 | Sistema di debug, e relativo circuito integrato e procedimento |
US8984457B2 (en) | 2013-03-15 | 2015-03-17 | Atrenta, Inc. | System and method for a hybrid clock domain crossing verification |
KR101814412B1 (ko) * | 2013-03-15 | 2018-01-03 | 인텔 코포레이션 | 데이터 버퍼와 연관된 스누프 필터링의 제공 |
US9412467B2 (en) * | 2014-04-29 | 2016-08-09 | Freescale Semiconductor, Inc. | Semiconductor device having a test controller and method of operation |
WO2015193707A1 (en) * | 2014-06-19 | 2015-12-23 | X-Fab Semiconductor Foundries Ag | Sleek serial interface for a wrapper boundary register (device and method) |
US9921989B2 (en) * | 2014-07-14 | 2018-03-20 | Intel Corporation | Method, apparatus and system for modular on-die coherent interconnect for packetized communication |
US9996439B2 (en) | 2015-09-23 | 2018-06-12 | Qualcomm Incorporated | Self-error injection technique for point-to-point interconnect to increase test coverage |
CN105389200A (zh) * | 2015-12-16 | 2016-03-09 | 浪潮(北京)电子信息产业有限公司 | 用于超大规模芯片验证的多组激励批量仿真方法及系统 |
US20170184665A1 (en) * | 2015-12-28 | 2017-06-29 | Qualcomm Incorporated | Dynamically configurable shared scan clock channel architecture |
US10042729B2 (en) * | 2016-04-01 | 2018-08-07 | Intel Corporation | Apparatus and method for a scalable test engine |
CN105929818B (zh) * | 2016-07-05 | 2020-03-06 | 深圳市博巨兴微电子科技有限公司 | 一种微控制器soc内建io映射测试装置 |
CN106412067B (zh) * | 2016-09-30 | 2019-02-15 | 广东电网有限责任公司电力科学研究院 | 基于工控协议模糊测试的数据分层生成方法 |
CN107978338B (zh) * | 2016-10-21 | 2020-09-08 | 深圳市中兴微电子技术有限公司 | 一种测试信号产生方法及装置 |
US10911261B2 (en) | 2016-12-19 | 2021-02-02 | Intel Corporation | Method, apparatus and system for hierarchical network on chip routing |
US10846126B2 (en) | 2016-12-28 | 2020-11-24 | Intel Corporation | Method, apparatus and system for handling non-posted memory write transactions in a fabric |
CN106897504B (zh) * | 2017-02-08 | 2020-06-09 | 上海华虹宏力半导体制造有限公司 | 对ip模块进行开发形成参数化单元的方法 |
CN107368636B (zh) * | 2017-07-05 | 2020-10-27 | 西安微电子技术研究所 | 一种兼容sparc V8架构SOC的单机应用验证系统 |
JP7058759B2 (ja) * | 2019-01-22 | 2022-04-22 | 株式会社アドバンテスト | 1または複数の被テストデバイスをテストするための自動試験装置、1または複数の被テストデバイスの自動試験のための方法、および、コマンドエラーを処理するためのコンピュータプログラム |
US10796041B1 (en) * | 2019-04-19 | 2020-10-06 | Cadence Design Systems, Inc. | Compacting test patterns for IJTAG test |
US11302412B2 (en) * | 2019-06-03 | 2022-04-12 | Advantest Corporation | Systems and methods for simulated device testing using a memory-based communication protocol |
CN113657068A (zh) * | 2020-05-12 | 2021-11-16 | 北京东土科技股份有限公司 | Soc仿真验证及soc的仿真验证设备验证环境搭建方法 |
CN112036106B (zh) * | 2020-08-17 | 2021-08-24 | 成都海光微电子技术有限公司 | 一种信号处理方法、装置、平台、存储介质及电子设备 |
RU2750109C1 (ru) * | 2020-09-25 | 2021-06-22 | Акционерное общество «Информационные спутниковые системы» имени академика М.Ф.Решетнёва» | Способ построения вычислительного процесса испытаний электронных устройств ввода/вывода с диагностикой обмена |
CN112305404B (zh) * | 2020-09-29 | 2022-11-08 | 上海兆芯集成电路有限公司 | 核分区电路与测试装置 |
US11256839B1 (en) * | 2021-04-12 | 2022-02-22 | Cadence Design Systems, Inc. | IP block scan chain construction |
KR102711783B1 (ko) * | 2021-07-27 | 2024-09-30 | 주식회사 세미파이브 | 시스템 온 칩에서 기능 블록 간의 데이터 송수신을 위한 인터페이스 방법 및 이를 이용하는 시스템 온 칩 |
US12032460B2 (en) | 2022-02-11 | 2024-07-09 | Stmicroelectronics S.R.L. | Systems and methods to test an asynchronous finite machine |
KR20230155249A (ko) | 2022-05-03 | 2023-11-10 | 주식회사 딥엑스 | 구동중인 컴포넌트를 테스트할 수 있는 npu |
CN116860536B (zh) * | 2023-09-05 | 2023-11-28 | 武汉凌久微电子有限公司 | Gpu芯片的快速ft测试系统、测试设备及测试方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030046622A1 (en) * | 1998-06-19 | 2003-03-06 | Whetsel Lee D. | Integrated circuits carrying intellectual property cores and test ports |
US20040081171A1 (en) * | 2002-10-24 | 2004-04-29 | Finn Norman W. | Large-scale layer 2 metropolitan area network |
US20040212393A1 (en) * | 2003-04-28 | 2004-10-28 | Miron Abramovici | Reconfigurable fabric for SoCs |
US20110078356A1 (en) * | 2008-05-30 | 2011-03-31 | Ken Shoemaker | Providing A Peripheral Component Interconnect (PCI)-Compatible Transaction Level Protocol For A System On A Chip (SoC) |
Family Cites Families (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6877122B2 (en) * | 2001-12-21 | 2005-04-05 | Texas Instruments Incorporated | Link instruction register providing test control signals to core wrappers |
GB2376390B (en) * | 2001-06-05 | 2003-08-06 | 3Com Corp | Asic system architecture including data aggregation technique |
US7162670B2 (en) | 2001-12-03 | 2007-01-09 | Sun Microsystems, Inc. | IBIST interconnect and bridge fault detection scheme |
US7577540B2 (en) | 2002-03-01 | 2009-08-18 | Nec Corporation | Re-configurable embedded core test protocol for system-on-chips (SOC) and circuit boards |
US20040078709A1 (en) | 2002-07-11 | 2004-04-22 | International Business Machines Corporation | System, method, and product for providing a test mechanism within a system area network device |
US7143412B2 (en) * | 2002-07-25 | 2006-11-28 | Hewlett-Packard Development Company, L.P. | Method and apparatus for optimizing performance in a multi-processing system |
US7313739B2 (en) | 2002-12-31 | 2007-12-25 | Analog Devices, Inc. | Method and apparatus for testing embedded cores |
US7055113B2 (en) * | 2002-12-31 | 2006-05-30 | Lsi Logic Corporation | Simplified process to design integrated circuits |
US7080299B2 (en) * | 2003-02-03 | 2006-07-18 | Arm Limited | Resetting latch circuits within a functional circuit and a test wrapper circuit |
US7353362B2 (en) | 2003-07-25 | 2008-04-01 | International Business Machines Corporation | Multiprocessor subsystem in SoC with bridge between processor clusters interconnetion and SoC system bus |
US20050030971A1 (en) * | 2003-08-08 | 2005-02-10 | Visionflow, Inc. | Adaptive bandwidth allocation over a heterogeneous system interconnect delivering true bandwidth-on-demand |
US7290186B1 (en) * | 2003-09-16 | 2007-10-30 | Virage Logic Corporation | Method and apparatus for a command based bist for testing memories |
WO2005078465A1 (en) | 2004-02-17 | 2005-08-25 | Institut National Polytechnique De Grenoble | Integrated circuit chip with communication means enabling remote control of testing means of ip cores of the integrated circuit |
KR100594257B1 (ko) | 2004-02-26 | 2006-06-30 | 삼성전자주식회사 | 내장형 셀프 테스트 회로를 가지는 soc 및 그 셀프테스트 방법 |
EP1571456A1 (en) * | 2004-03-01 | 2005-09-07 | Koninklijke Philips Electronics N.V. | Test circuit and method for hierarchical core |
US7269805B1 (en) | 2004-04-30 | 2007-09-11 | Xilinx, Inc. | Testing of an integrated circuit having an embedded processor |
US7137086B2 (en) * | 2004-07-06 | 2006-11-14 | Dafca, Inc. | Assertion checking using two or more cores |
US7472208B2 (en) * | 2004-10-12 | 2008-12-30 | Intel Corporation | Bus communication emulation |
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 |
TWI263058B (en) | 2004-12-29 | 2006-10-01 | Ind Tech Res Inst | Wrapper testing circuits and method thereof for system-on-a-chip |
CN100492039C (zh) | 2005-05-27 | 2009-05-27 | 上海大学 | 集成电路片上系统中故障的测试系统和方法 |
US7616036B1 (en) | 2005-09-12 | 2009-11-10 | Virage Logic Corporation | Programmable strobe and clock generator |
ATE462980T1 (de) | 2005-10-24 | 2010-04-15 | Nxp Bv | Ic-testverfahren und vorrichtung |
US7348796B2 (en) | 2005-10-26 | 2008-03-25 | Dafca, Inc. | Method and system for network-on-chip and other integrated circuit architectures |
US7516364B2 (en) * | 2005-10-31 | 2009-04-07 | Hewlett-Packard Development Company, L.P. | Method for testing network devices using breakpointing |
US8145958B2 (en) * | 2005-11-10 | 2012-03-27 | Arm Limited | Integrated circuit and method for testing memory on the integrated circuit |
US7519884B2 (en) | 2006-06-16 | 2009-04-14 | Texas Instruments Incorporated | TAM controller for plural test access mechanisms |
KR100789749B1 (ko) * | 2006-07-24 | 2008-01-02 | 한양대학교 산학협력단 | 시스템 온 칩 테스트 장치 |
US7529996B2 (en) * | 2006-08-03 | 2009-05-05 | Texas Instruments Incorporated | DDR input interface to IC test controller circuitry |
US8020124B2 (en) | 2006-11-20 | 2011-09-13 | Sonics, Inc. | Various methods and apparatuses for cycle accurate C-models of components |
US8667437B2 (en) * | 2008-03-17 | 2014-03-04 | Xilinx, Inc. | Creating a standard cell circuit design from a programmable logic device circuit design |
US8555123B2 (en) * | 2008-07-23 | 2013-10-08 | Industrial Technology Research Institute | Test device and method for the SoC test architecture |
TW201005311A (en) * | 2008-07-23 | 2010-02-01 | Ind Tech Res Inst | Test device and method for an SoC test architecture |
US8170062B2 (en) * | 2009-04-29 | 2012-05-01 | Intel Corporation | Packetized interface for coupling agents |
CN101788644B (zh) | 2009-12-30 | 2011-11-16 | 龙芯中科技术有限公司 | 具有多个同构ip核的片上系统芯片测试装置和方法 |
JP2011149775A (ja) * | 2010-01-20 | 2011-08-04 | Renesas Electronics Corp | 半導体集積回路及びコアテスト回路 |
CN101923133B (zh) | 2010-01-21 | 2012-11-07 | 上海大学 | 集成电路片上系统核间连线故障的测试系统和方法 |
EP2372379B1 (en) * | 2010-03-26 | 2013-01-23 | Imec | Test access architecture for TSV-based 3D stacked ICS |
US8479129B1 (en) | 2010-05-21 | 2013-07-02 | Marvell International Ltd. | Dynamic time domain randomization techniques for SOC and IP verification |
US8887018B2 (en) * | 2010-06-11 | 2014-11-11 | Texas Instruments Incorporated | Masking circuit removing unknown bit from cell in scan chain |
US8694276B2 (en) * | 2011-01-20 | 2014-04-08 | Texas Instruments Incorporated | Built-in self-test methods, circuits and apparatus for concurrent test of RF modules with a dynamically configurable test structure |
US8522189B2 (en) | 2011-03-09 | 2013-08-27 | Intel Corporation | Functional fabric based test access mechanism for SoCs |
US8793095B2 (en) | 2011-03-09 | 2014-07-29 | Intel Corporation | Functional fabric-based test controller for functional and structural test and debug |
US9043665B2 (en) | 2011-03-09 | 2015-05-26 | Intel Corporation | Functional fabric based test wrapper for circuit testing of IP blocks |
-
2011
- 2011-03-09 US US13/044,285 patent/US9043665B2/en not_active Expired - Fee Related
- 2011-12-21 KR KR1020137025678A patent/KR101524451B1/ko active IP Right Grant
- 2011-12-21 CN CN201180069866.2A patent/CN103492890B/zh active Active
- 2011-12-21 WO PCT/US2011/066644 patent/WO2012121783A2/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030046622A1 (en) * | 1998-06-19 | 2003-03-06 | Whetsel Lee D. | Integrated circuits carrying intellectual property cores and test ports |
US20040081171A1 (en) * | 2002-10-24 | 2004-04-29 | Finn Norman W. | Large-scale layer 2 metropolitan area network |
US20040212393A1 (en) * | 2003-04-28 | 2004-10-28 | Miron Abramovici | Reconfigurable fabric for SoCs |
US20110078356A1 (en) * | 2008-05-30 | 2011-03-31 | Ken Shoemaker | Providing A Peripheral Component Interconnect (PCI)-Compatible Transaction Level Protocol For A System On A Chip (SoC) |
Also Published As
Publication number | Publication date |
---|---|
CN103492890A (zh) | 2014-01-01 |
US20120233514A1 (en) | 2012-09-13 |
CN103492890B (zh) | 2016-03-30 |
WO2012121783A3 (en) | 2012-11-15 |
KR20130132625A (ko) | 2013-12-04 |
WO2012121783A2 (en) | 2012-09-13 |
US9043665B2 (en) | 2015-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101524451B1 (ko) | Ip 블럭의 회로 테스팅을 위한 기능적 패브릭 기반 테스트 래퍼 | |
KR101539163B1 (ko) | 기능적 및 구조적 테스트 및 디버그를 위한 기능적 패브릭-기반 테스트 제어기 | |
EP2684062B1 (en) | A functional fabric based test access mechanism for socs | |
Cota et al. | Reliability, Availability and Serviceability of Networks-on-chip | |
US9015542B2 (en) | Packetizing JTAG across industry standard interfaces | |
US7937633B2 (en) | Semiconductor device using logic chip | |
US7917823B2 (en) | Decoupled clocking in testing architecture and method of testing | |
EP0840218B1 (en) | An integrated circuit device and method of communication therewith | |
US8248073B2 (en) | Semiconductor integrated circuit and testing method therefor | |
US6526535B1 (en) | Synchronous data adaptor | |
US8621125B2 (en) | System and method of sending and receiving data and commands using the TCK and TMS of IEEE 1149.1 | |
Berger et al. | High-speed source-synchronous interface for the IBM System z9 processor | |
Amory et al. | DfT for the reuse of networks-on-chip as test access mechanism | |
US20090132747A1 (en) | Structure for universal peripheral processor system for soc environments on an integrated circuit | |
CN112557886A (zh) | 协议转换桥接电路、知识产权核以及系统级芯片 | |
JP2002148311A (ja) | 試験アーキテクチャ | |
JP3968040B2 (ja) | 高速シリアルコントローラ | |
EP2595059B1 (en) | Test processor for asynchronous chip test | |
JP2008210114A (ja) | カード間通信を行う内部バス解析システム、その方法及びそのプログラム | |
Zadegan et al. | Reusing IEEE 1687-compatible instruments and sub-networks over a system bus | |
Clark | iMajik: Making 1149.1 TAPs disappear and reappear in SoCs and 3D packages | |
Higgins et al. | Design and implementation challenges for adoption of the IEEE 1500 standard | |
Roopa et al. | UART controller as AMBA APB slave | |
Chiang et al. | Layered approach to designing system test interfaces | |
US20090132732A1 (en) | Universal peripheral processor system for soc environments on an integrated circuit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20180427 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20190429 Year of fee payment: 5 |