KR101918195B1 - 강화된 분석 및 디버깅 성능들을 갖는 프로그래머블 로직 분석기를 포함하는 집적 회로 및 그 방법 - Google Patents

강화된 분석 및 디버깅 성능들을 갖는 프로그래머블 로직 분석기를 포함하는 집적 회로 및 그 방법 Download PDF

Info

Publication number
KR101918195B1
KR101918195B1 KR1020137005044A KR20137005044A KR101918195B1 KR 101918195 B1 KR101918195 B1 KR 101918195B1 KR 1020137005044 A KR1020137005044 A KR 1020137005044A KR 20137005044 A KR20137005044 A KR 20137005044A KR 101918195 B1 KR101918195 B1 KR 101918195B1
Authority
KR
South Korea
Prior art keywords
logic analyzer
input
signals
analyzer circuit
circuit
Prior art date
Application number
KR1020137005044A
Other languages
English (en)
Other versions
KR20130106355A (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 KR20130106355A publication Critical patent/KR20130106355A/ko
Application granted granted Critical
Publication of KR101918195B1 publication Critical patent/KR101918195B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/263Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
    • 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/317Testing of digital circuits
    • G01R31/3177Testing of logic operation, e.g. by logic analysers
    • 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
    • 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/2294Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by remote test

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Debugging And Monitoring (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Logic Circuits (AREA)

Abstract

강화된 분석 및 디버깅 성능들을 갖는 로직 분석기를 포함하는 집적 회로 및 그 방법. 본 발명의 일 실시예에서, 임베디드 로직 분석기(ELA; embedded logic analyzer)는 집적 회로 내의 복수의 버스들로부터 복수의 신호들을 수신한다. ELA는 복수의 수신 신호들로부터 트리거 신호 및/또는 샘플링된 신호를 선택하기 위해 상호접속 모듈을 포함한다. 트리거 모듈은 적어도 하나의 트리거 조건을 설정하고, 트리거 신호가 적어도 하나의 트리거 조건을 충족하는지를 검출한다. 트리거 조건이 충족될 때, 출력 모듈은 충족된 적어도 하나의 트리거 조건에 기초하여 적어도 하나의 태스크를 수행한다. 샘플링 프로세스가 출력 모듈에 의해 개시되는 경우, 복수의 샘플링 신호들이 샘플링되고 메모리 내에 저장될 수 있다. 다수의 사용자-정의된 태스크들을 수행하기 위한 출력 모듈의 성능은 ELA의 디버깅 성능을 강화하고 이 성능을 더욱 다목적으로 만든다.

Description

강화된 분석 및 디버깅 성능들을 갖는 프로그래머블 로직 분석기를 포함하는 집적 회로 및 그 방법{AN INTEGRATED CIRCUIT INCLUDING A PROGRAMMABLE LOGIC ANALYZER WITH ENHANCED ANALYZING AND DEBUGGING CAPABILITIES AND A METHOD THEREFOR}
관련 출원에 대한 상호 참조
37 C.F.R. §1.78에 의하여, 본 출원은, 발명의 명칭이 "An Integrated Circuit Including a Programmable Logic Analyzer with Enhanced Analyzing and Debugging Capabilities and a Method Therefor" 이고 2009년 8월 18일 출원된 출원 일련 번호 제12/542,976호의 일부계속출원이고, 상기 출원의 우선일의 이익을 주장하고, 상기 출원의 내용은 그 전체가 본원에 인용에 의해 포함된다.
1. 본 발명의 분야
본 발명은 일반적으로 임베디드 로직 분석기(embedded logic analyzer)에 관한 것이고, 구체적으로는 전자 회로를 분석하기 위한 프로그래머블 임베디드 로직 분석기에 관한 것이다.
2. 관련 기술의 설명
로직 분석기는 전자 회로의 데이터 신호들을 캡쳐하고 디스플레이하는데 이용되는 전자 기기(electronic instrument)이다. 일반적으로, 로직 분석기는 사용자에 의해 관찰되기에는 너무 빠른 데이터 신호들을 캡쳐한다. 사용자는 로직 분석기에 의해 캡쳐된 데이터 신호들을 관찰하여 전자 회로를 효과적으로 분석하고 우선적인 액션들을 취하며 그 분석에 기초하여 디버깅(debug)한다.
로직 분석기들은 외부 로직 분석기들 및 임베디드 로직 분석기들로서 광범위하게 분류될 수 있다. 임베디드 로직 분석기는 일반적으로, 프로그래머블 로직 디바이스 또는 집적 회로(IC), 예를 들어, 복합 프로그래머블 로직 디바이스(CPLD; complex programmable logic device), 필드 프로그래머블 게이트 어레이(FPGA), 주문형 집적 회로(ASIC) 등 내에 포함된다. 임베디드 로직 분석기는 IC 내의 대량의고속 데이터 신호들을 캡쳐하기 위한 성능을 갖는다.
임베디드 로직 분석기는 캡쳐된 데이터 신호들을 저장하기 위한 메모리를 포함할 수 있다. 보통, 임베디드 로직 분석기는 사용자에 의해 특정된 데이터 신호들을 캡쳐하고 저장하도록 프로그래밍가능하다. 임베디드 로직 분석기에 의해 저장된 데이터 신호들은 추가적인 분석을 위해 컴퓨터에 트랜스퍼될 수 있다. 데이터 신호들은 일반적으로 IC상에 제공된 인터페이스를 통해서 컴퓨터에 트랜스퍼된다.
도 1은 집적 회로(미도시) 내에 포함된 종래의 임베디드 로직 분석기(ELA)(100)의 블록도이다. ELA(100)는 집적 회로 내에 복수의 데이터 신호들을 수신하기 위해 상호접속 모듈(110)을 포함한다. 상호접속 모듈(110)은 샘플링될 복수의 신호들 및 그 복수의 신호들로부터의 샘플링을 인에이블하기 위한 적어도 하나의 트리거 신호를 선택하도록 프로그래밍가능하다. 적어도 하나의 트리거 신호는 트리거 모듈(120)에 트랜스퍼된다. 트리거 모듈(120)은, 트리거 조건을 설정하고, 적어도 하나의 트리거 신호가 트리거 조건을 충족하는지를 검출하도록 프로그래밍가능하다. 트리거 조건이 충족되면, 트리거 모듈(120)은 샘플링 프로세스를 개시한다. 샘플링 프로세스의 개시시에, 메모리 컨트롤러(130)는 상호접속 모듈(110)로부터의 샘플링될 복수의 신호들을 샘플링하는 것을 시작한다. 샘플링 신호들은 추가적인 분석을 위해 메모리(140) 내에 저장될 수 있다. 이에 따라, ELA(100)는 이하에 주어진 일반적인 코드(general code)를 실행하도록 동작한다:
IF (<TRIGGER CONDITION>) THEN (SAMPLE SIGNALS(X)),
여기서, TRIGGER CONDITION은 임의의 논리 연산이거나 또는 일련의 논리 연산들이며, SIGNALS(X)는 상호접속 모듈(110)로부터의 샘플링될 복수의 신호들이다. ELA(100)에 의해 실행된 코드에 따르면, 트리거 조건이 충족될 때, ELA(100)는 적어도 하나의 샘플링된 신호를 샘플링하고 그 샘플링된 신호를 메모리(140) 내에 저장한다.
그러나, 종래의 ELA들은 트리거 조건이 충족될 때 샘플링하는 것으로 제한된다. 게다가, 종래의 ELA들은 IC내의 소프트웨어 데이터 또는 펌웨어 데이터 신호들을 캡쳐하고, 분석하고, 그리고/또는 디버깅하지 않으며, 이러한 유형들의 데이터를 분석하기 위해서 추가적인 기기(들)이 필수적일 수 있다. 추가적으로, ELA를 프로그래밍하거나 ELA내에 저장된 데이터를 분석하기 위해, 사용자는 ELA가 설치된 워크스테이션이 있는 곳에 존재하도록 요구된다.
따라서, 앞서-언급된 문제들을 제거하기 위해 강화된 분석 및 디버깅 성능들을 갖춘 ELA를 제공하는 것이 바람직할 수 있다.
본 발명의 예시적인 실시예들은, 알려진 로직 분석기들에서의 단점들을 극복하고, 이에 따라 시스템을 효과적으로 테스트하고 디버깅하기 위한 메커니즘에 대한 중대한 필요성을 충족한다. 예시적인 실시예에 따르면, 복수의 신호들을 수신하는 제 1 입력 및 그 제 1 입력에서 나타나는 신호들의 선택된 샘플들을 제공하기 위한 제 1 출력을 갖는 로직 분석기; 및 커스텀 블록을 포함하는 집적 회로가 개시되며, 커스텀 블록은, 로직 분석기의 제 1 입력에서 나타나는 신호들 중 하나 또는 둘 이상을 수신하기 위해 로직 분석기에 결합된 제 1 입력 및 구성가능한(configurable) 미리결정된 기능에 따라서 로직 분석기의 제 1 입력에서의 하나 또는 둘 이상의 신호들에 기초하는 하나 또는 둘 이상의 신호들의 별개의 세트를 로직 분석기에 직접 제공하기 위해 로직 분석기에 결합된 출력을 갖다. 로직 분석기의 제 1 입력에서 나타나는 하나 또는 둘 이상의 신호들에 기초하여 로직 분석기로 별개의 신호 세트를 제공함으로써, 커스텀 블록은 시스템-레벨 및 서브시스템-레벨 테스트 및 디버그 동작들 모두를 효율적으로 수행하도록 인에이블하는데 있어서 부가된 유연성을 제공한다.
다른 예시적인 실시예에 따르면, 복수의 신호들을 수신하기 위한 입력을 갖는 임베디드 로직 분석기 블록 및 복수의 신호들에 일부 기초하여 이벤트의 출현을 검출하기 위한 트리거 모듈을 갖는 집적 회로; 및 임베디드 로직 분석기에 결합되고 이벤트의 출현의 검출에 기초하는 출력 ― 상기 출력은 임베디드 로직 분석기에서의 샘플링 또는 저장을 위해 임베디드 로직 분석기에 제공됨 ― 을 갖는 블록;을 포함하는 시스템이 개시된다. 이벤트의 출현 또는 검출에 기초하는 샘플링 또는 저장을 위한 출력을 임베디드 로직 분석기에 제공함으로써, 이 블록은 시스템 데이터를 샘플링하고 저장하기 위한 더욱 효율적인 메커니즘을 유리하게 허용한다.
본 발명의 추가적인 특징들 및 이점들은, 후술하는 상세한 설명에서 설명될 것이고, 그리고 부분적으로는 그 설명으로부터 당업자에게 용이하게 명백하거나 또는, 후술하는 상세한 설명, 청구항뿐만 아니라 첨부된 도면들을 포함하여, 본원에 설명되는 것과 같이 본 발명을 실행함으로써 인식될 것이다.
본 발명의 본 실시예들의 앞선 일반적인 설명 및 후술하는 상세한 설명 모두는, 청구된 바와 같은, 본 발명의 특성 및 특징을 이해하기 위한 개관 또는 프레임워크를 제공하도록 의도된다는 것이 이해되어야만 한다. 첨부된 도면들은 본 발명의 추가적인 이해를 제공하도록 포함되며, 이 상세한 설명으로 통합되고 그 일부를 구성한다. 도면들은 본 발명의 다양한 실시예들을 예시하고, 그 설명과 함께 본 발명의 원리들 및 동작을 설명하도록 기능한다.
본 발명의 다양한 실시예들의 앞서-언급된 그리고 다른 특징들 및 이점들, 그리고 이들을 획득하는 방식은, 첨부된 도면들을 참조하여 더 잘 이해될 것이다.
도 1은 종래의 임베디드 로직 분석기의 블록도이다.
도 2는 본 발명에 따라서 로직 분석기를 포함하는 집적 회로의 일 실시예의 블록도이다.
도 3은 도 2의 집적 회로를 임베딩하는 장치의 블록도이다.
도 4는 도 2의 집적 회로에 원격 호스트를 결합하는 네트워크 액세스 디바이스를 예시하는 블록도이다.
도 5는 도 2의 집적 회로 상에 포함된 로직 분석기에 소프트 신호들을 공급하기 위한 인터페이스를 예시하는 블록도이다.
도 6은 본 발명에 따라서 도 1의 로직 분석기에 소프트 신호들을 공급하도록 구성된 인터페이스를 예시하는 블록도이다.
도 7은 도 2의 집적 회로 내에 포함된 로직 분석기와 통신하는 프로세서를 나타내는 블록도이다.
도 8은 본 발명에 따라서 도 2의 집적 회로 내의 소프트웨어 신호들을 캡쳐하도록 수행된 동작들을 예시하는 플로우차트이다.
도 9는 본 발명의 예시적인 실시예에 따라서 집적 회로를 갖는 시스템을 예시하는 블록도이다.
도 10은 본 발명의 예시적인 실시예에 따라서 집적 회로를 갖는 시스템을 예시하는 블록도이다.
도 11은 본 발명의 예시적인 실시예에 따라서 집적 회로를 갖는 시스템을 예시하는 블록도이다.
이하, 첨부된 도면들에 예시된 바와 같이, 본 발명의 예시적인 실시예(들)에 대한 참조가 상세하게 이루어질 것이다. 언제든지 가능하다면, 동일한 참조 번호들은 동일한 또는 유사한 부분들을 지칭하도록 도면 전체에 걸쳐서 이용될 것이다.
본 발명은 강화된 분석 및 디버깅 성능들을 갖는 집적 회로 내에 포함된 프로그래머블 임베디드 로직 분석기에 관한 것이다. 도 2는 집적 회로(IC)(260) 상에 배치된 임베디드 로직 분석기(ELA)(200)의 일 실시예를 예시한다. ELA(200)는 IC(260)내에서 복수의 후보 신호들 중 적어도 하나를 선택하도록 프로그래밍가능한 상호접속 모듈(210)을 포함한다. 상호접속 모듈(210)에 의해 선택된 복수의 후보 신호들은 적어도 하나의 트리거 신호 및/또는 샘플링될 적어도 하나의 신호(즉, 샘플링된 신호)를 포함할 수 있다. 상호접속 모듈(210)은 적어도 하나의 트리거 신호를 트리거 모듈(220)로 라우팅한다. 트리거 모듈(220)은, 적어도 하나의 트리거 신호가 사용자에 의해 특정된 적어도 하나의 트리거 조건을 충족하는지 여부를 검출한다. 트리거 조건이 충족되는 경우, 출력 모듈(230)은 적어도 하나의 태스크를 수행한다. 예를 들어, 출력 모듈(230)은 IC(260)내에서 적어도 하나의 신호를 변형시킬 수 있다.
IC(260)는 복수의 후보 신호들을 반송하는 복수의 버스들(265)을 포함한다. 복수의 신호들은 적어도 하나의 샘플링된 신호 및 적어도 하나의 트리거 신호를 포함한다. 상호접속된 모듈(210)은 복수의 버스들(265)로부터 복수의 신호들을 수신한다. 상호접속된 모듈(210)은 복수의 수신 신호들로부터 적어도 하나의 샘플링된 신호 및/또는 적어도 하나의 트리거 신호를 선택하도록 프로그래밍가능하다. 필수적으로, 상호접속 모듈(210)은 사용자에 의해 특정된 샘플링된 신호(들) 및/또는 트리거 신호(들)을 선택한다. 일 실시예에서, 상호접속 모듈(210)은 멀티플렉서일 수 있다.
상호접속된 모듈(210)은 트리거 신호를 트리거 모듈(220)에 라우팅한다. 트리거 모듈(220)은 트리거 조건을 설정하도록 프로그래밍가능하다. 트리거 조건은 단일 논리 연산(예를 들어, 간단한 이벤트) 또는 일련의 논리 연산들(예를 들어, 유한 상태 머신에 의해 수행되는 복잡한 일련의 이벤트들)일 수 있다. 트리거 모듈(220)은 적어도 하나의 트리거 조건이 트리거 신호에 의해 충족되는지를 검출한다. 트리거 조건이 충족되는 경우, 트리거 모듈(220)은 그 정보를 출력 모듈(230)에 제공한다.
출력 모듈(230)은 적어도 하나의 트리거 조건의 충족에 기초하여, 그 충족에 응답하여 또는 그 충족의 결과로서 태스크들의 그룹으로부터의 적어도 하나의 태스크를 수행한다. 태스크들의 그룹은 복수의 수신 신호들로부터 적어도 하나의 신호를 변형하는 것, 적어도 하나의 트리거 조건을 변형하는 것, 및 샘플링 프로세스를 개시하는 것을 포함할 수 있다. 일 실시예에서, 출력 모듈(230)은 필드 프로그래머블 게이트 어레이이다.
출력 모듈(230)이 샘플링 프로세스를 개시하는 경우, 샘플링 컨트롤러(240)는 상호접속 모듈(210)로부터의 샘플링된 신호를 샘플링하는 것을 시작한다. 샘플링 컨트롤러(240)에 의해 샘플링된 샘플링 신호는 메모리(250) 내에 저장될 수 있다. 메모리(250) 내에 저장된 신호들은 분석을 위해 컴퓨터(미도시)에 트랜스퍼될 수 있다. 컴퓨터로의 이러한 신호 트랜스퍼는 USB 포트와 같은 통신 포트(280)를 통해서 발생할 수 있다. 다음으로, 컴퓨터에 트랜스퍼된 신호들은 사용자에 의해 분석될 수 있다.
도 2는 메모리(250)가 ELA(200) 내에 상주하는 것으로 나타내지만, 다른 실시예에서는 메모리가 집적 회로(260) 상의 별도의 컴포넌트일 수 있다는 것이 당업자에 의해 이해될 것이다. 또 다른 실시예에서, 메모리가 ELA에 통신가능하게 결합된 채로 유지되는 것으로 가정하면, 메모리는 집적 회로(260)로부터 분리되어 위치될 수 있다. 신호들을 분석한 후, 도 3에 도시된 것과 같은 IC(260)를 임베딩하는 장치(300) 내의 적어도 하나의 동작은 분석에 기초하여 특정 태스크를 수행하도록 출력 모듈(230)을 구성하거나 또는 프로그래밍함으로써 수행될 수 있다. 예를 들어, 사용자는 에러 또는 결함을 디버깅하거나 또는 장치(300)의 컴포넌트의 동작을 정정할 수 있다. 따라서, 장치(300)는 장치(300)의 적절한 기능을 보증하기 위해 더욱 효과적으로 진단될 수 있다. 일 실시예에서, 장치(300)는, 프린터, 스캐너, 또는 (인쇄하고, 스캐닝하고, 팩스하고 그리고/또는 카피하는 성능을 갖는)다기능 디바이스와 같은 이미징 디바이스일 수 있다.
출력 모듈(230)은 충족된 트리거 조건에 기초하여, 그 조건에 응답하여, 또는 그 조건의 결과로서 적어도 하나의 신호를 변형하도록 프로그래밍되거나 또는 설정될 수 있다. 충족된 트리거 조건이 에러를 나타내는 경우, 출력 모듈(230)은 표시된 에러를 정정하기 위해 ELA(200)에 의해 수신된 복수의 신호들로부터 적어도 하나의 신호를 변형할 수 있다. 예를 들어, 신호의 값 'X'가 장치(300)의 에러-프리 동작에 대해 30이어야만 하는 경우, 그리고 트리거 조건 X≠30이 충족되는 경우, 출력 모듈(230)은 장치(300)의 에러 프리 동작을 위해 신호의 값을 30으로 도출하기 위해 신호의 값 X을 변형한다.
또한, 출력 모듈(230)은, 표시된 에러를 정정하기 위해 ELA(200)에 의해 수신된 복수의 신호들로부터의 적어도 하나의 신호를 변형하도록 컨트롤러(270)(도 2에 도시됨)에 지시할 수 있다. 예를 들어, 출력 모듈(230)은, 모터의 속도를 규제하는 펄스 폭 변조기(PWM; pulse width modulator)가 고정되어 있는 것으로 검출되는 경우, PWM을 턴 오프하도록 컨트롤러(270)에 지시하여, 이에 따라 모터에 대한 손상을 방지한다. 출력 모듈(230)은 또한 직접 메모리 액세스(DMA; direct memory access) 동작을 정지할 수 있다. 또한, 요구되는 경우, 출력 모듈(230)은 트리거 조건을 변형할 수 있다. 출력 모듈(230)의 이러한 성능들은 ELA(200)의 디버깅 전력을 크게 강화한다. 이에 따라, ELA(200)는 이하의 주어진 코드를 일반적으로 실행한다:
IF (<CONDITION>) THEN (<ACTION(S)>),
여기서, ACTION(S)은 출력 모듈 또는 컨트롤러에 의해 수행된 앞서 언급된 동작들 중 적어도 임의의 하나이며, CONDITION은 사용자에 의해 설정된 트리거 조건이다.
일 실시예에서, 도 4에 도시된 바와 같이, IC(260)는 네트워크 액세스 디바이스(400)를 포함한다. 네트워크 액세스 디바이스(400)는 ELA(200)에 통신가능하게 결합되고, 직접 또는 네트워크를 통해서 원격 호스트(410)에 접속된다. 접속은 유선 접속 및/또는 무선 접속을 포함할 수 있고, 네트워크는 인터넷, 근거리 네트워크, 광역 네트워크 또는 메트로폴리탄 영역 네트워크일 수 있다. 원격 호스트(410)는 IC(260)내에서 ELA(200)를 프로그래밍할 수 있다. 또한, 원격 호스트(410)는 메모리 내에 저장된 샘플링 신호들을 분석할 수 있다. 원격 호스트(410)는 네트워크 액세스 디바이스(400)를 통해서 ELA(200)에 액세스한다.
ELA(200)는 저장된 샘플링 신호들을 분석을 위해 원격 호스트(410)에 자동으로 그리고 주기적으로 전송하도록 프로그래밍될 수 있다. 예를 들어, 프린터 내에 임베딩된 ELA(200)는 인코더 신호를 원격 호스트(410)에 자동으로 그리고 주기적으로 전송하도록 프로그래밍될 수 있다. 인코더 신호는 프린터 내에서의 모터의 모션을 나타낸다. 인코더 신호들이 훼손되거나 또는 불량한 상태로 진행되는 것으로 결정되면, 원격 사용자는 프린터를 서비스하도록 명령을 제공할 수 있다. 일 실시예에서, 이러한 명령 또는 커맨드가 원격 호스트(410)로부터 수신되는 경우, ELA(200)는 저장된 데이터 신호들을 원격 호스트(410)에 트랜스퍼하도록 프로그래밍가능하다.
다른 실시예에서, 도 5에 예시된 바와 같이, IC(260)는 중앙 프로세싱 유닛(CPU)(500)을 포함한다. CPU(500)는 ELA(200)에 복수의 데이터 신호들을 제공한다. 데이터 신호들은 하드웨어, 소프트웨어 또는 펌웨어 신호들일 수 있다. 데이터 신호들은 인터페이스를 통해서 CPU(500)로부터 ELA(200)로 공급된다. 인터페이스는 CPU(500) 및 ELA(200)에 통신가능하게 결합된다. 인터페이스는 저장 매체(510) 및 복수의 통신 라인들(1-n)을 포함한다. 복수의 통신 라인들은 CPU(500) 및 저장 매체(510)와 통신가능하게 결합된다. 복수의 통신 라인들(1-n)은 CPU(500)로부터 저장 매체(510)로 복수의 데이터 신호들을 공급하도록 구성된다. 저장 매체(510)는 복수의 데이터 신호들을 저장하도록 구성된다.
복수의 데이터 신호들로부터의 각각의 데이터 신호는 데이터 필드 및 어드레스 필드와 관련된다. 데이터 필드는 저장될 데이터 신호의 값을 제공하고, 어드레스 필드는 데이터 신호가 저장되는 저장 매체(510) 내의 위치를 특정한다. 저장 매체(510)는 복수의 메모리 위치들을 포함한다. 복수의 메모리 위치들 각각은 고유 어드레스를 갖는다. 저장 매체(510) 내에 저장된 복수의 데이터 신호들은 IC(260)상의 복수의 버스들을 통해서 상호접속 모듈(210)에 공급된다. 필수적으로, 저장 매체(510)는 저장된 데이터 신호들을 상호접속 모듈(210)에 공급하기 위해 IC(260)상의 복수의 버스들과 전기 통신한다.
상호접속 모듈(210)에 공급되는 저장된 데이터 신호들은, 하드웨어, 소프트웨어 및/또는 펌웨어 데이터 신호들을 포함한다. 그 데이터 신호들은 복수의 샘플링 신호들 및 적어도 하나의 트리거 신호를 포함한다. 상호접속 모듈(210)은 복수의 수신된 데이터 신호들로부터 복수의 샘플링 신호들 및 적어도 하나의 트리거 신호를 선택한다. 트리거 신호는 트리거 모듈(220)에 공급된다. 트리거 모듈(220)은, 트리거 신호가 적어도 하나의 트리거 조건을 충족하는지를 검출한다. 트리거 조건이 충족되면, 샘플링 컨트롤러(240)는 상호접속 모듈(210)로부터의 복수의 샘플링 신호들을 샘플링한다. 복수의 샘플링 신호들은 메모리(250) 내에 저장된다. 다른 저장된 신호들과 함께 복수의 저장된 신호들은 분석을 위해 컴퓨터로 트랜스퍼된다. 따라서, 소프트웨어, 하드웨어 및/또는 펌웨어 신호들이 컴퓨터상에서 동시에 분석될 수 있다.
다른 실시예에서, 도 6에 예시된 바와 같이, 인터페이스, 즉, 복수의 통신 라인들(1-n) 및 저장 매체(510)는 IC(600)상에 배치된다. IC(600)는 도 1의 ELA(100) 및 CPU(610)를 포함한다. CPU(610)는 ELA(100)에 복수의 데이터 신호들을 공급한다. 복수의 데이터 신호들은 적어도 하나의 소프트웨어 또는 펌웨어 데이터 신호를 포함한다. 복수의 데이터 신호들은 복수의 통신 라인들(1-n) 및 저장 매체(510)를 통해서 CPU(610)로부터 ELA(100)로 공급된다. 복수의 통신 라인들(1-n)은 CPU(610)로부터 저장 매체(510)로 복수의 데이터 신호들을 공급하도록 구성된다. 저장 매체(510)는 복수의 데이터 신호들을 저장하도록 구성된다. 저장 매체(510)에 저장된 데이터 신호들은 IC(600)상의 복수의 버스들을 통해서 상호접속 모듈(110)에 공급된다. 필수적으로, 저장 매체(510)는 저장된 데이터 신호들을 상호접속 모듈(110)로 공급하기 위해 IC(600)상의 복수의 버스들과 전기 통신한다.
또 다른 실시예에서, 도 7에 예시된 바와 같이, ELA(100)가 프로세서(710)를 포함하는 IC(700)상에 배치된다. 프로세서(710)는 IC(700)상의 복수의 버스들로부터 복수의 신호들을 수신한다. 이러한 신호들은 IC(700)내에서 (화살표 A로 표시된) 하드웨어, 소프트웨어 및/또는 펌웨어 신호들의 임의의 조합일 수 있다. 프로세서(710)는 IC(700)상에 배치된 ELA(100)에 통신가능하게 결합된다. 더욱 구체적으로, 프로세서(710)는 ELA(100)의 트리거 모듈(120)에 통신가능하게 결합될 수 있다.
대안적인 실시예에서, IC(700)는 도 2의 ELA(200)에 통신가능하게 결합될 수 있다. 이 실시예에서, 프로세서(710)는 적어도 하나의 트리거 조건이 충족되는지 검출하기 위해 트리거 모듈(220)로부터 적어도 하나의 트리거 신호를 수신한다. 적어도 하나의 트리거 조건이 충족되면, 프로세서(710)는 프로세서(710)에 의해 수신된 복수의 데이터 신호들로부터 적어도 하나의 신호를 변형한다. 프로세서(710)는 또한, 적어도 하나의 트리거 조건이 충족될 때 트리거 모듈(220) 내의 적어도 하나의 트리거 조건을 변형시키도록 프로그래밍가능하다. 프로세서(710)는 IC(700)상에 제공된 인터페이스(720)를 통해서 프로그램가능하다.
IC(700)는 네트워크 액세스 디바이스(400)를 포함할 수 있다. 네트워크 액세스 디바이스(400)는 IC(700)를 원격 호스트(410)에 통신가능하게 결합한다. 원격 호스트(410)는 IC(700)상에 배치된 ELA(100)를 프로그래밍할 수 있다. 원격 호스트(410)는 또한 ELA(100)내에 저장된 샘플링 신호들을 분석할 수 있다. 따라서, 원격 호스트(410)는 ELA(100) 및 네트워크 액세스 디바이스(400)를 임베딩하는 장치(730)를 진단할 수 있다.
도 8은 IC(260)내에서 소프트웨어 신호들 또는 이벤트들을 캡쳐하기 위한 방법을 예시하는 플로우차트이다. 블록(800)에서, IC(260)상에 배치된 CPU(500)는 저장 매체(510)에 복수의 소프트웨어 신호들을 공급한다. 저장 매체는 복수의 소프트웨어 신호들을 저장하도록 구성된다(블록 805). 블록(810)에서, 저장 매체(510)는 저장된 소프트웨어 신호들을 ELA(200)의 상호접속 모듈(210)에 전송한다. 상호접속 모듈(210)은 복수의 수신된 소프트웨어 신호들로부터 샘플링될 복수의 소프트웨어 신호들을 선택하도록 프로그래밍된다(블록 815). 또한, 상호접속 모듈(210)은 복수의 수신된 소프트웨어 신호들로부터 적어도 하나의 소프트웨어 트리거 신호를 선택하도록 프로그래밍된다(블록 820). 사용자는 소프트웨어 이벤트를 위해 적어도 하나의 트리거 조건을 트리거 모듈(220)내에 설정한다(블록 825). 트리거 모듈(220)은, 설정된 트리거 조건이 적어도 하나의 소프트웨어 트리거 신호에 의해 충족되는지 검출한다(블록 830). 트리거 조건이 충족되는 경우, 트리거 모듈(220)은 블록(835)에서 샘플링 프로세스를 개시한다. 그렇지 않으면, 트리거 모듈은 충족된 설정된 트리거 조건의 검출을 반복한다.
샘플링 프로세스의 개시시에, 샘플링 컨트롤러(240)는 상호접속 모듈(210)로부터 샘플링될 복수의 소프트웨어 신호들을 샘플링한다(블록 840). 그후, 샘플링된 소프트웨어 신호들은, 블록(845)에서 메모리(250)내에 저장될 수 있다. 저장된 소프트웨어 신호들은 또한 컴퓨터상에서 구동하는 프로그램에 의한 또는 사용자에 의한 분석을 위해 컴퓨터에 트랜스퍼될 수 있다.
본 발명의 당업자는 본 발명이 소프트웨어 신호들로 제한되지 않는다는 것을 이해할 것이다. 오히려, 하드웨어 및 펌웨어와 같은 다른 신호들이 소프트웨어 신호들 대신에 및/또는 소프트웨어 신호들과 조합하여 캡쳐될 수 있다.
도 9는 본 발명의 다른 실시예에 따른 시스템 집적 회로(900)를 예시한다. 집적 회로(900)는 복수의 모듈들 M을 갖는 시스템(905) 내에 배치될 수 있다. 전술한 바와 같이, 집적 회로(900)는 상호접속 모듈(210), 트리거 모듈(220), 샘플링 컨트롤러(240) 및 메모리(250)를 갖는 임베디드 로직 분석기(902)를 포함할 수 있다. 임베디드 로직 분석기(902)는 시스템 모듈들 M과 결합될 수 있어서, 임베디드 로직 분석기(902)는 그 분석기가 배치된 시스템(905)을 효과적으로 테스트하거나 또는 디버깅하도록 이용될 수 있다.
문구들 "테스트" 및 "디버그"는 시스템 및 시스템의 시스템 모듈들 M의 개발, 테스팅, 디버깅, 시스템 분석 그리고 인-필드 모니터링 및 서비싱 동안 통상적으로 수행되는 이러한 연산들을 포함하도록 의도되는 것으로 더 이해되며, 시스템의 가용 수명에 걸친 설계로부터 시스템 활동의 오직 하나의 문구 또는 시간 기간 만으로 제한되도록 의도되지 않는다.
또한, 집적 회로(900)는 임베디드 로직 분석기(902)와 관련된 하나 또는 둘 이상의 신호들을 수신하는 커스텀 블록(904)을 포함할 수 있다. 특히, 커스텀 블록(904)은 시스템의 다른 모듈들 M으로부터 임베디드 로직 분석기(902)에 제공된 하나 또는 둘 이상의 신호들을 입력으로서 수신할 수 있다. 이러한 신호들은 임베디드 로직 분석기(902)에 의한 샘플링 또는 이벤트 트리거링을 위해 이용가능한 신호들을 포함할 수 있다. 커스텀 블록(904)은, 하나 또는 둘 이상의 수신된 입력 신호들에 기초하는 그리고 샘플링 또는 트리거링을 위해 임베디드 로직 분석기(902)에 다시 공급된 하나 또는 둘 이상의 출력 신호들을 그 출력으로서 발생시킬 수 있다. 임베디드 로직 분석기(902)와 관련된 신호들에 기초하는 샘플링 및/또는 이벤트 트리거링을 위한 하나 또는 둘 이상의 추가적인 신호들을 임베디드 로직 분석기(902)에 제공함으로써, 임베디드 로직 분석기(902)는 집적 회로(900)가 배치되는 시스템을 더욱 효과적으로 디버깅할 수 있다.
커스텀 블록(904)은 특정 시스템 및/또는 임베디드 로직 분석기(902)를 이용하여 테스트 및/또는 디버그에 이용가능한 시스템 모듈들 M에 특정된 회로를 포함할 수 있다. 본 발명의 예시적인 실시예에서, 커스텀 블록(904)은 이에 따라 발생된 신호들이 구성가능할 수 있도록 구성가능하다. 커스텀 블록(904)을 구성가능하게 하는 것은 유리하게는, 매우 다양한 시스템 모듈들 M 및 이에 따라 발생된 시스템 신호들을 테스팅하고 그리고/또는 디버깅하는데 있어서 상당한 유연성을 허용한다. 커스텀 블록(904)은 FPGA 또는 CPLD로서 구현될 수 있다. 대안적으로, 커스텀 블록(904)은 프로세서에 의한 실행을 위한 코드를 저장하기 위해 커스텀 블록(904)에 결합된 메모리를 갖는 프로세서로 구현될 수 있다. 상이한 코드를 로딩하기 위해 메모리를 액세스가능하게 함으로써, 커스텀 블록(904)은 상당히 큰 수의 상이한 시스템 모듈들 M을 테스트하고 그리고/또는 디버깅하기 위해 충분한 유연성을 제공할 수 있다. 또 다른 대안에서, 커스텀 블록(904)은 상태 머신 내에 위치되거나 또는 상태 머신과 관련된 레지스터들로 정보를 저장하고 및/또는 프로그래밍함으로써 부분적으로 프로그래밍가능한 상태 머신 회로를 포함할 수 있다. 커스텀 블록(904)은 구성가능한 기능 및 신호 발생을 제공하기 위한 임의의 수의 방법들로 구현될 수 있다는 것이 이해된다.
도 9에 도시된 바와 같이, 커스텀 블록(904)은 임베디드 로직 분석기(902)에 제공되는 하나 또는 둘 이상의 신호들을 수신할 수 있다. 임베디드 로직 분석기(902)에 제공된 이러한 신호들은 임베디드 로직 분석기(902)의 하나 또는 둘 이상의 입력들에 커스텀 블록(904)의 하나 또는 둘 이상의 입력들을 직접 결합시킴으로써 커스텀 블록(904)에 의해 수신될 수 있다. 이에 더해 또는 대안적으로, 임베디드 로직 분석기에 제공된 이러한 신호들은 도 9의 점선으로 도시된 바와 같이 샘플링될 및/또는 이벤트를 트리거하기 위한 상호접속 모듈들(210)의 하나 또는 둘 이상의 출력들에 커스텀 블록(904)의 하나 또는 둘 이상의 입력들을 직접 결합시킴으로써 커스텀 블록(904)에 의해 수신될 수 있다. 도 9에 추가로 도시된 바와 같이, 커스텀 블록(904)의 출력은 이벤트 트리거링 또는 샘플링을 위한 하나 또는 둘 이상의 출력 신호들을 임베디드 로직 분석기(902)에 제공할 수 있다. 이러한 하나 또는 둘 이상의 출력 신호들은 임베디드 로직 분석기(902)의 입력에 커스텀 블록(904)의 출력을 직접 결합시킴으로써 임베디드 로직 분석기(902)에 제공될 수 있다. 이에 더해 또는 대안적으로, 이러한 하나 또는 둘 이상의 출력 신호들은 도 9에서 점선으로 도시된 바와 같이 샘플링 컨트롤러(240)의 입력 및/또는 트리거 모듈(220)의 입력에 커스텀 블록(904)의 출력을 직접 결합시킴으로써 임베디드 로직 분석기(902)에 제공될 수 있다.
집적 회로(900)는, 커스텀 블록(904) 및 임베디드 로직 분석기(902)에 액세싱하는데 이용될 수 있는 인터페이스(906)를 추가로 포함할 수 있다. 특히, 인터페이스(906)는 원격 호스트(미도시)와 같은 네트워크상의 네트워크 디바이스와의 유선 또는 무선 접속을 제공할 수 있다. 인터페이스(906)는 집적 회로(900) 내의 다양한 블록들 ― 상기 다양한 블록들은 임베디드 로직 분석기(902) 및 커스텀 블록(904)을 포함 ― 과 네트워크 디바이스 사이에서 필요한 인터페이스를 제공할 수 있다. 임베디드 로직 분석기(902), 및 특별히 상호접속 모듈(210) 및 트리거 모듈(220)은 인터페이스(906)를 이용하여 제어되고, 구성되고 그리고/또는 프로그래밍될 수 있다. 또한, 임베디드 로직 분석기(902)에 의해 샘플링된 데이터는 인터페이스(906)를 통한 분석을 위해 네트워크 디바이스에 다운로딩될 수 있다.
앞서 언급된 바와 같이, 커스텀 블록(904)은 인터페이스(906)를 이용하여 액세스가능할 수 있다. 예를 들어, 커스텀 블록(904)이 재구성가능한 및/또는 프로그래밍가능한 이벤트에서, 커스텀 블록(904)은 테스팅되거나 또는 디버깅되는 특정 시스템 모듈들 M으로 테일러링된 하나 또는 둘 이상의 출력 신호들을 발생시키기 위해 인터페이스(906)를 이용하여 네트워크 디바이스에 의해 구성될 수 있다. 이에 더해 또는 대안적으로, 커스텀 블록(904)은 인터페이스(906)를 이용하여 시스템 테스트 또는 디버그 동안 원격 호스트에 의해 제어될 수 있다. 그 결과, 커스텀 블록(904)은 시스템 레벨 테스트 또는 디버그 세션의 구동시간에서 구성될 수 있다.
도 9는 집적 회로(900)내의 임베디드 로직 분석기(902)와는 분리된 커스텀 블록(904)을 도시한다. 대안적으로, 앞서 설명된 바와 같이, 커스텀 블록(904)은 집적 회로(900)의 임베디드 로직 분석기(902) 내에 위치될 수 있고, 상호접속 모듈(100), 트리거 모듈(220) 및 샘플링 컨트롤러(240)에 결합될 수 있다.
도 10은 본 발명의 다른 예시적인 실시예에 따른 시스템(905)의 집적 회로(910)를 예시한다. 집적 회로(910)는 도 9에 대해 앞서 설명된 바와 같이 임베디드 로직 분석기(902)를 포함할 수 있으며, 이는 상호접속 모듈(210), 트리거 모듈(220), 샘플링 컨트롤러(240) 및 메모리(250)를 갖는다. 또한, 집적 회로(910)는, 임베디드 로직 분석기(902)에 제공된 및/또는 임베디드 로직 분석기(902) 내에서 발생된 신호들에 기초하여, 임베디드 로직 분석기(902)에 의한 샘플링 또는 이벤트 트리거링을 위해 하나 또는 둘 이상의 신호들을 발생시키기 위한 커스텀 블록(920)을 포함할 수 있다.
도 9의 커스텀 블록(904)과 같이, 커스텀 블록(920)은 임베디드 로직 분석기(902)에 제공된 하나 또는 둘 이상의 신호들을 입력으로서 수신하기 위해 임베디드 로직 분석기(902)에 결합된다. 커스텀 블록(904)과 같은 커스텀 블록(920)은 임베디드 로직 분석기(902), (이벤트 트리거링을 위한) 트리거 모듈(220) 및/또는 (선택적인 샘플링을 위한) 샘플링 컨트롤러(240)에 제공되는 하나 또는 둘 이상의 수신된 입력 신호들에 기초하여 하나 또는 둘 이상의 출력 신호들을 발생시킬 수 있다. 커스텀 블록(904)과 유사하게, 커스텀 블록(920)은 임베디드 로직 분석기(902)에 의해 테스트 또는 디버깅될 수 있는 시스템 모듈들 M에 대해 특정된 회로를 포함할 수 있다. 일 실시예에서, 하나 또는 둘 이상의 출력 신호들을 발생시키는데 있어서 커스텀 블록(920)에 의해 수행된 기능들은 FPGA 또는 CPLD 회로, 다운로드된 테스트/디버그 코드를 실행하는 프로세서, 상태 머신 회로 등을 이용하여 구성가능하고 및/또는 프로그래밍가능할 수 있다. 인터페이스(906)는 인터페이스로의 액세스를 제공하기 위해 커스텀 블록(920)에 결합되어, 커스텀 블록이 호스트 디바이스와 같은 네트워크 디바이스를 이용하여 제어, 구성 및/또는 프로그래밍될 수 있다.
또한, 커스텀 블록(920)은 트리거 모듈(220)에 의해 발생된 하나 또는 둘 이상의 신호들을 입력으로서 수신할 수 있다. 특히, 적어도 하나의 이벤트의 검출을 나타내는 트리거 모듈(220)에 의해 발생된 하나 또는 둘 이상의 트리거 신호들은 커스텀 블록(920)에 입력으로서 제공될 수 있다. 커스텀 블록(920)에 의해 발생된 하나 또는 둘 이상의 출력 신호들은 트리거 모듈(220)에 의해 발생된 하나 또는 둘 이상의 트리거 신호들에 기초할 수 있다. 이 방식으로, 커스텀 블록(920)에 의해 발생된 출력 신호는 테스트 또는 디버그 세션의 구동시간에 실행되고 정의되는 액션들뿐만 아니라 테스트 또는 디버그 하에서 시스템 모듈들 M에 의해 발생된 신호들에 기초하여 정의될 수 있다.
예를 들어, 임베디드 로직 분석기(902)의 트리거 모듈(220)에 의해 발생되고 커스텀 블록(920)으로 제공되는 트리거 신호는 커스텀 블록(920) 내의 신호 발생 회로를 인에이블하도록 이용될 수 있다. 일 구현에서, 커스텀 블록(920)은 직접 메모리 액세스(DMA) 시스템 모듈에 의해 메모리로부터 판독된 단어들의 개수와 같은 이벤트들의 수를 카운트하기 위해 누산기로서 구성되거나 또는 그렇지 않으면 프로그래밍될 수 있다. 시스템을 테스트 또는 디버깅하는 것은 모니터링하기 위해 DMA 모듈을 선택하고, 이에 따라 인터페이스(906)를 이용하여 트리거 모듈(220)을 제어하고, 프로그래밍하고 그리고/또는 구성한다. 트리거 프로그램 ― 이 트리거 프로그램에 의해 트리거 모듈(220)이 구성됨 ― 은 누산을 트리거하기 위한 동작을 포함할 수 있다. 트리거 모듈(220)에 제공된 하나 또는 둘 이상의 신호들의 조건의 검출시에, 트리거 모듈(220)에 의해 발생된 트리거 신호는 조건의 검출을 나타내고, 커스텀 블록(920)내에 구성된 누산기가 누산을 시작하도록 인에이블한다.
또한, 트리거 모듈(220)은 커스텀 블록(920)을 인에이블하는데 이용되는 동일한 트리거 신호를 통해 또는 상이한 트리거 신호를 통해 커스텀 블록(920)의 인에이블 이후 이를 디스에이블할 수 있다. 디스에이블에 이용되는 신호는, 구성가능한 및/또는 프로그래밍가능한 회로에 의해 구동될 수 있고, 트리거 모듈(220)에 의해 수신된 하나 또는 둘 이상의 신호들과 관련된 적어도 하나의 트리거 이벤트의 출현을 검출할 수 있다. 커스텀 블록(920)이 누산기로서 구성되는 이벤트에서, 디스에이블 이후에, 누산기의 출력이 샘플링 컨트롤러(240)에 의한 선택적인 샘플링 또는 트리거 모듈(220)에 의한 이벤트 트리거링을 위해 임베디드 로직 분석기(902)의 입력에 제공된다. 사용자 특정 트리거 이벤트의 출현시에만 누산하도록 커스텀 블록(920) 내의 누산기 기능을 제어하고 그리고 임베디드 로직 분석기(902)에 누산된 결과를 제공함으로써, 그렇지 않으면 DMA 시스템 모듈에 의해 판독된 단어들의 개수를 카운트하기 위해 필요할 메모리보다 누산기 기능의 출력의 샘플들을 저장하기 위해 상당히 더 적은 메모리가 필요하다.
커스텀 블록(902)을 제어하고, 인에이블하고 그리고/또는 디스에이블하기 위한 트리거 이벤트의 특정사항들은, 트리거 모듈(220)에 의해 모니터링된 임의의 다른 트리거 이벤트와 같이, 테스트 또는 디버그 세션의 구동시간에서 구성되거나 또는 프로그래밍될 수 있다. 예를 들어, 커스텀 블록(920)을 디스에이블하기 위한 트리거 이벤트는 이러한 인에이블 이후에 미리결정된 기간의 시간 경과에 부분적으로 기초할 수 있으며, 여기서 미리결정된 기간의 시간은 구동시간에서 프로그래밍되거나 또는 그렇지 않으면 구성된다. 하지만, 트리거 이벤트는 트리거 모듈(220)내에 정의된 기능들 또는 동작들의 임의의 수 및 이에 따라 수신된 하나 또는 둘 이상의 신호들에 기초할 수 있다는 것이 이해된다.
커스텀 블록들(904 및 920)은 동일한 집적 회로 칩 내에서 활용될 수 있다는 것이 이해된다. 도 11은, 커스텀 블록들(904 및 920)을 포함하여, 본 발명의 예시적인 실시예에 따라서 시스템(905)의 집적 회로(940)를 예시한다. 집적 회로는 하나 초과의 커스텀 블록(904) 및/또는 하나 초과의 커스텀 블록(920)을 포함할 수 있음이 추가로 이해된다. 단일의 집적 회로 칩 내에 하나 초과의 커스텀 블록(920)을 포함하는 것에 관련하여, 각각의 커스텀 블록(920)은 트리거 모듈(220)로부터 하나 또는 둘 이상의 신호들을 커스텀 블록(920)의 입력에서 수신할 수 있다. 각각의 커스텀 블록(920)에 의해 트리거 모듈(220)로부터 수신된 하나 또는 둘 이상의 신호들은 다른 커스텀 블록(920)에 의해 수신된 하나 또는 둘 이상의 신호들에 대해 별개일 수 있다. 또한, 각각의 커스텀 블록(920)은 인터페이스(906)를 이용하여 호스트 디바이스에 의해 별도로 프로그래밍되고 그리고/또는 구성될 수 있다.
집적 회로들(900, 910 및 940)은 시스템 및 시스템의 시스템 모듈들 M의 효과적인 테스팅 및 디버깅을 용이하게 하기 위해 임베디드 메커니즘으로부터 이점을 취할 수 있는 가상의 임의의 시스템에서 이용될 수 있다. 예를 들어, 프린터, 일체형 프린팅 디바이스 또는 다기능 프린터는 집적 회로(900)를 포함할 수 있다.
커스텀 블록들(904 및 920)의 이용은, 임베디드 로직 분석기(902)에 의해 샘플링 신호들을 저장하기 위해 필요한 메모리의 양을 실질적으로 감소시키는 것으로 관찰되었다. 예를 들어, 프린터 또는 다른 이미징 디바이스는 수 기가바이트들의 저장소를 요구할 수 있는 전체 프린트 작업을 위한 프린트 데이터를 프린터 프린트헤드에 제공하기 위한 직렬 인터페이스를 포함할 수 있다. 프린트헤드 내의 특정 노즐이 점화되는 횟수를 알기를 원하는 경우, 커스텀 블록(904 또는 920)은, 프린트헤드의 임의의 다른 노즐에 관련된 어떠한 정보도 없이, 직렬 인터페이스로부터 신호를 수신하고 특정 노즐 점화를 나타내는 신호를 발생시키도록 구성될 수 있다. 발생된 신호는 테스트/디버그 세션 동안 선택적으로 샘플링하기 위해 임베디드 로직 분석기(902)에 입력으로서 제공될 수 있다. 커스텀 발생 신호의 메모리 내에서의 샘플링 및 저장은 전체 직렬 인터페이스를 샘플링하고 저장하는데 필요한 메모리의 양보다 상당히 적은, 오직 수 킬로바이트들의 메모리만을 점유하는 것으로 관찰되고 있다.
시스템을 테스팅하고 디버깅하기 위한 메커니즘은, 커스텀 블록들(904 및 920)에 더해, 임베디드 로직 분석기(902) 및 커스텀 블록들(904 및 920)과 통신하기 위한 소프트웨어를 포함할 수 있다. 이 소프트웨어는, 시스템 테스트 또는 디버그 세션의 구동시간과 같이, 시스템이 합성(synthesize)되고 그리고/또는 어셈블링된 후에, 이러한 블록들에 대한 인-시스템 옵션들을 선택하고 이들을 제어하고 또는 그렇지 않으면 프로그래밍하는 능력을 사용자에게 제공한다. 사용자 인터페이스를 포함하는 소프트웨어는 인터페이스(906)를 통해서 임베디드 로직 분석기(902) 및 블록들(904 및 920)과의 통신을 제공한다. 이 소프트웨어는 임베디드 로직 분석기(902)에 의해 샘플링되고 저장된 데이터를 원격 디바이스에서 수신하고 그 신호들을 원격의 디바이스 사용자에게 디스플레이하는데 이용될 수 있다.
본 발명의 사상 및 범위를 벗어나지 않고 본 발명에 다양한 변형들 및 변화들이 행해질 수 있다는 것이 당업자에게는 명백할 것이다. 예를 들어, 임베디드 로직 분석기(902)는 도 2의 임베디드 로직 분석기(200)에서 발견된 출력 모듈(230) 및 컨트롤러(270)를 포함할 수 있다는 것이 이해된다. 이에 더해 또는 대안적으로, 도 5 및 도 6에 도시된 바와 같이, 집적 회로(900, 910 및 940)는 임베디드 로직 분석기(902)에 결합된 CPU(500) 및 저장 매체(510)를 포함할 수 있다. 도 7에 도시된 바와 같이, 집적 회로들(900, 910 및 940)은 또한 트리거 모듈(220)에 결합된 프로세서(710)를 포함할 수 있다. 따라서, 본 발명의 변형들 및 변화들이 첨부된 청구항들 및 그들의 동등물들의 범위 내에 포함되는 것으로 가정하여, 본 발명은 본 발명의 변형 및 변화들을 커버하도록 의도된다.

Claims (30)

  1. 전자 회로를 분석하기 위한 장치로서,
    집적 회로를 포함하고,
    상기 집적 회로는 로직 분석기 회로(logic analyzer circuitry) 및 커스텀 블록을 포함하며,
    상기 로직 분석기 회로는, 테스트 중인 상기 장치의 하나 또는 둘 이상의 부분들로부터의 복수의 신호들을 수신하는 제 1 입력 ― 상기 복수의 신호들은 샘플링 및 이벤트 트리거링을 위해 상기 로직 분석기 회로에 대해 이용가능함 ―, 및 상기 제 1 입력에서 나타나는 상기 복수의 신호들의 선택된 샘플들을 제공하기 위한 제 1 출력을 갖고,
    상기 커스텀 블록은, 상기 로직 분석기 회로의 제 1 입력에서 나타나는 상기 복수의 신호들 중 하나 또는 둘 이상을 수신하기 위해 상기 로직 분석기 회로에 결합된 제 1 입력, 및 구성가능한 미리결정된 기능에 따라서 상기 커스텀 블록의 제 1 입력에서 나타나는 상기 복수의 신호들 중 하나 또는 둘 이상에 기초하여 하나 또는 둘 이상의 테스트 신호들의 별개의 세트를 생성하기 위한 회로를 가지고,
    상기 하나 또는 둘 이상의 테스트 신호들의 별개의 세트는 상기 로직 분석기 회로에 의해 수신되는 상기 복수의 신호들 및 상기 커스텀 블록에 의해 수신되는 상기 하나 또는 둘 이상의 복수의 신호들과 상이하고, 상기 커스텀 블록의 출력에서 나타나고, 그리고 상기 하나 또는 둘 이상의 테스트 신호들의 별개의 세트의 샘플링 및 이벤트 트리거링 중 적어도 하나를 위해 상기 로직 분석기 회로에 제공되고,
    상기 커스텀 블록의 제 1 입력은 상기 로직 분석기 회로의 제 1 출력에 결합되어, 상기 커스텀 블록이 상기 로직 분석기 회로의 제 1 입력에서 나타나는 상기 복수의 신호들의 선택된 샘플들 중 하나 또는 둘 이상의 선택된 샘플들을 수신하고, 그리고 상기 하나 또는 둘 이상의 선택된 샘플들에 기초하여 상기 하나 또는 둘 이상의 테스트 신호들의 별개의 세트를 생성하는,
    전자 회로를 분석하기 위한 장치.
  2. 제 1 항에 있어서,
    상기 로직 분석기 회로는 적어도 하나의 트리거 이벤트의, 상기 로직 분석기 회로에 의한, 검출의 표시를 제공하기 위한 제 2 출력을 포함하고,
    상기 커스텀 블록은 상기 로직 분석기 회로의 상기 제 2 출력에 결합된 제 2 입력을 포함하고,
    상기 커스텀 블록은 상기 커스텀 블록의 상기 제 1 입력 및 상기 제 2 입력에서 수신된 신호들에 기초하여 상기 하나 또는 둘 이상의 테스트 신호들의 별개의 세트를 생성하는,
    전자 회로를 분석하기 위한 장치.
  3. 제 2 항에 있어서,
    상기 커스텀 블록은 상기 로직 분석기 회로의 상기 제 2 출력에 의해 인에이블될 때 상기 미리결정된 기능을 수행하도록 구성가능한,
    전자 회로를 분석하기 위한 장치.
  4. 제 1 항에 있어서,
    상기 로직 분석기 회로는, 상기 로직 분석기 회로에 의한 샘플링 또는 이벤트 트리거링을 위한 상기 로직 분석기 회로의 제 1 입력에서 나타나는 상기 복수의 신호들 중 적어도 하나를 선택하기 위하여 상기 로직 분석기 회로의 상기 제 1 입력에 결합된 상호접속 모듈, 및 적어도 하나의 트리거 이벤트를 검출하기 위해 상기 상호접속 모듈의 출력에 결합된 트리거 모듈을 포함하고,
    상기 하나 또는 둘 이상의 테스트 신호들의 별개의 세트는, 상기 트리거 모듈의 입력에 제공되는,
    전자 회로를 분석하기 위한 장치.
  5. 제 1 항에 있어서,
    상기 로직 분석기 회로는 상기 로직 분석기 회로의 상기 제 1 입력 및 상기 커스텀 블록의 상기 출력에서 나타나는 신호들을 선택적으로 샘플링하기 위한 메모리 컨트롤러를 포함하는,
    전자 회로를 분석하기 위한 장치.
  6. 제 1 항에 있어서,
    상기 커스텀 블록은 필드 프로그래머블 회로(field programmable circuitry)를 포함하는,
    전자 회로를 분석하기 위한 장치.
  7. 제 1 항에 있어서,
    상기 로직 분석기 회로는, 상기 로직 분석기 회로의 상기 제 1 입력에 결합된 제 1 입력 및 상기 커스텀 블록의 출력에 결합된 제 2 입력을 갖는 입력 상호접속 모듈을 포함하는,
    전자 회로를 분석하기 위한 장치.
  8. 제 1 항에 있어서,
    상기 커스텀 블록은 출력을 갖는 누산기로서 구성가능하고, 상기 출력은 상기 커스텀 블록의 출력의 적어도 부분을 형성하고, 상기 로직 분석기 회로에 의한 이벤트 트리거링 또는 상기 로직 분석기 회로의 샘플링을 위해 상기 로직 분석기 회로에 제공되는,
    전자 회로를 분석하기 위한 장치.
  9. 제 1 항에 있어서,
    상기 커스텀 블록은 상기 로직 분석기 회로에 의한 이벤트의 출현의 검출을 표시하는 신호를 수신하면 상기 로직 분석기 회로에 의해 검출된 이벤트들의 수를 카운트하고, 그리고 이벤트 트리거링 및 상기 로직 분석기 회로의 샘플링 중 적어도 하나를 위해 상기 로직 분석기 회로에 상기 이벤트들의 수를 제공하도록 구성되는,
    전자 회로를 분석하기 위한 장치.
  10. 제 1 항에 있어서,
    상기 커스텀 블록의 제 1 입력은 상기 로직 분석기 회로의 제 1 입력에 직접적으로 결합되는,
    전자 회로를 분석하기 위한 장치.
  11. 전자 회로를 분석하기 위한 장치로서,
    집적 회로를 포함하고,
    상기 집적 회로는 로직 분석기 회로 및 커스텀 블록을 포함하며,
    상기 로직 분석기 회로는, 테스트 중인 상기 장치의 하나 또는 둘 이상의 부분들로부터의 복수의 신호들을 수신하는 제 1 입력 ― 상기 복수의 신호들은 샘플링 및 이벤트 트리거링을 위해 상기 로직 분석기 회로에 대해 이용가능함 ― 및 상기 제 1 입력에서 나타나는 상기 복수의 신호들의 선택된 샘플들을 제공하기 위한 제 1 출력을 갖고,
    상기 커스텀 블록은, 상기 로직 분석기 회로의 제 1 입력에서 나타나는 상기 복수의 신호들 중 하나 또는 둘 이상을 수신하기 위해 상기 로직 분석기 회로에 결합된 제 1 입력, 및 구성가능한 미리결정된 기능에 따라서 상기 커스텀 블록의 제 1 입력에서 나타나는 상기 복수의 신호들 중 하나 또는 둘 이상에 기초하여 하나 또는 둘 이상의 테스트 신호들의 별개의 세트를 생성하기 위한 회로를 가지고,
    상기 하나 또는 둘 이상의 테스트 신호들의 별개의 세트는 상기 로직 분석기 회로에 의해 수신되는 상기 복수의 신호들 및 상기 커스텀 블록에 의해 수신되는 상기 하나 또는 둘 이상의 복수의 신호들과 상이하고, 상기 커스텀 블록의 출력에서 나타나고, 그리고 상기 하나 또는 둘 이상의 테스트 신호들의 별개의 세트의 샘플링 및 이벤트 트리거링 중 적어도 하나를 위해 상기 로직 분석기 회로에 제공되고,
    상기 로직 분석기 회로는 적어도 하나의 트리거 이벤트의, 상기 로직 분석기 회로에 의한, 검출의 표시를 제공하기 위한 제 2 출력을 포함하고, 상기 커스텀 블록은 상기 로직 분석기 회로의 제 2 출력에 결합된 제 2 입력을 포함하고, 상기 커스텀 블록은 상기 커스텀 블록의 상기 제 1 입력 및 상기 제 2 입력에서 수신되는 신호들에 기초하여 상기 하나 또는 둘 이상의 테스트 신호들의 별개의 세트를 생성하고, 상기 커스텀 블록은 누산기(accumulator)로서 구성가능하고, 상기 누산기는 상기 로직 분석기 회로의 상기 제 2 출력에 의해 인에이블되고, 상기 누산기로부터 출력되는 상기 하나 또는 둘 이상의 테스트 신호들의 별개의 세트는 상기 로직 분석기 회로에 의한 이벤트의 트리거링 및 상기 하나 또는 둘 이상의 테스트 신호들의 별개의 세트의 샘플링 중 적어도 하나를 위해 상기 로직 분석기 회로에 제공되는,
    전자 회로를 분석하기 위한 장치.
  12. 삭제
  13. 삭제
  14. 삭제
  15. 전자 회로를 분석하기 위한 집적 회로로서,
    로직 분석기 회로 및 커스텀 블록을 포함하고,
    상기 로직 분석기 회로는, 복수의 신호들을 수신하는 제 1 입력 ― 상기 복수의 신호들은 샘플링 및 이벤트 트리거링을 위한 상기 로직 분석기 회로에 대해 이용가능함 ―, 및 상기 제 1 입력에서 나타나는 상기 복수의 신호들의 선택된 샘플들을 제공하기 위한 제 1 출력을 갖고,
    상기 커스텀 블록은, 상기 로직 분석기 회로의 제 1 입력에서 나타나는 신호들 중 하나 또는 둘 이상의 신호들을 수신하기 위해 상기 로직 분석기 회로에 결합된 제 1 입력, 구성가능한 미리결정된 기능에 따라서 그리고 상기 로직 분석기 회로의 제 1 입력에서 나타나는 상기 수신된 하나 또는 둘 이상의 신호들에 기초하여 하나 또는 둘 이상의 테스트 신호들의 별개의 세트를 생성하기 위한 회로, 및 상기 로직 분석기 회로의 샘플링 및 이벤트 트리거링 중 적어도 하나에 대한 추가적인 테스트 신호들로서 상기 로직 분석기 회로로 상기 생성된 하나 또는 둘 이상의 테스트 신호들의 별개의 세트를 직접적으로 제공하기 위한 상기 로직 분석기 회로의 제 2 입력에 결합된 출력을 갖고,
    상기 커스텀 블록은 상기 로직 분석기 회로에 의해 검출된 이벤트들의 수를 카운트하기 위한 누산기로서 구성가능하고, 상기 커스텀 블록은 상기 로직 분석기 회로에 의한 이벤트의 출현의 검출을 표시하는 신호를 수신하면 누산을 시작하도록 구성되는,
    전자 회로를 분석하기 위한 집적 회로.
  16. 제 15 항에 있어서,
    상기 로직 분석기 회로는 적어도 하나의 트리거 이벤트의, 상기 로직 분석기 회로에 의한, 검출의 표시를 제공하기 위한 제 2 출력을 포함하고,
    상기 커스텀 블록은 상기 로직 분석기 회로의 상기 제 2 출력에 결합된 제 2 입력을 포함하며,
    상기 커스텀 블록은 상기 커스텀 블록의 상기 제 1 입력 및 상기 제 2 입력에서 수신된 신호들에 기초하여 상기 하나 또는 둘 이상의 테스트 신호들의 별개의 세트를 생성하는,
    전자 회로를 분석하기 위한 집적 회로.
  17. 제 16 항에 있어서,
    상기 커스텀 블록은 상기 로직 분석기 회로의 상기 제 2 출력에 의해 인에이블되는 기능을 수행하도록 구성가능한,
    전자 회로를 분석하기 위한 집적 회로.
  18. 제 15 항에 있어서,
    상기 커스텀 블록은 필드 프로그래머블 회로를 포함하는,
    전자 회로를 분석하기 위한 집적 회로.
  19. 제 15 항에 있어서,
    상기 커스텀 블록의 상기 미리결정된 기능을 구성하기 위한 인터페이스를 더 포함하는,
    전자 회로를 분석하기 위한 집적 회로.
  20. 제 15 항에 있어서,
    상기 로직 분석기 회로는, 상기 로직 분석기 회로의 제 1 입력에 결합된 상호접속 모듈, 및 적어도 하나의 트리거 이벤트를 검출하기 위해 상기 상호접속 모듈의 출력에 결합된 트리거 모듈을 포함하고,
    상기 하나 또는 둘 이상의 테스트 신호들의 별개의 세트는 상기 트리거 모듈의 입력에 제공되는,
    전자 회로를 분석하기 위한 집적 회로.
  21. 제 15 항에 있어서,
    상기 로직 분석기 회로는, 상기 로직 분석기 회로의 제 1 입력 및 상기 커스텀 블록의 출력에서 나타나는 신호들을 선택적으로 샘플링하기 위한 메모리 컨트롤러를 포함하는,
    전자 회로를 분석하기 위한 집적 회로.
  22. 제 15 항에 있어서,
    상기 커스텀 블록은 출력을 갖는 누산기로서 구성가능하고, 상기 출력은 상기 커스텀 블록의 출력의 적어도 부분을 형성하고 이벤트 트리거링 또는 누산기 출력의 샘플링을 위해 상기 로직 분석기 회로에 제공되는,
    전자 회로를 분석하기 위한 집적 회로.
  23. 제 15 항에 있어서,
    상기 커스텀 블록의 제 1 입력은 상기 로직 분석기 회로의 제 1 출력에 결합되어, 상기 커스텀 블록은 상기 로직 분석기 회로의 제 1 입력에서 나타나는 상기 복수의 신호들의 상기 선택된 샘플들 중 하나 또는 둘 이상의 선택된 샘플들을 수신하고, 그리고 상기 하나 또는 둘 이상의 선택된 샘플들에 기초하여 상기 하나 또는 둘 이상의 테스트 신호들의 별개의 세트를 생성하는,
    전자 회로를 분석하기 위한 집적 회로.
  24. 전자 회로를 분석하기 위한 시스템으로서,
    집적 회로를 포함하고,
    상기 집적 회로는 임베디드 로직 분석기 블록 및 블록을 포함하고,
    상기 임베디드 로직 분석기 블록은, 샘플링 및 이벤트 트리거링을 위하여 테스트 중인 상기 시스템의 하나 또는 둘 이상의 부분들로부터의 복수의 신호들을 수신하기 위한 입력 및 상기 복수의 신호들에 부분적으로 기초하여 이벤트의 출현을 검출하기 위한 트리거 모듈을 갖고,
    상기 블록은, 상기 복수의 신호들 중 하나 또는 둘 이상을 수신하기 위해 상기 임베디드 로직 분석기 블록에 결합되는 제 1 입력, 상기 이벤트의 출현의 검출을 표시하기 위한 신호를 수신하기 위한 상기 트리거 모듈에 결합되는 제 2 입력, 상기 이벤트의 출현의 검출을 표시하는 신호에 기초하여 하나 또는 둘 이상의 테스트 신호들의 별개의 세트를 생성하기 위한 회로 ― 상기 하나 또는 둘 이상의 테스트 신호들의 별개의 세트는 상기 임베디드 로직 분석기 블록의 입력에 나타나는 상기 복수의 신호들 및 상기 블록의 제 1 입력에서 수신되는 상기 복수의 신호들 중 하나 또는 둘 이상과 상이함 ―, 및 상기 임베디드 로직 분석기 블록의 샘플링 및 이벤트 트리거링 중 적어도 하나에 대한 추가적인 테스트 신호들로서 상기 임베디드 로직 분석기 블록으로 상기 생성된 하나 또는 둘 이상의 테스트 신호들의 별개의 세트를 제공하기 위한 출력을 갖고,
    상기 블록은 상기 트리거 모듈에 의해 검출된 이벤트들의 수를 카운트하기 위한 누산기로서 구성가능하고, 상기 블록은 상기 이벤트의 출현의 검출을 표시하는 신호를 수신하면 누산을 시작하도록 구성되는,
    전자 회로를 분석하기 위한 시스템.
  25. 제 24 항에 있어서,
    상기 블록은 상기 이벤트의 출현의 검출에 부분적으로 기초하여 인에이블되는 기능을 수행하도록 구성가능한,
    전자 회로를 분석하기 위한 시스템.
  26. 제 24 항에 있어서,
    상기 하나 또는 둘 이상의 테스트 신호들의 별개의 세트는 상기 임베디드 로직 분석기 블록의 입력에서 나타나는 상기 복수의 신호들 중 적어도 하나에 부분적으로 기초하여 생성되는,
    전자 회로를 분석하기 위한 시스템.
  27. 제 24 항에 있어서,
    상기 누산기는 출력을 갖고, 상기 출력은 상기 블록의 출력의 적어도 부분을 형성하고, 이벤트 트리거링 또는 상기 임베디드 로직 분석기 블록의 샘플링을 위해 상기 임베디드 로직 분석기 블록에 제공되는,
    전자 회로를 분석하기 위한 시스템.
  28. 제 24 항에 있어서,
    상기 블록은 이벤트 트리거링 및 상기 임베디드 로직 분석기 블록의 샘플링 중 적어도 하나를 위해 상기 임베디드 로직 분석기 블록에 상기 이벤트들의 수를 제공하도록 추가적으로 구성되는,
    전자 회로를 분석하기 위한 시스템.
  29. 전자 회로를 분석하기 위한 장치로서,
    집적 회로를 포함하고,
    상기 집적 회로는 로직 분석기 회로 및 커스텀 블록을 포함하며,
    상기 로직 분석기 회로는, 테스트 중인 상기 장치의 하나 또는 둘 이상의 부분들로부터의 복수의 신호들을 수신하는 제 1 입력 ― 상기 복수의 신호들은 샘플링 및 이벤트 트리거링을 위해 상기 로직 분석기 회로에 대해 이용가능함 ―, 및 상기 제 1 입력에서 나타나는 상기 복수의 신호들의 선택된 샘플들을 제공하기 위한 제 1 출력을 갖고,
    상기 커스텀 블록은, 상기 로직 분석기 회로의 제 1 입력에서 나타나는 상기 복수의 신호들 중 하나 또는 둘 이상을 수신하기 위해 상기 로직 분석기 회로에 결합된 제 1 입력, 및 구성가능한 미리결정된 기능에 따라서 상기 커스텀 블록의 제 1 입력에서 나타나는 상기 복수의 신호들 중 하나 또는 둘 이상에 기초하여 하나 또는 둘 이상의 테스트 신호들의 별개의 세트를 생성하기 위한 회로를 가지고,
    상기 하나 또는 둘 이상의 테스트 신호들의 별개의 세트는 상기 로직 분석기 회로에 의해 수신되는 상기 복수의 신호들 및 상기 커스텀 블록에 의해 수신되는 상기 하나 또는 둘 이상의 복수의 신호들과 상이하고, 상기 커스텀 블록의 출력에서 나타나고, 그리고 상기 하나 또는 둘 이상의 테스트 신호들의 별개의 세트의 샘플링 및 이벤트 트리거링 중 적어도 하나를 위해 상기 로직 분석기 회로에 제공되고,
    상기 커스텀 블록은 상기 로직 분석기 회로에 의한 이벤트의 출현의 검출을 표시하는 신호를 수신하면 상기 로직 분석기 회로에 의해 검출된 이벤트들의 수를 카운트하고, 이벤트 트리거링 및 상기 로직 분석기 회로의 샘플링 중 적어도 하나를 위해 상기 로직 분석기 회로에 상기 이벤트들의 수를 제공하도록 구성되는,
    전자 회로를 분석하기 위한 장치.
  30. 전자 회로를 분석하기 위한 집적 회로로서,
    로직 분석기 회로 및 커스텀 블록을 포함하고,
    상기 로직 분석기 회로는, 복수의 신호들을 수신하는 제 1 입력 ― 상기 복수의 신호들은 샘플링 및 이벤트 트리거링을 위한 상기 로직 분석기 회로에 대해 이용가능함 ―, 및 상기 제 1 입력에서 나타나는 상기 복수의 신호들의 선택된 샘플들을 제공하기 위한 제 1 출력을 갖고,
    상기 커스텀 블록은, 상기 로직 분석기 회로의 제 1 입력에서 나타나는 신호들 중 하나 또는 둘 이상의 신호들을 수신하기 위해 상기 로직 분석기 회로에 결합된 제 1 입력, 구성가능한 미리결정된 기능에 따라서 상기 로직 분석기 회로의 제 1 입력에서 나타나는 상기 수신된 하나 또는 둘 이상의 신호들에 기초하여 하나 또는 둘 이상의 테스트 신호들의 별개의 세트를 생성하기 위한 회로, 및 상기 로직 분석기 회로의 샘플링 및 이벤트 트리거링 중 적어도 하나에 대한 추가적인 테스트 신호들로서 상기 로직 분석기 회로로 상기 생성된 하나 또는 둘 이상의 테스트 신호들의 별개의 세트를 직접적으로 제공하기 위한 상기 로직 분석기 회로의 제 2 입력에 결합된 출력을 갖고,
    상기 커스텀 블록의 제 1 입력은 상기 로직 분석기 회로의 제 1 출력에 결합되어, 상기 커스텀 블록은 상기 로직 분석기 회로의 제 1 입력에서 나타나는 상기 복수의 신호들의 선택된 샘플들 중 하나 또는 둘 이상의 선택된 샘플들을 수신하고, 그리고 상기 하나 또는 둘 이상의 선택된 샘플들에 기초하여 상기 하나 또는 둘 이상의 테스트 신호들의 별개의 세트를 생성하는,
    전자 회로를 분석하기 위한 집적 회로.
KR1020137005044A 2010-09-08 2011-09-08 강화된 분석 및 디버깅 성능들을 갖는 프로그래머블 로직 분석기를 포함하는 집적 회로 및 그 방법 KR101918195B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/877,819 US8914681B2 (en) 2009-08-18 2010-09-08 Integrated circuit including a programmable logic analyzer with enhanced analyzing and debugging capabilities and a method therefor
US12/877,819 2010-09-08
PCT/US2011/050755 WO2012033871A1 (en) 2010-09-08 2011-09-08 An integrated circuit including a programmable logic analyzer with enhanced analyzing and debugging capabilities and a method therefor

Publications (2)

Publication Number Publication Date
KR20130106355A KR20130106355A (ko) 2013-09-27
KR101918195B1 true KR101918195B1 (ko) 2018-11-14

Family

ID=45810961

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137005044A KR101918195B1 (ko) 2010-09-08 2011-09-08 강화된 분석 및 디버깅 성능들을 갖는 프로그래머블 로직 분석기를 포함하는 집적 회로 및 그 방법

Country Status (11)

Country Link
US (2) US8914681B2 (ko)
EP (1) EP2614381B1 (ko)
KR (1) KR101918195B1 (ko)
CN (1) CN103140769B (ko)
AU (1) AU2011299256B2 (ko)
BR (1) BR112013004233B1 (ko)
CA (1) CA2807125C (ko)
HK (1) HK1187411A1 (ko)
RU (1) RU2598908C2 (ko)
SG (1) SG187693A1 (ko)
WO (1) WO2012033871A1 (ko)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9170901B2 (en) 2009-08-18 2015-10-27 Lexmark International, Inc. System and method for analyzing an electronics device including a logic analyzer
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
US9405651B1 (en) 2013-10-03 2016-08-02 Initial State Technologies, Inc. Apparatus and method for processing log file data
US9405610B1 (en) 2013-10-03 2016-08-02 Initial State Technologies, Inc. Apparatus and method for processing log file data
US9405755B1 (en) 2013-10-03 2016-08-02 Initial State Technologies, Inc. Apparatus and method for processing log file data
GB2526850B (en) * 2014-06-05 2020-11-25 Advanced Risc Mach Ltd Logic analyzer
KR102391385B1 (ko) * 2015-08-13 2022-04-27 삼성전자주식회사 내장형 로직 분석기 및 이를 포함하는 집적 회로
US10860322B2 (en) * 2015-10-30 2020-12-08 Arm Limited Modifying behavior of a data processing unit using rewritable behavior mappings of instructions
US10386410B2 (en) * 2016-12-12 2019-08-20 Samsung Electronics Co., Ltd. Highly flexible performance counter and system debug module
EP3837689A1 (en) 2018-08-08 2021-06-23 Numascale AS A digital circuit testing and analysis module, system and method thereof
US10816598B1 (en) * 2018-10-01 2020-10-27 Xilinx, Inc. Dynamic debugging of circuits
KR102105031B1 (ko) * 2018-12-31 2020-04-27 주식회사 다빈시스템스 이동통신 장치에서의 타이밍 획득 장치 및 방법
CN113656236B (zh) * 2020-05-12 2024-05-28 大唐移动通信设备有限公司 一种数据处理方法和装置
CN112634801B (zh) * 2021-01-08 2022-06-10 北京集睿致远科技有限公司 一种片内逻辑分析仪及芯片调试方法
US11639962B1 (en) 2021-03-12 2023-05-02 Xilinx, Inc. Scalable scan architecture for multi-circuit block arrays
CN117452190A (zh) * 2023-12-22 2024-01-26 合肥联宝信息技术有限公司 一种信号测试电路、方法及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6389558B1 (en) 1996-10-28 2002-05-14 Altera Corporation Embedded logic analyzer for a programmable logic device
US20020194543A1 (en) 1997-10-27 2002-12-19 Altera Corporation, A Delaware Corporation Enhanced embedded logic analyzer
US6633838B1 (en) 1999-11-04 2003-10-14 International Business Machines Corporation Multi-state logic analyzer integral to a microprocessor
US20070226541A1 (en) 2006-02-28 2007-09-27 Gregoire Brunot Memory-based trigger generation scheme in an emulation environment

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4042262A1 (de) * 1990-12-31 1992-07-02 Richt Stefan Verfahren zur analyse der funktionsweise von digitalen schaltungen
US5954830A (en) * 1997-04-08 1999-09-21 International Business Machines Corporation Method and apparatus for achieving higher performance data compression in ABIST testing by reducing the number of data outputs
US6016563A (en) * 1997-12-30 2000-01-18 Fleisher; Evgeny G. Method and apparatus for testing a logic design of a programmable logic device
JP4335999B2 (ja) * 1999-05-20 2009-09-30 株式会社ルネサステクノロジ プロセッサ内蔵半導体集積回路装置
US6564347B1 (en) * 1999-07-29 2003-05-13 Intel Corporation Method and apparatus for testing an integrated circuit using an on-chip logic analyzer unit
US7240303B1 (en) * 1999-11-30 2007-07-03 Synplicity, Inc. Hardware/software co-debugging in a hardware description language
US7072818B1 (en) * 1999-11-30 2006-07-04 Synplicity, Inc. Method and system for debugging an electronic system
US6791352B2 (en) * 2002-02-08 2004-09-14 International Business Machines Corporation Method and apparatus for debugging a chip
US6918074B2 (en) * 2002-06-28 2005-07-12 Intel Corporation At speed testing asynchronous signals
US7650545B1 (en) * 2002-09-30 2010-01-19 Agere Systems Inc. Programmable interconnect for reconfigurable system-on-chip
US20040216061A1 (en) * 2003-04-28 2004-10-28 International Business Machines Corporation Embeddable method and apparatus for functional pattern testing of repeatable program instruction-driven logic circuits via signal signature generation
US7389452B2 (en) * 2004-06-29 2008-06-17 Electronics For Imaging, Inc. Methods and apparatus for monitoring internal signals in an integrated circuit
US7350121B2 (en) * 2004-08-13 2008-03-25 Broadcom Corporation Programmable embedded logic analyzer in an integrated circuit
US7348799B2 (en) * 2005-01-11 2008-03-25 Hewlett-Packard Development Company, L.P. System and method for generating a trigger signal
US7493247B2 (en) * 2005-12-07 2009-02-17 Dafca, Inc. Integrated circuit analysis system and method using model checking
US7332929B1 (en) * 2006-03-03 2008-02-19 Azul Systems, Inc. Wide-scan on-chip logic analyzer with global trigger and interleaved SRAM capture buffers
US7797599B2 (en) * 2006-09-27 2010-09-14 Verigy (Singapore) Pte. Ltd. Diagnostic information capture from logic devices with built-in self test
CN100458731C (zh) 2007-02-12 2009-02-04 北京中星微电子有限公司 一种采用硬件逻辑对ic设计进行验证的方法
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
US20110047424A1 (en) * 2009-08-18 2011-02-24 James Ray Bailey Integrated circuit including a programmable logic analyzer with enhanced analyzing and debugging capabilites and a method therefor
US8384411B2 (en) 2009-12-18 2013-02-26 Tektronix, Inc. Method and device for measuring inter-chip signals

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6389558B1 (en) 1996-10-28 2002-05-14 Altera Corporation Embedded logic analyzer for a programmable logic device
US20020194543A1 (en) 1997-10-27 2002-12-19 Altera Corporation, A Delaware Corporation Enhanced embedded logic analyzer
US6633838B1 (en) 1999-11-04 2003-10-14 International Business Machines Corporation Multi-state logic analyzer integral to a microprocessor
US20070226541A1 (en) 2006-02-28 2007-09-27 Gregoire Brunot Memory-based trigger generation scheme in an emulation environment

Also Published As

Publication number Publication date
CN103140769A (zh) 2013-06-05
US20160011953A1 (en) 2016-01-14
US20110047423A1 (en) 2011-02-24
US8914681B2 (en) 2014-12-16
KR20130106355A (ko) 2013-09-27
CA2807125A1 (en) 2012-03-15
WO2012033871A1 (en) 2012-03-15
CA2807125C (en) 2018-02-27
CN103140769B (zh) 2015-11-25
BR112013004233A2 (pt) 2016-07-05
SG187693A1 (en) 2013-03-28
EP2614381A4 (en) 2014-02-19
EP2614381B1 (en) 2015-11-18
AU2011299256A1 (en) 2013-02-21
AU2011299256B2 (en) 2016-02-11
HK1187411A1 (en) 2014-04-04
RU2013104873A (ru) 2014-10-20
BR112013004233B1 (pt) 2020-09-29
EP2614381A1 (en) 2013-07-17
RU2598908C2 (ru) 2016-10-10

Similar Documents

Publication Publication Date Title
KR101918195B1 (ko) 강화된 분석 및 디버깅 성능들을 갖는 프로그래머블 로직 분석기를 포함하는 집적 회로 및 그 방법
KR101759215B1 (ko) 프로그래밍 가능 논리 분석기를 갖는 집적 회로, 개선된 분석 및 디버깅 능력들 및 방법
US8745447B2 (en) System and method for analyzing an electronics device including a logic analyzer
WO2011022480A1 (en) An integrated circuit including a programmable logic analyzer with enhanced analyzing and debugging capabilities and a method therefor
US9170901B2 (en) System and method for analyzing an electronics device including a logic analyzer
US7610526B2 (en) On-chip circuitry for bus validation
US7870438B2 (en) Method, system and computer program product for sampling computer system performance data
CN110032482A (zh) 片上调试装置和方法
US7577876B2 (en) Debug system for data tracking
JP4992791B2 (ja) スキャン制御方法及び装置
US20160282408A1 (en) Integrated Circuit Including a Programmable Logic Analyzer with Enhanced and Debugging Capabilities and a Method Therefor
WO2012075303A2 (en) A system and method for analyzing an electronics device including a logic analyzer
KR101309790B1 (ko) 인쇄데이터를 출력하는 테스트 장치 및 그 방법
US20030115523A1 (en) Apparatus and method for analysis and troubleshooting of electronic devices
JP2008039724A (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
GRNT Written decision to grant