KR100300242B1 - 내장형 마이크로프로세서 코어를 위한 검사모드 매트릭스 회로및 그 검사 방법 - Google Patents

내장형 마이크로프로세서 코어를 위한 검사모드 매트릭스 회로및 그 검사 방법 Download PDF

Info

Publication number
KR100300242B1
KR100300242B1 KR1019960028793A KR19960028793A KR100300242B1 KR 100300242 B1 KR100300242 B1 KR 100300242B1 KR 1019960028793 A KR1019960028793 A KR 1019960028793A KR 19960028793 A KR19960028793 A KR 19960028793A KR 100300242 B1 KR100300242 B1 KR 100300242B1
Authority
KR
South Korea
Prior art keywords
microprocessor
logic
circuits
signal
state
Prior art date
Application number
KR1019960028793A
Other languages
English (en)
Other versions
KR970011884A (ko
Inventor
코리 안셀 체리체티
피터 스튜어트 콜리어
데이비드 로버트 스타우퍼
Original Assignee
포만 제프리 엘
인터내셔널 비지네스 머신즈 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US08/511,943 external-priority patent/US5724502A/en
Priority claimed from US08/518,764 external-priority patent/US5902351A/en
Application filed by 포만 제프리 엘, 인터내셔널 비지네스 머신즈 코포레이션 filed Critical 포만 제프리 엘
Publication of KR970011884A publication Critical patent/KR970011884A/ko
Application granted granted Critical
Publication of KR100300242B1 publication Critical patent/KR100300242B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2236Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318505Test of Modular systems, e.g. Wafers, MCM's

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)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

집적회로에서 검사 모드 매트릭스 회로는 집적회로 내부의 신호 라인을 스위칭하여, 집적회로에 인가된 표준 검사 백터(standard test vector)를 이용하여 집적회로 내의 내장형 마이크로프로세서가 기능적으로 완전하게 검사될 수 있도록 하고, 집적회로에 인-서킷 에뮬레이터(In-Circuit Emulator)(ICE)를 연결하여 내장형 마이크로프로세서 코어를 위해 기록된 코드를 디버깅(debugging)할 수 있도록 한다. 상기 검사 모드 매트릭스 회로는 다수의 상호-배타적인 모드로 동작하며, 각 모드는 검사 모드 매트릭스에 대한 제어 신호 입력에 의해 적절하게 선택된다. 상기 검사 모드 매트릭스 회로는 오프-칩 드라이버/리시버를 경유하지 않고 내장형 마이크로프로세서로부터의 신호들을 주문형 로직(application-specific logic)으로 연결한다. 또한, 다수의 마이크로프로세서 및 그에 대응하는 검사 모드 매트릭스들이 동일한 집적회로 상에 구현될 수 있다.

Description

