KR100550757B1 - 칩렛, 작동성 칩렛 및 칩 - Google Patents

칩렛, 작동성 칩렛 및 칩 Download PDF

Info

Publication number
KR100550757B1
KR100550757B1 KR1020040009290A KR20040009290A KR100550757B1 KR 100550757 B1 KR100550757 B1 KR 100550757B1 KR 1020040009290 A KR1020040009290 A KR 1020040009290A KR 20040009290 A KR20040009290 A KR 20040009290A KR 100550757 B1 KR100550757 B1 KR 100550757B1
Authority
KR
South Korea
Prior art keywords
chiplet
error
functional
multiplexer
state
Prior art date
Application number
KR1020040009290A
Other languages
English (en)
Other versions
KR20040080957A (ko
Inventor
카르제프리디
Original Assignee
인터내셔널 비지네스 머신즈 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인터내셔널 비지네스 머신즈 코포레이션 filed Critical 인터내셔널 비지네스 머신즈 코포레이션
Publication of KR20040080957A publication Critical patent/KR20040080957A/ko
Application granted granted Critical
Publication of KR100550757B1 publication Critical patent/KR100550757B1/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B28WORKING CEMENT, CLAY, OR STONE
    • B28DWORKING STONE OR STONE-LIKE MATERIALS
    • B28D7/00Accessories specially adapted for use with machines or devices of the preceding groups
    • B28D7/02Accessories specially adapted for use with machines or devices of the preceding groups for removing or laying dust, e.g. by spraying liquids; for cooling work
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • 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/31704Design for test; Design verification
    • 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/31723Hardware for routing the test signal within the device under test to the circuits to be tested, e.g. multiplexer for multiple core testing, accessing internal nodes
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B28WORKING CEMENT, CLAY, OR STONE
    • B28DWORKING STONE OR STONE-LIKE MATERIALS
    • B28D1/00Working stone or stone-like materials, e.g. brick, concrete or glass, not provided for elsewhere; Machines, devices, tools therefor
    • B28D1/14Working stone or stone-like materials, e.g. brick, concrete or glass, not provided for elsewhere; Machines, devices, tools therefor by boring or drilling

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Mechanical Engineering (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명 하에서, 칩(chip) 내의 각각의 기능성 칩렛(functional chiplet)의 세트는 에러 상태 스테이징 시스템(error condition staging system) 및 트랩 상태 제어 시스템(trap condition control system)을 포함한다. 에러 상태 스테이징 시스템은, 에러 상태의 세트를 검출하는 에러 상태 조합형 로직(error condition combination logic) 및 에러 상태의 세트와 관련된 데이터를 저장하는 에러 상태 레지스터(error condition registers)의 세트를 포함한다. 에러 상태 레지스터 세트 내의 데이터는 트랩 상태 제어 시스템으로부터 출력되는 트랩 신호(trap signal)에 의해 제어되는 출력 멀티플렉서(output multiplexor)에 전달된다. 데이터를 포함하는 에러 상태 신호는 출력 멀티플렉서로부터 출력되고, 작동성 칩렛(operational chiplet)에 의해 수신된다. 또한 작동성 칩렛은 각각의 기능성 칩렛에 속하는 클록 제어기로부터 클록 신호(clock signal)를 수신한다. 에러 상태 신호 및 클록 신호에 기초하여, 작동성 칩렛은 기능성 칩렛 내의 임의의 결함을 호스트 프로세서에 보고한다.

Description

칩렛, 작동성 칩렛 및 칩{SYSTEM FOR DETECTING AND REPORTING DEFECTS IN A CHIP}
도 1은 칩렛 결함을 호스트 프로세서에 보고하기 위한 디버깅 버스 디자인을 도시하는 도면,
도 2는 본 발명에 따라서 기능성 칩렛 결함을 검출하고, 그것을 호스트 프로세서에 보고하기 위한 디자인을 도시하는 도면,
도 3은 본 발명에 따른 도 2의 기능성 칩렛 중의 하나에 대한 보다 세부적인 도면을 도시하는 도면,
도 4는 본 발명에 따른 도 2의 작동성 칩렛에 대한 보다 세부적인 도면을 도시하는 도면.
도면의 주요 부분에 대한 부호의 설명
16, 36 : 호스트 프로세서 20, 40 : 클록 제어기
18A∼18C, 38A∼38C : 온-칩 메모리 모듈
32A∼32C : 기능성 칩렛 34 : 작동성 칩렛
본 발명은 일반적으로 칩 내에서 결함(defects)을 검출하고 보고하는 시스템에 관한 것이다. 세부적으로, 본 발명은 에러 및/또는 보류 상태(hang conditions)를 검출하고 호스트 프로세서(host processor)에 보고하도록 설계되는 기능성 칩렛(functional chiplets)의 세트 및 작동성 칩렛(operational chiplet)을 갖는 칩을 제공한다.
현행의 컴퓨터 칩 디자인에서, 칩 디자인의 타당성 검사 도중에 발견되는 결함(예를 들면, 에러 또는 보류 상태)을 진단하고 해결하는 것이 매우 어렵다. 결함이 확인되는 경우에, 이것은 전형적으로 신호가 칩의 입력부/출력부(input/outputs : I/Os)로 통과하거나 호스트 프로세서를 통과한 후에, 칩 자체 내부로부터의 신호를 분석하는 것에 의해서만 디버깅(debugged)될 수 있다. 그러나, 오직 제한된 수의 I/O만이 디버깅 프로세스용으로 이용되기 때문에, 설계자가 결함을 진단하는 데 있어서 제한된 수의 신호만을 이용할 수 있다. 유효 범위 분석기(scope analyzer) 또는 로직 분석기(logic analyzer) 중 어느 하나를 칩에 접속하는 것과, (가능한 경우에) 실패 동작(failing operations)을 반복적으로 재실행하여 결함의 원인을 판정하는 것에 의해서 현재의 신호를 분석한다. 칩 보류(chip hangs)가 존재하는 경우에, 칩의 내부 로직(internal logic)이 종종 응답하지 않게 되고, 그에 따라 내부 레지스터값을 검사하는 기능이 제한되므로, 문제를 분석하는 것이 상당히 어렵다.
이 문제점은 임의의 1개의 칩이 몇 명의 설계자에 의해 디자인될 수 있다는 사실에 의해 악화된다. 예를 들면, 하나의 칩은 각각 수 개의 기능을 수행하는 하나 이상의 "기능성(functional)" 칩렛(chiplet)을 포함할 수 있다. 이 점에서, 각각의 기능성 칩렛은 다수의 설계자에 의해서 디자인될 수 있었다. 결함을 디버깅하기 위해서, 각각의 설계자는 자신의 디자인에 의해서 발생되는 신호를 주시하고, 그것이 결함을 유발하는지 여부를 판정해야 한다. 예를 들어, 결함을 디버깅하는 데 있어서 12개의 신호가 발생되었다고 가정하자. 또한 신호(1∼4)가 설계자 "A"의 디자인에 속하고, 신호(5∼8)가 설계자 "B"의 디자인에 속한다고 가정하는 한편, 신호(9∼12)가 설계자 "C"의 디자인에 속한다고 가정한다. 전형적으로, 각각의 설계자는 자신의 신호의 세트를 개별적으로 분석하여, 그의 디자인이 결함을 유발하는지 여부를 판정해야 한다. 즉, 통상적으로 설계자 "A"는 설계자 "B"의 신호를 분석할 수 없고, 그 반대도 마찬가지이다. 또한, 통상적으로 설계자는 자신의 제각기의 신호를 동시에 분석할 수 없다. 그러므로, 결함의 디버깅은 이용 가능한 정보의 제한된 양뿐만 아니라 여러 설계자들의 이용가능성에 의해서 방해받을 수 있다.
위의 내용으로 보아, 칩 내에서 결함을 검출하고 보고하는 시스템에 대한 필요성이 제기된다. 특히, 칩 내의 각 기능성 칩렛에 있어서, 결함이 효율적으로 검출되게 하는 디자인을 포함하는 것에 대한 필요성이 제기된다. 또한, 칩이 기능성 칩렛과 통신하는 작동성 칩렛을 포함하는 것에 대한 추가적인 필요성이 제기된다. 더욱이, 작동성 칩렛이 신호를 분석하고, 기능성 칩렛 내의 임의의 결함을 호스트 프로세서에 보고하는 것에 대한 필요성이 제기된다.
일반적으로, 본 발명은 칩 내의 결함을 검출하고 보고하는 시스템을 제공한다. 세부적으로, 본 발명 하에서, 칩 내의 각각의 기능성 칩렛은 에러 상태 스테이징 시스템(error condition staging system) 및 트랩 상태 제어 시스템(trap condition control system)을 포함한다. 에러 상태 스테이징 시스템은, 에러 상태의 세트를 검출하는 에러 상태 조합형 로직(error condition combination logic) 및 에러 상태의 세트와 관련된 데이터를 저장하는 에러 상태 레지스터(error condition registers)의 세트를 포함한다. 에러 상태 레지스터의 세트 내의 데이터는 트랩 상태 제어 시스템으로부터 출력되는 트랩 신호(trap signal)에 의해 제어되는 출력 멀티플렉서(output multiplexor)에 전달된다. 데이터를 포함하는 에러 상태 신호는 출력 멀티플렉서로부터 출력되고, 칩 위의 작동성 칩렛에 의해 수신된다. 또한 작동성 칩렛은 각각의 기능성 칩렛에 속하는 클록 제어기로부터 클록 신호(clock signal)를 수신한다. 에러 상태 신호 및 클록 신호에 기초하여, 작동성 칩렛은 기능성 칩렛 내의 임의의 결함(예를 들면, 에러 및/또는 보류 상태)을 호스트 프로세서에 보고한다.
본 발명의 제 1 측면에 따르면, 기능성 칩렛 내의 결함을 검출하기 위한 칩렛 디자인이 제공된다. 칩렛 디자인은 (1) 에러 상태의 세트를 검출하기 위한 에러 상태 조합형 로직 및 에러 상태의 세트에 관련되며, 에러 상태 레지스터의 세트로부터j 출력 멀티플렉서로 출력되는 데이터를 저장하기 위한 에러 상태 레지스터의 세트를 갖는 에러 상태 스테이징 시스템과, (2) 출력 멀티플렉서를 제어하는 트랩 신호를 출력하기 위한 트랩 상태 제어 시스템을 포함한다.
본 발명의 제 2 측면에 따르면, 기능성 칩렛 내의 결함을 호스트 프로세서에 보고하기 위한 작동성 칩렛이 제공된다. 작동성 칩렛은 (1) 기능성 칩렛으로부터 에러 상태 신호를 수신하기 위한 에러 상태 멀티플렉서와, (2) 기능성 칩렛에 관련되는 클록 신호를 수신하기 위한 타임 스탬프 멀티플렉서와, (3) 클록 신호를 처리하여 기능성 칩렛이 보류(hanging) 중인지 여부를 판정하는 타임 스탬프 모니터 제어기와, (4) 에러 상태 멀티플렉서 및 타임 스탬프 모니터 제어기로부터 수신된 신호에 근거하여 호스트 프로세서에 칩렛의 결함을 보고하는 스테이트 머신(state machine)을 포함한다.
본 발명의 제 3 측면에 따르면, 결함을 검출하고 호스트 프로세서에 결함을 보고하는 시스템을 갖는 칩을 제공한다. 칩은, (1) (a) 에러 상태의 세트를 검출하기 위한 에러 상태 조합형 로직 및 에러 상태의 세트에 관련된 데이터를 저장하는 에러 상태 레지스터의 세트를 갖는 에러 상태 스테이징 시스템(error condition staging system) 및 (b) 출력 멀티플렉서를 제어하는 트랩 신호를 출력하는 트랩 상태 제어 시스템을 각각 포함하는 기능성 칩렛의 세트와, (2) 기능성 칩렛의 세트로부터의 에러 상태 신호 및 클록 제어기로부터의 클록 신호를 수신하며 에러 상태 신호 및 클록 신호를 처리하고 호스트 프로세서에 결함을 보고하는 작동성 칩렛을 포함한다.
그러므로, 본 발명은 기능성 칩렛 내에서 결함을 검출하고 보고하는 디자인을 제공한다.
첨부된 도면과 함께 이하의 본 발명의 여러 특징에 대한 세부적인 설명으로부터 본 발명의 이러한 특징 및 다른 특징을 보다 용이하게 이해할 수 있을 것이다.
이들 도면은 단지 개략적으로 나타내기 위한 것일 뿐이며, 본 발명의 특정한 파라미터를 나타내고자 하는 것이 아니다. 도면은 본 발명의 전형적인 실시예만을 나타내고자 한 것이므로, 본 발명의 범주를 제한하는 것으로 간주되어서는 안된다. 도면에서, 동일한 번호는 동일한 요소를 나타낸다.
앞서 나타낸 바와 같이, 본 발명은 칩 내에서 결함을 검출하고 보고하는 시스템을 제공한다. 구체적으로, 본 발명 하에서, 칩 내의 각 기능성 칩렛은 에러 상태 스테이징 시스템(error condition staging system) 및 트랩 상태 제어 시스템(trap condition control system)을 포함한다. 에러 상태 스테이징 시스템은 에러 상태의 세트를 검출하는 에러 상태 조합형 로직(error condition combinational logic) 및 에러 상태의 세트에 관련된 데이터를 저장하는 에러 상태 레지스터(error condition registors)의 세트를 포함한다. 에러 상태 레지스터의 세트 내에 있는 데이터는, 트랩 상태 제어 시스템으로부터 출력되는 트랩 신호에 의해 제어되는 출력 멀티플렉서로 전달된다. 데이터를 포함하는 에러 상태 신호는 출력 멀티플렉서로부터 출력되고, 칩 위의 작동성 칩렛에 의해 수신된다. 작동성 칩렛은 또한 각 기능성 칩렛에 속하는 클록 제어기로부터 클록 신호를 수신한다. 에러 상태 신호 및 클록 신호에 기초하여, 작동성 칩렛은 기능성 칩렛 내의 임의의 결함(예를 들면, 에러 및/또는 보류 상태)을 호스트 프로세서에 보고한다.
다음으로 도 l을 참조하면, 디버깅 버스(debug bus)(14)를 갖는 칩(10)을 도시한다. 도시된 바와 같이, 칩(10)은 기능성 칩렛(12A∼12C), 호스트 프로세서(16), 온-칩 메모리 모듈(18A∼18C) 및 클록 제어기(20)를 포함한다. 칩(10)의 도시는 단지 예시적인 것이고, 여러 다른 변경이 존재한다는 것을 이해해야 한다. 예를 들면, 칩(10)은 도시되지 않은 추가적인 구성 요소를 포함할 수 있다. 또한, 칩(10)은 서로 다른 개수의 기능성 칩렛(12A∼12C), 온-칩 메모리 모듈(18A∼18C) 등을 가질 수 있다. 임의의 경우에, 기능성 칩렛(12A∼12C)은 전형적으로 각각 하나 이상의 기능을 수행하도록 디자인된다. 불행하게도, 기능성 칩렛(12A∼12C)은 때때로 타당성 검사 도중에 발견되는 에러 상태 및/또는 보류 상태 등과 같은 결함을 갖는다. 본 발명 이전에도, 이러한 결함을 검출하고 디버깅하기 위한 한 가지 방법으로서 디버깅 버스(14)를 이용했다. 예를 들면, 칩(10)이 결함을 가지고 있는 것으로 발견되면, 디버깅 버스(14)를 거쳐 기능성 칩렛(12A∼12C)으로부터 호스트 프로세서(16)로 신호가 전송될 것이다. 다음에 각 설계자는 자신의 디자인이 결함을 유발하였는지 여부를 판정하기 위해서 자신의 디자인에 대응되는 신호를 검사할 것이다. 불행하게도, 위에 언급된 바와 같이, (즉, 오직 소수의 신호만이 기능성 칩렛(12A∼12C)으로부터 전송되기 때문에) 제한된 정보만을 이용할 수 있을 뿐만 아니라, 다수의 설계자가 기능성 칩렛(12A∼12C)의 디자인에 포함될 수 있다. 특히, 각각의 기능성 칩렛(12A∼12C)은 서로 다른 설계자에 의해 각각 디자인되는 다수의 기능성 "아일랜드(islands)"를 가질 수 있다. 그러므로 결함의 디버깅은 여러 설계자의 협력을 필요로 할 수 있다.
다음에 도 2를 참조하면, 본 발명에 따른 칩(30)이 도시되어 있다. 도시된 바와 같이, 칩(30)은 기능성 칩렛(32A∼32C), 작동성 칩렛(34), 호스트 프로세서(36), 온-칩 메모리 모듈(on-chip memory module)(38A∼38C) 및 클록 제어기(clock controller)(40)를 포함한다. 본 발명 하에서, 각각의 기능성 칩렛(32A∼32C)은 에러 상태를 검출하고 작동성 칩렛(34)에 보고하도록 디자인/프로그래밍된다. 추가하여, 작동성 칩렛(34)은 또한 (예를 들면, 연속적인 폴링(polling) 등에 기초하여) 클록 제어기(40)로부터, 기능성 칩렛(32A∼32C) 중의 어느 하나가 보류 중인지 여부를 판정하는 데 이용되는 클록 신호(42)를 수신한다. 다음에 작동성 칩렛(34)은 임의의 확인된 결함(에러 또는 보류 상태)을 호스트 프로세서(36)에 보고할 것이다. 도 1의 칩(10)과 유사하게, 칩(30)의 묘사는 단지 예시적인 것일 뿐이고 여러 다른 변경이 존재한다는 것을 이해해야 한다. 예를 들면, 칩(30)은 도시되지 않은 추가적인 구성 요소를 포함할 수 있다. 또한, 칩(30)은 서로 다른 개수의 기능성 칩렛(32A∼32C), 온-칩 메모리 모듈(38A∼38C) 등을 가질 수 있다.
다음에 도 3을 참조하면, 기능성 칩렛(32A)의 보다 세부적인 도면이 도시되어 있다. 도시하지는 않았으나, 다른 기능성 칩렛(12B∼12C)이 동일한 방식으로 유사한 구성 요소 및 기능을 포함할 수 있다는 것을 이해해야 한다. 도시된 바와 같이, 기능성 칩렛(32A)은 에러 상태 스테이징 시스템(50), 트랩 상태 제어 시스템(60) 및 칩렛 에러 출력 멀티플렉서(이하에서는 "출력 멀티플렉서"로 지칭됨)(66)를 포함한다. 트랩 상태 제어 시스템(60)은 트랩 상태 조합형 로직(62A∼62D) 및 OR 게이트(64)를 포함한다. 일반적으로, 트랩 상태 조합형 로직(62A∼62C)은 기능성 칩렛(32A)에 대한 트랩 상태의 세트(즉, 하나 이상의 트랩 상태)를 정의한다. 예를 들면, (예를 들면, 조합형 로직(62A)에 의해 정의된 바와 같은) 하나의 트랩 상태는 신호 "A∼F"가 적절한 기능을 위해 기능성 칩렛(32A)에 의해서 수신되어야 한다는 것을 나타낸다. 또한, 트랩 상태 조합형 로직(62A∼62D)의 각각의 블록은 기능성 칩렛(32A)(반드시 이와 같이 될 필요는 없음)에 대한 서로 다른 기능의 "아일랜드"에 속할 수 있다. 임의의 경우에, 트랩 상태 조합형 로직(62A∼62D)의 각각의 블록은 전형적으로 에러 상태 스테이징 시스템(50) 내의 에러 상태 조합형 로직(52A∼52F)의 하나 이상의 블록에 속한다(예를 들면, 상태 조합형 로직(52A, 52B) 등은 모두 트랩 상태 조합형 로직(62A)에 속할 수 있음). 특히, 에러 상태 조합형 로직(52A∼52F)은 트랩 상태의 세트의 보다 미세한 레벨의 세부 사항을 제공하는 트랩 상태의 세트에 대한 에러 상태의 세트(즉, 하나 이상의 에러 세트)를 검출한다. 예를 들면, 트랩 상태 조합형 로직(62A)이 신호 "A∼F"가 수신되어야 한다고 지시하면, 에러 상태 조합형 로직(52A)은 신호 "A∼C"가 동시에 수신되어야 한다고 지시하며, 에러 상태 조합형 로직(52B)은 신호 "A∼C"가 동시에 수신된 다음에, 신호 "D∼F"가 차례로 수신되어야 한다고 지시할 수 있다.
임의의 경우에, 에러 상태 조합형 로직(52A∼52F)은 기능성 칩렛(32A)의 성능을 모니터링하고, 에러 상태의 임의의 세트(예를 들면, 하나 이상의 에러 상태)가 발생되는지 여부를 검출하며, 에러 상태의 세트에 관련된 데이터를 에러 상태 레지스터(54A∼54D)에 기록한다. 예를 들어, 에러 상태 조합형 로직(52B)이 신호 "D∼F"가 순서에 맞지 않게 수신되는 것을 검출하면, 에러 상태 레지스터(54A∼54D) 중의 하나의 내부에 있는 특정한 비트를 "1"(또는 다른 값)로 설정할 수 있다. 이 점에서, 에러 상태 조합형 로직(52A∼52F)의 각각의 블록은 도시된 바와 같이 적어도 하나의 에러 상태 레지스터(54A∼54D)와 통신한다. 임의의 경우에, 각각의 에러 상태 레지스터(54A∼54D)는 레지스터 신호(70)를 이용하여 그 내부에 기록된 "에러 상태" 데이터를 출력 멀티플렉서(66)에 전달한다. 다음에 출력 멀티플렉서(66)는 에러 상태 신호(72)를 작동성 칩렛(이하에서 세부적으로 설명됨)에 출력한다. 트랩 상태 제어 시스템(60)의 OR 게이트(64)는 트랩 상태 조합형 로직(62A∼62D)으로부터 신호를 수신하고, 출력 멀티플렉서(66)를 제어하는 데 이용되고 작동성 칩렛에 통신되는 트랩 신호(74)를 출력한다.
에러 상태 조합형 로직 블록, 트랩 상태 조합형 로직 블록 및 에러 상태 레지스터의 개수는 단지 예시하고자 하는 것임을 인식해야 한다. 본 발명에 따라서 구성되는 기능성 칩렛은 그에 대한 임의의 개수를 가질 수 있다.
다음에 도 4를 참조하면, 작동성 칩렛(34)을 보다 세부적으로 도시하였다. 일반적으로, 작동성 칩렛(34)은 기능성 칩렛(32A∼32C)의 에러 상태에 관련된 정보를 수신하고, 기능성 칩렛(32A∼32C) 중 어느 하나가 보류 중인지 판정하며, 이러한 임의의 결함을 호스트 프로세서(36)에 보고한다. 도시된 바와 같이, 작동성 칩렛(34)은 에러 상태 멀티플렉서(80), 타임 스탬프 멀티플렉서(82), 입력 멀티플렉서(84), 타임 스탬프 모니터 제어기(86), 에러 폴링 스테이트 머신(error polling state machine)(이하에서는 "스테이트 머신"으로 지칭함)(94)을 포함한다. 에러 상태 멀티플렉서(80)는 기능성 칩렛(32A∼32C)의 출력 멀티플렉서(66)로부터 에러 상태 신호(72)를 수신한다. 타임 스탬프 멀티플렉서(82)는 클록 제어기(40)(도 2)로부터 클록 신호(42)를 수신한다. 이하에서 추가적으로 설명되는 바와 같이, 클록 신호(42)를 이용하여 임의의 기능성 칩렛(32A∼32C)이 보류 중인지 여부를 판정한다. 이 점에서, 클록 신호(42)는 작동성 칩렛(34)에 의한 연속적인 폴링의 결과로서 수신될 수 있다. 입력 멀티플렉서(84)는 기능성 칩렛(32A∼32C)의 트랩 상태 제어 시스템(60)으로부터 트랩 신호(74)를 수신한다. 예시를 위해서, 신호(72, 42, 74)의 개개의 라인(line)은 하나의 기능성 칩렛(32A, 32B 또는 32C)으로부터 수신된 하나의 신호에 대응되는 것으로 이해되어야 한다.
도시된 바와 같이, 에러 상태 멀티플렉서(80)는 에러 상태 멀티플렉서 신호(108)를 스테이트 머신(94)에 출력한다. 전형적으로, 에러 상태 멀티플렉서 신호(108)는 기능성 칩렛(32A∼32C)에 의해서 표시되는 하나 이상의 에러 상태를 명확하게 나타내는 "에러" 데이터를 포함한다. 예를 들면, 신호(D∼F)가 기능성 칩렛(32A)에 의해서 순서에 맞지 않게 수신되면, 에러 상태 멀티플렉서 신호(108)는 그 에러 상태를 나타낼 것이다. 타임 스탬프 멀티플렉서(82)는 클록 신호(42)를 수신하고, 타임 스탬프 멀티플렉서 신호(96)를 임의의 기능성 칩렛(32A∼32C)이 보류 상태 및 순서 결함인지 여부를 판정하는 타임 스탬프 모니터 제어기(86)에 출력한다. 특히, 도시된 바와 같이, 타임 스탬프 모니터 제어기(86)는 입력 블록(88), 보유 블록(hold block)(90) 및 비교기(comparator)(92)를 포함한다. 타임 스탬프 멀티플렉서 신호(96)에 기초하여, 기능성 칩렛(예를 들면, 기능성 칩렛(32A))의 현재의 타임 스탬프를 판정하고, 입력 블록(88) 내에 보유한다. 다음에 비교기(92)에 의해서 현재의 타임 스탬프를 기능성 칩렛에 대한 하나 이상의 이전의 타임 스탬프(즉, 보유 블록(90) 내에 저장되는 이전의 타임 스탬프)와 비교한다. 현재의 타임 스탬프가 이전의 타임 스탬프와 일치되면, 기능성 칩렛은 보류 상태에 도달된다. 보류 상태가 검출되지 않으면, 다음에 타임 스탬프 멀티플렉서 신호(96) 내에 있는 현재의 타임 스탬프를 보유 블록(90) 내에 저장하고 이후의 타임 스탬프와 비교한다. 보류 상태를 식별하는 것에 추가하여, 타임 스탬프를 이용하여 결함(에러 또는 보류 상태)이 발생한 순서를 판정할 수 있다. 예를 들면, 타임 스탬프를 이용하여, 기능성 칩렛(32B) 이전에 기능성 칩렛(32A)이 결함의 영향을 받았는지 판정할 수 있다.
비교 동작(comparison operation)의 결과를 레귤레이터 신호(98)를 거쳐서 스테이트 머신(94) 및 호스트 프로세서(36)에 출력한다. 도시된 바와 같이, 스테이트 머신(94)은 에러 상태 멀티플렉서(80), 타임 스탬프 멀티플렉서(82) 및 입력 멀티플렉서(84)를 제어하는 데 이용되는 하나 이상의 스테이트 머신 신호(100, 106)를 생성한다. 스테이트 머신 신호(106)에 기초하여, 입력 멀티플렉서(84)는 입력 멀티플렉서 신호(104)를 호스트 프로세서(36)에 출력할 수 있다. 추가하여, 에러 상태 멀티플렉서 신호(108) 및 레귤레이터 신호(98)에 기초하여, 스테이트 머신(94)은 또한 호스트 프로세서(36)에 전달되는 호스트 신호(102)를 생성한다. 호스트 신호(102)는 검출되는 임의의 결함에 대한 세부 사항을 포함한다. 예를 들면, 호스트 신호(102)는 신호(D∼F)가 기능성 칩렛(32A)에 의해서 순서에 맞지 않게 수신되었다는 것과, 기능성 칩렛(32B)이 보류 중이라는 것을 나타낼 수 있다. 또한 호스트 신호(102)는 결함이 발생되는 순서를 나타낼 수 있다. 그러므로, 기능성 칩렛(32A∼32C)의 향상된 디자인을 제공하는 것에 의해서, 또한 작동성 칩렛(34)을 활용하여 결과의 보고를 통합하는 것에 의해서, 본 발명은 보다 효율적인 방식으로 보다 많은 정보가 호스트 프로세서(36)에 의해 수신될 수 있게 한다.
본 발명의 바람직한 실시예에 대한 위의 설명은 예시 및 설명을 목적으로 제시하였다. 본 명세서에서 개시된 정확한 형태에 본 발명을 한정짓거나 제한하고자 하는 것이 아니고, 여러 수정 및 변경이 가능하리라는 것은 명백하다. 당업자들에게는 명백할 이러한 수정 및 변경은 첨부된 청구항에서 정의되는 바와 같이 본 발명의 범주 내에 포함되도록 의도된 것이다.
본 발명에 따르면, 칩 내에서 결함을 검출하고 보고하는 시스템을 제공하는데, 칩 내의 각 기능성 칩렛에 있어서, 결함이 효율적으로 검출되게 하는 디자인을 포함하고, 칩이 기능성 칩렛과 통신하는 작동성 칩렛을 포함하며, 작동성 칩렛이 신호를 분석하고 기능성 칩렛 내의 임의의 결함을 호스트 프로세서에 보고하게 하는 방법을 제공한다.

Claims (20)

  1. 기능성 칩렛(functional chiplet) 내의 결함을 검출하기 위한 칩렛(chiplet)으로서,
    에러 상태의 세트를 검출하는 에러 상태 조합형 로직(error condition combinational logic)과, 상기 에러 상태의 세트에 관련되는 데이터를 저장하는 상기 에러 상태 레지스터(error condition registers)의 세트를 갖는 에러 상태 스테이징 시스템(error condition staging system)과,
    출력 멀티플렉서를 제어하는 트랩 신호(trap signal)를 출력하는 트랩 상태 제어 시스템(trap condition control system)을 포함하되,
    상기 데이터는 상기 에러 상태 레지스터의 세트로부터 상기 출력 멀티플렉서(output multiplexor)로 출력되는
    칩렛.
  2. 제 1 항에 있어서,
    상기 트랩 상태 제어 시스템은 트랩 상태의 세트를 정의하는 트랩 상태 조합형 로직(trap condition combinational logic)을 포함하는 칩렛.
  3. 제 1 항에 있어서,
    상기 기능성 칩렛의 결함을 호스트 프로세서(host processor)에 보고하기 위 한 작동성 칩렛(operational chiplet)을 더 포함하는 칩렛.
  4. 제 3 항에 있어서,
    상기 작동성 칩렛은,
    상기 출력 멀티플렉서로부터 에러 상태 신호를 수신하는 에러 상태 멀티플렉서(error condition multiplexor)와,
    상기 기능성 칩렛에 관련된 클록 신호를 수신하는 타임 스탬프 멀티플렉서(time stamp multiplexor)와,
    상기 클록 신호를 처리하여 상기 기능성 칩렛이 보류 중인지 여부를 판정하는 타임 스탬프 모니터 제어기(time stamp monitor control)와,
    상기 에러 상태 멀티플렉서 및 상기 타임 스탬프 모니터 제어기로부터 수신되는 신호에 기초하여 상기 기능성 칩렛의 결함을 상기 호스트 프로세서에 보고하는 스테이트 머신(state machine)
    을 포함하는 칩렛.
  5. 제 4 항에 있어서,
    상기 작동성 칩렛은 상기 트랩 상태 제어 시스템으로부터 상기 트랩 신호를 수신하는 입력 멀티플렉서(input multiplexor)를 더 포함하며, 상기 입력 멀티플렉서는 상기 스테이트 머신으로부터 출력되는 스테이트 머신 신호에 의해서 제어되는 칩렛.
  6. 제 4 항에 있어서,
    상기 에러 상태 멀티플렉서 및 상기 타임 스탬프 멀티플렉서는 상기 스테이트 머신으로부터 출력되는 스테이트 머신 신호에 의해서 제어되는 칩렛.
  7. 제 4 항에 있어서,
    상기 타임 스탬프 모니터 제어기는 상기 기능성 칩렛의 현재의 타임 스탬프를 상기 기능성 칩렛의 이전의 타임 스탬프와 비교하여 상기 기능성 칩렛이 보류(hanging) 중인지 여부를 판정하는 칩렛.
  8. 기능성 칩렛 내의 결함을 호스트 프로세서에 보고하는 작동성 칩렛으로서,
    상기 기능성 칩렛으로부터 에러 상태 신호를 수신하는 에러 상태 멀티플렉서와,
    상기 기능성 칩렛에 관련된 클록 신호를 수신하는 타임 스탬프 멀티플렉서와,
    상기 클록 신호를 처리하여 상기 기능성 칩렛이 보류 중인지 여부를 판정하는 타임 스탬프 모니터 제어기와,
    상기 에러 상태 멀티플렉서 및 상기 타임 스탬프 모니터 제어기로부터 수신되는 신호에 기초하여 상기 칩렛의 결함을 상기 호스트 프로세서에 보고하는 스테이트 머신
    을 포함하는 작동성 칩렛.
  9. 제 8 항에 있어서,
    상기 기능성 칩렛의 트랩 상태 제어 시스템으로부터 트랩 신호를 수신하는 입력 멀티플렉서를 더 포함하며, 상기 입력 멀티플렉서는 상기 스테이트 머신으로부터 출력되는 스테이트 머신 신호에 의해서 제어되는 작동성 칩렛.
  10. 제 9 항에 있어서,
    상기 기능성 칩렛의 상기 트랩 상태 제어 시스템은 트랩 상태의 세트를 정의하는 트랩 상태 조합형 로직을 포함하는 작동성 칩렛.
  11. 제 8 항에 있어서,
    상기 에러 상태 멀티플렉서 및 상기 타임 스탬프 멀티플렉서는 상기 스테이트 머신으로부터 출력되는 스테이트 머신 신호에 의해서 제어되는 작동성 칩렛.
  12. 제 8 항에 있어서,
    상기 타임 스탬프 모니터 제어기는 상기 기능성 칩렛의 현재의 타임 스탬프를 상기 기능성 칩렛의 이전의 타임 스탬프와 비교하여 상기 기능성 칩렛이 보류 중인지 판정하는 작동성 칩렛.
  13. 제 8 항에 있어서,
    상기 기능성 칩렛은,
    에러 상태의 세트를 정의하기 위한 에러 상태 조합형 로직 및 상기 에러 상태의 세트에 관련되는 데이터를 저장하기 위한 에러 상태 레지스터의 세트를 포함하는 에러 상태 스테이징 시스템을 포함하는 작동성 칩렛.
  14. 제 13 항에 있어서,
    상기 기능성 칩렛은 상기 에러 상태 레지스터의 세트로부터 상기 데이터를 수신하는 출력 멀티플렉서를 더 포함하는 작동성 칩렛.
  15. 결함을 검출하고 호스트 프로세서에 결함을 보고하는 시스템을 갖는 칩으로서,
    에러 상태의 세트를 검출하는 에러 상태 조합형 로직과, 상기 에러 상태의 세트에 관련되는 데이터를 저장하는 에러 상태 레지스터의 세트를 갖는 에러 상태 스테이징 시스템과,
    출력 멀티플렉서를 제어하는 트랩 신호를 출력하는 트랩 상태 제어 시스템을 각각 포함하는 기능성 칩렛의 세트와,
    상기 기능성 칩렛의 세트로부터의 에러 상태 신호 및 클록 제어기로부터의 클록 신호를 수신하고 상기 에러 상태 신호 및 상기 클록 신호를 처리하고 상기 결함을 상기 호스트 프로세서에 보고하는 작동성 칩렛을 포함하되,
    상기 데이터는 상기 에러 상태 레지스터의 세트로부터 상기 출력 멀티플렉서로 출력되는
    칩.
  16. 제 15 항에 있어서,
    상기 트랩 상태 제어 시스템은 상기 기능성 칩렛을 위한 트랩 상태의 세트를 정의하는 트랩 상태 조합형 로직을 포함하는 칩.
  17. 제 15 항에 있어서,
    상기 작동성 칩렛은,
    상기 기능성 칩렛의 세트로부터 상기 에러 상태 신호를 수신하는 에러 상태 멀티플렉서와,
    클록 제어기로부터 상기 클록 신호를 수신하는 타임 스탬프 멀티플렉서와,
    상기 클록 신호를 처리하여 임의의 상기 기능성 칩렛의 세트가 보류 중인지 여부를 판정하는 타임 스탬프 모니터 제어기와,
    상기 에러 상태 멀티플렉서 및 상기 타임 스탬프 모니터 제어기로부터 수신되는 신호에 기초하여 상기 결함을 상기 호스트 프로세서에 보고하는 스테이트 머신
    을 포함하는 칩.
  18. 제 17 항에 있어서,
    상기 작동성 칩렛은 상기 트랩 상태 제어 시스템으로부터 상기 트랩 신호를 수신하는 입력 멀티플렉서를 더 포함하며, 상기 입력 멀티플렉서는 상기 스테이트 머신으로부터 출력되는 스테이트 머신 신호에 의해 제어되는 칩.
  19. 제 17 항에 있어서,
    상기 에러 상태 멀티플렉서 및 상기 타임 스탬프 멀티플렉서는 상기 스테이트 머신으로부터 출력되는 스테이트 머신 신호에 의해 제어되는 칩.
  20. 제 17 항에 있어서,
    상기 타임 스탬프 모니터 제어기는 상기 기능성 칩렛 세트의 현재의 타임 스탬프를 상기 기능성 칩렛 세트의 이전의 타임 스탬프와 비교하여 임의의 상기 기능성 칩렛이 보류 중인지 여부를 판정하는 칩.
KR1020040009290A 2003-03-13 2004-02-12 칩렛, 작동성 칩렛 및 칩 KR100550757B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/387,796 2003-03-13
US10/387,796 US6966042B2 (en) 2003-03-13 2003-03-13 System for detecting and reporting defects in a chip

Publications (2)

Publication Number Publication Date
KR20040080957A KR20040080957A (ko) 2004-09-20
KR100550757B1 true KR100550757B1 (ko) 2006-02-08

Family

ID=32961978

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040009290A KR100550757B1 (ko) 2003-03-13 2004-02-12 칩렛, 작동성 칩렛 및 칩

Country Status (3)

Country Link
US (1) US6966042B2 (ko)
JP (1) JP3953467B2 (ko)
KR (1) KR100550757B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8791713B2 (en) * 2010-06-17 2014-07-29 Advanced Micro Devices, Inc. Method and apparatus for bypassing silicon bugs
US9442793B2 (en) * 2013-07-23 2016-09-13 Qualcomm Incorporated Robust hardware/software error recovery system

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0211213B1 (de) * 1985-06-27 1990-10-03 Siemens Aktiengesellschaft Anordnung zur Überwachung eines PCM- oder DS-Geräts oder eines Digitalsignal-Kanalverteilers für n-bit-Multiplexsignale
US5226153A (en) 1989-12-22 1993-07-06 Bull Hn Information Systems Inc. Bus monitor with time stamp means for independently capturing and correlating events
US5471631A (en) 1992-10-19 1995-11-28 International Business Machines Corporation Using time stamps to correlate data processing event times in connected data processing units
US5435001A (en) 1993-07-06 1995-07-18 Tandem Computers Incorporated Method of state determination in lock-stepped processors
US5734876A (en) 1995-06-07 1998-03-31 National Instruments Corporation Analyzer for capturing elapsed time values if predetermined conditions have occurred or capturing maximum time value upon counter rollover if predetermined conditions have not occurred
US5790431A (en) 1995-11-20 1998-08-04 International Business Machines Corporation Method and system for measuring availability in a distributed network
US6012096A (en) 1998-04-23 2000-01-04 Microsoft Corporation Method and system for peer-to-peer network latency measurement
US6363477B1 (en) 1998-08-28 2002-03-26 3Com Corporation Method for analyzing network application flows in an encrypted environment
US6370493B1 (en) 1998-09-10 2002-04-09 Lsi Logic Corporation Simulation format creation system and method
JP2000187585A (ja) 1998-12-22 2000-07-04 Mitsubishi Electric Corp 遠隔障害情報管理装置並びにその方法
US6460067B1 (en) 1999-06-07 2002-10-01 Sun Microsystems, Inc. Using time stamps to improve efficiency in marking fields within objects
US6425109B1 (en) * 1999-07-23 2002-07-23 International Business Machines Corporation High level automatic core configuration

Also Published As

Publication number Publication date
US20040181762A1 (en) 2004-09-16
KR20040080957A (ko) 2004-09-20
JP3953467B2 (ja) 2007-08-08
US6966042B2 (en) 2005-11-15
JP2004280802A (ja) 2004-10-07

Similar Documents

Publication Publication Date Title
US5630048A (en) Diagnostic system for run-time monitoring of computer operations
US7219265B2 (en) System and method for debugging system-on-chips
US5993055A (en) Faulty module location in a fault tolerant computer system
US7340658B2 (en) Technique for combining scan test and memory built-in self test
US7900086B2 (en) Accelerating test, debug and failure analysis of a multiprocessor device
EP1178324A2 (en) Method and apparatus for tracing hardware states using dynamically reconfigurable test circuits
US5633812A (en) Fault simulation of testing for board circuit failures
US4493078A (en) Method and apparatus for testing a digital computer
CN111078492B (zh) 一种SoC内部总线的状态监控系统及方法
CN103376340A (zh) 一种转接板、多平台串行测试系统及方法
KR100550757B1 (ko) 칩렛, 작동성 칩렛 및 칩
US7617428B2 (en) Circuits and associated methods for improved debug and test of an application integrated circuit
US6934656B2 (en) Auto-linking of function logic state with testcase regression list
US20070262879A1 (en) I/O bus for analog sensors in an IC
US20070047346A1 (en) Semiconductor integrated circuit
US7707470B2 (en) Failure simulation based on system level boundary scan architecture
EP1291662B1 (en) Debugging system for semiconductor integrated circuit
CN101403989B (zh) 半导体集成电路
JP2004101203A (ja) ロジックlsiの不良解析システム及び不良解析方法
Marinissen et al. Creating value through test
CN113032177B (zh) 一种软错误的监控方法和设备
JP4795147B2 (ja) 伝送装置
US11187748B2 (en) Procedure for reviewing an FPGA-program
Kandula et al. SLM Subsystem for Automotive SoC: Case Study on Path Margin Monitor
US10656205B2 (en) Narrow-parallel scan-based device testing

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
LAPS Lapse due to unpaid annual fee