KR102391385B1 - 내장형 로직 분석기 및 이를 포함하는 집적 회로 - Google Patents

내장형 로직 분석기 및 이를 포함하는 집적 회로 Download PDF

Info

Publication number
KR102391385B1
KR102391385B1 KR1020150114422A KR20150114422A KR102391385B1 KR 102391385 B1 KR102391385 B1 KR 102391385B1 KR 1020150114422 A KR1020150114422 A KR 1020150114422A KR 20150114422 A KR20150114422 A KR 20150114422A KR 102391385 B1 KR102391385 B1 KR 102391385B1
Authority
KR
South Korea
Prior art keywords
signal
data
comparison
enable
capture
Prior art date
Application number
KR1020150114422A
Other languages
English (en)
Other versions
KR20170019912A (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 KR1020150114422A priority Critical patent/KR102391385B1/ko
Priority to TW105116208A priority patent/TWI709038B/zh
Priority to DE102016109869.8A priority patent/DE102016109869A1/de
Priority to US15/170,020 priority patent/US11029357B2/en
Priority to CN201610670876.6A priority patent/CN106443422B/zh
Publication of KR20170019912A publication Critical patent/KR20170019912A/ko
Priority to US17/337,517 priority patent/US11719747B2/en
Application granted granted Critical
Publication of KR102391385B1 publication Critical patent/KR102391385B1/ko

Links

Images

Classifications

    • 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/31705Debugging aspects, e.g. using test circuits for debugging, using dedicated debugging test circuits
    • 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/2851Testing of integrated circuits [IC]
    • 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/2851Testing of integrated circuits [IC]
    • G01R31/2853Electrical testing of internal connections or -isolation, e.g. latch-up or chip-to-lead connections
    • 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/3177Testing of logic operation, e.g. by logic analysers
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/1733Controllable logic circuits
    • H03K19/1737Controllable logic circuits using multiplexers
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17748Structural details of configuration resources
    • H03K19/17764Structural details of configuration resources for reliability
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/22Circuits having more than one input and one output for comparing pulses or pulse trains with each other according to input signal characteristics, e.g. slope, integral
    • H03K5/26Circuits having more than one input and one output for comparing pulses or pulse trains with each other according to input signal characteristics, e.g. slope, integral the characteristic being duration, interval, position, frequency, or sequence

Abstract

집적 회로 내에 포함되는 내장형 로직 분석기는 비교 블록, 연산 블록 및 팩커를 포함한다. 상기 비교 블록은 상기 집적 회로 내의 기능 블록으로부터의 입력 데이터 신호에 기초하여 서로 다른 비교 조건들에서 각각 활성화되는 복수의 비교 인에이블 신호들 및 캡쳐 데이터 신호를 발생한다. 상기 연산 블록은 상기 비교 인에이블 신호들에 대한 논리 연산을 수행하여 데이터 캡쳐 타이밍을 나타내는 데이터 인에이블 신호를 발생한다. 상기 팩커는 상기 캡쳐 데이터 신호, 상기 데이터 인에이블 신호 및 시간 정보 신호에 기초하여 캡쳐 데이터 및 캡쳐 시간 정보를 포함하는 팩커 데이터 신호를 발생한다. 내장형 로직 분석기는 디버깅에 필요한 데이터의 수집을 효율적으로 제어할 수 있는 구성을 갖는다.

Description

내장형 로직 분석기 및 이를 포함하는 집적 회로{Embedded logic analyzer and integrated circuit including the same}
본 발명은 반도체 집적 회로에 관한 것으로서, 더욱 상세하게는 내장형 로직 분석기 및 이를 포함하는 집적 회로에 관한 것이다.
집적 회로를 개발한 후에 집적 회로가 정상 동작하지 않는 경우 디버깅 과정을 거쳐 문제를 파악하고 해결한다. 씨피유(CPU: central processing unit)나 디에스피(DSP: digital signal processor)와 같이 메인 버스와 연결된 기능 블록들은 JTAG 등을 이용하여 디버깅할 수 있다. 그러나 모뎀 블록의 내부 로직과 같이 메인 버스와 직접 연결되지 않은 회로를 디버깅하기 위해서는 내부 신호를 집적 회로의 외부로 추출하여 분석해야 한다. 집적 회로의 내부 신호를 외부로 추출하기 위해서는 많은 입출력 핀들이 할당되어야 하고 이러한 입출력 핀들의 추가로 인하여 칩 사이즈가 증가하고 생산성이 저하된다.
상기와 같은 문제점을 해결하기 위한 본 발명의 일 목적은, 효율적으로 디버깅에 필요한 내부 로직의 신호들을 수집할 수 있는 내장형 로직 분석기를 제공하는 것이다.
또한 본 발명의 일 목적은, 효율적으로 디버깅에 필요한 내부 로직의 신호들을 수집할 수 있는 내장형 로직 분석기를 포함하는 집적 회로를 제공하는 것이다.
상기 일 목적을 달성하기 위해, 본 발명의 실시예들에 따른 내장형 로직 분석기(embedded logic analyzer)는 집적 회로 내에 포함되고 비교 블록, 연산 블록 및 팩커를 포함한다. 상기 비교 블록은 상기 집적 회로 내의 기능 블록으로부터의 입력 데이터 신호에 기초하여 서로 다른 비교 조건들에서 각각 활성화되는 복수의 비교 인에이블 신호들 및 캡쳐 데이터 신호를 발생한다. 상기 연산 블록은 상기 비교 인에이블 신호들에 대한 논리 연산을 수행하여 데이터 캡쳐 타이밍을 나타내는 데이터 인에이블 신호를 발생한다. 상기 팩커는 상기 캡쳐 데이터 신호, 상기 데이터 인에이블 신호 및 시간 정보 신호에 기초하여 캡쳐 데이터 및 캡쳐 시간 정보를 포함하는 팩커 데이터 신호를 발생한다.
일 실시예에 있어서, 상기 비교 블록의 상기 비교 조건들을 나타내는 비교 제어 신호들, 상기 연산 블록의 상기 논리 연산을 나타내는 연산 제어 신호들 및 상기 팩커의 동작을 제어하는 팩커 제어 신호들을 발생하는 메인 콘트롤러를 더 포함할 수 있다.
일 실시예에 있어서, 상기 비교 블록은, 상기 비교 조건들을 나타내는 비교 제어 신호들의 각각 및 상기 입력 데이터 신호에 기초하여 상기 비교 인에이블 신호들의 각각을 발생하는 복수의 비교 유닛들을 포함할 수 있다.
일 실시예에 있어서, 상기 비교 유닛들 중 적어도 하나는, 상기 입력 데이터 신호를 쉬프트하여 쉬프트 데이터 신호를 발생하고, 상기 쉬프트 데이터 신호를 기준 데이터 신호와 비교하여 상기 비교 인에이블 신호를 발생할 수 있다.
일 실시예에 있어서, 상기 비교 유닛들 중 적어도 하나는, 상기 입력 데이터 신호 및 다른 비교 유닛으로부터의 제1 쉬프트 데이터 신호 중 하나를 쉬프트하여 제2 쉬프트 데이터 신호를 발생하고, 상기 제2 쉬프트 데이터를 또 다른 비교 유닛으로부터의 제3 쉬프트 데이터 신호 및 기준 데이터 신호 중 하나와 비교하여 상기 비교 인에이블 신호를 발생할 수 있다.
일 실시예에 있어서, 상기 비교 유닛들의 각각은, 왼쪽 쉬프트 비트수를 나타내는 쉬프트 제어 신호의 제1 비트들에 응답하여 상기 입력 데이터 신호를 왼쪽으로 쉬프트하는 제1 쉬프트 레지스터, 오른쪽 쉬프트 비트수를 나타내는 상기 쉬프트 제어 신호의 제2 비트들에 응답하여 상기 제1 쉬프트 레지스터의 출력 신호를 오른쪽으로 쉬프트하는 제2 쉬프트 레지스터 및 비교 비트수를 나타내는 상기 쉬프트 제어 신호의 제3 비트들에 응답하여 상기 제2 쉬프트 레지스터의 출력 신호 및 기준 데이터 신호를 비교하여 상기 비교 인에이블 신호를 발생하는 비교기를 포함할 수 있다.
일 실시예에 있어서, 상기 비교 블록은, 상기 입력 데이터 신호 및 상기 비교 유닛들로부터의 쉬프트 데이터 신호들 중 하나를 선택하여 상기 캡쳐 데이터 신호로서 출력하는 멀티플렉서를 더 포함할 수 있다.
일 실시예에 있어서, 상기 연산 블록은, 상기 비교 인에이블 신호들 및 시작 트리거 제어 신호에 응답하여 시작 트리거 인에이블 신호를 발생하는 제1 연산 유닛, 상기 비교 인에이블 신호들 및 종료 트리거 제어 신호에 응답하여 종료 트리거 인에이블 신호를 발생하는 제2 연산 유닛 및 상기 비교 인에이블 신호들 및 기입 인에이블 제어 신호에 응답하여 기입 인에이블 신호를 발생하는 제3 연산 유닛을 포함할 수 있다.
일 실시예에 있어서, 상기 제1 연산 유닛, 상기 제2 연산 유닛 및 상기 제3 연산 유닛의 각각은, 상기 시작 트리거 제어 신호, 상기 종료 트리거 제어 신호 및 상기 기입 인에이블 제어 신호의 각각에 응답하여 상기 비교 인에이블 신호들의 일부에 상응하는 선택 비교 인에이블 신호들을 출력하는 복수의 멀티플렉서들 및 상기 시작 트리거 제어 신호, 상기 종료 트리거 제어 신호 및 상기 기입 인에이블 제어 신호의 각각에 응답하여 상기 선택 비교 인에이블 신호들을 논리 연산하여 상기 시작 트리거 인에이블 신호, 상기 종료 트리거 인에이블 신호 및 상기 기입 인에이블 신호의 각각을 발생하는 연산기를 포함할 수 있다.
일 실시예에 있어서, 상기 연산 블록은, 상기 시작 트리거 인에이블 신호, 상기 종료 트리거 인에이블 신호 및 타임 제어 신호에 응답하여 데이터 캡쳐의 시작 시점 및 종료 시점을 나타내는 기입 온 신호를 발생하는 타임 콘트롤러 및 상기 기입 온 신호 및 상기 기입 인에이블 신호에 기초하여 상기 데이터 인에이블 신호를 발생하는 로직 게이트를 더 포함할 수 있다.
일 실시예에 있어서, 상기 타임 콘트롤러는, 상기 데이터 캡쳐의 시작 시점을 나타내는 기입 시작 신호를 발생하는 제1 로직 회로, 상기 데이터 캡쳐의 종료 시점을 나타내는 기입 종료 신호를 발생하는 제2 로직 회로, 상기 데이터 캡쳐의 상대적인 시간을 제공하는 내부 타이머 및 상기 시작 트리거 인에이블 신호 또는 상기 종료 트리거 인에이블 신호의 활성화 회수를 카운트하는 카운터를 포함할 수 있다.
일 실시예에 있어서, 상기 타임 콘트롤러는, 외부로부터 제공되는 시작 제어 신호 또는 종료 제어 신호에 응답하여 상기 기입 시작 신호 또는 상기 기입 종료 신호를 각각 활성화할 수 있다.
일 실시예에 있어서, 상기 타임 콘트롤러는, 시스템 타이머로부터의 시스템 시간이 기준 시작 시간 또는 기준 종료 시간과 각각 일치하는 시점에서 상기 기입 시작 신호 또는 상기 기입 종료 신호를 각각 활성화할 수 있다.
일 실시예에 있어서, 상기 타임 콘트롤러는, 외부로부터 제공되는 시작 제어 신호 또는 종료 제어 신호가 활성화된 후부터 상기 시작 트리거 인에이블 신호 또는 상기 종료 트리거 인에이블 신호의 활성화 회수를 각각 카운트하고, 상기 활성화 회수에 기초하여 상기 기입 시작 신호 또는 상기 기입 종료 신호를 각각 활성화할 수 있다.
일 실시예에 있어서, 상기 타임 콘트롤러는, 시스템 타이머로부터의 시스템 시간이 기준 시작 시간 또는 기준 종료 시간과 각각 일치하는 시점부터 상기 시작 트리거 인에이블 신호 또는 상기 종료 트리거 인에이블 신호의 활성화 회수를 각각 카운트하고, 상기 활성화 회수에 기초하여 상기 기입 시작 신호 또는 상기 기입 종료 신호를 각각 활성화할 수 있다.
일 실시예에 있어서, 상기 제1 연산 유닛 또는 상기 제2 연산 유닛은 상기 시작 트리거 인에이블 신호 또는 상기 종료 트리거 인에이블 신호의 활성화 회수에 따라서 상기 시작 트리거 제어 신호 또는 상기 종료 트리거 제어 신호를 각각 가변할 수 있다.
일 실시예에 있어서, 상기 팩커는, 상기 캡쳐 데이터 신호에 기초하여 서로 다른 비트수의 데이터 비트 신호들을 발생하는 데이터 추출부, 상기 시간 정보 신호에 기초하여 서로 다른 비트수의 시간 정보 비트 신호들을 발생하는 시간 정보 추출부, 상기 데이터 비트 신호들 및 상기 시간 정보 비트 신호들을 각각 병합하여 전체 비트수가 동일하고 서로 다른 비트수의 상기 캡쳐 시간 정보를 포함하는 병합 데이터 신호들을 발생하는 합성부 및 타임 사이즈 신호에 기초하여 상기 병합 데이터 신호들 중 하나를 상기 팩커 데이터 신호로서 출력하는 멀티플렉서를 포함할 수 있다.
일 실시예에 있어서, 상기 팩커는, 상기 캡쳐 데이터 신호에 기초하여 일정한 비트수의 데이터 비트 신호를 발생하는 데이터 추출부, 상기 시간 정보 신호에 기초하여 일정한 비트수의 시간 정보 비트 신호를 발생하는 시간 정보 추출부 및 상기 타임 주기 신호에 기초하여 상기 데이터 비트 신호 및 상기 시간 정보 비트 신호 중 하나를 선택적으로 상기 팩커 데이터 신호로서 출력하는 멀티플렉서를 포함할 수 있다.
일 실시예에 있어서, 상기 팩커는, 비트 폭 신호에 응답하여 상기 캡쳐 데이터 신호의 전체 비트수 중에서 상기 캡쳐 데이터로서 캡쳐되는 비트수를 조절할 수 있다.
일 실시예에 있어서, 상기 내장형 로직 분석기는 상기 집적 회로 내의 복수의 기능 블록들로부터 수신되는 복수의 로직 신호들 중 하나를 선택하여 상기 입력 데이터 신호로서 제공하는 입력 선택부를 더 포함할 수 있다.
일 실시예에 있어서, 상기 내장형 로직 분석기는 상기 팩커 데이터 신호를 저장하는 버퍼 및 상기 버퍼에 저장된 데이터를 상기 집적 회로 내의 내장 메모리 또는 상기 집적 회로 외부의 메모리로 전송하는 디렉트 메모리 액세스 콘트롤러를 더 포함할 수 있다.
상기 일 목적을 달성하기 위해, 본 발명의 실시예들에 따른 집적 회로는, 상호접속 장치, 상기 상호접속 장치에 연결된 복수의 기능 블록들 및 상기 기능 블록들 중 적어도 하나에 직접 연결된 내장형 로직 분석기(embedded logic analyzer)를 포함한다. 상기 내장형 로직 분석기는, 상기 기능 블록들 중 하나로부터의 입력 데이터 신호에 기초하여 서로 다른 비교 조건들에서 각각 활성화되는 복수의 비교 인에이블 신호들 및 캡쳐 데이터 신호를 발생하는 비교 블록, 상기 비교 인에이블 신호들에 대한 논리 연산을 수행하여 데이터 캡쳐 타이밍을 나타내는 데이터 인에이블 신호를 발생하는 연산 블록 및 상기 캡쳐 데이터 신호, 상기 데이터 인에이블 신호 및 시간 정보 신호에 기초하여 캡쳐 데이터 및 캡쳐 시간 정보를 포함하는 팩커 데이터 신호를 발생하는 팩커를 포함한다.
상기 일 목적을 달성하기 위해, 본 발명의 실시예들에 따른 내장형 로직 분석기는 집적 회로 내에 포함된다. 상기 내장형 로직 분석기는 상기 집적 회로 내의 복수의 기능 블록들로부터 수신되는 복수의 로직 신호들 중 하나를 선택하여 상기 입력 데이터 신호로서 제공하는 입력 선택부, 상기 입력 데이터 신호에 기초하여 서로 다른 비교 조건들에서 각각 활성화되는 복수의 비교 인에이블 신호들 및 캡쳐 데이터 신호를 발생하는 비교 블록,
상기 비교 인에이블 신호들에 대한 논리 연산을 수행하여 데이터 캡쳐 타이밍을 나타내는 데이터 인에이블 신호를 발생하는 연산 블록, 상기 캡쳐 데이터 신호, 상기 데이터 인에이블 신호 및 시간 정보 신호에 기초하여 캡쳐 데이터 및 캡쳐 시간 정보를 포함하는 팩커 데이터 신호를 발생하는 팩커 및 상기 입력 선택부, 상기 비교 블록, 상기 연산 블록 및 상기 팩커의 동작들을 제어하는 메인 콘트롤러를 포함한다.
본 발명의 실시예들에 따른 내장형 로직 분석기 및 이를 포함하는 집적 회로는 디버깅에 필요한 데이터의 수집을 효율적으로 제어함으로써 메인 버스의 트래픽 능력, 내부 메모리 용량과 같은 집적 회로 내부의 자원(resources)의 제약을 극복하고 집적 회로의 디버깅을 효율적으로 수행할 수 있다.
도 1은 본 발명의 실시예들에 따른 집적 회로를 나타내는 블록도이다.
도 2는 본 발명의 실시예들에 따른 내장형 로직 분석기를 나타내는 블록도이다.
도 3은 도 2의 내장형 로직 분석기에 포함되는 비교 블록의 일 실시예를 나타내는 블록도이다.
도 4는 도 3의 비교 블록에 포함되는 비교 유닛의 일 실시예를 나타내는 도면이다.
도 5는 도 4의 비교 유닛의 동작을 설명하기 위한 도면이다.
도 6은 캡쳐 데이터 신호를 출력하는 데이터 선택부의 일 실시예를 나타내는 도면이다.
도 7은 도 2의 내장형 로직 분석기에 포함되는 연산 블록의 일 실시예를 나타내는 블록도이다.
도 8은 도 7의 타임 콘트롤러 및 로직 게이트의 동작을 나타내는 타이밍도이다.
도 9는 도 7의 연산 블록에 포함되는 제1 연산 유닛의 일 실시예를 나타내는 도면이다.
도 10은 도 7의 연산 블록에 포함되는 타임 콘트롤러의 일 실시예를 나타내는 도면이다.
도 11a 내지 도 11f는 도 10의 타임 콘트롤러의 동작의 예들을 나타내는 도면들이다.
도 12는 트리거 제어 신호를 가변하는 제어 신호 선택부의 일 실시예를 나타내는 도면이다.
도 13은 도 12의 제어 신호 선택부의 동작을 설명하기 위한 도면이다.
도 14는 도 2의 내장형 로직 분석기에 포함되는 팩커의 일 실시예를 나타내는 블록도이다.
도 15는 도 14의 팩커에서 발생되는 병합 데이터 신호들을 나타내는 도면이다.
도 16은 도 2의 내장형 로직 분석기에 포함되는 팩커의 일 실시예를 나타내는 블록도이다.
도 17a, 도 17b 및 도 17c는 도 16의 팩커에서 발생되는 팩커 데이터 신호의 예들을 나타내는 도면들이다.
도 18은 도 16의 팩커에 포함되는 데이터 추출부의 일 예를 나타내는 도면이다.
도 19는 도 18의 데이터 추출부에서 발생되는 데이터 신호들의 일 예를 나타내는 도면이다.
도 20은 본 발명의 실시예들에 따른 내장형 로직 분석기를 나타내는 블록도이다.
도 21a 및 도 21b는 로직 신호들의 제공 방법의 실시예들을 나타내는 도면들이다.
도 22는 본 발명의 실시예들에 따른 집적 회로를 나타내는 블록도이다.
도 23은 본 발명의 실시예들에 따른 내장형 로직 분석기를 포함하는 컴퓨팅 시스템을 나타내는 블록도이다.
도 24는 도 23의 컴퓨팅 시스템에서 사용되는 인터페이스의 일 예를 나타내는 블록도이다.
본문에 개시되어 있는 본 발명의 실시예들에 대해서, 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 실시예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 실시예들은 다양한 형태로 실시될 수 있으며 본문에 설명된 실시예들에 한정되는 것으로 해석되지 않는다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로 사용될 수 있다. 예를 들어, 본 발명의 권리 범위로부터 이탈되지 않은 채 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미이다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미인 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 해서 중복된 설명은 생략한다.
도 1은 본 발명의 실시예들에 따른 집적 회로를 나타내는 블록도이다.
도 1을 참조하면, 집적 회로(IC: integrated circuit) (10)는 상호접속 장치(interconnect device) (20), 상호 접속 장치(20)에 연결된 복수의 기능 블록(FB: function block)들(11~17) 및 기능 블록들(11~17) 중 적어도 하나에 집적 연결된 내장형 로직 분석기(ELA: embedded logic analyzer)(50)을 포함한다. 또한 내장형 로직 분석기(50)는 상호접속 장치(20)에 연결될 수 있다. 내장형 로직 분석기(50)는 기능 블록들(11~17) 및 상호접속 장치(20)와 함께 동일한 반도체 다이(semiconductor die)에 집적될 수 있다. 도 1에 도시된 기능 블록들(11~17)의 전체 개수 및 내장형 로직 분석기(50)에 직접 연결된 기능 블록들(11, 12, 14)의 개수는 다양하게 변경될 수 있다.
상호접속 장치(20)는 메인 버스, 브릿지, 주변 버스 등을 포함하는 다양한 형태의 버스 시스템으로 구현될 수 있다. 기능 블록들(11~17)은 메모리 콘트롤러(memory controller)(MC), 중앙 처리부(central processing unit), 디스플레이 콘트롤러(display controller)(DIS), 파일 시스템 블록(file system block)(FSYS), 그래픽 처리부(graphic processing unit)(GPU), 이미지 신호 프로세서(image signal processor)(ISP), 멀티 포맷 코덱 블록(multi-format codec block)(MFC), 모뎀 블록(modem block) 등을 포함할 수 있다. 기능 블록들(11~17)의 일부는 메모리 콘트롤러와 같은 슬레이브 장치일 수 있으며, 기능 블록들(11~17)의 일부는 상기 슬레이브 장치에게 서비스를 요구하기 위한 리퀘스트들을 발생하는 마스터 장치일 수 있다.
이하, 도 2 내지 도 22를 참조하여 본 발명의 실시예들에 따른 내장형 로직 분석기(50)의 구성 및 동작에 대하여 설명한다.
도 2는 본 발명의 실시예들에 따른 내장형 로직 분석기를 나타내는 블록도이다.
도 2를 참조하면, 내장형 로직 분석기(50)는 비교 블록(comparison block)(100), 연산 블록(operation block)(200), 팩커(packer)(300) 및 메인 콘트롤러(main controller)(400)를 포함할 수 있다.
비교 블록(100)은 도 1에 도시된 바와 같은 집적 회로(10) 내의 기능 블록(FB)으로부터의 입력 데이터 신호(INDT)에 기초하여 서로 다른 비교 조건들에서 각각 활성화되는 복수의 비교 인에이블 신호들(CMPEN) 및 캡쳐 데이터 신호(CPDT)를 발생한다. 입력 데이터 신호(INDT)는 복수의 비트들을 포함하는 병렬 신호일 수 있다. 메인 콘트롤러(400)는 상기 비교 조건들을 나타내는 비교 제어 신호들(CMPCON)을 발생하여 비교 블록(100)을 제어할 수 있다. 비교 제어 신호들(CMPCON)은 도 3 내지 도 6을 참조하여 후술하는 쉬프트 제어 신호들(SFT), 기준 데이터 신호들(CMPVL), 선택 신호들(CMPMX)을 포함할 수 있다.
연산 블록(200)은 비교 블록(100)으로부터 비교 인에이블 신호들(CMPEN)을 수신하고 비교 인에이블 신호들(CMPEN)에 대한 논리 연산을 수행하여 데이터 캡쳐 타이밍을 나타내는 데이터 인에이블 신호(DTEN)를 발생한다. 메인 콘트롤러(400)는 상기 논리 연산을 나타내는 연산 제어 신호들(OPTCON)을 발생하여 연산 블록(200)을 제어할 수 있다. 연산 제어 신호들(OPTCON)은 도 7 내지 도 13을 참조하여 후술하는 시작 트리거 제어 신호(STROP), 종료 트리거 제어 신호(ETROP), 기입 인에이블 제어 신호(WENOP), 타임 제어 신호(TMCON), 선택 신호(CNTOPT)를 포함할 수 있다.
팩커(300)는 비교 블록(100)으로부터 캡쳐 데이터 신호(CPDT)를 그리고 연산 블록(200)으로부터 데이터 인에이블 신호(DTEN)을 수신하고, 캡쳐 데이터 신호(CPDT), 데이터 인에이블 신호(DTEN) 및 시간 정보 신호(TMINF)에 기초하여 캡쳐 데이터 및 캡쳐 시간 정보를 포함하는 팩커 데이터 신호(PCKDT)를 발생한다. 메인 콘트롤러(400)는 팩커(300)의 동작을 제어하기 위한 팩커 제어 신호들(PCKCON)을 발생할 수 있다. 팩커 제어 신호들(PCKCON)은 도 14 내지 도 19를 참조하여 후술하는 타임 사이즈 신호(TMSZ), 타임 주기 신호(TMPD), 비트 폭 신호(BTWD)를 포함할 수 있다. 시간 정보 신호(TMINF)는 데이터 캡쳐의 절대적 시간 및/또는 상대적 시간을 나타낸다. 시간 정보 신호(TMINF)는 도 10을 참조하여 후술하는 집적 회로(10)의 시스템 타이머로부터 제공되는 시스템 시간(SYSTM) 및/또는 내부 타이머(216c)로부터 제공되는 내부 시간(ELATM)을 포함할 수 있다.
메인 콘트롤러(400)는 제어 값들을 저장하는 레지스터(REG)(450)를 포함할 수 있고, 레지스터(450)에 저장된 제어 값들에 기초하여 신호들(CMPCON, OPTCON, PCKCON)을 발생할 수 있다. 집적 회로(10)에 문제가 발생한 경우, 요구되는 디버깅에 적합하도록 상기 제어 값들을 설정할 수 있고, 상기 제어 값들의 설정을 통하여 데이터 캡쳐의 시작 시점, 종료 시점, 데이터 캡쳐 타이밍, 캡쳐 데이터 선별, 캡쳐 시간 정보의 병합 등을 효율적으로 제어할 수 있다. 도 2에는 메인 콘트롤러(400)가 내장형 로직 분석기(50)에 포함되는 것으로 도시되어 있으나, 메인 콘트롤러(400)는 프로세서와 같은 다른 기능 블록에 포함될 수도 있다.
이와 같이, 본 발명의 실시예들에 따른 내장형 로직 분석기 및 이를 포함하는 집적 회로는 디버깅에 필요한 데이터의 수집을 효율적으로 제어함으로써 메인 버스의 트래픽 능력, 내부 메모리 용량과 같은 집적 회로 내부의 자원(resources)의 제약을 극복하고 집적 회로의 디버깅을 효율적으로 수행할 수 있다.
도 3은 도 2의 내장형 로직 분석기에 포함되는 비교 블록의 일 실시예를 나타내는 블록도이다.
도 3을 참조하면, 비교 블록(100)은 전술한 비교 조건들을 나타내는 쉬프트 제어 신호들(SFT1~SFT8)과 기준 데이터 신호들(CMPVL1~CMPVL8)의 각각 및 입력 데이터 신호(INDT)에 기초하여 비교 인에이블 신호들(CMPEN1~CMPEN8)의 각각을 발생하는 복수의 비교 유닛들(COMP1~COMP8)을 포함할 수 있다. 쉬프트 제어 신호들(SFT1~SFT8)과 기준 데이터 신호들(CMPVL1~CMPVL8)은 도 2의 비교 제어 신호들(CMPCON)에 포함될 수 있다. 도 3에는 예시적으로 8개의 비교 유닛들(COMP1~COMP8)을 도시하였으며, 비교 유닛들의 개수는 다양하게 변경될 수 있다.
비교 유닛들(COMP1~COMP8) 중 적어도 하나(COMPi) (i는 1, 2,, 또는 8)는, 입력 데이터 신호(INDT)를 쉬프트하여 쉬프트 데이터 신호(CMPDTi)를 발생하고, 쉬프트 데이터 신호(CMPDTi)를 기준 데이터 신호(CMPVLi)와 비교하여 비교 인에이블 신호(CMPENi)를 발생할 수 있다. 예를 들어, 도 3에 도시된 바와 같이, 제1 비교 유닛(COMP1), 제2 비교 유닛(COMP2), 제4 비교 유닛(COMP4), 제5 비교 유닛(COMP5), 제7 비교 유닛(COMP7) 및 제8 비교 유닛(COMP8)이 이에 해당할 수 있다.
한편, 비교 유닛들(COMP1~COMP8) 중 적어도 하나(COMPk) (k는 1, 2,, 또는 8)는, 입력 데이터 신호(INDT) 및 다른 비교 유닛(COMPm)(m≠k)으로부터의 제1 쉬프트 데이터 신호(CMPDTm) 중 하나를 쉬프트하여 제2 쉬프트 데이터 신호(CMPDTk)를 발생하고, 제2 쉬프트 데이터(CMPDTk)를 또 다른 비교 유닛(COMPn)(n≠k, n≠m)으로부터의 제3 쉬프트 데이터 신호(CMPDTn) 및 기준 데이터 신호(CMPVLk) 중 하나와 비교하여 비교 인에이블 신호(CMPENk)를 발생할 수 있다. 예를 들어, 도 3에 도시된 바와 같이, 제3 비교 유닛(COMP3) 및 제6 비교 유닛(COMP6)이 이에 해당할 수 있다. 제3 비교 유닛(COMP3) 및 제6 비교 유닛(COMP6)의 전단에는 선택 신호들(CMPMX1, CMPMX2)에 각각 응답하여 데이터들을 선택적으로 출력하는 멀티플렉서들(MX1, MX2, MX3, MX4)이 배치될 수 있다.
이와 같이, 도 3과 같은 구성 및 쉬프트 제어 신호들(SFT1~SFT8)과 기준 데이터 신호들(CMPVL1~CMPVL8)의 설정을 통하여, 요구되는 디버깅에 필요한 데이터를 수집하기 위한 비교 조건들을 효율적으로 설정할 수 있다.
도 4는 도 3의 비교 블록에 포함되는 비교 유닛의 일 실시예를 나타내는 도면이고, 도 5는 도 4의 비교 유닛의 동작을 설명하기 위한 도면이다.
도 4를 참조하면, 비교 유닛(110)은 제1 쉬프트 레지스터(LSR), 제2 쉬프트 레지스터(RSR) 및 비교기(CMP)를 포함할 수 있다. 도 4에는 입력 데이터 신호(INDT)가 64 비트들(INDT[63:0])을 포함하고, 기준 데이터 신호(CMPVL)가 32 비트들(CMPVL[31:0])을 포함하고, 쉬프트 제어 신호(SFT)가 16 비트들(SFT[15:0])을 포함하는 것으로 도시하였으나, 신호들의 비트수는 다양하게 변경될 수 있다.
제1 쉬프트 레지스터(LSR)는 왼쪽 쉬프트 비트수를 나타내는 쉬프트 제어 신호(SFT)의 제1 비트들(SFT[5:0])에 응답하여 입력 데이터 신호(INDT)를 왼쪽으로 쉬프트한다. 제2 쉬프트 레지스터(RSR)는 오른쪽 쉬프트 비트수를 나타내는 쉬프트 제어 신호(SFT)의 제2 비트들(SFT[11:6])에 응답하여 제1 쉬프트 레지스터(LSR)의 출력 신호(SFDT)를 오른쪽으로 쉬프트한다. 비교기(CMP)는 비교 비트수를 나타내는 쉬프트 제어 신호(SFT)의 제3 비트들(SFT[15:12])에 응답하여 제2 쉬프트 레지스터(RSR)의 출력 신호, 즉 쉬프트 데이터 신호(CMPDT) 및 기준 데이터 신호(CMPVL)를 비교하여 비교 인에이블 신호(CMPEN)를 발생한다. 비교기(CMP)는 쉬프트 데이터 신호(CMPDT)가 기준 데이터 신호(CMPVL)와 일치하는 경우 비교 인에이블 신호(CMPEN)를 제1 논리 레벨로 활성화하고 일치하지 않은 경우 비교 인에이블 신호(CMPEN)를 제2 논리 레벨로 비활성화할 수 있다. 비교 인에이블 신호(CMPEN)는 비교 조건이 만족될 때마다 활성화되는 펄스를 포함하는 펄스 신호일 수 있다.
예를 들어, 도 5에 도시된 바와 같이, 입력 신호(INDT)의 제1 내지 제64 비트들(A0~A63) 중에서 제2 내지 제7 비트들(A1~A6)이 비교 대상이 되는 비트들일 수 있다. 이 경우, 쉬프트 제어 신호(SFT)의 제1 비트들(SFT[5:0])은 57로 설정되고, 쉬프트 제어 신호(SFT)의 제2 비트들(SFT[11:6])은 58로 설정되고, 쉬프트 제어 신호(SFT)의 제3 비트들(SFT[15:12])은 6으로 설정될 수 있다. 결과적으로 도 4의 구성에 의해 입력 데이터 신호(INDT)는 왼쪽으로 57 비트수만큼 쉬프트한 후 오른쪽으로 58 비트수만큼 쉬프트하고, 쉬프트 데이터 신호(CMPDT)의 최하위 6비트(A1~A6)와 기준 데이터 신호(CMPVL)의 최하위 6비트(B0~B5)가 비교될 수 있다.
도 6은 캡쳐 데이터를 출력하는 데이터 선택부의 일 실시예를 나타내는 도면이다.
도 6을 참조하면, 데이터 선택부(150)는 선택 신호(CMPMX3)에 응답하여 입력 데이터 신호(INDT) 및 비교 유닛들로부터의 쉬프트 데이터 신호들(CMPDT4, CMPDT5, CMPDT6) 중 하나를 선택하여 캡쳐 데이터 신호(CPDT)로서 출력하는 멀티플렉서로 구현될 수 있다. 일 실시예에서, 데이터 선택부(150)는 도 2의 비교 블록(100)에 포함될 수 있다.
일반적으로 데이터 캡쳐를 위한 조건이 만족되는지 여부를 판단하기 위한 비교 대상이 되는 데이터 비트들과 캡쳐 대상이 되는 데이터 비트들은 상이할 수 있다. 도 3에 도시된 복수의 비교 유닛들(COMP1~COMP8)의 각각은 데이터 캡쳐 조건의 만족 여부를 판단하기 위한 용도로 사용될 수도 있고, 캡쳐되어야 하는 데이터 비트들을 쉬프트하여 제공하기 위한 용도로도 사용될 수 있다.
도 7은 도 2의 내장형 로직 분석기에 포함되는 연산 블록의 일 실시예를 나타내는 블록도이다.
도 7을 참조하면, 연산 블록(200)은 제1 연산 유닛(210), 제2 연산 유닛(220), 제3 연산 유닛(230), 타임 콘트롤러(250) 및 로직 게이트(260)를 포함할 수 있다.
제1 연산 유닛(210)은 비교 인에이블 신호들(CMPEN) 및 시작 트리거 제어 신호(STROP)에 응답하여 시작 트리거 인에이블 신호(STREN)를 발생할 수 있다. 제2 연산 유닛(220)은 비교 인에이블 신호들(CMPEN) 및 종료 트리거 제어 신호(ETROP)에 응답하여 종료 트리거 인에이블 신호(ETREN)를 발생할 수 있다. 제3 연산 유닛은 비교 인에이블 신호들(CMPEN) 및 기입 인에이블 제어 신호(WENOP)에 응답하여 기입 인에이블 신호(WREN)를 발생할 수 있다. 시작 트리거 인에이블 신호(STREN)는 데이터 캡쳐의 시작 시점을 결정하는데 이용되고, 종료 트리거 인에이블 신호(ETREN)는 데이터 캡쳐의 종료 시점을 결정하는데 이용되고, 기입 인에이블 신호(WREN)는 데이터 캡쳐의 타이밍을 결정하는데 이용될 수 있다.
타임 콘트롤러(250)는 시작 트리거 인에이블 신호(STREN), 종료 트리거 인에이블 신호(ETREN) 및 타임 제어 신호(TMCON)에 응답하여 데이터 캡쳐의 시작 시점 및 종료 시점을 나타내는 기입 온 신호(WRON)를 발생할 수 있다. 로직 게이트(260)는 기입 온 신호(WRON) 및 기입 인에이블 신호(WREN)에 기초하여 데이터 캡쳐 타이밍을 나타내는 데이터 인에이블 신호(DTEN)를 발생할 수 있다.
시작 트리거 제어 신호(STROP), 종료 트리거 제어 신호(ETROP), 기입 인에이블 제어 신호(WENOP), 타임 제어 신호(TMCOM)는 도 2의 연산 제어 신호들(OPTCON)에 포함될 수 있다.
도 8은 도 7의 타임 콘트롤러 및 로직 게이트의 동작을 나타내는 타이밍도이다.
도 8에서, 기입 시작 신호(WSTT)는 데이터 캡쳐의 시작 시점(ts)를 나타내고 기입 종료 신호(WEND)는 데이터 캡쳐의 종료 시점(te)를 나타낸다. 기입 시작 신호(WSTT) 및 기입 종료 신호(WEND)는 타임 콘트롤러(250)에서 내부적으로 발생되는 신호일 수 있고, 타임 콘트롤러(250)는 기입 시작 신호(WSTT) 및 기입 종료 신호(WEND)에 기초하여 기입 온 신호(WRON)를 발생할 수 있다. 기입 온 신호(WRON)가 제1 논리 레벨(예를 들어, 로직 하이 레벨)로 활성화되는 경우에는 데이터 캡쳐가 허용되고 제2 논리 레벨(예를 들어, 로직 로우 레벨)로 비활성화되는 경우에는 데이터 캡쳐가 금지될 수 있다. 도 8에 도시된 바와 같이, 기입 인에이블 신호(WREN)가 펄스 형태로 인에이블되더라도 기입 온 신호(WRON)가 비활성화된 경우에는 데이터 캡쳐의 타이밍을 나타내는 데이터 인에이블 신호(DTEN)가 비활성화된 상태를 유지한다. 기입 온 신호(WRON)가 활성화되는 동안(ts~te)에는 기입 인에이블 신호(WREN)에 응답하여 데이터 인에이블 신호(DTEN)가 활성화될 수 있다.
도 9는 도 7의 연산 블록에 포함되는 제1 연산 유닛의 일 실시예를 나타내는 도면이다.
도 9를 참조하면, 제1 연산 유닛(210)은 복수의 멀티플렉서들(211~215) 및 연산기(216)를 포함할 수 있다. 멀티플렉서들(211~215)은 시작 트리거 제어 신호(STROP)에 응답하여 비교 인에이블 신호들(CMPEN1~CMPEN8)의 일부에 상응하는 선택 비교 인에이블 신호들(SCMPEN1~SCMPEN5)을 출력한다. 예를 들어, 제1 멀티플렉서(211)는 시작 트리거 제어 신호(STROP)의 제1 비트들(STROP[2:0])에 응답하여 비교 인에이블 신호들(CMPEN1~CMPEN8) 중에서 제1 선택 비교 인에이블 신호(SCMPEN1)를 출력하고, 제2 멀티플렉서(212)는 시작 트리거 제어 신호(STROP)의 제2 비트들(STROP[5:3])에 응답하여 비교 인에이블 신호들(CMPEN1~CMPEN8) 중에서 제2 선택 비교 인에이블 신호(SCMPEN2)를 출력하고, 제3 멀티플렉서(213)는 시작 트리거 제어 신호(STROP)의 제3 비트들(STROP[8:6])에 응답하여 비교 인에이블 신호들(CMPEN1~CMPEN8) 중에서 제3 선택 비교 인에이블 신호(SCMPEN3)를 출력하고, 제4 멀티플렉서(214)는 시작 트리거 제어 신호(STROP)의 제4 비트들(STROP[11:9])에 응답하여 비교 인에이블 신호들(CMPEN1~CMPEN8) 중에서 제4 선택 비교 인에이블 신호(SCMPEN4)를 출력하고, 제5 멀티플렉서(215)는 시작 트리거 제어 신호(STROP)의 제5 비트들(STROP[14:12])에 응답하여 비교 인에이블 신호들(CMPEN1~CMPEN8) 중에서 제5 선택 비교 인에이블 신호(SCMPEN5)를 출력할 수 있다. 비교 인에이블 신호들의 개수, 멀티플렉서들의 개수 및 시작 트리거 제어 신호(STROP)의 비트수는 다양하게 변경될 수 있다.
연산기(216)는 시작 트리거 제어 신호(STROP)에 응답하여 선택 비교 인에이블 신호들(SCMPEN1~SCOMEN5)을 논리 연산하여 시작 트리거 인에이블 신호(STREN)를 발생할 수 있다. 예를 들어, 연산기(216)는 시작 트리거 제어 신호(STROP)의 제6 비트들(STROP[18:15])에 응답하여 상기 논리 연산의 유형을 선택할 수 있다. 연산기(216)는 선택 비교 인에이블 신호들(SCMPEN1~SCOMEN5)을 서로 다른 논리 연산들을 수행하고 시작 트리거 제어 신호(STROP)에 응답하여 상기 논리 연산들의 결과들 중 하나를 선택하는 구성을 가질 수 있다. 상기 논리 연산들은 논리곱(AND), 논리합(OR), 부정(NOT)의 다양한 조합들로 구현될 수 있다.
도 9에는 제1 연산 유닛(210)의 일 실시예만을 도시하였으나, 도 7의 제2 연산 유닛(220) 및 제3 연산 유닛(230)도 도 9와 유사한 구성을 가질 수 있다. 즉, 제2 연산 유닛(220)은 종료 트리거 제어 신호(ETROP)에 응답하여 비교 인에이블 신호들(CMPEN1~CMPEN8)의 일부에 상응하는 선택 비교 인에이블 신호들을 출력하는 복수의 멀티플렉서들 및 종료 트리거 제어 신호(ETROP)에 응답하여 상기 선택 비교 인에이블 신호들을 논리 연산하여 종료 트리거 인에이블 신호(ETREN)를 발생하는 연산기를 포함할 수 있다. 또한, 제3 연산 유닛(230)은 기입 인에이블 제어 신호(WENOP)에 응답하여 비교 인에이블 신호들(CMPEN1~CMPEN8)의 일부에 상응하는 선택 비교 인에이블 신호들을 출력하는 복수의 멀티플렉서들 및 기입 인에이블 제어 신호(WENOP)에 응답하여 상기 선택 비교 인에이블 신호들을 논리 연산하여 기입 인에이블 신호(WREN)를 발생하는 연산기를 포함할 수 있다.
도 10은 도 7의 연산 블록에 포함되는 타임 콘트롤러의 일 실시예를 나타내는 도면이다.
도 10을 참조하면, 타임 콘트롤러(216)는 제1 로직 회로(SLOG)(216a), 제2 로직 회로(ELOG)(216b), 내부 타이머(216c) 및 카운터(216d)를 포함할 수 있다.
제1 로직 회로(216a)는 도 8에 도시된 상기 데이터 캡쳐의 시작 시점(ts)을 나타내는 기입 시작 신호(WSTT)를 발생하고, 제2 로직 회로(216b)는 상기 데이터 캡쳐의 종료 시점(te)을 나타내는 기입 종료 신호(WEND)를 발생한다. 내부 타이머(216c)는 상기 데이터 캡쳐의 상대적인 시간을 제공하고, 카운터(216d)상기 시작 트리거 인에이블 신호(STREN) 또는 종료 트리거 인에이블 신호(ETREN)의 활성화 회수를 카운트할 수 있다.
타임 콘트롤러(216)는 도 7의 제1 연산 유닛(210) 및 제2 연산 유닛(220)으로 제공되는 시작 트리거 인에이블 신호(STREN) 및 종료 트리거 인에이블 신호(ETREN), 집적 회로의 시스템 타이머로부터 제공되는 시스템 시간(SYSTM), 시작 제어 신호(STRCON), 종료 제어 신호(ETRCON), 기준 시작 시간(STM), 기준 종료 시간(ETM), 기준 카운트 신호(CNTVL)를 수신하고 내부 시간(ELATM), 트리거 카운트 신호(TRCNT), 기입 온 신호(WRON)를 발생할 수 있다. 시작 제어 신호(STRCON), 종료 제어 신호(ETRCON), 기준 시작 시간(STM), 기준 종료 시간(ETM), 기준 카운트 신호(CNTVL)는 도 7의 타임 제어 신호(TMCON)에 포함될 수 있고, 도 2의 메인 콘트롤러(400)로부터 제공될 수 있다.
도 11a 내지 도 11f는 도 10의 타임 콘트롤러의 동작의 예들을 나타내는 도면들이다. 도 11a 내지 도 11f에 도시된 신호는 2개의 신호를 각각 선택적으로 나타낼 수 있다. 예를 들어, 도 11a는 시작 제어 신호(STRCON)와 기입 시작 신호(WSTT)의 타이밍 관계를 나타낼 수도 있고, 종료 제어 신호(ETRCON)와 기입 종료 신호(WEND)의 타이밍 관계를 나타낼 수도 있다.
도 11a를 참조하면, 타임 콘트롤러(216)는 메인 콘트롤러(400)로부터 제공되는 시작 제어 신호(STRCON) 또는 종료 제어 신호(ETRCON)에 응답하여 기입 시작 신호(WSTT) 또는 기입 종료 신호(WEND)를 각각 활성화할 수 있다.
도 11b를 참조하면, 타임 콘트롤러(216)는, 시스템 타이머로부터의 시스템 시간(SYSTM)이 기준 시작 시간(STM) 또는 기준 종료 시간(ETM)과 각각 일치하는 시점에서 기입 시작 신호(WSTT) 또는 기입 종료 신호(WEND)를 각각 활성화할 수 있다.
도 11c를 참조하면, 타임 콘트롤러(216)는, 메인 콘트롤러(400)로부터 제공되는 시작 제어 신호(STRCON) 또는 종료 제어 신호(ETRCON)가 활성화된 후부터 시작 트리거 인에이블 신호(STREN) 또는 종료 트리거 인에이블 신호(ETREN)의 활성화 회수를 각각 카운트하고, 상기 활성화 회수에 기초하여 기입 시작 신호(WSTT) 또는 기입 종료 신호(WEND)를 각각 활성화할 수 있다. 예를 들어, 기준 카운트 신호(CNTVL)가 3으로 설정되고, 트리거 카운트 신호(TRCNT)가 3이 되는 시점에서 기입 시작 신호(WSTT) 또는 기입 종료 신호(WEND)를 각각 활성화할 수 있다.
도 11d를 참조하면, 타임 콘트롤러(216)는, 시스템 타이머로부터의 시스템 시간(SYSTM)이 기준 시작 시간(STM) 또는 기준 종료 시간(ETM)과 각각 일치하는 시점부터 시작 트리거 인에이블 신호(STREN) 또는 종료 트리거 인에이블 신호(ETREN)의 활성화 회수를 각각 카운트하고, 상기 활성화 회수에 기초하여 기입 시작 신호(WSTT) 또는 기입 종료 신호(WEND)를 각각 활성화할 수 있다. 예를 들어, 기준 카운트 신호(CNTVL)가 3으로 설정되고, 트리거 카운트 신호(TRCNT)가 3이 되는 시점에서 기입 시작 신호(WSTT) 또는 기입 종료 신호(WEND)를 각각 활성화할 수 있다.
도 11e를 참조하면, 타임 콘트롤러(216)는 메인 콘트롤러(400)로부터 제공되는 시작 제어 신호(STRCON) 또는 종료 제어 신호(ETRCON)가 활성화되고 시작 트리거 인에이블 신호(STREN) 또는 종료 트리거 인에이블 신호(ETREN)가 활성화된 시점(t1)에서 내부 시간(ELATM)을 래치하고 내부 시간(ELATM)과 래치된 시간(LTM) 사이의 차이 시간(DIFFTM)에 기초하여 기입 시작 신호(WSTT) 또는 기입 종료 신호(WEND)를 각각 활성화할 수 있다. 예를 들어, 기준 시작 신호(STM) 또는 기준 종료 시간(ETM)이 5로 설정되고, 차이 시간(DIFFTM)이 5가 되는 시점에서 기입 시작 신호(WSTT) 또는 기입 종료 신호(WEND)를 각각 활성화할 수 있다.
도 11f를 참조하면, 타임 콘트롤러(216)는 메인 콘트롤러(400)로부터 제공되는 시작 제어 신호(STRCON) 또는 종료 제어 신호(ETRCON)가 활성화되고 시작 트리거 인에이블 신호(STREN) 또는 종료 트리거 인에이블 신호(ETREN)가 활성화된 시점(t1)에서 내부 시간(ELATM)을 래치하고 내부 시간(ELATM)과 래치된 시간(LTM) 사이의 차이 시간(DIFFTM)에 기초하여 기입 시작 신호(WSTT) 또는 기입 종료 신호(WEND)를 각각 활성화할 수 있다. 예를 들어, 기준 시작 신호(STM) 또는 기준 종료 시간(ETM)이 5로 설정되고, 차이 시간(DIFFTM)이 5가 되는 시점 이후에 시작 트리거 인에이블 신호(STREN) 또는 종료 트리거 인에이블 신호(ETREN)가 활성화된 시점에서 기입 시작 신호(WSTT) 또는 기입 종료 신호(WEND)를 각각 활성화할 수 있다.
도 12는 트리거 제어 신호를 가변하는 제어 신호 선택부의 일 실시예를 나타내는 도면이고, 도 13은 도 12의 제어 신호 선택부의 동작을 설명하기 위한 도면이다.
도 12 및 13을 참조하면, 제어 신호 선택부(218)는 제1 멀티플렉서(218a) 및 제2 멀티플렉서(218b)를 포함할 수 있다. 제1 멀티플렉서(218a)는 트리거 카운트 신호(TRCNT)에 응답하여 복수의 입력 시작 트리거 제어 신호들(iSTROP0~iSTOP7) 중에서 하나를 선택하여 출력할 수 있다. 제2 멀티플렉서(218b)는 선택 신호(CNTOPT)에 응답하여 고정된 하나의 입력 시작 트리거 제어 신호(iSTROP0) 또는 제1 멀티플렉서(218a)의 출력 신호를 선택적으로 출력할 수 있다. 도 13에 도시된 바와 같이, 시작 트리거 인에이블 신호(STREN)가 활성화될 때마다 트리거 카운트 신호(TRCNT)이 값이 순차적으로 증가하고 결과적으로 시작 트리거 제어 신호(STROP)의 값이 순차적으로 변경될 수 있다.
도 12 및 13에는 시작 트리거 제어 신호(STROP)의 가변 방법을 도시하였으나, 종료 트리거 제어 신호(ETROP)도 유사한 방법으로 가변될 수 있음을 이해할 수 있을 것이다. 이와 같이, 제1 연산 유닛(210) 또는 제2 연산 유닛(220)은 시작 트리거 인에이블 신호(STREN) 또는 상기 종료 트리거 인에이블 신호(ETREN)의 활성화 회수에 따라서 시작 트리거 제어 신호(STROP) 또는 종료 트리거 제어 신호(ETROP)를 각각 가변할 수 있다.
도 14는 도 2의 내장형 로직 분석기에 포함되는 팩커의 일 실시예를 나타내는 블록도이고, 도 15는 도 14의 팩커에서 발생되는 병합 데이터 신호들을 나타내는 도면이다.
도 14를 참조하면, 팩커(301)는 데이터 추출부(DEXT)(311), 시간 정보 추출부(TIEXT)(312), 합성부(SYN) 및 멀티플렉서(MUC)(314)를 포함할 수 있다.
데이터 추출부(311)는 캡쳐 데이터 신호(CPDT)에 기초하여 서로 다른 비트수의 데이터 비트 신호들(DB1~DB4)을 발생한다. 시간 정보 추출부(312)는 시간 정보 신호(TMINF)에 기초하여 서로 다른 비트수의 시간 정보 비트 신호들(TIB1~TIB2)을 발생한다. 괄호 안의 숫자는 신호들의 비트수를 예시적으로 나타낸 것이다. 합성부(313)는 데이터 비트 신호들(DB1~DB4) 및 시간 정보 비트 신호들(TIB1~TIB4)을 각각 병합하여 전체 비트수가 동일하고 서로 다른 비트수의 상기 캡쳐 시간 정보를 포함하는 병합 데이터 신호들(SYND1~SYND4)을 발생한다.
병합 데이터 신호들(SYND1~SYND4)의 예가 도 15에 도시되어 있다. 도 15에서 D는 캡쳐된 데이터를 나타내고 T는 캡쳐된 데이터의 시간 정보를 나타낸다. 제1 병합 데이터 신호(SYND1)는 8비트의 시간 정보(T)와 56 비트의 캡쳐 데이터로 구성되고, 제2 병합 데이터 신호(SYND2)는 16비트의 시간 정보(T)와 48 비트의 캡쳐 데이터로 구성되고, 제3 병합 데이터 신호(SYND1)는 24비트의 시간 정보(T)와 40 비트의 캡쳐 데이터로 구성되고, 제4 병합 데이터 신호(SYND4)는 32비트의 시간 정보(T)와 32 비트의 캡쳐 데이터로 구성될 수 있다.
멀티플렉서(314)는 도 2의 메인 콘트롤러(400)에서 제공되는 타임 사이즈 신호(TMSZ)에 기초하여 병합 데이터 신호들(SYND1~SYND4) 중 하나를 팩커 데이터 신호(PCKLDT)로서 출력한다.
이와 같이, 타임 사이즈 신호(TMSZ)를 변경함으로써 팩커 데이터(PCKDT)에 포함되는 시간 정보의 비트수를 효율적으로 제어할 수 있다.
도 16은 도 2의 내장형 로직 분석기에 포함되는 팩커의 일 실시예를 나타내는 블록도이다.
도 16을 참조하면, 팩커(302)는 데이터 추출부(DEXT)(321), 시간 정보 추출부(TIEXT)(322) 및 멀티플렉서(MUX)(323)를 포함할 수 있다.
데이터 추출부(321)는 캡쳐 데이터 신호(CPDT)에 기초하여 일정한 비트수의 데이터 비트 신호(DB)를 발생한다. 시간 정보 추출부(322)는 시간 정보 신호(TMINF)에 기초하여 일정한 비트수의 시간 정보 비트 신호(TIB)를 발생한다. 괄호 안의 숫자는 신호들의 비트수를 예시적으로 나타낸 것이다. 데이터 비트 신호(DB)의 비트수와 시간 정보 비트 신호(TIB)의 비트수는 동일할 수 있다.
멀티플렉서(323)는 도 2의 메인 콘트롤러(400)로부터 제공되는 타임 주기 신호(TMPD)에 기초하여 데이터 비트 신호(DB) 및 시간 정보 비트 신호 (TIB)중 하나를 선택적으로 팩커 데이터 신호(PCKDT)로서 출력한다.
도 17a, 도 17b 및 도 17c는 도 16의 팩커에서 발생되는 팩커 데이터 신호의 예들을 나타내는 도면들이다.
도 17a를 참조하면, 시간 t1에서 64비트의 캡쳐 데이터(DO)가 팩커 데이터 신호(PCKDT)로서 출력되고, 시간 t2에서 64비트의 캡쳐 데이터(D1)가 팩커 데이터 신호(PCKDT)로서 출력되고, 시간 t3에서 64비트의 시간 정보(T0, T1)가 팩커 데이터 신호(PCKDT)로서 출력된다. 마찬가지로, 시간 t4 및 시간 t5에서 캡쳐 데이터(D2, D3)가 출력된 후에 시간 t6에서 시간 정보(T2, T3)가 출력된다. 결과적으로 64비트의 캡쳐 데이터마다 32비트의 시간 정보가 할당될 수 있다.
도 17b를 참조하면, 시간 t1에서 64비트의 캡쳐 데이터(DO)가 팩커 데이터 신호(PCKDT)로서 출력되고, 시간 t2에서 64비트의 캡쳐 데이터(D1)가 팩커 데이터 신호(PCKDT)로서 출력되고, 시간 t3에서 64비트의 캡쳐 데이터(D2)가 팩커 데이터 신호(PCKDT)로서 출력되고, 시간 t4에서 64비트의 캡쳐 데이터(D3)가 팩커 데이터 신호(PCKDT)로서 출력되고, 시간 t5에서 64비트의 시간 정보(T0, T1, T2, T3)가 팩커 데이터 신호(PCKDT)로서 출력된다. 마찬가지로, 시간 t6 내지 시간 t9에서 캡쳐 데이터(D4, D5, D6, D7)가 출력된 후에 시간 t10에서 시간 정보(T4, T5, T6, T7)가 출력된다. 결과적으로 64비트의 캡쳐 데이터마다 16비트의 시간 정보가 할당될 수 있다.
도 17c를 참조하면, 시간 t1에서 64비트의 캡쳐 데이터(DO)가 팩커 데이터 신호(PCKDT)로서 출력되고, 시간 t2에서 64비트의 캡쳐 데이터(D1)가 팩커 데이터 신호(PCKDT)로서 출력되고, 시간 t3에서 64비트의 캡쳐 데이터(D2)가 팩커 데이터 신호(PCKDT)로서 출력되고, 시간 t4에서 64비트의 캡쳐 데이터(D3)가 팩커 데이터 신호(PCKDT)로서 출력되고, 시간 t5에서 64비트의 캡쳐 데이터(D4)가 팩커 데이터 신호(PCKDT)로서 출력되고, 시간 t6에서 64비트의 캡쳐 데이터(D5)가 팩커 데이터 신호(PCKDT)로서 출력되고, 시간 t7에서 64비트의 캡쳐 데이터(D6)가 팩커 데이터 신호(PCKDT)로서 출력되고, 시간 t8에서 64비트의 캡쳐 데이터(D7)가 팩커 데이터 신호(PCKDT)로서 출력되고, 시간 t9에서 64비트의 시간 정보(T0, T1, T2, T3, T4, T5, T6, T7)가 팩커 데이터 신호(PCKDT)로서 출력된다. 결과적으로 64비트의 캡쳐 데이터마다 8비트의 시간 정보가 할당될 수 있다.
이와 같이, 타임 주기 신호(TMPD)를 제어함으로써 도 17a, 17b 및 17c를 참조하여 설명한 다양한 방법으로 팩커 데이터 신호(PCKDT)를 발생할 수 있다.
도 18은 도 16의 팩커에 포함되는 데이터 추출부의 일 예를 나타내는 도면이고, 도 19는 도 18의 데이터 추출부에서 발생되는 데이터 신호들의 일 예를 나타내는 도면이다.
도 18을 참조하면, 데이터 추출부(340)는 복수의 플립플롭 세트들(341~348) 및 멀티플렉서(349)를 포함할 수 있다. 도 18에는 64비트의 캡쳐 데이터 신호(CPDT)를 처리하기 위한 구성을 예시하였으나, 데이터 추출부(340)의 구성은 캡쳐 데이터 신호(CPDT)의 비트수에 따라서 다양하게 변경될 수 있다. 도 18에서 FF로 표시된 사각형은 1바이트의 데이터를 저장하는 8개의 플립플롭들을 나타낼 수 있다.
캡쳐 데이터 신호(CPDT)의 캡쳐 데이터는 먼저 제1 플립플롭 세트(341)에 저장되고, 새로운 캡쳐 데이터가 입력되면, 제1 플립플롭 세트(341)에 저장된 데이터의 일부는 제2 플립플롭 세트(342)로 쉬프트되어 저장되고 제1 플립플롭 세트(341)에는 상기 새로운 캡쳐 데이터가 저장될 수 있다. 이와 같은 방식으로 제8 플립플롭 세트(348)에는 가장 오래된 캡쳐 데이터(D70)가 저장되고, 제1 플립플롭 세트(341)에는 가장 최근의 캡쳐 데이터(D00~D07)가 저장될 수 있다. 플립플롭 세트들(341~348) 사이의 쉬프트 동작은 전술한 캡쳐 타이밍을 나타내는 데이터 인에이블 신호(DTEN)에 동기하여 수행될 수 있다.
제1 플립플롭 세트(341)에서 64비트들(D00~D07)이 제공되어 제1 데이터 비트 신호(DBa)를 형성하고, 제1 플립플롭 세트(341) 및 제2 플립플롭 세트(342)에서 각각 32비트들씩 합해서 64비트들(D00~D03, D10~D13)이 제공되어 제2 데이터 비트 신호(DBb)를 형성하고, 제1 내지 제4 플립플롭 세트들(341~344)에서 각각 16비트들씩 합해서 64비트들(D00, D01, D10, D11, D20, D21, D30, D31)이 제공되어 제3 데이터 비트 신호(DBc)를 형성하고, 제1 내지 제8 플립플롭 세트들(341~348)에서 각각 8비트씩 합해서 64비트들(D00, D10, D20, D30, D40, D50, D60, D70))이 제공되어 제4 데이터 비트 신호(DBd)를 형성할 수 있다. 도 19에는 이와 같이 형성된 제1 내지 제4 데이터 비트 신호들(DBa, DBb, DBc, DBd)가 도시되어 있다.
멀티플렉서(349)는 도 2의 메인 콘트롤러(400)로부터 제공되는 비트 폭 신호(BTWD)에 응답하여 제1 내지 제4 데이터 비트 신호들(DBa, DBb, DBc, DBd)을 선택하여 데이터 비트 신호(DB)로서 출력한다.
이와 같이, 비트 폭 신호(BTWD)에 응답하여 캡쳐 데이터 신호(CPDT)의 전체 비트수 중에서 캡쳐 데이터로서 캡쳐되는 비트수를 조절할 수 있다. 예를 들어, 도 18 및 도 19에 도시된 바와 같이, 캡쳐 데이터 신호(CPDT)의 전체 비트수가 64비트인 경우에, 제1 데이터 비트 신호(DBa)를 선택하는 경우에는 전체 64비트가 캡쳐 데이터로서 캡쳐되고, 제2 데이터 비트 신호(DBb)를 선택하는 경우에는 전체 64비트 중에서 32비트가 캡쳐 데이터로서 캡쳐되고, 제3 데이터 비트 신호(DBc)를 선택하는 경우에는 전체 64비트 중에서 16비트가 캡쳐 데이터로서 캡쳐되고, 제4 데이터 비트 신호(DBd)를 선택하는 경우에는 전체 64비트 중에서 8비트가 캡쳐 데이터로서 캡쳐될 수 있다.
캡쳐 데이터 신호(CPDT)의 전체 비트들 중에서 일부 비트들만이 의미가 있고 디버깅에 필요한 경우에는 전체 비트들이 아닌 일부 비트들만을 실제로 캡쳐함으로써 상호접속 장치(20)의 트래픽을 감소할 수 있고 한정된 메모리 용량을 효율적으로 이용할 수 있다.
본 발명의 실시예들에 따른 내장형 로직 분석기 및 이를 포함하는 집적 회로는 디버깅에 필요한 데이터의 수집을 효율적으로 제어함으로써 메인 버스의 트래픽 능력, 내부 메모리 용량과 같은 집적 회로 내부의 자원(resources)의 제약을 극복하고 집적 회로의 디버깅을 효율적으로 수행할 수 있다.
도 20은 본 발명의 실시예들에 따른 내장형 로직 분석기를 나타내는 블록도이다.
도 20을 참조하면, 내장형 로직 분석기(51)는 비교 블록(comparison block)(100), 연산 블록(operation block)(200), 팩커(packer)(300), 메인 콘트롤러(main controller)(400) 및 입력 선택부(500)를 포함할 수 있다.
입력 선택부(500)는 도 1에 도시된 바와 같은 집적 회로(10) 내의 복수의 기능 블록들로부터 수신되는 복수의 로직 신호들(INLOG1~INLOGn) 중 하나를 선택하여 입력 데이터 신호(INDT)로서 제공한다. 입력 선택부(500)는 메인 콘트롤러(400)로부터 제공되는 선택 제어 신호(MXCON)에 응답하여 선택 동작을 수행하는 멀티플렉서로 구현될 수 있다.
비교 블록(100)은 입력 데이터 신호(INDT)에 기초하여 서로 다른 비교 조건들에서 각각 활성화되는 복수의 비교 인에이블 신호들(CMPEN) 및 캡쳐 데이터 신호(CPDT)를 발생한다. 입력 데이터 신호(INDT)는 복수의 비트들을 포함하는 병렬 신호일 수 있다. 메인 콘트롤러(400)는 상기 비교 조건들을 나타내는 비교 제어 신호들(CMPCON)을 발생하여 비교 블록(100)을 제어할 수 있다. 비교 제어 신호들(CMPCON)은 도 3 내지 도 6을 참조하여 전술한 쉬프트 제어 신호들(SFT), 기준 데이터 신호들(CMPVL), 선택 신호들(CMPMX)을 포함할 수 있다.
연산 블록(200)은 비교 블록(100)으로부터 비교 인에이블 신호들(CMPEN)을 수신하고 비교 인에이블 신호들(CMPEN)에 대한 논리 연산을 수행하여 데이터 캡쳐 타이밍을 나타내는 데이터 인에이블 신호(DTEN)를 발생한다. 메인 콘트롤러(400)는 상기 논리 연산을 나타내는 연산 제어 신호들(OPTCON)을 발생하여 연산 블록(200)을 제어할 수 있다. 연산 제어 신호들(OPTCON)은 도 7 내지 도 13을 참조하여 전술한 시작 트리거 제어 신호(STROP), 종료 트리거 제어 신호(ETROP), 기입 인에이블 제어 신호(WENOP), 타임 제어 신호(TMCON), 선택 신호(CNTOPT)를 포함할 수 있다.
팩커(300)는 비교 블록(100)으로부터 캡쳐 데이터 신호(CPDT)를 그리고 연산 블록(200)으로부터 데이터 인에이블 신호(DTEN)을 수신하고, 캡쳐 데이터 신호(CPDT), 데이터 인에이블 신호(DTEN) 및 시간 정보 신호(TMINF)에 기초하여 캡쳐 데이터 및 캡쳐 시간 정보를 포함하는 팩커 데이터 신호(PCKDT)를 발생한다. 메인 콘트롤러(400)는 팩커(300)의 동작을 제어하기 위한 팩커 제어 신호들(PCKCON)을 발생할 수 있다. 팩커 제어 신호들(PCKCON)은 도 14 내지 도 19를 참조하여 전술한 타임 사이즈 신호(TMSZ), 타임 주기 신호(TMPD), 비트 폭 신호(BTWD)를 포함할 수 있다.
메인 콘트롤러(400)는 제어 값들을 저장하는 레지스터(REG)(450)를 포함할 수 있고, 레지스터(450)에 저장된 제어 값들에 기초하여 신호들(CMPCON, OPTCON, PCKCON)을 발생할 수 있다. 집적 회로(10)에 문제가 발생한 경우, 요구되는 디버깅에 적합하도록 상기 제어 값들을 설정할 수 있고, 상기 제어 값들의 설정을 통하여 데이터 캡쳐의 시작 시점, 종료 시점, 데이터 캡쳐 타이밍, 캡쳐 데이터 선별, 캡쳐 시간 정보의 병합 등을 효율적으로 제어할 수 있다. 도 20에는 메인 콘트롤러(400)가 내장형 로직 분석기(51)에 포함되는 것으로 도시되어 있으나, 메인 콘트롤러(400)는 프로세서와 같은 다른 기능 블록에 포함될 수도 있다.
이와 같이, 본 발명의 실시예들에 따른 내장형 로직 분석기 및 이를 포함하는 집적 회로는 디버깅에 필요한 데이터의 수집을 효율적으로 제어함으로써 메인 버스의 트래픽 능력, 내부 메모리 용량과 같은 집적 회로 내부의 자원(resources)의 제약을 극복하고 집적 회로의 디버깅을 효율적으로 수행할 수 있다.
도 21a 및 도 21b는 로직 신호들의 제공 방법의 실시예들을 나타내는 도면들이다.
일 실시예에서, 도 21a에 도시된 바와 같이, 입력 선택부(501)는 동일한 기능 블록(FB)으로부터 복수의 로직 신호들(INLOG1, INLOG2)를 수신하고 수신된 로직 신호들(INLOG1, INLOG2) 중 하나를 선택하여 입력 데이터 신호(INDT)로서 제공할 수 있다. 다른 실시예에서, 도 21b에 도시된 바와 같이, 입력 선택부(502)는 서로 다른 기능 블록들(FB1, FB2)로부터 복수의 로직 신호들(INLOG1, INLOG2)를 각각 수신하고 수신된 로직 신호들(INLOG1, INLOG2) 중 하나를 선택하여 입력 데이터 신호(INDT)로서 제공할 수 있다. 이와 같이, 공통의 내장형 로직 분석기를 이용하여 복수의 로직 신호들 중 하나에 대해서 선택적으로 데이터 수집을 수행함으로써 더욱 효율적으로 데이터 수집 및 디버깅을 수행할 수 있다.
도 22는 본 발명의 실시예들에 따른 집적 회로를 나타내는 블록도이다.
도 22를 참조하면, 집적 회로(IC: integrated circuit) (60)는 상호접속 장치(interconnect device) (20), 상호 접속 장치(20)에 연결된 복수의 기능 블록(FB: function block)들(61, 62, 63)) 및 기능 블록들(61, 62, 63) 중 적어도 하나에 집적 연결된 내장형 로직 분석기(ELA: embedded logic analyzer)(52)을 포함한다. 또한 내장형 로직 분석기(52)는 상호접속 장치(20)에 연결될 수 있다. 내장형 로직 분석기(52)는 기능 블록들(61, 62, 63) 및 상호접속 장치(20)와 함께 동일한 반도체 다이(semiconductor die)에 집적될 수 있다. 도 22에 도시된 바와 같이, 기능 블록들은 프로세서((62), 내부 메모리 (MEM1)(63) 등을 포함할 수 있다.
내장형 로직 분석기(52)는 비교 블록(CBK), 연산 블록(OBK), 팩커(PKR), 버퍼(FIFO) 및 디렉트 메모리 액세스 콘트롤러(DMA)를 포함할 수 있다. 도 2의 구성과 비교하여, 내장형 로직 분석기(52)는 팩커 데이터 신호를 저장하는 버퍼(FIFO) 및 버퍼(FIFO)에 저장된 데이터를 집적 회로(60) 내의 내장 메모리(63), 집적 회로(60) 외부의 메모리(MEM2)(70) 또는 유에스비(USB: universal serial bus), 피시아이-익스프레스(PCI-Express) 등의 고속 외부 인터페이스(external high-speed interface)(I/F)(65)를 통하여 피시(PC: personal computer)(80)와 같은 외부 장치로 전송하는 디렉트 메모리 액세스 콘트롤러(DMA)를 더 포함할 수 있다. 디렉트 메모리 액세스 콘트롤러(DMA)는 상호접속 장치(20)를 통하여 내장 메모리(63), 메모리 콘트롤러(MEMCTRL)(64) 또는 고속 외부 인터페이스(65)에 연결될 수 있다. 도 22에 도시된 바와 같이 메모리 콘트롤러(64)는 프로세서(62)에 포함될 수 있다.
도 23은 본 발명의 실시예들에 따른 내장형 로직 분석기를 포함하는 컴퓨팅 시스템을 나타내는 블록도이다.
도 23을 참조하면, 컴퓨팅 시스템(1000)은 프로세서(1010), 메모리 장치(1020), 저장 장치(1030), 입출력 장치(1040), 파워 서플라이(1050) 및 촬영 장치(900)를 포함할 수 있다. 한편, 도 23에는 도시되지 않았지만, 컴퓨팅 시스템(1000)은 비디오 카드, 사운드 카드, 메모리 카드, USB 장치 등과 통신하거나, 또는 다른 전자 기기들과 통신할 수 있는 포트(port)들을 더 포함할 수 있다.
프로세서(1010)는 특정 계산들 또는 태스크(task)들을 수행할 수 있다. 프로세서(1010)는 내장형 로직 분석기(ELA)(1011)를 포함할 수 있다. 내장형 로직 분석기(1011)는 도 1 내지 22를 참조하여 설명한 바와 같이 디버깅에 필요한 데이터의 수집을 효율적으로 제어할 수 있는 구성을 갖는다. 실시예에 따라, 프로세서(1010)는 마이크로프로세서(micro-processor), 중앙 처리 장치(Central Processing Unit; CPU)일 수 있다. 프로세서(1010)는 어드레스 버스(address bus), 제어 버스(control bus) 및 데이터 버스(data bus)를 통하여 메모리 장치(1020), 저장 장치(1030), 촬영 장치(900) 및 입출력 장치(1040)와 통신을 수행할 수 있다. 실시예에 따라, 프로세서(1010)는 주변 구성요소 상호연결(Peripheral Component Interconnect; PCI) 버스와 같은 확장 버스에도 연결될 수 있다. 메모리 장치(1020)는 컴퓨팅 시스템(1000)의 동작에 필요한 데이터를 저장할 수 있다. 예를 들어, 메모리 장치(1020)는 디램(DRAM), 모바일 디램, 에스램(SRAM), 피램(PRAM), 에프램(FRAM), 알램(RRAM) 및/또는 엠램(MRAM)으로 구현될 수 있다. 저장 장치(1030)는 솔리드 스테이트 드라이브(solid state drive), 하드 디스크 드라이브(hard disk drive), 씨디롬(CD-ROM) 등을 포함할 수 있다. 입출력 장치(1040)는 키보드, 키패드, 마우스 등과 같은 입력 수단 및 프린터, 디스플레이 등과 같은 출력 수단을 포함할 수 있다. 파워 서플라이(1050)는 전자 기기(1000)의 동작에 필요한 동작 전압을 공급할 수 있다.
촬영 장치(900)는 상기 버스들 또는 다른 통신 링크를 통해서 프로세서(1010)와 연결되어 통신을 수행할 수 있다. 촬영 장치(900)는 프로세서(1010)와 함께 하나의 칩에 집적될 수도 있고, 서로 다른 칩에 각각 집적될 수도 있다.
컴퓨팅 시스템(1000)은다양한 형태들의 패키지로 구현될 수 있다. 예를 들어, 컴퓨팅 시스템(1000)의 적어도 일부의 구성들은 PoP(Package on Package), Ball grid arrays(BGAs), Chip scale packages(CSPs), Plastic Leaded Chip Carrier(PLCC), Plastic Dual In-Line Package(PDIP), Die in Waffle Pack, Die in Wafer Form, Chip On Board(COB), Ceramic Dual In-Line Package(CERDIP), Plastic Metric Quad Flat Pack(MQFP), Thin Quad Flatpack(TQFP), Small Outline(SOIC), Shrink Small Outline Package(SSOP), Thin Small Outline(TSOP), Thin Quad Flatpack(TQFP), System In Package(SIP), Multi Chip Package(MCP), Wafer-level Fabricated Package(WFP), Wafer-Level Processed Stack Package(WSP) 등과 같은 패키지들을 이용하여 실장될 수 있다.
한편, 컴퓨팅 시스템(1000)은 본 발명의 실시예들에 따른 내장형 로직 분석기를 포함하는 모든 컴퓨팅 시스템으로 해석되어야 할 것이다. 예를 들어, 컴퓨팅 시스템(1000)은 디지털 카메라, 이동 전화기, 피디에이(Personal Digital Assistants; PDA), 피엠피(Portable Multimedia Player; PMP), 스마트폰 등을 포함할 수 있다.
도 24는 도 23의 컴퓨팅 시스템에서 사용되는 인터페이스의 일 예를 나타내는 블록도이다.
도 24를 참조하면, 컴퓨팅 시스템(1100)은 MIPI 인터페이스를 사용 또는 지원할 수 있는 데이터 처리 장치로 구현될 수 있고, 어플리케이션 프로세서(1110), 이미지 센서(1140) 및 디스플레이(1150) 등을 포함할 수 있다. 어플리케이션 프로세서(1110)의 CSI 호스트(1112)는 카메라 시리얼 인터페이스(Camera Serial Interface; CSI)를 통하여 이미지 센서(1140)의 CSI 장치(1141)와 시리얼 통신을 수행할 수 있다. 일 실시예에서, CSI 호스트(1112)는 디시리얼라이저(DES)를 포함할 수 있고, CSI 장치(1141)는 시리얼라이저(SER)를 포함할 수 있다. 어플리케이션 프로세서(1110)의 DSI 호스트(1111)는 디스플레이 시리얼 인터페이스(Display Serial Interface; DSI)를 통하여 디스플레이(1150)의 DSI 장치(1151)와 시리얼 통신을 수행할 수 있다.
일 실시예에서, DSI 호스트(1111)는 시리얼라이저(SER)를 포함할 수 있고, DSI 장치(1151)는 디시리얼라이저(DES)를 포함할 수 있다. 나아가, 컴퓨팅 시스템(1100)은 어플리케이션 프로세서(1110)와 통신을 수행할 수 있는 알에프(Radio Frequency; RF) 칩(1160)을 더 포함할 수 있다. 컴퓨팅 시스템(1100)의 PHY(1113)와 RF 칩(1160)의 PHY(1161)는 MIPI(Mobile Industry Processor Interface) DigRF에 따라 데이터 송수신을 수행할 수 있다. 또한, 어플리케이션 프로세서(1110)는 PHY(1161)의 MIPI DigRF에 따른 데이터 송수신을 제어하는 DigRF MASTER(1114)를 더 포함할 수 있다.
어플리케이션 프로세서(1110)는 내장형 로직 분석기(ELA)(1115)를 포함할 수 있다. 내장형 로직 분석기(1115)는 도 1 내지 22를 참조하여 설명한 바와 같이 디버깅에 필요한 데이터의 수집을 효율적으로 제어할 수 있는 구성을 갖는다.
한편, 컴퓨팅 시스템(1100)은 지피에스(Global Positioning System; GPS)(1120), 스토리지(1170), 마이크(1180), 디램(Dynamic Random Access Memory; DRAM)(1185) 및 스피커(1190)를 포함할 수 있다. 또한, 컴퓨팅 시스템(1100)은 초광대역(Ultra WideBand; UWB)(1210), 무선 랜(Wireless Local Area Network; WLAN)(1220) 및 와이맥스(Worldwide Interoperability for Microwave Access; WIMAX)(1230) 등을 이용하여 통신을 수행할 수 있다. 다만, 컴퓨팅 시스템(1100)의 구조 및 인터페이스는 하나의 예시로서 이에 한정되는 것이 아니다.
해당 기술분야의 숙련된 당업자는 본 발명의 실시예들이 시스템, 방법, 컴퓨터로 판독 가능한 매체에 저장된 컴퓨터로 판독 가능한 프로그램 코드를 포함하는 제품 등의 형태로 구현될 수 있음을 이해할 것이다. 상기 컴퓨터로 판독 가능한 프로그램 코드는 다양한 컴퓨터 또는 다른 데이터 처리 장치의 프로세서로 제공될 수 있다. 상기 컴퓨터로 판독 가능한 매체는 컴퓨터로 판독 가능한 신호 매체 또는 컴퓨터로 판독 가능한 기록 매체일 수 있다. 상기 컴퓨터로 판독 가능한 기록 매체는 명령어 실행 시스템, 장비 또는 장치 내에 또는 이들과 접속되어 프로그램을 저장하거나 포함할 수 있는 임의의 유형적인 매체일 수 있다.
본 발명의 실시예들에 따른 내장형 로직 분석기는 임의의 집적 회로의 디버깅을 위하여 유용하게 이용될 수 있다. 특히 고집적화된 메모리 카드, 솔리드 스테이트 드라이브(Solid State Drive; SSD), 컴퓨터(computer), 노트북(laptop), 핸드폰(cellular), 스마트폰(smart phone), MP3 플레이어, 피디에이(Personal Digital Assistants; PDA), 피엠피(Portable Multimedia Player; PMP), 디지털 TV, 디지털 카메라, 포터블 게임 콘솔(portable game console) 등과 같은 전자 기기에 더욱 유용하게 적용될 수 있다.
상기에서는 본 발명이 바람직한 실시예를 참조하여 설명하였지만, 해당 기술분야의 숙련된 당업자는 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 것이다.
10, 60, IC: 집적 회로
50, 51, 52, ELA: 내장형 로직 분석기
100: 비교 블록
200: 연산 블록
300: 팩커
400: 메인 콘트롤러
INDT: 입력 데이터 신호
CMPEN: 비교 인에이블 신호
DTEN: 데이터 인에이블 신호
CPDT: 캡쳐 데이터 신호
PCKDT: 팩커 데이터 신호
TMINF: 시간 정보 신호

Claims (20)

  1. 집적 회로 내에 포함된 내장형 로직 분석기(embedded logic analyzer)로서,
    상기 집적 회로 내의 기능 블록으로부터의 입력 데이터 신호에 기초하여 서로 다른 비교 조건들에서 각각 활성화되는 복수의 비교 인에이블 신호들 및 캡쳐 데이터 신호를 발생하는 비교 블록;
    상기 비교 인에이블 신호들에 대한 논리 연산을 수행하여 데이터 캡쳐 타이밍을 나타내는 데이터 인에이블 신호를 발생하는 연산 블록; 및
    상기 캡쳐 데이터 신호, 상기 데이터 인에이블 신호 및 시간 정보 신호에 기초하여 캡쳐 데이터 및 캡쳐 시간 정보를 포함하는 팩커 데이터 신호를 발생하는 팩커를 포함하고,
    상기 비교 블록은,
    상기 비교 조건들을 나타내는 비교 제어 신호들의 각각 및 상기 입력 데이터 신호에 기초하여 상기 비교 인에이블 신호들의 각각을 발생하는 복수의 비교 유닛들을 포함하고,
    상기 비교 유닛들 중 적어도 하나는,
    상기 입력 데이터 신호 및 다른 비교 유닛으로부터의 제1 쉬프트 데이터 신호 중 하나를 쉬프트하여 제2 쉬프트 데이터 신호를 발생하고, 상기 제2 쉬프트 데이터를 또 다른 비교 유닛으로부터의 제3 쉬프트 데이터 신호 및 기준 데이터 신호 중 하나와 비교하여 상기 비교 인에이블 신호를 발생하는 내장형 로직 분석기.
  2. 제1 항에 있어서,
    상기 비교 블록의 상기 비교 조건들을 나타내는 비교 제어 신호들, 상기 연산 블록의 상기 논리 연산을 나타내는 연산 제어 신호들 및 상기 팩커의 동작을 제어하는 팩커 제어 신호들을 발생하는 메인 콘트롤러를 더 포함하는 것을 특징으로 하는 내장형 로직 분석기.
  3. 삭제
  4. 삭제
  5. 삭제
  6. 제1 항에 있어서, 상기 비교 유닛들의 각각은,
    왼쪽 쉬프트 비트수를 나타내는 쉬프트 제어 신호의 제1 비트들에 응답하여 상기 입력 데이터 신호를 왼쪽으로 쉬프트하는 제1 쉬프트 레지스터;
    오른쪽 쉬프트 비트수를 나타내는 상기 쉬프트 제어 신호의 제2 비트들에 응답하여 상기 제1 쉬프트 레지스터의 출력 신호를 오른쪽으로 쉬프트하는 제2 쉬프트 레지스터; 및
    비교 비트수를 나타내는 상기 쉬프트 제어 신호의 제3 비트들에 응답하여 상기 제2 쉬프트 레지스터의 출력 신호 및 기준 데이터 신호를 비교하여 상기 비교 인에이블 신호를 발생하는 비교기를 포함하는 것을 특징으로 하는 내장형 로직 분석기.
  7. 제1 항에 있어서, 상기 비교 블록은,
    상기 입력 데이터 신호 및 상기 비교 유닛들로부터의 쉬프트 데이터 신호들 중 하나를 선택하여 상기 캡쳐 데이터 신호로서 출력하는 멀티플렉서를 더 포함하는 것을 특징으로 하는 내장형 로직 분석기.
  8. 집적 회로 내에 포함된 내장형 로직 분석기(embedded logic analyzer)로서,
    상기 집적 회로 내의 기능 블록으로부터의 입력 데이터 신호에 기초하여 서로 다른 비교 조건들에서 각각 활성화되는 복수의 비교 인에이블 신호들 및 캡쳐 데이터 신호를 발생하는 비교 블록;
    상기 비교 인에이블 신호들에 대한 논리 연산을 수행하여 데이터 캡쳐 타이밍을 나타내는 데이터 인에이블 신호를 발생하는 연산 블록; 및
    상기 캡쳐 데이터 신호, 상기 데이터 인에이블 신호 및 시간 정보 신호에 기초하여 캡쳐 데이터 및 캡쳐 시간 정보를 포함하는 팩커 데이터 신호를 발생하는 팩커를 포함하고,
    상기 연산 블록은,
    상기 비교 인에이블 신호들 및 시작 트리거 제어 신호에 응답하여 시작 트리거 인에이블 신호를 발생하는 제1 연산 유닛;
    상기 비교 인에이블 신호들 및 종료 트리거 제어 신호에 응답하여 종료 트리거 인에이블 신호를 발생하는 제2 연산 유닛; 및
    상기 비교 인에이블 신호들 및 기입 인에이블 제어 신호에 응답하여 기입 인에이블 신호를 발생하는 제3 연산 유닛을 포함하는 것을 특징으로 하는 내장형 로직 분석기.
  9. 제8 항에 있어서,
    상기 제1 연산 유닛, 상기 제2 연산 유닛 및 상기 제3 연산 유닛의 각각은,
    상기 시작 트리거 제어 신호, 상기 종료 트리거 제어 신호 및 상기 기입 인에이블 제어 신호의 각각에 응답하여 상기 비교 인에이블 신호들의 일부에 상응하는 선택 비교 인에이블 신호들을 출력하는 복수의 멀티플렉서들; 및
    상기 시작 트리거 제어 신호, 상기 종료 트리거 제어 신호 및 상기 기입 인에이블 제어 신호의 각각에 응답하여 상기 선택 비교 인에이블 신호들을 논리 연산하여 상기 시작 트리거 인에이블 신호, 상기 종료 트리거 인에이블 신호 및 상기 기입 인에이블 신호의 각각을 발생하는 연산기를 포함하는 것을 특징으로 하는 내장형 로직 분석기.
  10. 제8 항에 있어서, 상기 연산 블록은,
    상기 시작 트리거 인에이블 신호, 상기 종료 트리거 인에이블 신호 및 타임 제어 신호에 응답하여 데이터 캡쳐의 시작 시점 및 종료 시점을 나타내는 기입 온 신호를 발생하는 타임 콘트롤러; 및
    상기 기입 온 신호 및 상기 기입 인에이블 신호에 기초하여 상기 데이터 인에이블 신호를 발생하는 로직 게이트를 더 포함하는 것을 특징으로 하는 내장형 로직 분석기.
  11. 제10 항에 있어서, 상기 타임 콘트롤러는,
    상기 데이터 캡쳐의 시작 시점을 나타내는 기입 시작 신호를 발생하는 제1 로직 회로;
    상기 데이터 캡쳐의 종료 시점을 나타내는 기입 종료 신호를 발생하는 제2 로직 회로;
    상기 데이터 캡쳐의 상대적인 시간을 제공하는 내부 타이머; 및
    상기 시작 트리거 인에이블 신호 또는 상기 종료 트리거 인에이블 신호의 활성화 회수를 카운트하는 카운터를 포함하는 것을 특징으로 하는 내장형 로직 분석기.
  12. 제11 항에 있어서, 상기 타임 콘트롤러는,
    외부로부터 제공되는 시작 제어 신호 또는 종료 제어 신호에 응답하여 상기 기입 시작 신호 또는 상기 기입 종료 신호를 각각 활성화하는 것을 특징으로 하는 내장형 로직 분석기.
  13. 제11 항에 있어서, 상기 타임 콘트롤러는,
    시스템 타이머로부터의 시스템 시간이 기준 시작 시간 또는 기준 종료 시간과 각각 일치하는 시점에서 상기 기입 시작 신호 또는 상기 기입 종료 신호를 각각 활성화하는 것을 특징으로 하는 내장형 로직 분석기.
  14. 제11 항에 있어서, 상기 타임 콘트롤러는,
    외부로부터 제공되는 시작 제어 신호 또는 종료 제어 신호가 활성화된 후부터 상기 시작 트리거 인에이블 신호 또는 상기 종료 트리거 인에이블 신호의 활성화 회수를 각각 카운트하고, 상기 활성화 회수에 기초하여 상기 기입 시작 신호 또는 상기 기입 종료 신호를 각각 활성화하는 것을 특징으로 하는 내장형 로직 분석기.
  15. 제11 항에 있어서, 상기 타임 콘트롤러는,
    시스템 타이머로부터의 시스템 시간이 기준 시작 시간 또는 기준 종료 시간과 각각 일치하는 시점부터 상기 시작 트리거 인에이블 신호 또는 상기 종료 트리거 인에이블 신호의 활성화 회수를 각각 카운트하고, 상기 활성화 회수에 기초하여 상기 기입 시작 신호 또는 상기 기입 종료 신호를 각각 활성화하는 것을 특징으로 하는 내장형 로직 분석기.
  16. 집적 회로 내에 포함된 내장형 로직 분석기(embedded logic analyzer)로서,
    상기 집적 회로 내의 기능 블록으로부터의 입력 데이터 신호에 기초하여 서로 다른 비교 조건들에서 각각 활성화되는 복수의 비교 인에이블 신호들 및 캡쳐 데이터 신호를 발생하는 비교 블록;
    상기 비교 인에이블 신호들에 대한 논리 연산을 수행하여 데이터 캡쳐 타이밍을 나타내는 데이터 인에이블 신호를 발생하는 연산 블록; 및
    상기 캡쳐 데이터 신호, 상기 데이터 인에이블 신호 및 시간 정보 신호에 기초하여 캡쳐 데이터 및 캡쳐 시간 정보를 포함하는 팩커 데이터 신호를 발생하는 팩커를 포함하고,
    상기 팩커는,
    상기 캡쳐 데이터 신호에 기초하여 서로 다른 비트수의 데이터 비트 신호들을 발생하는 데이터 추출부;
    상기 시간 정보 신호에 기초하여 서로 다른 비트수의 시간 정보 비트 신호들을 발생하는 시간 정보 추출부;
    상기 데이터 비트 신호들 및 상기 시간 정보 비트 신호들을 각각 병합하여 전체 비트수가 동일하고 서로 다른 비트수의 상기 캡쳐 시간 정보를 포함하는 병합 데이터 신호들을 발생하는 합성부; 및
    타임 사이즈 신호에 기초하여 상기 병합 데이터 신호들 중 하나를 상기 팩커 데이터 신호로서 출력하는 멀티플렉서를 포함하는 것을 특징으로 하는 내장형 로직 분석기.
  17. 제1 항에 있어서, 상기 팩커는
    상기 캡쳐 데이터 신호에 기초하여 일정한 비트수의 데이터 비트 신호를 발생하는 데이터 추출부;
    상기 시간 정보 신호에 기초하여 일정한 비트수의 시간 정보 비트 신호를 발생하는 시간 정보 추출부; 및
    타임 주기 신호에 기초하여 상기 데이터 비트 신호 및 상기 시간 정보 비트 신호 중 하나를 선택적으로 상기 팩커 데이터 신호로서 출력하는 멀티플렉서를 포함하는 것을 특징으로 하는 내장형 로직 분석기.
  18. 제1 항에 있어서, 상기 팩커는,
    비트 폭 신호에 응답하여 상기 캡쳐 데이터 신호의 전체 비트수 중에서 상기 캡쳐 데이터로서 캡쳐되는 비트수를 조절하는 것을 특징으로 하는 내장형 로직 분석기.
  19. 제1 항에 있어서,
    상기 집적 회로 내의 복수의 기능 블록들로부터 수신되는 복수의 로직 신호들 중 하나를 선택하여 상기 입력 데이터 신호로서 제공하는 입력 선택부를 더 포함하는 것을 특징으로 하는 내장형 로직 분석기.
  20. 상호접속 장치;
    상기 상호접속 장치에 연결된 복수의 기능 블록들; 및
    상기 기능 블록들 중 적어도 하나에 직접 연결된 내장형 로직 분석기(embedded logic analyzer)를 포함하고,
    상기 내장형 로직 분석기는,
    상기 기능 블록들 중 하나로부터의 입력 데이터 신호에 기초하여 서로 다른 비교 조건들에서 각각 활성화되는 복수의 비교 인에이블 신호들 및 캡쳐 데이터 신호를 발생하는 비교 블록;
    상기 비교 인에이블 신호들에 대한 논리 연산을 수행하여 데이터 캡쳐 타이밍을 나타내는 데이터 인에이블 신호를 발생하는 연산 블록; 및
    상기 캡쳐 데이터 신호, 상기 데이터 인에이블 신호 및 시간 정보 신호에 기초하여 캡쳐 데이터 및 캡쳐 시간 정보를 포함하는 팩커 데이터 신호를 발생하는 팩커를 포함하고,
    상기 비교 블록은,
    상기 비교 조건들을 나타내는 비교 제어 신호들의 각각 및 상기 입력 데이터 신호에 기초하여 상기 비교 인에이블 신호들의 각각을 발생하는 복수의 비교 유닛들을 포함하고,
    상기 비교 유닛들 중 적어도 하나는,
    상기 입력 데이터 신호 및 다른 비교 유닛으로부터의 제1 쉬프트 데이터 신호 중 하나를 쉬프트하여 제2 쉬프트 데이터 신호를 발생하고, 상기 제2 쉬프트 데이터를 또 다른 비교 유닛으로부터의 제3 쉬프트 데이터 신호 및 기준 데이터 신호 중 하나와 비교하여 상기 비교 인에이블 신호를 발생하는 집적 회로.
KR1020150114422A 2015-08-13 2015-08-13 내장형 로직 분석기 및 이를 포함하는 집적 회로 KR102391385B1 (ko)

Priority Applications (6)

Application Number Priority Date Filing Date Title
KR1020150114422A KR102391385B1 (ko) 2015-08-13 2015-08-13 내장형 로직 분석기 및 이를 포함하는 집적 회로
TW105116208A TWI709038B (zh) 2015-08-13 2016-05-25 嵌入式邏輯分析器以及包含該分析器的積體電路
DE102016109869.8A DE102016109869A1 (de) 2015-08-13 2016-05-30 Eingebetteter Logistikanalysator und integrierte Schaltung mit demselben
US15/170,020 US11029357B2 (en) 2015-08-13 2016-06-01 Embedded logic analyzer and integrated circuit including the same
CN201610670876.6A CN106443422B (zh) 2015-08-13 2016-08-15 嵌入式逻辑分析仪和包括该嵌入式逻辑分析仪的集成电路
US17/337,517 US11719747B2 (en) 2015-08-13 2021-06-03 Embedded logic analyzer and integrated circuit including the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150114422A KR102391385B1 (ko) 2015-08-13 2015-08-13 내장형 로직 분석기 및 이를 포함하는 집적 회로

Publications (2)

Publication Number Publication Date
KR20170019912A KR20170019912A (ko) 2017-02-22
KR102391385B1 true KR102391385B1 (ko) 2022-04-27

Family

ID=57908187

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150114422A KR102391385B1 (ko) 2015-08-13 2015-08-13 내장형 로직 분석기 및 이를 포함하는 집적 회로

Country Status (5)

Country Link
US (2) US11029357B2 (ko)
KR (1) KR102391385B1 (ko)
CN (1) CN106443422B (ko)
DE (1) DE102016109869A1 (ko)
TW (1) TWI709038B (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102276895B1 (ko) * 2017-08-17 2021-07-12 삼성전자주식회사 반도체 장치 및 그 이벤트 프로파일링 방법
JP6572290B2 (ja) * 2017-11-22 2019-09-04 ファナック株式会社 電子機器の異常検出装置
EP3688638B1 (en) 2018-12-03 2023-01-04 Hewlett-Packard Development Company, L.P. Logic circuitry package
CN112198424B (zh) * 2020-09-25 2023-04-25 杭州加速科技有限公司 Fpga芯片内的测试逻辑分析单元
WO2023224024A1 (ja) * 2022-05-17 2023-11-23 三菱電機株式会社 ロジックアナライザ回路、集積回路および集積回路システム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050257109A1 (en) 2003-03-20 2005-11-17 Averbuj Roberto F Built-in self-test (BIST) architecture having distributed interpretation and generalized command protocol
US20060156290A1 (en) * 2005-01-11 2006-07-13 Johnson Tyler J System and method to qualify data capture
US20120131404A1 (en) 2010-11-23 2012-05-24 Ruben Ramirez Providing An On-Die Logic Analyzer (ODLA) Having Reduced Communications

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2692649B2 (ja) 1995-06-23 1997-12-17 日本電気株式会社 測定装置およびロジックアナライザ
JP2776321B2 (ja) 1995-09-13 1998-07-16 日本電気株式会社 ロジックアナライザ
JPH10283217A (ja) 1997-04-09 1998-10-23 Oki Electric Ind Co Ltd 装置デバック方法
US6286114B1 (en) * 1997-10-27 2001-09-04 Altera Corporation Enhanced embedded logic analyzer
US6321331B1 (en) * 1998-04-22 2001-11-20 Transwitch Corporation Real time debugger interface for embedded systems
KR20000001364A (ko) 1998-06-10 2000-01-15 김영환 메모리 모듈의 불량 어드레스에 대한 기록 신호 검출 회로
JP2006047076A (ja) 2004-08-04 2006-02-16 Matsushita Electric Ind Co Ltd デジタル信号期待値エラー検出装置及び検出回路
US7903560B2 (en) * 2004-12-30 2011-03-08 Intel Corporation Correlation technique for determining relative times of arrival/departure of core input/output packets within a multiple link-based computing system
JP2006337128A (ja) 2005-06-01 2006-12-14 Matsushita Electric Ind Co Ltd 半導体内部信号観測装置
US7665003B2 (en) * 2006-12-15 2010-02-16 Qualcomm Incorporated Method and device for testing memory
US7536615B1 (en) * 2007-03-26 2009-05-19 Lattice Semiconductor Corporation Logic analyzer systems and methods for programmable logic devices
KR100884983B1 (ko) 2007-06-26 2009-02-23 주식회사 동부하이텍 표준 셀 라이브러리의 성능 개선을 위한 측정 장치
US8914681B2 (en) 2009-08-18 2014-12-16 Lexmark International, Inc. Integrated circuit including a programmable logic analyzer with enhanced analyzing and debugging capabilities and a method therefor
US8516304B2 (en) * 2009-08-18 2013-08-20 Lexmark International, Inc. Integrated circuit including a programmable logic analyzer with enhanced analyzing and debugging capabilities and a method therefor
US9348961B2 (en) * 2014-03-27 2016-05-24 Wipro Limited Logic analyzer circuit for programmable logic device
KR101633585B1 (ko) 2014-03-31 2016-06-27 아주대학교산학협력단 표면개질된 연골세포 유래 세포외 기질막을 유효성분으로 함유하는 유착방지용 조성물
US10078113B1 (en) * 2015-06-11 2018-09-18 Xilinx, Inc. Methods and circuits for debugging data bus communications

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050257109A1 (en) 2003-03-20 2005-11-17 Averbuj Roberto F Built-in self-test (BIST) architecture having distributed interpretation and generalized command protocol
US20060156290A1 (en) * 2005-01-11 2006-07-13 Johnson Tyler J System and method to qualify data capture
US20120131404A1 (en) 2010-11-23 2012-05-24 Ruben Ramirez Providing An On-Die Logic Analyzer (ODLA) Having Reduced Communications

Also Published As

Publication number Publication date
TWI709038B (zh) 2020-11-01
US11029357B2 (en) 2021-06-08
TW201723837A (zh) 2017-07-01
KR20170019912A (ko) 2017-02-22
US20170045582A1 (en) 2017-02-16
CN106443422A (zh) 2017-02-22
CN106443422B (zh) 2020-06-26
US20210286001A1 (en) 2021-09-16
US11719747B2 (en) 2023-08-08
DE102016109869A1 (de) 2017-02-16

Similar Documents

Publication Publication Date Title
KR102391385B1 (ko) 내장형 로직 분석기 및 이를 포함하는 집적 회로
US9720438B2 (en) Clock switch device and system-on-chip having the same
KR102410692B1 (ko) 슬레이브와 데이터 통신을 할 수 있는 마스터와 상기 마스터를 포함하는 데이터 처리 시스템
US8924740B2 (en) Encryption key transmission with power analysis attack resistance
JP2017527886A5 (ko)
EP2945126B1 (en) Graphics processing method and graphics processing apparatus
US8582709B2 (en) Bandwidth synchronization circuit and bandwidth synchronization method
JP2021061036A (ja) ベクトルプロセッサ
CN106030543B (zh) 干扰测试
TWI782457B (zh) 非整數除頻器以及快閃記憶體控制器
US8838861B2 (en) Methods and apparatuses for trace multicast across a bus structure, and related systems
US10133552B2 (en) Data storage method, ternary inner product operation circuit, semiconductor device including the same, and ternary inner product arithmetic processing program
JP6735951B2 (ja) 高位合成装置、高位合成方法および高位合成プログラム
JP2013015985A (ja) マルチコアプロセッサのすべてのプロセッサコアの実行トレースダンプが可能なsocデバイス
Wang et al. RVNet: A fast and high energy efficiency network packet processing system on RISC-V
US10311188B2 (en) Circuit design support apparatus, circuit design support method, and computer readable medium
JP7274069B2 (ja) トレース制御装置、エミュレータ、トレース制御方法、および、トレース制御プログラム
US8768991B2 (en) Mechanism to find first two values
US10346572B1 (en) Inclusion and configuration of a transaction converter circuit block within an integrated circuit
CN116594930A (zh) 一种基于流水线的数据传输控制方法、系统及电子设备
CN117331884A (zh) 一种基于硬件封装的系统芯片设计控制方法及装置
KR20140109128A (ko) 데이터 리드 방법과 상기 방법을 수행할 수 있는 장치들
JP2009020708A (ja) インタフェース回路、電子機器及びインタフェース回路の制御方法
JP2009026162A (ja) インタフェース回路、電子機器及びインタフェース回路の制御方法
JP2014032469A (ja) 情報処理システム、情報処理装置、及び電子装置

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