내장형 마이크로프로세서 코어를 위한 검사 모드 매트릭스 회로 및 그 검사 방법{TEST MODE MATRIX CIRCUIT FOR AN EMBEDDED MICROPROCESSOR CORE}
본 발명은 일반적으로 집적회로에 관한 것으로, 보다 상세하게는 하나 혹은 그 이상의 내장형 마이크로프로세서 코어를 가지며, 표준 검사 벡터(standard test vectors)를 이용하여 마이크로프로세서 코어를 검사할 수 있고, 각 마이크로프로세서 코어에 대한 소프트웨어를 디버깅(debugging)하는데 있어 인-서킷 에뮬레이터(In-Circuit Emulator)(ICE)를 사용할 수 있는 주문형 집적회로(Application Specific Integrated Circuits)(ASIC)에 관한 것이다.
최신의 전자 시스템들은 대개 내장형 마이크로프로세서 혹은 마이크로컨트롤러를 포함한다. 고수준의 집적도 및 성능을 계속하여 추구함에 따라, 주문형 집적회로(ASIC) 내에 마이크로프로세서 혹은 마이크로컨트롤러(여기서는 총칭하여 "마이크로프로세서"로 칭함)를 내장하는 경향이 있다. 그 결과로 ASIC은 단일 칩 상에패키징된 마이크로프로세서 코어와 주문형 로직을 포함한다.
ASIC 내의 마이크로프로세서 코어는 통상적으로 ASIC 내의 로직에만 인터페이스하기 때문에, 통상적으로 정상적인 동작중에는 마이크로프로세서 코어로부터의 입출력(I/O) 신호들을 ASIC의 주 입출력(Primary Input/Output)(즉, 오프-칩) 드라이버/리시버로 연결할 필요가 없다. 그러나, 마이크로프로세서 입출력이 ASIC 칩의 외부에서 액세스할 수 없는 경우에, ASIC 내의 마이크로프로세서 코어를 검사하는 것이 더욱 어려워 진다. 일반적으로, 독립형(stand-alone) 마이크로프로세서들은 입력에 소정의 검사 벡터 셋트를 인가하고 기대 응답들에 대한 출력들을 모니터함으로써 검사된다. 이들 검사 백터 셋트는 종종 구조적 검증 패턴(Architectural Verification Patterns)(AVP)으로 지칭된다. 일단 마이크로프로세서가 ASIC 로직 내에 내장되면, 독립형 마이크로프로세서를 위해 개발된 AVP들은 더 이상 이용할 수 없게 된다. 따라서, 내장형 마이크로프로세서와 주문형 로직의 동작을 밝혀 주는 새로운 AVP들이 개발되어야 한다. 그러나, 각각의 ASIC에 대해 각각 새롭고 고유한 AVP들이 요구된다. 하나의 반도체 소자에 대한 AVP들을 개발하기 위해서는 많은 비용이 들고, 또한 개발 프로세스에도 많은 시간이 소모된다. 따라서, 각각의 ASIC 소자에 대해 새로운 AVP들을 만드는 것은 각 소자에 대한 개발비용을 상당히 증가시킨다. 그러므로, 독립형 마이크로프로세서에 대해 개발된 표준 AVP들을 사용하여 ASIC 내에 구현된 마이크로프로세서 코어를 검사하는 방법을 제공하는 것이 바람직하다.
ASIC에 마이크로프로세서 코어를 내장함으로써 생기는 또다른 문제점은 내장형 마이크로프로세서 코어에서 실행되는 소프트웨어의 검사에 관한 것이다. 일반적으로, 마이크로프로세서들을 위한 소프트웨어는 인-서킷 에뮬레이터(In Circuit Emulator)(ICE)로 불리는 검사 툴을 이용하여 검사되며, 하드웨어와 함께 집적된다. ICE는 통상적으로 마이크로프로세서의 접속점(connection point)에 연결되는 접속점들을 갖고 있으며, 이들 접속점은 고도의 디버깅 성능을 제공하면서 마이크로프로세서 동작을 에뮬레이트한다. 따라서, 독립형 마이크로프로세서는 시스템 하드웨어 및 소프트웨어를 디버깅하는 동안에 내장형 시스템에서 제거되고 ICE로 대체될 수 있다. 그러나, 마이크로프로세서가 ASIC 내에 구현될 때, 마이크로프로세서에 대한 접속점은 ASIC 로직내에 매립된다. ASIC 내에 내장된 마이크로프로세서와 함께 ICE를 이용하는 한가지 방법은 마이크로프로세서의 모든 입출력을 ASIC 소자의 외부 입출력 핀으로 끌어내는 것이다. 그러나, 대부분의 어플리케이션에서 마이크로프로세서 입출력 신호들중 대분분은 정상적인 동작중에는 외부 입출력 핀에서 필요하지 않다. 모든 마이크로프로세서 입출력 신호들을 ASIC을 개발하는 동안에만 사용되는 ASIC 소자의 입출력 핀으로서 추가하는 것은 ASIC의 팩키지 크기를 크게 증가시키게 되며, 이로 인해 비용이 상당히 증가하게 된다. 내장형 마이크로프로세서에 대해 ICE를 사용하기 위해 ASIC에 외부 입출력 핀들을 제공하는 이런 방법은 비용효과면에서 볼 때 해결책에 될 수 없다. 더욱이, ASIC 내에 두 개 혹은 그 이상의 내장형 마이크로프로세서 코어들이 필요한 어플리케이션에 있어서는, 모든 마이크로프로세서 입출력 신호들을 외부 입출력 핀들로 제공하는 것은 실제적으로 쓸모 없는 숫자의 입출력 핀을 초래하게 된다.
ASIC 내에 마이크로프로세서 코어를 내장하기 위한 다양한 아키텍쳐들이 공지되어 있다. 예를 들면, "검사 가능한 내장형 마이크로프로세서 및 이를 검사하기 위한 방법(Testable Embedded Microprocessor and Method of Testing Same)"(1993/10/19 Oke 등에 특허 허여되어, LSI 로직에 양도됨)란 명칭의 미국 특허 제5,254,940호에는 ASIC이 특정 검사 모드로 구성될 때에만 마이크로프로세서 입출력이 오프-칩(off-chip)으로 구동되도록 마이크로프로세서를 내장하는 방법이 개시되어 있다.
도1은 Oke 등의 특허에서의 도2를 다시 도시한 것이다. 정상적인 동작 동안에, 칩 출력 패드(214)는 주문형 로직으로 신호를 보내거나 주문형 로직으로부터 신호를 받기 위해 사용된다. 이 회로(200)는 독립형 마이크로프로세서를 위해 개발된 표준 AVP들을 사용하여 내장형 마이크로프로세서(204)를 검사할 수 있도록 한다. 그러나, Oke 등의 회로는 ICE가 내장형 마이크로프로세서를 대체할 수 없다는 제한점이 있다. 더욱이, Oke 등의 회로는 단방향 신호로 제한되며, 양방향 입출력 라인에 대한 해결책을 제시하지 못하고 있다.
ASIC 내에 마이크로프로세서를 내장하기 위한 또 다른 설계는 "게이트 어레이 내에 내장된 마이크로프로세서의 전력을 절감하기 위한 방법(Method for Powering Down a Microprocessor Embedded within a Gate Array)"(1994/4/19 애쉬비 등에 특허 허여되어, 모토롤라사에 양도됨)이란 명칭의 미국 특허 제5,304,860호에 개시되어 있다.
도2는 상기 애쉬비 등의 특허 도7을 다시 도시한 것이다. 상기 애쉬비 등의특허에서는 내장형 마이크로프로세서 코어와 주문형 로직이 상호 격리될 수 있도록 마이크로프로세서 코어를 내장하는 방법이 기술되어 있다. 에쉬비 등의 회로는 표준 AVP들을 사용하여 내장형 마이크로프로세서 코어를 검사할 수 있도록 하며, ICE의 접속점이 내장형 마이크로프로세서를 애뮬레이트할 수 있도록 한다. 그러나, 이 회로는 모든 동작 모드 동안에 주문형 로직에 연결된 모든 마이크로프로세서 입출력 신호들이 입출력 핀들에 액세스될 수 있도록 한다는 점에서 제한적이다. 입출력 핀을 증가시킨다는 요건은 통상적으로 칩 크기와 패키지의 크기를 증가시키며, 이에 따라 ASIC의 비용이 높아지게 된다. 과도한 핀아웃(pinout)의 문제점은 하나 이상의 내장형 마이크로프로세서 코어를 갖는 ASIC에 있어서는 훨씬 더 중대한 문제가 된다. 또다른 심각한 단점은 내장형 마이크로프로세서와 주문형 로직사이의 모든 접속이 항상 오프-칩 드라이버(off-chip driver)(54)와 정합 리시버(matching receiver)(58)를 경유한다는 것이다. 오프-칩 드라이버와 리시버의 전파 지연(propagation delay)은 온-칩 신호들의 전파 지연보다 훨씬 더 크다. 따라서, 오프-칩 드라이버 및 리시버를 통해 마이크로프로세서 코어와 주문형 로직 사이의 모든 접속을 수행하는 것은 전파 지연의 증가로 인해 성능면에 중대한 제한을 가져온다.
내장형 마이크로프로세서를 포함하는 집적회로를 위한 또다른 적절한 아키텍쳐는 "집적회로의 검사 및 에뮬레이션(Testing and Emulation of Integrated Circuits)"(1994/7/19 아로노프 등에 특허 허여되어, NEC 전자에 양도됨)이란 명칭의 미국 특허 제5,331,571호에 개시되어 있다. 전술한 세 개의 특허는 본 명세서에참조로써 병합되어 있다. 아로노프 등의 회로는 내장형 마이크로프로세서를 검사할 수 있지만, 내부 3-상태 버스(internal three-state busses)(즉, 로직이 전적으로 칩 내부에 연결되는 3-상태 버스)를 필요로 한다. 내부 3-상태 버스들에 의해서는 집적회로를 완전히 검사할 수 없다. 예를 들면, 3-상태 드라이버가 턴-온되어야만 할 때 턴-오프되었다면, 그 출력은 여전히 기능하고 있는 회로를 나타내는 로직 상태로 플로트(float)되어 있을 수 있으며, 이로 인해 집적회로에서의 결함을 마스킹(masking)하게 된다.
따라서, 마이크로프로세서 코어가 독립형 마이크로프로세서를 위해 개발된 표준 AVP들을 사용하여 검사될 수 있도록 하고, ICE가 상기 내장형 마이크로프로세서 코어를 에뮬레이트하는데에 사용될 수 있도록 하며, 오프-칩 드라이버/리시버를 경유하지 않고 마이크로프로세서 코어가 직접 주문형 로직에 연결되고, 완전한 검사능력을 보증하기 위해 3-상태 장치들을 포함하지 않는, 내장형 마이크로프로세서 코어를 구비한 ASIC과 같은 집적회로를 제공할 필요성이 있다.
도1은 마이크로프로세서 코어로부터의 신호들과 주문형 로직으로부터의 신호들을 ASIC의 칩 출력 패드(214)에 선택적으로 연결하기 위한 종래 기술에 따른 회로의 블록도.
도2는 마이크로프로세서 코어로부터의 신호들과 주문형 로직으로부터의 신호들을 ASIC의 입출력 패드(56)에 선택적으로 연결하고, 마이크로프로세서 코어로부터의 신호들을 입출력 드라이버(54) 및 리시버(58)들을 경유하여 주문형 로직에 연결하기 위한 종래 기술의 회로도.
도3은 본 발명의 제1 실시예에 따른 검사 모드 매트릭스를 구현한 ASIC의 블록도.
도4는 본 발명의 제2 실시예에 따른 두 개의 검사 모드 매트릭스를 구현한 ASIC의 블록도.
도5는 도3 및 도4의 검사 모드 매트릭스 내에 사용된 비-전용(non-dedicated) 셀의 블록도.
도6은 도3 및 도4의 검사 모드 매트릭스 내에 사용된 전용(dedicated) 셀의 블록도.
도7은 도4의 코어 선택 매트릭스의 일부를 도시한 블록도.
* 도면의 주요부분에 대한 부호의 설명
300 : ASIC
310 : 마이크로프로세서 코어
320 : 주문형 로직
330 : 입출력(I/O) 회로
340 : 검사 모드 매트릭스
본 발명에 따르면, 집적회로장치 상의 신호들의 라우팅(routing)을 제어하는, ASIC과 같은 집적회로용 검사 모드 매트릭스 회로가 제공된다. 이 검사 모드 매트릭스 회로의 기능은 제어 입력의 상태에 의해 결정된다. 제어 입력들이 정상 동작을 위해 구성되어 있는 경우에, 주문형 로직은 오프-칩 드라이버/리시버를 경유하지 않고 마이크로프로세서 코어로 직접 연결된다. 또한, 정상 모드에 있어서,주문형 로직으로부터의 각종 신호들은 입출력 드라이버/리시버로 연결된다. 반면에, 제어 입력이 AVP 연산을 위해 구성된 경우에, 외부 테스터(tester)가 독립형 마이크로프로세스를 위해 개발된 표준 AVP들을 내장형 마이크로프로세서 코어에 인가할 수 있도록 마이크로프로세서 코어 입출력 신호들이 입출력 드라이버/리시버에 직접 연결된다. 또한, 제어 입력이 ICE 연산을 위해 구성된 경우에, 정상 동작 중에 마이크로프로세서 코어에 연결되는 주문형 로직 신호들이 입출력 드라이버/리시버 대신에 연결되며, 이로 인해 주문형 로직 및 마이크로프로세서 코어 소프트웨어를 디버깅하는 동안에 외부 ICE가 내장형 마이크로프로세서 코어의 기능들을 에뮬레이트할 수 있게 된다. 또한, 제어 입력들은 제조 중에 집적회로의 스캔 검사를 허용하는 것과 같은 다른 동작 모드들을 규정할 수 있다. 또한, 이 검사 모드 매트릭스는 3-상태 장치들을 포함하지 않으며, 따라서, 집적회로를 완전하게 검사할 수 있도록 한다.
본 발명의 상기 및 다른 목적, 특징 및 장점들은 첨부도면에 도시된 바와 같은 본 발명의 바람직한 실시예에 관한 다음의 상세한 설명으로부터 명백해질 것이다.
도3을 참조하면, 본 발명의 제1 실시예에 따른 ASIC(300)과 같은 집적회로는 서 마이크로프로세서 코어(310), 주문형 로직(320), 입출력 회로(330) 및 검사 모드 매트릭스(340)를 포함한다. 이 검사 모드 매트릭스(340)는 마이크로프로세서 코어(310), 주문형 로직(320) 및 입출력 회로(330)를 상호연결하며, 이때 외부 테스터를 입출력 회로(330)에 연결시킴으로써 표준 검사 벡터를 사용하여 마이크로프로세서 코어(310)를 검사할 수 있도록 하고, ICE를 입출력 회로(330)에 연결시킴으로써 마이크로프로세서 코어(310)를 위한 코드와 주문형 로직(320)의 시스템 검사 및 디버깅을 할 수 있도록 하며, 또한, 정상적인 회로 동작을 할 수 있도록 하는 방식으로 상호연결한다. 검사 모드 매트릭스(340)는 마이크로프로세서 코어(310)와 주문형 로직 (320) 사이의 어떤 신호라도 입출력 회로(330) 내에 있는 오프-칩 드라이버/리시버를 경유하여 라우팅하지 않고, 또한, 이들 신호를 3-상태 장치들을 경유하여 라우팅하지 않으면서 필요한 접속을 수행함으로써, ASIC의 완전한 검사능력을 유지하면서 고성능을 가능하게 한다.
마이크로프로세서 코어(310)는 코드를 실행하며, ASIC(300)이 그 원하는 기능을 수행할 수 있도록 주문형 로직(320)을 제어한다. 마이크로프로세서 코어(310)는 ASIC 내에 구현될 수 있는 마이크로프로세서 코어이면 어떤 것이라도 가능하다. 주문형 로직(320)은 마이크로프로세서 코어(310)와 상호작용하도록 설계되고 구성된 로직 어레이(an array of logic)이다. 입출력 회로(330)는 ASIC(300)을 외부 장치들에 인터페이스하기 위한 모든 오프-칩 드라이버/리시버를 제공한다. ASIC(300)의 동작은 도3에 AVP 및 ICE로서 예시된 제어 신호(382)의 상태에 따라 좌우된다. 이들 제어 신호(382)는 입출력 회로(330)와 신호(390)를 통하여 검사 모드 매트릭스(340)로 보내지며, 검사 모드 매트릭스는 제어 신호(382)를 통하여 선택된 특정 모드에 따라 그 기능을 변화시킨다.
도3에 도시된 구체적인 구현예에 있어서, 네 가지의 서로 다른 동작 모드를 위해 두 개의 이진 제어 신호들(AVP,ICE)(382)이 제공한다. 제1 동작모드에서는,AVP 및 ICE는 둘다 비-인가 상태로 되며, ASIC(300)은 정상 동작 상태로 된다. 제2 동작모드에서는, ICE가 비-인가 상태일 때 AVP는 인가 상태로 되어, ASIC(300)은 "AVP 모드"라 불리는 특정 검사 모드로 들어가게 되며, 이에 따라 표준 검사 백터를 입출력 회로(330)에 인가함으로써 마이크로프로세서 코어(310)가 검사될 수 있게 된다. 제3 동작모드에서, ICE는 인가 상태인 동안에 AVP는 비-인가 상태로 되어, ASIC(300)은 "ICE 모드"라 불리는 또 다른 특정 검사 모드로 들어가게 되며, ICE를 입출력 회로(330)에 연결함으로써 주문형 로직(320) 및 마이크로프로세서 코어(310)를 위한 코드가 디버깅될 수 있게 된다. 제4 동작모드에서, AVP 및 ICE는 모두 인가 상태로 되어, ASIC(300)은 사용자에 의해 선택된 모드에 대응하는 또다른 모드로 들어간다. 적절한 제4 동작모드의 일예는 제조 중에 ASIC(300)의 스캔 검사(scan testing)를 가능하게 한다.
제어 신호들(382)의 상태는 검사 모드 매트릭스(340)의 입력(390)에 반영되어, 검사 모드 매트릭스(340)로 하여금 선택된 모드에 대해 적절한 접속을 수행하도록 한다. 검사 모드 매트릭스(340)는 양방향성이며, 따라서, 입력, 출력 및 양방향성 신호들을 스위칭할 수 있다. 정상 모드(예를 들어, AVP 및 ICE가 모두 비-인가 상태일 때)에서, 검사 모드 매트릭스(340)는 버스(350)상의 마이크로프로세서 입출력 신호들을 버스(360)상의 주문형 로직 입출력 신호들의 제1 셋트에 연결하고, 그리고 버스(370)상의 주문형 로직 입출력 신호들의 제2 셋트를 버스(380)에 연결하며, 이들 신호들은 다음에 입출력 회로(330)에 연결된다. 주목할 것은 오프-칩에서 이용가능한 (즉, 입출력 회로(330)에 연결된 버스(380)상의) 신호들은 주문형로직(320)으로부터의 신호들(370)이라는 것이다. 주문형 로직(320)이 버스(360)로부터의 마이크로프로세서 입출력의 일부를 버스(370)로 내부적으로 라우팅하지 않는 경우에, 마이크로프로세서 입출력 신호(350)들이 반드시 오프-칩에서 이용가능하게 되는 것은 아니다. 그러므로, 정상 모드에서 마이크로프로세서 코어(310)는 검사를 위해 쉽게 액세스되지 않을 수도 있다. 그러나, 마이크로프로세서 코어(310)는 AVP 모드를 이용하여 항상 검사될 수 있다.
AVP 모드(예를 들어, ICE는 비-인가 상태이고 AVP는 인가 상태일 때)에서, 검사 모드 매트릭스(340)는 버스(350)상의 마이크로프로세서 입출력 신호들을 버스(380)에 연결하여, 모든 마이크로프로세서 입출력 신호들이 오프-칩에서 액세스될 수 있도록 한다. 그러므로, AVP 모드는 입출력 회로(330)와 연결된 외부 테스터로 하여금 ASIC(300) 내에 있는 마이크로프로세서 코어(310)를 검사하기 위해 독립형 마이크로프로세서를 위해 개발된 표준 검사 벡터를 인가할 수 있도록 한다.
ICE 모드(예를 들어, ICE는 인가 상태이고 AVP는 비-인가 상태일 때)에서, 검사 모드 매트릭스(340)는 버스(360)상의 입출력 신호들을 버스(380)에 연결한다. 정상 모드에서, 버스(360)는 마이크로프로세서 입출력을 주문형 로직(320)에 제공한다. 그러나, ICE 모드에서는, 외부의 ICE가 마이크로프로세서 코어(310)를 에뮬레이트하기 위해 입출력 회로(330)로 연결될 수 있다. 버스(380)상의 모든 오프-칩 입출력은 버스(360)를 경유하여 주문형 로직(320)에 연결되기 때문에, 버스(380)를 버스(360)에 연결한다는 것은 정상 모드에서 버스(380)를 통해 오프-칩에 정상적으로 연결되는 버스(370)상의 신호들이 ICE 모드에서는 오프-칩에서 이용가능하지 않게 된다는 것을 의미한다. 주문형 로직(320)내의 신호들중 버스(370)에 연결되는 신호들을 현명하게 선택함으로써, ICE 모드에서 이용불가능하게 되는 버스(370) 상의 신호들의 영향을 최소화할 수 있다.
도4는 본 발명의 제2 실시예에 따른 ASIC(400)의 블록도이다. 이 ASIC(400)은 제1 실시예와 유사하게 마이크로프로세서 코어(310), 주문형 로직(320) 및 검사 모드 매트릭스(340)를 포함하고 있으며, 또한, 제2 마이크로프로세서 코어(410), 제2 검사 모드 매트릭스(440), 코어 선택 매트릭스(454) 및 입출력 회로(430)를 포함하고 있다. 본 발명의 제2 실시예에 따른 ASIC(400)은 복수의 마이크로프로세서들이 단일 ASIC 장치에 내장될 때 사용된다. 예시 목적을 위해 도4에 마이크로프로세서 코어의 수가 2개로 도시되었지만, 본 발명은 ASIC과 같은 집적회로내에 내장된 적절한 수의 마이크로프로세서 코어들로 확장된다.
코어 선택 매트릭스(454)는 입력(492)이 제1 상태일 때, 버스(380)상의 신호들을 버스(452)로 스위칭하고, 입력(492)이 제2 상태일 때에는, 버스(480)상의 신호들을 버스(452)로 스위칭한다. 이 입력(492)의 2가지 상태는 CORE_SELECT(코어 선택) 입력의 2가지 상태에 대응하며, 따라서 코어 선택 매트릭스(454)는 어떤 버스(380 혹은 480)가 입출력 회로(430)에 연결되는지를 선택하게 된다.
입출력 회로(430)로의 제어 신호들(482)은 ASIC(400)에 대한 동작 모드를 결정하며, AVP 신호와 ICE 신호(도3에 도시된 제1 실시예에서와 같음) 및 하나 혹은 그 이상의 CORE_SELECT 신호들을 포함한다. 제어 신호들(482)의 상태는 검사 모드 매트릭스(340)의 입력(390), 검사 모드 매트릭스(440)의 입력(490) 및 코어 선택매트릭스(454)의 입력(492)에 반영되어, 적절한 검사 모드 매트릭스(340 혹은 440) 및 코어 선택 매트릭스(454)로 하여금 선택된 모드에 대해 적절한 접속을 수행하도록 한다. ASIC(400)으로의 제어 신호들(482)은 도3의 ASIC(300)에서와 유사한 모드들, 즉 정상 모드, AVP 모드, ICE 모드 및 필요하다면 다른 모드들을 규정한다. 그러나, 제어 신호들(482)은 또한, 마이크로프로세서 코어들(310,410) 모두에 대해 AVP 모드와 ICE 모드(및 가능하다면 하나 혹은 그 이상의 다른 모드들)를 제공해야 한다. AVP 및 ICE 제어 신호들은 ASIC(300)에서와 같이 동일하게 작용하며, 반면에 CORE_SELECT 신호는 어떤 마이크로프로세서 코어(310 혹은 410)를 선택할 것인지를 규정한다.
정상 모드(AVP 및 ICE가 모두 비-인가 상태일 때)에서, 검사 모드 매트릭스(340)는 버스(350)상의 마이크로프로세서 입출력 신호들을 버스(360)상의 주문형 로직 입출력 신호들의 제1 셋트에 연결하고, 버스(370)상의 주문형 로직 입출력 신호들의 제2 셋트를 버스(380)에 연결한다. 정상 모드에서 입출력 회로(430)에 의해 적절한 상태로 구동되는 제어 신호(492)에 응답하여, 코어 선택 매트릭스(454)는 버스(380)상의 신호들을 입출력 회로(430)에 연결되는 버스(452)에 연결한다. 주목할 것은 오프-칩에서 이용가능한(즉, 입출력 회로(430)에 연결된) 신호들은 주문형 로직(320)으로부터의 신호들(370)이라는 것이다. 또한, 정상 모드에서 검사 모드 매트릭스(440)는 버스(450)로부터의 마이크로프로세서 입출력 신호들을 버스(470)로 라우팅한다. 버스(480)는 정상 모드에서는 비활성 상태이며, 오직 검사 모드에서만 사용된다.
마이크로프로세서 코어(310)가 선택되는 AVP 모드(예를 들어, ICE는 비-인가 상태이고 AVP는 인가 상태이며, CORE_SELECT는 코어(310)에 대응하는 제1 상태에 있을 때)에서, 검사 모드 매트릭스(340)는 버스(350) 상의 마이크로프로세서 입출력 신호들을 버스(380)에 연결한다. 이후, 코어 선택 매트릭스(454)는 (코어(310)에 대응하는) 제1 상태에 있는 입력(492)에 응답하여 버스(380)를 버스(452)에 연결하여, 마이크로프로세서 코어(310)에 대한(즉, 버스(350)상의) 모든 마이크프로세서 입출력 신호들이 오프-칩에서 액세스될 수 있도록 한다. 이러한 방식으로, 입출력 회로(430)에 연결된 외부 테스터는 독립형 마이크로프로세서를 위해 개발된 표준 검사 벡터를 ASIC(300) 내에 있는 마이크로프로세서 코어(310)를 검사하기 위해 적용할 수 있다. 또한, 마이크로프로세서 코어(410)는 AVP를 인가 상태로 하고, ICE를 비-인가 상태로 하고, 코어 선택 신호를 코어(410)에 대응하는 제2 상태로 만듦으로써 AVP 모드에서 유사한 방식으로 검사될 수 있다. 이 모드에서, 검사 모드 매트릭스(440)는 버스(450)상의 마이크로프로세서 입출력 신호들을 버스(480)에 연결한다. 이후, 코어 선택 매트릭스(454)는 코어(410)에 대응하는 제2 상태에 있는 입력(492)에 응답하여 버스(480)를 버스(452)에 연결하여, 마이크로프로세서 코어(410)에 대한(즉, 버스(450)상의) 모든 마이크로프로세서 입출력 신호들을 오프-칩에서 이용가능하게 만들고, 그에 따라, 표준 검사 벡터들을 이용하여 마이크로프로세서 코어(410)를 검사하는 것이 가능해 진다. 그러므로, AVP 모드에서 마이크로프로세서 코어(310,410)는 CORE_SELECT 제어 신호를 이용하여 적절한 코어를 선택하고, 그리고 AVP들과 같은 적절한 검사 벡터들을 입출력 회로(430)에 인가함으로써 검사될 수 있다.
ICE 모드에서는, 내장형 마이크로프로세서 코어들(310,410)을 에뮬레이트하기 위해 입출력 회로(430)에 외부 ICE가 연결될 수 있다. 마이크로프로세서 코어(310)가 선택되는 ICE 모드(AVP는 비-인가 상태, ICE는 인가 상태, CORE_SELECT 신호는 코어(310)에 대응하는 제1 상태에 있을 때)에서, 검사 모드 매트릭스(340)는 버스(360)상의 입출력 신호들을 버스(380)에 연결한다. 이후, 코어 선택 매트릭스(454)는 (마이크로프로세서 코어(310)에 대응하는) 제1 상태에 있는 입력(492)에 응답하여 버스(380)를 버스(452)에 연결한다. 다음에 정상 모드에서, 버스(360)는 버스(350)상의 마이크로프로세서 코어(310)로부터의 마이크로프로세서 입출력을 주문형 로직(320)으로 제공한다. 버스(380)를 버스(360)에 연결한다는 것은 정상 모드에서 버스(380)를 통해 오프-칩에서 정상적으로 연결되는 버스(370)상의 신호들이 ICE 모드에서는 오프-칩에서 이용가능하지 않게 된다는 것을 의미한다. 위에서 기술한 바와 같이, 주문형 로직(320)내의 어떤 신호들이 버스(370)에 연결되는가를 현명하게 선택함으로써 ICE 모드에서 이용가능하지 않게 되는 버스(370)상의 신호들의 영향을 최소화할 수 있다. 또한, AVP를 비-인가 상태로 하고, ICE를 인가 상태로 하고, CORE_SELECT 신호를 (마이크로프로세서 코어(410)에 대응하는) 제2 상태로 만듦으로써, 마이크로프로세서 코어(410)의 기능을 에뮬레이트하기 위해 ICE가 이용될 수 있다. 이 모드에서, 검사 모드 매트릭스(440)는 버스(470)를 버스(480)에 연결한다. 다음에, 코어 선택 매트릭스(454)는 (마이크로프로세서 코어(410)에 대응하는) 제2 상태에 있는 입력(492)에 응답하여 버스(480)를 버스(452)에 연결하여, 외부 입출력 회로(430)에 연결된 외부 ICE가 버스(470) 상의 마이크로프로세서 코어(410)의 기능을 에뮬레이트할 수 있도록 한다. 그러므로, ICE 모드에서 외부 ICE는 CORE_SELECT 제어 신호에 의해 적절한 코어를 선택함으로써 내장형 마이크로프로세서 코어(310,410)들 중 하나를 대체할 수 있다.
본 발명에 따른 검사 모드 매트릭스(340,440)는 여러 가지의 서로 다른 내부 회로 구성을 사용하여 구현될 수 있다. 도5를 참조하면, 한가지 적절한 회로로는, 검사 모드(즉, AVP, ICE, 혹은 다른 검사 모드) 동안에만 입출력 회로(예, 패드(570))에 마이크로프로세서 입출력 신호를 제공하는 비-전용 셀(non-dedicated cell)(500)이 있다. 비-전용 셀(500)은 검사 모드 동안에만 외부에서(즉, 패드(570)에서) 액세스되는 각 입출력 신호에 대해 적절하게 사용된다. 도6을 참조하면, 다른 적절한 회로로는, 검사 모드에서 뿐만 아니라 정상 모드에서도 입출력 회로(예, 패드(570))에 마이크로프로세서 입출력 신호를 제공하는 전용 셀(dedicated cell)(600)이 있다. 이 전용 셀(600)은 검사 모드에서 뿐만 아니라 정상 모드에서도 외부에서(즉, 패드(570)에서) 반드시 액세스될 수 있어야 하는 각 입출력 신호에 대해 사용된다. 이 셀(600)은 마이크로프로세서 입출력으로부터 패드(570)로의 접속이, 도5의 비-전용 셀에 대한 경우와 같이 단지 검사 모드에서만이 아니고 정상 모드에서도 유지되어, 출력 패드를 마이크로프로세서 입출력 신호 "전용"으로 만든다는 점에서 "전용"으로 불린다.
도5를 참조하면, 비-전용 셀(500)은 마이크로프로세서 코어(310)와 주문형 로직(320) 사이에 삽입된 검사 모드 매트릭스(340)(도3 및 도4)의 일부분이며, 데이터 출력 단자(572), 출력 인에이블 단자(574) 및 데이터 입력 단자(576)를 가진 패드(570)에 연결된다. 이 패드(570)는 입출력 회로(330 혹은 430)내의 하나의 특정 입출력 회로에 대응한다. 이 셀(500)은 단지 검사 모드(즉, AVP, ICE 및 다른 가능한 모드) 동안에만 패드(570)에서 신호가 필요로 될 때, 주문형 로직(320)으로부터 마이크로프로세서 코어(310)로 또한, 마이크로프로세서 코어(310)부터 주문형 로직(320)으로의 단일 양방향 신호를 위해 필요한 접속을 구현한다. 예시 목적을 위해, 도5에 도시한 양방향 신호는 도3 및 도4의 마이크로프로세서 코어(310)의 D0 신호(데이터 비트0)이며, 이것은 D0_OUT 신호(D0 출력)와, D0_IN 신호(D0 입력)와, D0_EN 신호(D0 인에이블)를 포함한다. 코어(310)의 D0_EN 신호는 코어(310)가 그것의 D0_OUT 출력상에 유효 데이터를 구동하고 있다는 것을 표시하기 위해 코어(310)에 의해 인가 상태("하이"로 구동됨)로 된다. 이와 유사하게, 주문형 로직(320)의 D0_EN 신호는 주문형 로직(320)이 그 D0_OUT 출력상에 유효 데이터를 갖고 있을 때 주문형 로직(320)에 의해 "하이"로 구동된다.
비-전용 셀(500)은 멀티플렉서(Multiplexer)(MUX)(510,520,530,540) 및 게이트(550,560)를 적절히 포함한다. MUX(510,520)는 적절한 2-1 MUX이며, 이 MUX에서 인에이블(G) 입력이 비-인가 상태("하이")이면 출력은 비-인가상태("로우")로 된다. MUX(510,520)는 선택 신호 S가 "로우"이고 인에이블 신호(G)가 인가 상태("로우")일 때, "입력 0" 상의 신호를 출력으로 라우팅한다. 또한, MUX(510,520)는 선택 신호 S가 "하이"이고 인에이블 신호(G)가 인가 상태("로우")일 때, "입력 1" 상의 신호를 출력으로 라우팅한다. 인에이블 신호(G)가 "하이"이면, MUX(510,520)는비-인가 상태("로우"로 구동됨)에 있는 출력을 갖는다. 또한, MUX(530,540)는 적절한 4-1 MUX이며, 선택 라인 S가 "00"일 때 "입력 00"을 출력으로 라우팅하고, 선택 라인 S가 "01"일 때 "입력 01"을 출력으로 라우팅하고, 선택 라인 S가 "10"일 때 "입력 10"을 출력으로 라우팅하고, 선택 라인 S가 "11"일 때 "입력 11"을 출력으로 라우팅한다.
이 셀(500)의 기능은 각 동작 모드(정상 모드, AVP 모드, ICE 모드 및 다른 모드들) 동안에 신호 및 효과를 분석함으로써 잘 이해될 수 있다. 먼저, 정상 모드에서, AVP 및 ICE는 모두 비-인가 상태이며, 즉, 도5의 셀(500)에 대해 모두 "로우"가 된다. AVP 및 ICE가 모두 "로우"이면, MUX(510)는 AVP "로우" 신호에 의해 인에이블되고, "입력 0"가 ICE "로우" 신호에 의해 선택된다. 그 결과로, MUX(510)는 마이크로프로세서 코어(310)로부터의 D0_OUT을 주문형 로직(320)의 D0_IN으로 라우팅한다. 또한, MUX(520)도 역시 인에이블되고(ICE "로우"에 의해) "입력 0"가 선택되어(AVP "로우"), MUX(520)는 주문형 로직(320)으로부터의 D0_OUT을 마이크로프로세서 코어(310)의 D0_IN으로 라우팅하게 된다. 또한, AVP 및 ICE가 모두 "로우"가 되면, MUX(530)는 주문형 로직(320)으로부터의 OTHER_OUT을 패드(570)의 데이터 출력(572)에 연결된 CIO_OUT으로 라우팅한다. MUX(540)는 주문형 로직(320)으로부터의 OTHER_EN을 패드(570)의 출력 인에이블 단자(574)에 연결된 CIO_EN으로 라우팅한다. 또한, AVP 및 ICE 모두 "로우"이면, 게이트(550)가 패드(570)로부터의 데이터 입력(576)을 주문형 로직(320)의 OTHER_IN 입력으로 전달하는 동안에, 게이트(560)의 출력 AUX_IN은 "로우"가 된다. 따라서, 정상 모드에서는 다음과 같은 접속이 이루어진다.
1) 코어(310)의 D0_OUT으로부터 로직(320)의 D0_IN으로의접속
2) 로직(320)의 D0_OUT으로부터 코어(310)의 D0_IN으로의 접속
3) 로직(320)의 OTHER_OUT으로부터 패드(570)의 데이터 출력(572)으로의 접속
4) 로직(320)의 OTHER_EN으로부터 패드(570)의 출력 인에이블 단자(574)로의 접속
5) 패드(570)의 데이터 입력(576)으로부터 로직(320)의 OTHER_IN으로의 접속.
이와 같이, 정상 모드에서는 어떠한 오프-칩 드라이버/리시버도 경유하지 않고, 또한 3-상태 장치들을 경유하지 않고, 코어(310)와 로직(320) 사이에서 데이터 라인들의 직접 접속이 이루어진다. 또한, 정상 모드는 패드(570)를 로직(320)내의 다른 입출력으로 연결하고, 로직(320)내의 다른 입출력으로부터 패드(570)로 연결한다.
AVP 모드에서, AVP는 인가 상태("하이")이고, ICE는 비-인가 상태("로우")이다. 따라서, AVP가 "하우"이고 ICE가 "로우"이면, MUX(510)는 AVP "하이" 신호에 의해 디스에이블되어, D0_IN 입력을 비-인가 상태("로우")로 주문형 로직(320)에 전달한다. MUX(520)는 인에이블되고(ICE가 "로우"이므로), "입력 1"이 선택되어(AVP가 "하이"이므로), MUX(520)는 패드(570)로부터의 데이터 입력(576)을 마이크로프로세서 코어(310)의 D0_IN 입력으로 라우팅한다. 또한, AVP가 "하이"이고 ICE가 "로우"이면, MUX(530)는 마이크로프로세서 코어(310)로부터의 D0_OUT을 패드(570)의 데이터 출력(572)에 연결된 CIO_OUT으로 라우팅한다. 그리고, MUX(540)는 마이크로프로세서 코어(310)로부터의 D0_EN을 패드(570)의 출력 인에이블 단자(574)에 연결된 CIO_EN으로 라우팅한다. 또한, AVP가 "하이"이고 ICE가 "로우"이면, 게이트(550,560)의 출력은 모두 "로우"로 구동된다. 따라서, AVP 모드에서는 다음과 같은 접속이 이루어진다.
1) 패드(570)의 데이터 입력(576)으로부터 코어(310)의 D0_IN으로의 접속
2) 코어(310)의 D0_OUT으로부터 패드(570)의 데이터 출력(572)으로의 접속
3) 코어(310)의 D0_EN으로부터 패드(570)의 출력 인에이블 단자(574)로의 접속
그러므로, AVP 모드는 마이크로프로세서 입출력 신호들을 패드(570)에 직접 연결하여 외부 테스터가 검사 벡터를 코어(310)에 인가할 수 있도록 한다.
ICE 모드에서, AVP는 비-인가 상태("로우")이고, ICE는 인가 상태("하이")이다. 따라서, MUX(510)는 인에이블되고(AVP가 "로우"이므로), "입력 1"이 선택되어(ICE가 "하이"이므로), MUX(510)는 패드(570)의 데이터 입력(576)을 주문형 로직(320)의 DO_IN 입력으로 라우팅한다. MUX(520)는 ICE "하이" 신호에 의해 디스에이블되어, 마이크로프로세서 코어(310)로의 D0_IN 입력을 비-인가 상태("로우")로 만든다. 또한, AVP가 "로우"이고 ICE가 "하이"이면, MUX(530)는 주문형 로직(320)으로부터의 D0_OUT을 패드(570)의 데이터 출력(572)에 연결된 CIO_OUT으로 라우팅한다. 그리고, MUX(540)는 주문형 로직(320)으로부터의 D0_EN을 패드(570)의출력 인에이블 단자(574)에 연결된 CIO_EN으로 라우팅한다. 또한, AVP가 "로우"이고 ICE는 "하이"이면, 게이트(550,560)의 출력은 모두 "로우"로 구동된다. 따라서, ICE 모드에서는 다음과 같은 접속이 이루어진다.
1) 패드(570)의 데이터 입력(576)으로부터 로직(320)의 D0_IN으로의 접속
2) 로직(320)의 D0_OUT으로부터 패드(570)의 데이터 출력(572)으로의 접속
3) 로직(320)의 D0_EN으로부터 패드(570)의 출력 인에이블 단자(574)로의 접속.
그러므로 ICE 모드는 로직(320)으로부터의 입출력 신호들을 패드(570)로 직접 연결하여, 외부 ICE가 코어(310)를 에뮬레이트할 수 있도록 한다.
제4 모드로, AVP 및 ICE 모두 "하이"이면, MUX(510,520)는 모두 디스에이블되어, 주문형 로직(320)의 D0_IN 입력과 마이크로프로세서 코어(310)로의 D0_IN 입력을 비-인가 상태("로우")로 만든다. MUX(530)는 신호 AUX_OUT를 패드(570)의 데이터 출력(572)에 연결된 CIO_OUT로 라우팅한다. 그리고, MUX(540)는 신호 AUX_EN를 패드(570)의 인에이블 출력(574)에 연결된 CIO_EN으로 라우팅한다. 또한, AVP 및 ICE가 모두 "하이"이면, 게이트(550)의 출력은 "로우"로 구동되고, 게이트(560)의 출력(AUX_IN)은 패드(570)의 데이터 입력(576)으로부터의 CIO_IN과 동일한 로직 상태이다. 이와 같이, 제4 모드는 ASIC 내의 다른 신호들(예, AUX)이 패드(570)에서 이용될 수 있도록 한다. 이러한 제4 모드의 일예는 스캔 데이터 입력 신호를 AUX_IN으로 연결하고 AUX_EN을 풀다운(pull-down)으로 연결함으로써, 혹은 스캔 데이터 출력 신호를 AUX_OUT으로 연결하고 AUX_EN을 풀업(pull-up)으로 연결함으로써, 제조 중에 ASIC의 스캔 검사를 가능하게 한다.
주목할 것은 셀(500)의 서브셋트(subset)가 단방향 입력 혹은 출력 신호들에 대해 사용될 수 있다는 것이다. 셀(500)은 필요한 만큼 반복될 수 있고, 여러 가지의 셀(500)들이 검사 모드 매트릭스(340)에 대해 요구되는 칩 영역을 최소화하기 위해 내부의 물리적 구조를 공유할 수도 있다.
이제 도6을 참조하면, 전용 셀(600)은 마이크로프로세서 코어(310)와 주문형 로직(320) 사이에 삽입된 검사 모드 매트릭스(340)의 일부분이며, 또한 패드(570)에 연결된다. 전용 셀(600)은 정상 모드와 검사 모드 중에 마이크로프로세서 입출력 신호가 패드(570)에서 필요로 될 때, 마이크로프로세서 코어(310)로부터 주문형 로직(320)으로 혹은 주문형 로직(320)으로부터 마이크로프로세서 코어(310)로의 단일 양방향 신호에 대해 요구되는 접속을 구현한다. 예시 목적을 위해, 도6에 도시된 양방향 신호는 도5에 도시된 마이크로프로세서 코어(310)의 D0 신호(데이터 비트 0)와 동일하다. 이 전용 셀(600)은 멀티플렉서(610,620,630,640)와, 게이트(660,680,682,684,686)를 적절히 포함한다. 이 전용 셀(600)의 기능은 AVP, ICE 및 다른 모드들에서는 비-전용 셀(500)의 기능과 동일하지만, 정상 모드에서는 다르다. 비전용 셀(500)과 전용 셀(600)의 차이점은 정상 모드 동안에 셀(600)의 신호들과 효과들을 분석함으로써 이해될 수 있을 것이다.
정상 모드에서, AVP 및 ICE는 모두 비-인가 상태, 즉 "로우"이다. 따라서 MUX(610)는 AVP "로우" 신호에 의해 인에이블된다. MUX(610)로의 선택 입력은 게이트(680)의 출력에 연결된다. 그러므로, ICE가 "로우"인 상태에서 마이크로프로세서코어(310)의 D0_EN 출력이 "하이"이면, 게이트(680)의 출력이 "로우"가 되어, MUX(610)는 마이크로프로세서 코어(310)로부터의 D0_OUT 신호를 주문형 로직(320)의 입력 D0_IN으로 라우팅한다. 그러나, 코어(310)의 D0_EN 출력이 "로우"가 되면, 게이트(680)의 출력은 "하이"가 되고, MUX(610)는 패드(570)로부터의 CIO_IN 신호를 주문형 로직(320)의 D0_IN 입력으로 라우팅한다.
정상 모드에서 ICE가 "로우"이므로, MUX(620)도 역시 인에이블된다. 그러므로, 게이트(682)의 출력은 MUX(620)의 선택 라인을 구동한다. AVP가 "로우"인 상태에서 주문형 로직(320)의 D0_EN 출력이 "하이"일 때, 게이트(682) 출력은 "로우"가 되어, MUX(620)는 주문형 로직(320)으로부터의 D0_OUT 신호를 마이크로프로세서 코어(310)의 D0_IN 입력으로 라우팅한다. 그러나, D0_EN 출력이 "로우"로 되면, 게이트(682) 출력이 "하이"로 되어, MUX(620)는 패드(570)의 데이터 입력(576)으로부터의 CIO_IN 신호를 마이크로프로세서 코어(310)의 D0_IN 입력으로 라우팅한다.
정상 모드에서 AVP 및 ICE는 모두 "로우"이므로, MUX(630,640)는 모두 그들의 "00 입력"을 각각의 대응하는 출력들로 라우팅한다. MUX(630)의 "00 입력)은 OR 게이트(684)의 출력이다. OR 게이트(684)로의 입력들은 마이크로프로세서 코어(310)로부터의 D0_OUT과 주문형 로직(320)으로부터의 D0_OUT이다. 코어(310) 또는 로직(320)의 D0_OUT는 대응하는 D0_EN이 비활성 상태일 때 "로우"를 유지한다고 가정하자. 따라서, 코어(310) 또는 로직(320)으로부터의 D0_OUT이 "하이"가 되면, MUX(630)의 출력(CIO_OUT)은 "하이"가 되어 패드(570)의 데이터 출력(572)을 "하이"로 구동한다. 이와 유사한 방식으로, 코어(310) 또는 로직(320)으로부터의D0_EN 신호가 "하이"로 되면, MUX(640)의 출력(CIO_EN)도 역시 "하이"가 되어, 패드(570)의 출력 인에이블 신호(574)를 "하이"로 구동시킨다. 또한, AVP 및 ICE는 모두 "로우"이므로, 게이트(660)의 출력은 "로우" 상태로 구동되어, AUX_IN 상에 로우 신호를 초래한다. 그러므로, 정상 모드에서는 다음과 같은 접속이 이루어진다.
1) 코어(310)의 D0_EN이 "로우"일 때, 패드(570)의 데이터 입력(576)으로부터 로직(320)의 D0_IN으로의 접속
2) 코어(310)의 D0_EN이 "하이"일 때, 코어(310)의 D0_OUT으로부터 로직(320)의 D0_IN으로의 접속
3) 로직(320)의 D0_EN이 "로우"일 때, 패드(570)의 데이터 입력(576)으로부터 코어(310)의 D0_IN으로의 접속
4) 로직(320)의 D0_EN이 "하이"일 때, 로직(320)의 D0_OUT으로부터 코어(310)의 D0_IN으로의 접속
5) 코어(310)의 D0_OUT 또는 로직(320)의 D0_OUT이 "하이"일 때, 패드(570)의 데이터 출력(572)이 "하이"가 되고,
6) 코어(310)의 D0_EN 또는 로직(320)의 D0_EN이 "하이"일 때, 패드(570)의 출력 인에이블 단자(574)가 "하이"로 됨.
전술한 바와 같이, AVP 모드, ICE 모드 및 다른 모드들에 있어서의 접속은 도5에서의 비-전용 셀(500)에 대한 접속과 동일하다.
도4를 다시 참조하면, 검사 모드 매트릭스(340)는 비-전용 셀(500) 및 전용셀(600)의 조합을 포함하고, 반면에 검사 모드 매트릭스(440)는 전용 셀(600)들만 포함한다. 주목할 것은 전술한 셀들(500,600)에서 입력, 출력 및 인에이블 신호로 구성된 양방향 신호를 가정한다는 것이다. 그러나, 기본 셀들(500,600)에서 미사용 입력들을 "로우" 논리 레벨로 구동하거나 혹은 불필요한 회로들을 제거하여 셀(500 또는 600)의 일부분을 최적화시킴으로써 이들 셀(500,600)이 단일 방향성의 입력 혹은 출력 신호를 위해서 사용될 수도 있다.
도7을 참조하면, 코어 선택 매트릭스(454)(도4)의 내부 회로는 복수의 셀(700)을 포함하고 있다. 각각의 셀(700)은 제1 검사 모드 매트릭스(340)로부터의 데이터 입력 CIO_IN, 데이터 출력 CIO_OUT 및 인에이블 입력 CIO_EN을 포함하고, 제2 검사 모드 매트릭스(440)로부터도 동일한 3개 신호들을 포함하며, 패드(570)로의 대응하는 출력을 포함한다. 이 셀(700)은 2개의 MUX(710,720)와 디코더(730)를 포함한다. 2개의 MUX(710,720)는 CORE_SELECT 신호가 "로우"일 때 "입력 0"을 그들의 출력에 연결하고, CORE_SELECT 신호가 "하이"일 때에는 "입력 1"을 그들의 출력에 연결한다. 디코더(730)는 CORE_SELECT 신호가 "로우"일 때 그 입력 신호를 "출력 0"에 연결하고, CORE_SELECT 신호가 "하이"일 때에는 그 입력 신호를 "출력 1"에 연결한다. MUX(710)는 데이터 출력 멀티플렉서이고, MUX(720)는 출력 인에이블 멀티플렉서이며, MUX(730)은 데이터 입력 디코더이다. MUX(710,720)와 디코더(730)는 각각 CORE_SELECT 신호가 제1 상태에 있을 때(예를 들어, 마이크로프로세서 코어(310)에 대응하여 "로우"일 때), 검사 모드 매트릭스(340)로부터의 신호를 패드(570)에 선택적으로 연결하고, CORE_SELECT 신호가 제2 상태에 있을 때(예를들어, 마이크로프로세서 코어(310)에 대응하여 "하이"일 때)에는 검사 모드 매트릭스(440)로부터의 신호를 패드(570)에 선택적으로 연결한다.
예시 목적을 위해 셀(700)이 두 개의 검사 모드 매트릭스(340,440) 사이의 스위칭을 위한 회로로 도시되었지만, 단순히 CORE_SELECT 신호(및 대응하는 입력492)를 포함하는 선택 라인의 수를 증가시킴으로써, 그리고 각각 대응하는 검사 모드 매트릭스를 통해 라우팅되는 각각의 마이크로프로세서 코어로부터의 신호를 수용하기 위해 MUX(710,720)와 디코더(730)로의 입력의 수를 증가시킴으로써, 소정 개수의 내장형 마이크로프로세서 코어들 사이를 셀(700)이 스위칭하는 것도 본 발명의 범위내에 속한다.
본 발명에 따른 집적회로(300,400)에서 모든 3-상태 장치들을 제거함으로써, 3-상태 장치들을 갖는 집적회로와 비교할 때 몇 가지 이점이 발생한다. 예를 들면, 하이 임피던스(high impedance) 상태에서 3-상태 버스는 버스에 의해 구동되는 회로들의 스위칭 임계치를 가로질러 플로트될 수 있으며, 그에 따라 이들 회로들이 빠르게 토글링하여, 더 많은 전력을 소모한다. 따라서, 3-상태 버스들을 갖지 않음으로 인해 집적회로의 전력 소모를 줄여준다. 더욱이, 3-상태 버스 상에서 단지 하나의 드라이버만이 소정의 시간에 인에이블될 수 있기 때문에, 검사 패턴들을 생성하기 위한 툴은 일반적으로 3-상태 장치를 지원하지 못한다. 검사하는 동안 3-상태 버스 상에서의 버스 경쟁(bus contention)을 방지하기 위해서는, 검사 패턴들이 수동으로 생성되어야 하며, 이것은 3-상태 장치들이 없는 유사한 집적회로에 비교할때 3-상태 장치들을 가진 집적회로를 검사하는 비용을 상당히 증가시킨다. 그러나, 본 발명의 집적회로내에서 모든 3-상태 장치들을 제거하는 가장 중요한 이점은 그 결과로서 만들어진 집적회로가 100% 검사가능하다는 점이다. 검사하는 동안에 하나 혹은 그 이상의 3-상태 장치들이 결함을 마스킹한다는 것에 대해 걱정할 필요 없이 집적회로의 모든 기능들이 완전히 기능적으로 검사될 수 있다.
전술한 바와 같은 하나 혹은 그 이상의 검사 모드 매트릭스들을 포함하는 본 발명에 따른 ASIC은 각각의 내장형 마이크로프로세서 코어가 표준 검사 벡터들을 이용하여 기능적으로 완전히 검사될 수 있도록 하고, ICE가 디버깅 목적으로 내장형 마이크로프로세서 코어들중 어느 하나의 기능을 에뮬레이트할 수 있도록 하고, 또한, 제조 중에 수행하는 ASIC의 스캔 검사와 같은 다른 검사 모드들을 필요에 따라 제공함으로써 완전한 검사능력을 제공한다. 또한, 오프-칩 드라이버 및 리시버들을 경유하지 않고, 그리고 3-상태 장치들을 하나도 경유하지 않고, 검사 모드 매트릭스를 직접 경유하여 마이크로프로세서 코어와 주문형 로직 사이의 모든 신호들을 직접 라우팅함으로써 ASIC의 성능이 향상된다.
비록 본 발명이 그 바람직한 실시예를 참조하여 상세하게 도시 및 설명되었지만, 본 발명이 속하는 기술분야에 통상의 지식을 가진 사람이라면, 본 발명의 사상 및 범위를 벗어나지 않고 그 형태 및 세부사항에서 다양한 변경이 이루어질 수도 있다는 것을 이해할 것이다. 또한, 도면에서 각종의 전도선 혹은 연결선들이 단일 선로로 표시되었지만, 이것은 한정적인 의미로 도시된 것이 아니며, 기술상 이해되어지는 바와 같이 복수의 전도선 혹은 연결선으로 구성될 수 있다는 것을 이해할 것이다.

