KR100880832B1 - 코-디버깅 기능을 지원하는 반도체 집적회로 및 반도체집적회로 테스트 시스템 - Google Patents

코-디버깅 기능을 지원하는 반도체 집적회로 및 반도체집적회로 테스트 시스템 Download PDF

Info

Publication number
KR100880832B1
KR100880832B1 KR1020040008788A KR20040008788A KR100880832B1 KR 100880832 B1 KR100880832 B1 KR 100880832B1 KR 1020040008788 A KR1020040008788 A KR 1020040008788A KR 20040008788 A KR20040008788 A KR 20040008788A KR 100880832 B1 KR100880832 B1 KR 100880832B1
Authority
KR
South Korea
Prior art keywords
processor
signal
debugging
circuit
state
Prior art date
Application number
KR1020040008788A
Other languages
English (en)
Other versions
KR20050080686A (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 삼성전자주식회사
Priority to KR1020040008788A priority Critical patent/KR100880832B1/ko
Priority to US11/022,990 priority patent/US20050193276A1/en
Priority to JP2005025678A priority patent/JP5536297B2/ja
Publication of KR20050080686A publication Critical patent/KR20050080686A/ko
Priority to US12/193,945 priority patent/US7644310B2/en
Application granted granted Critical
Publication of KR100880832B1 publication Critical patent/KR100880832B1/ko
Priority to US12/632,856 priority patent/US8055946B2/en

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • 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

Abstract

본 발명은 하나의 디버거로 두 개 이상의 프로세서들을 동시에 디버깅 할 수 있는 반도체 집적회로 및 반도체 집적회로 테스트 시스템에 관한 것이다. 본 발명은 서로 다른 주파수에서 동작하는 프로세서들, 어느 하나의 프로세서가 디버깅 상태에 있을 때 따른 프로세서도 디버깅 상태가 되도록 하는 트리거 회로, 그리고 하나의 JTAG 핀에 직렬로 연결된 프로세서들을 바운더리 스캔하는 JTAG 회로를 포함한다.

Description

코-디버깅 기능을 지원하는 반도체 집적회로 및 반도체 집적회로 테스트 시스템 {SEMICONDUCTOR IC BEING CAPABLE OF CO-DEBUGGING AND SEMICONDUCTOR IC TEST SYSTEM}
도 1은 본 발명에 따른 반도체 집적회로 테스트 시스템을 개략적으로 보여주는 블록도이다.
도 2는 본 발명에 따른 코-디버깅 기능을 지원하는 반도체 집적회로의 일실시예를 보여주는 블록도이다.
도 3과 도 4는 도 2에 도시된 동기회로를 보여주는 회로도이다.
도 5는 도 3에 도시된 동기회로의 동작을 설명하기 위한 타이밍도이다.
*도면의 주요부분에 대한 부호의 설명*
10 : 디버그 호스트 12 : 디버깅 프로그램
20 : 호스트 인터페이스 30 : 반도체 집적회로
100 : 제 1 프로세서 블록 110 : 제 1 TAP 컨트롤러
120 : 제 1 바운더리 스캔 셀 130 : CPU 코어
140 : JTAG 단자 200 : 트리거 회로
210 : 동기회로 250 : 스테이트 머신
300 : 제 2 프로세서 블록 310 : 제 2 TAP 컨트롤러
320 : 제 2 바운더리 스캔 셀 330 : DSP 코어
본 발명은 반도체 집적회로의 테스트 회로에 관한 것으로, 더욱 상세하게는 코-디버깅 기능을 지원하는 반도체 집적회로 및 반도체 집적회로 테스트 시스템에 관한 것이다.
최근 서브 마이크론(sub-micron) 기술의 급속한 발달로 인하여 CDMA(Code Division Multiple Access), MPEG(Motion Picture Experts Group), VOIP(Voice Over Internet Protocol) 등과 같이 복잡한 프로토콜들을 실시간으로 처리해야 하는 응용분야에도 시스템 온 칩(SOC; System On Chip)이 적용되기 시작하였다.
특히 복잡한 프로토콜을 이용한 응용 분야에 적용되는 SOC는 디지탈 이미지/오디오 데이타에 대한 연산을 실시하게 되는데, 이를 위해 통상 신호 처리 유닛(signal processing unit)을 칩 내부에 별도로 두게 된다. 또한 SOC는 효율적인 시스템 자원(system resources) 관리를 위해 실시간 처리 시스템(RTOS; Real Time Operating System)을 가진다. RTOS는 응용 프로그램(application program)과 더불어 신호 처리 유닛에 의해 실행된다.
이와 같이 하나의 SOC에 2개 이상의 프로세서들(processors)(예를 들면, CPU 와 DSP)가 존재할 때, 회사마다 각각 다른 디버거(debugger)를 따로 제공하므로 하나의 디버거를 사용하여 두 프로세서에 대해 동시에 코-디버깅(co-debugging)을 진행할 수 없다. 여기서 코-디버깅(co-debugging)이란 하나의 디버거로 복수개의 프로세서들을 동시에 디버깅하는 것을 의미한다.
그래서 종래에는 두 개 이상의 프로세서가 존재하는 SOC에서는 서로 다른 디버거들을 각각의 JTAG(Joint Test Action Group) 핀에 연결하여 사용하였다. 예를 들면, ARM 계열의 CPU와 TEAK 계열의 DSP가 함께 사용되는 SOC에서, CPU 코어를 디버깅하기 위해서는 ARM 디버거에 연결하고, DSP 코어를 디버깅하기 위해서는 TEAK 디버거에 연결하여 사용하였다. 그래서 CPU 코어를 디버깅하고 있는 도중에 TEAK 디버거에 브레이크 포인트(breakpoint)를 설정하여 정지(stop)시킬 수 없었다. 따라서 두 프로세서 간에 인터페이스(interface) 및 인터럽트(interrupt)를 서로 주고받지 못하여 코-디버깅이 불가능하였다.
본 발명은 상술한 문제점을 해결하기 위하여 제안된 것으로, 본 발명의 목적은 두 개 이상의 프로세서들을 직렬로 하나의 JTAG에 연결하고, 프로세서들 사이에 트리거 회로를 삽입하여 코-디버깅 기능을 지원하는 반도체 집적회로를 제공하는데 있다.
본 발명의 다른 목적은 코-디버깅 기능을 지원하는 반도체 집적회로를 포함하는 반도체 집적회로 테스트 시스템을 제공하는데 있다.
상술한 기술적 과제를 달성하기 위한 본 발명에 따른 코-디버깅 기능을 지원하는 반도체 집적회로는, 제 1 주파수에서 동작하며 디버깅 루틴시 디버깅 상태를 나타내는 제 1 신호를 발생하는 제 1 프로세서와; 상기 제 1 주파수와 다른 제 2 주파수에서 동작하는 제 2 프로세서와; 상기 제 1 프로세서로부터 상기 제 1 신호를 입력받아서 상기 제 2 프로세서가 디버깅 상태가 되도록 상기 제 1 및 제 2 주파수에 동기된 제 2 신호를 발생하는 트리거 회로와; 그리고 상기 제 1 및 제 2 프로세서가 디버깅 상태일 때 JTAG 단자로부터 테스트 데이타를 입력받아서 JTAG에 근거하여 상기 제 1 및 제 2 프로세서들을 직렬로 바운더리 스캔하고 그 결과로서 상기 JTAG 단자에 테스트 데이타를 출력하는 JTAG 회로를 포함하는 것을 특징으로 한다.
이 실시예에 있어서, 상기 제 1 프로세서는 CPU이고, 상기 제 2 프로세서는 DSP인 것을 특징으로 한다.
이 실시예에 있어서, 상기 제 1 프로세서는 제 1 CPU이고, 상기 제 2 프로세서는 상기 제 1 프로세서와 다른 제 2 CPU인 것을 특징으로 한다.
이 실시예에 있어서, 상기 제 2 프로세서는 디버깅 루틴시 디버깅 상태를 나타내는 제 3 신호를 발생하고, 상기 트리거 회로는 상기 제 2 프로세서로부터 상기 제 3 신호를 입력받아서 상기 제 1 프로세서가 디버깅 상태가 되도록 상기 제 1 및 제 2 주파수에 동기된 제 4 신호를 발생하는 것을 특징으로 한다.
이 실시예에 있어서, 상기 트리거 회로는, 상기 제 1 신호를 입력받아서 상기 제 2 신호를 출력하는 제 1 동기회로와; 상기 제 3 신호를 입력받아서 상기 제 4 신호를 출력하는 제 2 동기회로와; 그리고 상기 제 1 및 제 2 동기회로의 동작을 제어하는 스테이트 머신을 포함하는 것을 특징으로 한다.
이 실시예에 있어서, 상기 스테이트 머신은, 상기 제 1 프로세서가 디버깅 상태에 있을 때 상기 제 4 신호의 발생을 차단하도록 상기 제 2 동기회로를 제어하는 것을 특징으로 한다.
이 실시예에 있어서, 상기 JTAG 회로는, 바운더리 스캔 동작을 제어하는 TAP 컨트롤러와; 직렬로 연결된 바운더리 스캔 셀들을 포함하는 것을 특징으로 한다.
본 발명에 따른 반도체 집적회로 테스트 시스템은, 디버깅 프로그램에 따라 디버깅을 실행시키는 디버그 호스트와; 상기 디버그 호스트로부터 입력되는 신호를 JTAG 인터페이스 신호로 바꾸어 주는 호스트 인터페이스와; 그리고 디버깅 상태에서 서로 다른 주파수를 가지는 프로세서들을 상기 JTAG 인터페이스 신호로 디버깅 할 수 있는 반도체 집적회로를 포함한다. 여기서 상기 반도체 집적회로는, 제 1 주파수에서 동작하며 디버깅 루틴시 디버깅 상태를 나타내는 제 1 신호를 발생하는 제 1 프로세서와; 상기 제 1 주파수와 다른 제 2 주파수에서 동작하는 제 2 프로세서와; 상기 제 1 프로세서로부터 상기 제 1 신호를 입력받아서 상기 제 2 프로세서가 디버깅 상태가 되도록 상기 제 1 및 제 2 주파수에 동기된 제 2 신호를 발생하는 트리거 회로와; 그리고 상기 제 1 및 제 2 프로세서가 디버깅 상태일 때 JTAG 단자로부터 테스트 데이타를 입력받아서 JTAG에 근거하여 상기 제 1 및 제 2 프로세서들을 직렬로 바운더리 스캔하고 그 결과로서 상기 JTAG 단자에 테스트 데이타를 출력하는 JTAG 회로를 포함하는 것을 특징으로 한다.
이 실시예에 있어서, 상기 제 1 프로세서는 CPU이고, 상기 제 2 프로세서는 DSP인 것을 특징으로 한다.
이 실시예에 있어서, 상기 제 1 프로세서는 제 1 CPU이고, 상기 제 2 프로세서는 상기 제 1 프로세서와 다른 제 2 CPU인 것을 특징으로 한다.
이 실시예에 있어서, 상기 제 2 프로세서는 디버깅 루틴시 디버깅 상태를 나타내는 제 3 신호를 발생하고, 상기 트리거 회로는 상기 제 2 프로세서로부터 상기 제 3 신호를 입력받아서 상기 제 1 프로세서가 디버깅 상태가 되도록 상기 제 1 및 제 2 주파수에 동기된 제 4 신호를 발생하는 것을 특징으로 한다.
이 실시예에 있어서, 상기 트리거 회로는, 상기 제 1 신호를 입력받아서 상기 제 2 신호를 출력하는 제 1 동기회로와; 상기 제 3 신호를 입력받아서 상기 제 4 신호를 출력하는 제 2 동기회로와; 그리고 상기 제 1 및 제 2 동기회로의 동작을 제어하는 스테이트 머신을 포함하는 것을 특징으로 한다.
이 실시예에 있어서, 상기 스테이트 머신은, 상기 제 1 프로세서가 디버깅 상태에 있을 때 상기 제 4 신호의 발생을 차단하도록 상기 제 2 동기회로를 제어하는 것을 특징으로 한다.
이 실시예에 있어서, 상기 JTAG 회로는, 바운더리 스캔 동작을 제어하는 TAP 컨트롤러와; 직렬로 연결된 바운더리 스캔 셀들을 포함하는 것을 특징으로 한다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 가장 바람직한 실시예를 첨부된 도면을 참조하여 설명하기로 한다.
도 1은 본 발명에 따른 반도체 집적회로 테스트 시스템을 개략적으로 보여주는 블록도이다. 도 1을 참조하면, 상기 반도체 집적회로 테스트 시스템은 디버그 호스트(10), 호스트 인터페이스(20), 그리고 반도체 집적회로(30)로 구성된다.
상기 디버그 호스트(10)는 컴퓨터 시스템(예를 들면, 퍼스널 컴퓨터)으로 이루어지며 순차적인 테스트 동작을 위해 디버깅 프로그램(debugging program)(12)을 구비한다. 상기 디버그 호스트(10)는 사용자의 입력 신호에 의해 어드레스, 제어신호 및 데이타 신호를 시스템 제작자들이 나름대로 정의한 프로토콜에 따라 상기 호스트 인터페이스(20)로 전달한다.
상기 호스트 인터페이스(20)는 상기 디버그 호스트(10)로부터 신호를 입력받아서 JTAG 인터페이스 신호로 바꾸어 준다. 상기 JTAG 인터페이스 신호는 테스트 모드 선택 신호(TMS; Test Mode Select), 테스트 클럭 신호(TCK; Test Clock Input), 디버깅을 위한 테스트 데이타 입력신호(TDI; Test Data Input), 그리고 테스트 데이타 출력신호(TDO; Test Data Output)를 포함한다. 상기 호스트 인터페이스(20)는 TMS, TCK, TDI 신호를 상기 반도체 집적회로(30)에 보내고, 상기 반도체 집적회로(30)로부터 TDO 신호를 받아들인다.
상기 반도체 집적회로(30)는 디버깅 상태에서 서로 다른 주파수를 사용하는 두 개 이상의 프로세서들을 포함하는 SOC이다. 예를 들어, 상기 반도체 집적회로(30)는 ARM 계열의 CPU와 TEAK 계열의 DSP를 포함한다. 종래에는 디버깅을 위해 CPU에는 ARM 디버거를 사용하고, DSP에는 TEAK 디버거를 사용하였다. 그러나 본 발명에 따른 코-디버깅 기능을 지원하는 반도체 집적회로 및 반도체 집적회로 테스트 시스템에서는 하나의 디버거(10)를 사용하여 두 프로세서들(CPU, DSP)를 코-디버깅(co-debugging) 할 수 있다.
도 2는 본 발명에 따른 코-디버깅 기능을 지원하는 반도체 집적회로의 일실시예를 보여주는 블록도이다. 상기 코-디버깅 기능을 지원하는 반도체 집적회로(30)는 도 1의 호스트 인터페이스(20)로부터 TDI, TCK, TMS 신호를 받아들이고, 테스트 결과로서 TDO 신호를 내보낸다.
도 2를 참조하면, 상기 코-디버깅 기능을 지원하는 반도체 집적회로(30)는 JTAG 단자(140), 제 1 프로세서 블록(100), 트리거 회로(200), 그리고 제 2 프로세서 블록(300)을 포함한다. 상기 제 1 및 제 2 프로세서 블록들(100, 300)은 각각 JTAG 회로(110, 120, 310, 320)와 프로세서 코어(130, 330)를 포함한다. 상기 트리거 회로(200)는 동기회로(210)와 스테이트 머신(250)으로 구성된다.
상기 JTAG 단자(140)는 TDI, TCK, TMS, TDO 외에 TRST(도시되지 않음) 총 5개의 단자들로 구성된다. 상기 TDI 단자는 테스트 데이타 입력 단자이고, 상기 TDO는 테스트 데이타 출력 단자이다. 상기 TDI 단자와 TDO 단자는 바운더리 스캔을 위해 데이타를 입출력한다. 상기 TCK 단자는 테스트를 위해 TAP 컨트롤러(110, 310)에 클럭 신호를 보내고, 상기 TMS 단자는 TAP 컨트롤러(110, 310)에 테스트 모드 선택 신호를 보낸다.
상기 제 1 프로세서 블록(100)은 CPU(130)와 JTAG 회로(110, 120)를 포함한다. 상기 CPU(130)는 디버깅 루틴시 제 1 주파수를 가지는 클럭에 의해 동작되며 디버깅 상태를 나타내는 신호(A1)를 발생한다. 상기 CPU(130)가 디버깅 상태에 있지 않을 때에는 디버깅 요청 신호(B2)를 받아들여서 디버깅 상태로 된다.
상기 JTAG 회로는 TAP(Test Access Port) 컨트롤러(110)와 바운더리 스캔 셀(120), 그리고 도 2에 도시되지 않은 데이타 레지스터들(예를 들면, 바이패스 레지스터, 사용자 레지스터, 명령어 레지스터 등)을 포함한다. 일반적으로 바운더리 스캔(boundary scan) 테스트 회로를 구비한 반도체 집적회로는 'IEEE Std.1149.1 - 1990' 표준안에서 제안 JTAG 회로의 구조로 구비된다. 그리고 JTAG 회로는 필요한 핀(pin) 수를 최소화하기 위해 직렬 방식으로 데이타를 처리한다.
상기 TAP 컨트롤러(110)는 TMS 및 TCK 단자로부터 입력된 신호를 이용하여 JTAG 회로의 전반적인 동작을 제어한다. 상기 TAP 컨트롤러(110)의 제어 동작은 TCK의 로우-하이 천이(low-high transition)에서 TMS 값에 의해 결정된다. 테스트 데이타는 TCK의 로우-하이 천이에 동기되어 TDI 단자를 통해 입력되고, TCK의 하이-로우 천이 동기되어 TDO 단자를 통해 출력된다.
상기 제 1 바운더리 스캔 셀(120)은 스캔 레지스터들로 구성된다. 상기 스캔 레지스터들은 TDI 단자로부터 테스트 데이타를 입력받아서 데이타를 직렬로 쉬프팅(shifting)하여 바운더리 스캔을 한다. 상기 제 1 바운더리 스캔 셀(120)로부터 출력된 테스트 데이타는 제 2 프로세서 블록(300)을 테스트하기 위해 제 2 바운더리 스캔 셀(320)로 입력된다.
상기 제 2 프로세서 블록(300)은 DSP(330)와 JTAG 회로(310, 320)를 포함한다. 상기 DSP(330)는 디버깅 루틴시 상기 제 1 주파수와 다른 제 2 주파수를 가지는 클럭에 의해 동작되며 디버깅 상태를 나타내는 신호(B1)를 발생한다. 상기 DSP(330)가 디버깅 상태에 있지 않을 때, 상기 DSP(330)는 디버깅 요청 신호(A2)를 받아들여서 디버깅 상태로 된다. 상기 제 2 프로세서 블록(300)에 있는 JTAG 회로(310, 320)의 내부 구조 및 동작 원리는 상기 제 1 프로세서 블록(100)에서 설명한 바와 같다.
상기 트리거 회로(200)는 동기회로(210)와 상기 동기회로(210)의 동작을 제어하는 스테이트 머신(250)으로 구성된다. 상기 동기회로(210)는 제 1 프로세서 블록(100)이 디버깅 상태로 되면, 디버깅 상태를 나타내는 제 1 신호(A1)를 받아들여서 상기 제 2 프로세서 블록(300)도 디버깅 상태가 되도록 하는 제 2 신호(A2)를 발생한다. 이와 같은 방법으로, 상기 동기회로(210)는 상기 제 2 프로세서 블록(300)이 디버깅 상태로 되면, 디버깅 상태를 나타내는 제 3 신호(B1)를 받아들여서 상기 제 1 프로세서 블록(100)도 디버깅 상태가 되도록 하는 제 4 신호(B2)를 발생한다. 한편 상기 동기회로(210)는 상기 스테이트 머신(250)에 제어신호(F)를 주고, 상기 스테이트 머신(250)으로부터 제어신호(S)를 받는다.
상기 스테이트 머신(250)은 제어신호(S)를 발생하여 상기 제 1 또는 제 2 프로세서 블록(100, 300)이 중복하여 디버깅 상태가 되는 것을 방지한다.
도 3은 도 2에 도시된 동기회로의 실시예를 보여주는 회로도이다. 도 3에 도시된 동기회로(211)는 제 1 프로세서 블록(100)으로부터 디버깅 상태를 나타내는 제 1 신호(A1)를 받아들여서 제 2 프로세서 블록(300)에 디버깅 요청을 나타내는 제 2 신호(A2)를 내보낸다. 한편 상기 동기회로(211)는 스테이트 머신(250)에 제어 신호(Fa)를 주고, 상기 스테이트 머신(250)으로부터 제어 신호(Sa)를 받는다.
도 3을 참조하면, 동기회로(211)는 6개의 플립플롭(DFF1~DFF6), 3개의 인버터(INV1~INV3), 그리고 3개의 AND 게이트(G1~G3)로 구성된다. 제 1 플립플롭(DFF1)은 제 1 클럭(CPUCLK)에 동기되어 동작하며, 제 2 내지 제 6 플립플롭(DFF2~DFF6)은 제 2 클럭(DSPCLK)에 동기되어 동작한다. 상기 제 1 클럭과 상기 제 2 클럭은 서로 다른 주파수를 갖는다. 상기 동기회로(211)는 제 1 신호(A1)를 받아들여서 서로 다른 주파수를 갖는 상기 제 1 및 제 2 클럭에 동기된 제 2 신호(A2)를 내보낸다. 상기 동기회로(211)에 의하면, 입력된 제 1 신호(A1)가 중간에 사라지는 현상이 발생되지 않는다.
상기 동기회로(211)는 제 1 신호(A1)에 응답하여 스테이트 머신(250)으로 제어신호(Fa)를 발생한다. 한편, 상기 스테이트 머신(250)으로부터 제어신호(Sa)를 받아들인다. 상기 제어신호(Sa)는 제 3 게이트(G3)에 입력된다. 상기 동기회로(211)는 제 2 프로세서 블록(300)이 디버깅 상태에 있지 않으면 상기 스테이트 머신(250)으로부터 '하이'인 제어신호(Sa)를 입력받아서 제 2 신호(A2)를 발생한다. 그러나 상기 제 2 프로세서 블록(300)이 이미 디버깅 상태에 있으면, 상기 동기회로(211)는 '로우'인 제어신호(Sa)를 입력받아서 제 2 신호(A2)를 발생하지 않는다. 따라서 상기 제 2 프로세서 블록(300)은 중복해서 디버깅 상태로 되지 않는다.
도 4에 도시된 동기회로(212)는 제 2 프로세서 블록(300)으로부터 디버깅 상태를 나타내는 제 3 신호(B1)를 받아들여서 제 1 프로세서 블록(100)도 디버깅 상태가 되도록 한다. 상기 동기회로(212)의 구조 및 동작원리는 도 3에 도시된 동기회로(211)와 동일하므로 생략한다.
도 5는 도 3에 도시된 동기회로의 동작을 설명하기 위한 타이밍도이다. 도 5를 참조하면, 상기 제 1 클럭(CPUCLK)과 상기 제 2 클럭(DSPCLK)은 주파수를 달리한다. 상기 제 1 클럭(CPUCLK)의 주파수가 상기 제 2 클럭(DSPCLK)의 주파수보다 높다.
제 1 플립플롭(DFF1)은 제 1 신호(A1)를 받아들여서 제 1 클럭(CPUCLK)에 동기된 신호를 발생한다. 상기 제 1 플립플롭(DFF1)으로부터 발생된 신호는 제 1 인버터(INV1)에 의해 반전된 후 제 1 게이트(G1)에 입력된다. 상기 제 1 게이트(G1)는 상기 제 1 신호(A1) 및 상기 제 1 인버터(INV1)에서 발생된 신호를 입력받아서 제 1 펄스(p1)를 발생한다. 상기 제 1 펄스(p1)는 제 2 및 제 3 플립플롭(DFF2, DFF3)의 리셋 단자에 입력된다.
상기 제 2 플립플롭(DFF2)은 상기 제 1 펄스(p1)의 반전 펄스인 제 2 펄스(p2)를 발생한다. 상기 제 3 플립플롭(DFF3)은 상기 제 2 펄스(p2)를 받아들여서 제 2 클럭(DSPCLK)에 동기된 제 3 펄스(p3)를 발생한다. 상기 제 2 인버터(INV2)는 상기 제 3 펄스(p3)를 받아들여서 반전된 펄스를 발생한다. 상기 제 4 플립플롭(DFF4)은 상기 반전된 펄스를 받아들여서 제 2 클럭(DSPCLK)에 동기된 제 4 펄스(p4)를 발생한다. 상기 제 5 플립플롭(DFF5)은 상기 제 4 펄스(p4)를 받아들여서 제 2 클럭(DSPCLK)에 동기된 제 5 펄스(p5)를 발생한다. 상기 제 6 플립플롭(DFF6)은 상기 제 5 펄스(p5)를 받아들여서 제 2 클럭(DSPCLK)에 동기된 제 6 펄스(p6)를 발생한다.
상기 제 6 펄스(p6)는 상기 제 3 인버터(INV3)에 의해 반전된 후 상기 제 2 게이트(G2)에 입력된다. 상기 제 2 게이트(G2)는 상기 제 6 펄스(p6)의 반전 신호(/p6) 및 제 5 펄스(p5)를 입력받아서 제어신호(Fa)를 발생한다. 상기 제어신호(Fa)는 스테이트 머신(250)에 입력된다. 한편 상기 제 3 게이트(G3)는 상기 제 5 펄스(p5) 및 상기 스테이트 머신(250)으로부터 발생된 제어신호(Sa)를 입력받아서 제 2 신호(A2)를 발생한다. 상기 제 2 신호(A2)는 상기 제 2 프로세서 블록(300)에 입력된다.
여기서, 상기 제 3 게이트(G3)는 상기 제 2 프로세서 블록(300)의 상태에 따라 상기 제 2 신호(A2)의 발생 여부를 결정하는 역할을 한다. 즉, 상기 제 2 프로세서 블록(300)이 디버깅 상태에 있으면 상기 스테이트 머신(250)으로부터 '로우'인 제어신호(Sa)를 입력받으므로 상기 제 2 신호(A2)는 발생되지 않는다. 반대로 상기 제 2 프로세서 블록(300)이 디버깅 상태에 있지 않으면 '하이'인 제어신호(Sa)를 입력받아서 상기 제 2 신호(A2)를 발생한다. 도 5는 상기 제 2 신호(A2)가 발생된 경우이다.
상술한 바와 같이, 두 개 이상의 프로세서들을 포함하고 있는 반도체 집적회로를 하나의 디버거로 테스트 하기 위해서는 어느 하나의 프로세서가 디버깅 상태에 있을 때 다른 프로세서들로 디버깅 상태가 되도록 하는 트리거 회로와, 모든 프로세서들이 디버깅 상태에 있을 때 프로세서들을 직렬로 연결하여 바운더리 스캔을 할 수 있는 JTAG 회로를 필요로 한다.
한편, 본 발명의 상세한 설명에서는 구체적인 실시예에 관하여 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 상술한 실시예에 국한되어 정해져서는 안되며 후술하는 특허청구범위 뿐만아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 한다.
상술한 바와 같이 본 발명에 따른 코-디버깅 기능을 지원하는 반도체 집적회로 및 반도체 집적회로 테스트 시스템에 의하면, 하나의 JTAG 핀을 가지고 두 개 이상의 프로세서들을 직렬로 연결함으로써 JTAG 핀 수를 줄일 수 있으며, 하나의 통합된 디버거를 사용하여 두 개 이상의 프로세서들을 동시에 코-디버깅 할 수 있다.

Claims (14)

  1. 코-디버깅 기능을 지원하는 반도체 집적회로에 있어서:
    제 1 주파수에서 동작하며, 디버깅 모드시 디버깅 상태를 나타내는 제 1 신호를 발생하는 제 1 프로세서;
    상기 제 1 주파수와 다른 제 2 주파수에서 동작하는 제 2 프로세서;
    상기 제 1 프로세서로부터 상기 제 1 신호를 입력 받고 상기 제 2 프로세서가 디버깅 상태가 되도록 상기 제 1 및 제 2 주파수에 동기된 제 2 신호를 발생하는 트리거 회로; 및
    상기 제 1 및 제 2 프로세서가 디버깅 상태일 때, JTAG 단자로부터 테스트 데이터를 전달 받고, 테스트 결과를 상기 JTAG 단자에 출력하는 JTAG 회로를 포함하는 반도체 집적회로.
  2. 제 1 항에 있어서,
    상기 제 1 프로세서는 CPU이고, 상기 제 2 프로세서는 DSP인 것을 특징으로 하는 반도체 집적회로.
  3. 제 1 항에 있어서,
    상기 제 1 프로세서는 제 1 CPU이고, 상기 제 2 프로세서는 상기 제 1 프로세서와 다른 제 2 CPU인 것을 특징으로 하는 반도체 집적회로.
  4. 제 3 항에 있어서,
    상기 제 2 프로세서는 디버깅 모드시 디버깅 상태를 나타내는 제 3 신호를 발생하고; 상기 트리거 회로는 상기 제 2 프로세서로부터 상기 제 3 신호를 입력 받고 상기 제 1 프로세서가 디버깅 상태가 되도록 상기 제 1 및 제 2 주파수에 동기된 제 4 신호를 발생하는 반도체 집적회로.
  5. 제 4 항에 있어서,
    상기 트리거 회로는 상기 제 1 신호를 입력 받고 상기 제 2 신호를 출력하는 제 1 동기회로; 상기 제 3 신호를 입력 받고 상기 제 4 신호를 출력하는 제 2 동기회로; 및 상기 제 1 및 제 2 동기회로의 동작을 제어하는 스테이트 머신을 포함하는 반도체 집적회로.
  6. 제 5 항에 있어서,
    상기 스테이트 머신은 상기 제 1 프로세서가 디버깅 상태에 있을 때 상기 제 4 신호의 발생을 차단하도록 상기 제 2 동기회로를 제어하는 반도체 집적회로.
  7. 삭제
  8. 반도체 집적회로 테스트 시스템에 있어서:
    디버깅 프로그램에 따라 디버깅을 실행시키는 디버그 호스트;
    상기 디버그 호스트로부터 입력되는 신호를 인터페이스 신호로 바꾸어 주는 호스트 인터페이스; 및
    상기 인터페이스 신호를 받아들여서 코-디버깅 동작을 수행하는 반도체 집적회로를 포함하되,
    상기 반도체 집적회로는 상기 인터페이스 신호를 이용하여 제 1 프로세서를 디버깅 상태로 만들고, 상기 제 1 프로세서가 디버깅 상태인 것을 트리거 회로에 알리고, 상기 트리거 회로에 의해 제 2 프로세서를 디버깅 상태로 만드는 반도체 집적회로 테스트 시스템.
  9. 제 8 항에 있어서,
    상기 제 2 프로세서는 디버깅 상태에 있다는 것을 상기 트리거 회로에 알리는 반도체 집적회로 테스트 시스템.
  10. 제 9 항에 있어서,
    상기 트리거 회로는 상기 제 2 프로세서가 디버깅 상태인 것을 상기 제 1 프로세서로 알리지 않는 반도체 집적회로 테스트 시스템.
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
KR1020040008788A 2004-02-10 2004-02-10 코-디버깅 기능을 지원하는 반도체 집적회로 및 반도체집적회로 테스트 시스템 KR100880832B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020040008788A KR100880832B1 (ko) 2004-02-10 2004-02-10 코-디버깅 기능을 지원하는 반도체 집적회로 및 반도체집적회로 테스트 시스템
US11/022,990 US20050193276A1 (en) 2004-02-10 2004-12-28 Semiconductor IC incorporating a co-debugging function and test system
JP2005025678A JP5536297B2 (ja) 2004-02-10 2005-02-01 コ−デバッギング機能を支援する半導体集積回路および半導体集積回路テストシステム
US12/193,945 US7644310B2 (en) 2004-02-10 2008-08-19 Semiconductor IC incorporating a co-debugging function and test system
US12/632,856 US8055946B2 (en) 2004-02-10 2009-12-08 Semiconductor IC incorporating a co-debugging function and test system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040008788A KR100880832B1 (ko) 2004-02-10 2004-02-10 코-디버깅 기능을 지원하는 반도체 집적회로 및 반도체집적회로 테스트 시스템

Publications (2)

Publication Number Publication Date
KR20050080686A KR20050080686A (ko) 2005-08-17
KR100880832B1 true KR100880832B1 (ko) 2009-01-30

Family

ID=34880246

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040008788A KR100880832B1 (ko) 2004-02-10 2004-02-10 코-디버깅 기능을 지원하는 반도체 집적회로 및 반도체집적회로 테스트 시스템

Country Status (3)

Country Link
US (3) US20050193276A1 (ko)
JP (1) JP5536297B2 (ko)
KR (1) KR100880832B1 (ko)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100880832B1 (ko) * 2004-02-10 2009-01-30 삼성전자주식회사 코-디버깅 기능을 지원하는 반도체 집적회로 및 반도체집적회로 테스트 시스템
JP4616118B2 (ja) 2005-08-04 2011-01-19 株式会社リコー 光走査装置及び画像形成装置
KR101242602B1 (ko) * 2006-02-08 2013-03-19 삼성전자주식회사 테스트 회로를 내장한 시스템 온 칩
US7823017B2 (en) 2006-08-02 2010-10-26 International Business Machines Corporation Structure for task based debugger (transaction-event-job-trigger)
US7594140B2 (en) 2006-08-02 2009-09-22 International Business Machines Corporation Task based debugger (transaction-event-job-trigger)
US7430487B2 (en) * 2006-09-06 2008-09-30 International Business Machines Corporation System and method for implementing a programmable DMA master with data checking utilizing a drone system controller
US7689865B2 (en) * 2006-09-06 2010-03-30 International Business Machines Corporation Middlesoft commander
US8006122B2 (en) * 2007-01-10 2011-08-23 International Business Machines Corporation Methods, systems, and computer products for detection of and policy directed resolution of signaling sympathy sickness in a multisystem cluster
JP5095273B2 (ja) 2007-06-22 2012-12-12 株式会社東芝 制御装置
WO2010039858A1 (en) * 2008-09-30 2010-04-08 The Gorman-Rupp Company Chopper pump
US8719649B2 (en) 2009-03-04 2014-05-06 Alcatel Lucent Method and apparatus for deferred scheduling for JTAG systems
US8533545B2 (en) 2009-03-04 2013-09-10 Alcatel Lucent Method and apparatus for system testing using multiple instruction types
US8775884B2 (en) 2009-03-04 2014-07-08 Alcatel Lucent Method and apparatus for position-based scheduling for JTAG systems
EP2365441B1 (en) * 2010-03-08 2018-01-24 Mobileye Vision Technologies Ltd. System on chip breakpoint methodology
TW201235833A (en) * 2011-02-16 2012-09-01 Ind Tech Res Inst System and method for multi-core synchronous debugging of a multi-core platform
US8635497B2 (en) * 2011-06-28 2014-01-21 Freescale Semiconductor, Inc. Data processing system having a sequence processing unit and method of operation
US9285418B2 (en) * 2012-04-30 2016-03-15 Qualcomm Incorporated Method and apparatus for characterizing thermal marginality in an integrated circuit
US8966313B2 (en) 2012-04-30 2015-02-24 Hewlett-Packard Development Company, L.P. Systems and methods for a shared debug pin
US9304880B2 (en) * 2013-03-15 2016-04-05 Freescale Semiconductor, Inc. System and method for multicore processing
US9405604B2 (en) * 2014-04-15 2016-08-02 Apple Inc. Method and apparatus for connecting debug interface to processing circuits without sideband interface
CN107831428B (zh) * 2017-12-06 2020-08-07 西安智多晶微电子有限公司 芯片量产测试系统
US10846250B2 (en) * 2018-11-12 2020-11-24 Arm Limited Apparatus and method for handling address decoding in a system-on-chip

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010034598A1 (en) * 2000-03-02 2001-10-25 Swoboda Gary L. Scan interface with TDM feature for permitting signal overlay
US20030046625A1 (en) * 2001-08-30 2003-03-06 Menon Sankaran M. Method and apparatus for efficient control of multiple tap controllers

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63109546A (ja) * 1986-10-28 1988-05-14 Nec Corp プログラムデバツグシステム
US6013340A (en) * 1995-06-07 2000-01-11 Nike, Inc. Membranes of polyurethane based materials including polyester polyols
JP3791859B2 (ja) 1996-10-30 2006-06-28 富士通株式会社 ネットワークのスキャンパスを階層的に構成するスキャン装置および方法
EP0943996B1 (en) * 1998-03-20 2003-06-11 Texas Instruments Incorporated Processor having real-time execution control for debug functions without a debug monitor
US6243836B1 (en) * 1998-08-17 2001-06-05 Lucent Technologies, Inc. Apparatus and method for circular buffering on an on-chip discontinuity trace
US6668339B1 (en) * 1999-07-28 2003-12-23 Mitsubishi Denki Kabushiki Kaisha Microprocessor having a debug interruption function
US6567932B2 (en) * 1999-10-01 2003-05-20 Stmicroelectronics Limited System and method for communicating with an integrated circuit
US6581191B1 (en) * 1999-11-30 2003-06-17 Synplicity, Inc. Hardware debugging in a hardware description language
US7222315B2 (en) * 2000-11-28 2007-05-22 Synplicity, Inc. Hardware-based HDL code coverage and design analysis
JP2002215421A (ja) * 2001-01-15 2002-08-02 Nec Microsystems Ltd デバッグ装置およびデバッグ装置のブレーク方法
JP4401039B2 (ja) * 2001-06-13 2010-01-20 株式会社ルネサステクノロジ 半導体集積回路
KR100430074B1 (ko) * 2002-01-08 2004-05-03 학교법인 한양학원 시스템칩 테스트 접근을 위한 랩드 코아 연결 모듈
KR100880832B1 (ko) * 2004-02-10 2009-01-30 삼성전자주식회사 코-디버깅 기능을 지원하는 반도체 집적회로 및 반도체집적회로 테스트 시스템

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010034598A1 (en) * 2000-03-02 2001-10-25 Swoboda Gary L. Scan interface with TDM feature for permitting signal overlay
US20030046625A1 (en) * 2001-08-30 2003-03-06 Menon Sankaran M. Method and apparatus for efficient control of multiple tap controllers

Also Published As

Publication number Publication date
US7644310B2 (en) 2010-01-05
US20100088564A1 (en) 2010-04-08
KR20050080686A (ko) 2005-08-17
US8055946B2 (en) 2011-11-08
JP5536297B2 (ja) 2014-07-02
US20080307260A1 (en) 2008-12-11
JP2005227276A (ja) 2005-08-25
US20050193276A1 (en) 2005-09-01

Similar Documents

Publication Publication Date Title
KR100880832B1 (ko) 코-디버깅 기능을 지원하는 반도체 집적회로 및 반도체집적회로 테스트 시스템
US11105852B2 (en) Test compression in a JTAG daisy-chain environment
JP5687668B2 (ja) 最適化されたjtagインターフェイス
US5434804A (en) Method and apparatus for synchronizing a JTAG test control signal to an on-chip clock signal
JP4037494B2 (ja) テストアクセスポート制御器及びそれを用いた有効な通信方法
US6704895B1 (en) Integrated circuit with emulation register in JTAG JAP
Hopkins et al. Debug support strategy for systems-on-chips with multiple processor cores
US6385749B1 (en) Method and arrangement for controlling multiple test access port control modules
US8892973B2 (en) Debugging control system using inside core event as trigger condition and method of the same
JP3998303B2 (ja) Tapコントローラを有する集積回路
JP4443545B2 (ja) クロックドメインにおける試験インターフェースの分散制御を備えるエミュレーション装置、システムおよび方法
JP2009222644A (ja) 半導体集積回路、及び設計自動化システム
US20030200425A1 (en) Devices, systems and methods for mode driven stops
Xu et al. On signal tracing in post-silicon validation
US20040193957A1 (en) Emulation devices, systems and methods utilizing state machines
US8225155B2 (en) JTAG mailbox
KR100907254B1 (ko) Ieee 1500 래퍼를 갖는 시스템 온 칩 및 그것의 내부지연 테스트 방법
JP3257425B2 (ja) テスト回路及びテスト方法
JP2013242746A (ja) 故障検出システムと方法並びに半導体装置
Lee et al. A low-cost SOC debug platform based on on-chip test architectures
Choi et al. Test resource reused debug scheme to reduce the post-silicon debug cost
JP2004325233A (ja) 半導体装置
JP3573692B2 (ja) スキャンパス回路、スキャンパス回路の生成方法、および、そのプログラムを記録した記録媒体
JP3265270B2 (ja) バウンダリ・スキャン・テスト機能を用いたac測定回路
Kuentzer More than a timing resilient template: a case study on reliability-oriented improvements on blade

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated 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: 20130102

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140103

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20141231

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20160104

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20170102

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20191226

Year of fee payment: 12