Claims (15)

  1. 적어도 하나의 마이크로프로세서와,
    다수의 입출력 패드(I/O pad)에 연결된 다수의 입출력(I/O) 회로 - 여기서, 상기 다수의 I/O 회로는 다수의 입출력 드라이버(I/O driver) 및 입출력 리시버(I/O receiver)를 포함함 - 와,
    로직 회로와,
    상기 마이크로프로세서와 상기 로직 회로 사이에 연결된 스위치 수단
    을 포함하며,
    상기 스위치 수단은 다수의 상호 배타적인 상태 중 한 상태로 동작하는데, 상기 다수의 상호 배타적인 상태 중 제1 상태에서는 마이크로프로세서 연산 신호를 상기 집적회로 상의 I/O 패드에 연결된 어떠한 I/O 드라이버도 경유하지 않고, 또한 상기 I/O 패드에 연결된 어떠한 I/O 리시버도 경유하지 않으며 직접 상기 로직 회로로 라우팅하고, 상기 다수의 상호 배타적인 상태 중 제2 상태에서는 상기 다수의 I/O 회로로부터의 마이크로프로세서 검사 신호를 상기 마이크로프로세서로 라우팅하고, 상기 다수의 상호 배타적인 상태 중 제3 상태에서는 상기 다수의 I/O 회로로부터의 로직 검사 신호를 상기 로직 회로로 라우팅하는
    집적회로.
  2. 제1항에 있어서, 상기 다수의 상호 배타적인 상태 중 하나를 선택하기 위한수단을 더 포함하는 집적회로.
  3. 제1항에 있어서, 상기 스위치 수단의 상기 제1 상태는 상기 집적회로를 정상적으로 동작시키는 위한 상태에 대응하고, 상기 스위치 수단의 상기 제2 상태는 상기 마이크로프로세서에 대한 표준 검사 벡터를 상기 다수의 I/O 패드에 인가함으로써 상기 마이크로프로세서를 검사하기 위한 상태에 대응하고, 상기 스위치 수단의 상기 제3 상태는 인-서킷 에뮬레이터(In-Circuit Emulator; ICE)를 상기 다수의 I/O 패드에 연결함으로써 상기 집적회로를 검사하기 위한 상태에 대응하는 집적회로.
  4. 제1항에 있어서, 상기 스위치 수단은 다수의 셀을 각각 포함하는 적어도 하나의 검사 모드 매트릭스를 포함하고, 상기 각각의 셀은 상기 다수의 I/O 회로중 적어도 하나의 회로에 연결되어 있으며, 상기 각각의 셀은, 상기 제1 상태에서 상기 마이크로프로세서와 상기 로직 회로 사이에 적어도 하나의 신호를 연결하기 위한 수단과, 상기 제2 상태에서 상기 다수의 I/O 회로 중 적어도 하나의 회로와 상기 마이크로프로세서 사이에 적어도 하나의 신호를 연결하기 위한 수단과, 상기 제3 상태에서 상기 다수의 I/O 회로 중 적어도 하나의 회로와 상기 로직 회로 사이에 적어도 하나의 신호를 연결하기 위한 수단을 더 포함하는 집적회로.
  5. 제1항에 있어서, 상기 스위치 수단은 제4 상태에 있을 때 상기 집적회로부터의 보조 검사 신호를 상기 다수의 I/O 회로로 라우팅하는 집적회로.
  6. 제1항에 있어서, 다수의 마이크로프로세서를 포함하고, 상기 다수의 마이크로프로세서중 하나를 선택하기 위한 수단을 더 포함하는 집적회로.
  7. 제1항에 있어서, 다수의 마이크로프로세서를 포함하고, 상기 스위치 수단은, 다수의 검사 모드 매트릭스 - 여기서, 상기 마이크로프로세서 각각에 대해 적어도 하나의 검사 모드 매트릭스를 포함함 - 및 상기 다수의 마이크로프로세서중 선택된 하나에 대응하는 상기 검사 모드 매트릭스를 상기 다수의 I/O 회로에 연결하기 위한 수단을 포함하는 집적회로.
  8. 집적회로를 검사하기 위한 방법에 있어서,
    상기 집적회로 상에 마이크로프로세서를 제공하는 단계와,
    상기 집적회로 상에 로직 회로를 제공하는 단계와,
    상기 집적회로 상에서 다수의 I/O 패드에 연결된 다수의 I/O 회로 - 여기서, 다수의 I/O 회로는 다수의 I/O 드라이버 및 I/O 리시버를 포함함 - 를 상기 집적회로 상에 제공하는 단계와,
    상기 마이크로프로세서와 상기 로직 회로 사이에 연결되는 스위치 수단 - 여기서, 스위치 수단은 다수의 상호 배타적인 상태 중 한 상태로 동작하는데, 상기 다수의 상호 배타적인 상태 중 제1 상태에서는 마이크로프로세서 연산 신호를 어떠한 I/O 회로도 경유하지 않고 직접 상기 로직 회로로 라우팅하고, 상기 다수의 상호 배타적인 상태 중 제2 상태에서는 마이크로프로세서 검사 신호를 상기 마이크로프로세서로 라우팅하고, 상기 다수의 상호 배타적인 상태 중 제3 상태에서는 로직 검사 신호를 상기 로직 회로로 라우팅함 - 을 제공하는 단계와,
    적어도 하나의 I/O 패드에 연결된 외부 테스터로부터 상기 마이크로프로세서 검사 신호를 라우팅하는 단계와,
    상기 스위치 수단을 통해 검사 벡터(test vector)를 상기 마이크로프로세서에 인가하는 단계
    를 포함하는 집적회로 검사 방법.
  9. 제8항에 있어서, 상기 스위치 수단이, 상기 로직 회로를 디버깅(debugging)하고 상기 마이크로프로세서를 위한 코드를 디버깅하기 위해 상기 마이크로프로세서의 기능을 에뮬레이팅(emulating)하는 외부 인-서킷 에뮬레이터로부터 상기 로직 검사 신호를 라우팅하는 단계를 더 포함하는 집적회로 검사 방법.
  10. 집적회로를 검사하기 위한 방법에 있어서,
    상기 집적회로는,
    적어도 하나의 마이크로프로세서와,
    로직 회로와,
    다수의 I/O 패드에 연결된 다수의 I/O 회로와,
    상기 마이크로프로세서와 상기 로직 회로 사이에 연결되어, 상기 다수의 I/O 회로 중 어느 것도 경유하지 않고 마이크로프로세서 연산 신호를 직접 상기 로직 회로로 라우팅하고, 마이크로프로세서 검사 신호를 상기 마이크로프로세서로 라우팅하고, 로직 검사 신호를 상기 로직 회로로 라우팅하기 위한 스위치 수단 - 여기서, 상기 스위치 수단은 다수의 상호 배타적인 상태 중 한 상태로 동작하고, 또한 상기 스위치 수단은 상기 스위치 수단이 제1 상태에 있을 때 상기 마이크로프로세서 연산 신호를 직접 상기 로직 회로로 라우팅함 - 과,
    상기 다수의 상태중 한 상태를 선택하기 위한 수단
    을 포함하고,
    상기 방법은,
    (A) 상기 집적회로내에 있는 하나의 마이크로프로세서를 포함하여 검사 중에 있는 마이크로프로세서를 검사하는 단계를 포함하고,
    상기 검사 단계(A)는,
    상기 다수의 I/O 패드에 외부 테스터를 연결하는 단계와,
    상기 스위치 수단이 상기 다수의 I/O 회로로부터의 상기 마이크로프로세서 검사 신호를 검사 중에 있는 상기 마이크로프로세서로 라우팅하도록 제2 상태를 선택하는 단계와,
    상기 외부 테스터가 표준 검사 벡터 셋트를 상기 다수의 I/O 패드에 인가하는 단계와,
    상기 외부 테스터가 상기 검사 벡터를 인가하는 것으로부터 기인하는 I/O 패드 상에서 상기 검사중에 있는 마이크로프로세서로부터의 신호를 모니터링하는 단계와,
    상기 외부 테스터가 상기 모니터링된 신호로부터 상기 검사중인 마이크로프로세서가 적절하게 동작하는지(functional) 여부를 표시하는 단계를 포함하는
    집적회로 검사 방법.
  11. 제10항에 있어서, (B) 상기 로직 회로와 상기 마이크로프로세서를 위한 코드를 검사하는 단계를 더 포함하고, 상기 검사 단계(B)는, 상기 다수의 I/O 패드에 인-서킷 에뮬레이터(ICE)를 연결하는 단계와, 상기 스위치 수단이 상기 다수의 I/O 회로로부터의 로직 검사 신호를 상기 로직 회로로 라우팅하도록 제3 상태를 선택하는 단계와, 상기 인-서킷 에뮬레이터가 상기 마이크로프로세서의 기능을 에뮬레이팅하기 위해 상기 다수의 I/O 패드로 신호를 인가하는 단계를 포함하는 집적회로 검사 방법.
  12. 제11항에 있어서, 상기 집적회로는 다수의 마이크로프로세서를 더 포함하고, 상기 스위치 수단은, 다수의 검사 모드 매트릭스 - 여기서, 상기 마이크로프로세서 각각에 대해 적어도 하나의 검사 모드 매트릭스를 포함함 - 와, 상기 다수의 마이크로프로세서 중 선택된 하나에 대응하는 상기 검사 모드 매트릭스를 상기 다수의 I/O 회로에 연결하기 위한 제2 스위치 수단을 포함하고, 상기 로직 회로 및 상기 마이크로프로세서를 위한 코드를 검사하는 상기 단계는, 상기 제2 스위치 수단이상기 대응하는 검사 모드 매트릭스를 상기 다수의 I/O 회로에 연결하는 단계를 더 포함하고, 상기 다수의 I/O 회로로부터의 상기 로직 검사 신호를 상기 로직 회로로 라우팅하는 상기 단계는, 상기 다수의 I/O 회로로부터의 상기 로직 검사 신호를 상기 제2 스위치 수단을 통해 라우팅하는 단계와, 상기 제2 스위치 수단으로부터의 상기 로직 검사 신호를 상기 대응하는 검사 모드 매트릭스를 통해 상기 로직 회로로 라우팅하는 단계를 더 포함하는 집적회로 검사 방법.
  13. 적어도 하나의 마이크로프로세서와,
    로직 회로와,
    상기 마이크로프로세서와 상기 로직 회로 사이에 연결되어, 마이크로프로세서 연산 신호를 직접 상기 로직 회로로 라우팅하고, 마이크로프로세서 검사 신호를 상기 마이크로프로세서로 라우팅하고, 로직 검사 신호를 상기 로직 회로로 라우팅하기 위한 신호 라우팅 수단과,
    다수의 입출력(I/O) 패드에 연결된 다수의 입출력(I/O) 회로
    를 포함하고,
    여기서, 상기 신호 라우팅 수단은 다수의 상호-배타적인 상태중 한 상태로 동작하고, 또한 상기 신호 라우팅 수단은 검사 모드 매트릭스를 포함하고, 상기 검사 모드 매트릭스는 상기 마이크로프로세서에 연결된 제1 버스, 상기 로직 회로에 연결된 제2 버스 및 상기 다수의 I/O 회로에 연결된 제3 버스를 포함하고,
    상기 검사 모드 매트릭스는 상기 다수의 상태중 제1 상태에서는 상기 제1 버스를 상기 제2 버스에 연결하고,
    상기 검사 모드 매트릭스는 상기 다수의 상태중 제2 상태에서는 상기 제1 버스를 상기 제3 버스에 연결하고,
    상기 검사 모드 매트릭스는 상기 다수의 상태중 제3 상태에서는 상기 제2 버스를 상기 제3 버스에 연결하는
    집적회로.
  14. 제13항에 있어서, 상기 검사 모드 매트릭스는 상기 로직 회로에 연결된 제4 버스를 더 포함하고, 상기 검사 모드 매트릭스는 상기 제1 상태에서 상기 제3 버스를 상기 제4 버스에 연결하는 집적회로.
  15. 다수의 마이크로프로세서와,
    로직 회로와,
    다수의 입출력(I/O) 패드에 연결된 다수의 입출력(I/O) 회로와,
    상기 마이크로프로세서와 상기 로직 회로 사이에 연결되어, 마이크로프로세서 연산 신호를 직접 상기 로직 회로로 라우팅하고, 마이크로프로세서 검사 신호를 상기 마이크로프로세서로 라우팅하고, 로직 검사 신호를 상기 로직 회로로 라우팅하기 위한 신호 라우팅 수단 - 여기서, 상기 신호 라우팅 수단은, 상기 마이크로프로세서 각각에 대해 적어도 하나씩 다수의 검사 모드 매트릭스와, 상기 다수의 마이크로프로세서중 선택된 하나에 대응하는 검사 모드 매트릭스를 상기 다수의 I/O회로에 연결하기 위한 스위칭 수단을 포함함 -
    을 함하고,
    여기서, 상기 신호 라우팅 수단은 다수의 상호-배타적인 상태중 한 상태로 동작하고, 상기 각각의 검사 모드 매트릭스는 상기 대응하는 마이크로프로세서에 연결된 제1 버스, 상기 로직 회로에 연결된 제2 버스 및 상기 신호 라우팅 수단에 연결된 제3 버스를 포함하고,
    상기 검사 모드 매트릭스는 상기 다수의 상태중 제1 상태에서는 상기 제1 버스를 상기 제2 버스에 연결하고,
    상기 검사 모드 매트릭스는 상기 다수의 상태중 제2 상태에서는 상기 제1 버스를 상기 제3 버스에 연결하고,
    상기 검사 모드 매트릭스는 상기 다수의 상태중 제3 상태에서는 상기 제2 버스를 상기 제3 버스에 연결하는
    집적회로.
KR1019960028793A 1995-08-07 1996-07-16 내장형 마이크로프로세서 코어를 위한 검사모드 매트릭스 회로및 그 검사 방법 KR100300242B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US08/511,943 1995-08-07
US08/511,943 US5724502A (en) 1995-08-07 1995-08-07 Test mode matrix circuit for an embedded microprocessor core
US08/518,764 1995-08-24
US08/518,764 US5902351A (en) 1995-08-24 1995-08-24 Apparatus and method for tracking a vehicle

Publications (2)

Publication Number Publication Date
KR970011884A KR970011884A (ko) 1997-03-27
KR100300242B1 true KR100300242B1 (ko) 2001-09-03

Family

ID=66242543

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960028793A KR100300242B1 (ko) 1995-08-07 1996-07-16 내장형 마이크로프로세서 코어를 위한 검사모드 매트릭스 회로및 그 검사 방법

Country Status (1)

Country Link
KR (1) KR100300242B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5331571A (en) * 1992-07-22 1994-07-19 Nec Electronics, Inc. Testing and emulation of integrated circuits

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5331571A (en) * 1992-07-22 1994-07-19 Nec Electronics, Inc. Testing and emulation of integrated circuits

Also Published As

Publication number Publication date
KR970011884A (ko) 1997-03-27

Similar Documents

Publication Publication Date Title
US5724502A (en) Test mode matrix circuit for an embedded microprocessor core
US5331571A (en) Testing and emulation of integrated circuits
US5828824A (en) Method for debugging an integrated circuit using extended operating modes
US4875003A (en) Non-contact I/O signal pad scan testing of VLSI circuits
US5995731A (en) Multiple BIST controllers for testing multiple embedded memory arrays
US4703484A (en) Programmable integrated circuit fault detection apparatus
US6564347B1 (en) Method and apparatus for testing an integrated circuit using an on-chip logic analyzer unit
US6665828B1 (en) Globally distributed scan blocks
US4669081A (en) LSI fault insertion
US8736291B2 (en) Methods for defect testing of externally accessible integrated circuit interconnects
US4752729A (en) Test circuit for VSLI integrated circuits
US6334198B1 (en) Method and arrangement for controlling multiply-activated test access port control modules
US5617431A (en) Method and apparatus to reuse existing test patterns to test a single integrated circuit containing previously existing cores
US4485472A (en) Testable interface circuit
US5193092A (en) Integrated parity-based testing for integrated circuits
EP0023413A1 (en) Single Chip Microprocessor having means for selectively outputting instruction decoder control signals
JPH09282195A (ja) 集積回路テスト装置および方法
US20030046625A1 (en) Method and apparatus for efficient control of multiple tap controllers
US5828827A (en) Data processing system for performing a test function and method therefor
EP1358498A1 (en) Input/output continuity test mode circuit
US20030188237A1 (en) Method and apparatus for testing a circuit using a die frame logic analyzer
KR100423891B1 (ko) 트레이스 모듈을 구비한 마이크로프로세서
US5799021A (en) Method for direct access test of embedded cells and customization logic
US6813579B1 (en) Apparatus and method for test mode control
KR100300242B1 (ko) 내장형 마이크로프로세서 코어를 위한 검사모드 매트릭스 회로및 그 검사 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20040412

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee