KR20060009260A - 집적 회로의 진단 회로용 통신 인터페이스 - Google Patents

집적 회로의 진단 회로용 통신 인터페이스 Download PDF

Info

Publication number
KR20060009260A
KR20060009260A KR1020057019744A KR20057019744A KR20060009260A KR 20060009260 A KR20060009260 A KR 20060009260A KR 1020057019744 A KR1020057019744 A KR 1020057019744A KR 20057019744 A KR20057019744 A KR 20057019744A KR 20060009260 A KR20060009260 A KR 20060009260A
Authority
KR
South Korea
Prior art keywords
signal
diagnostic
circuit
operable
bidirectional serial
Prior art date
Application number
KR1020057019744A
Other languages
English (en)
Other versions
KR100981997B1 (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 KR20060009260A publication Critical patent/KR20060009260A/ko
Application granted granted Critical
Publication of KR100981997B1 publication Critical patent/KR100981997B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318572Input/Output interfaces
    • 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/31712Input or output aspects
    • G01R31/31713Input or output interfaces for test, e.g. test pins, buffers

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Information Transfer Systems (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

직렬 스캔 체인 또는 디버그 버스 액세스 회로와 같은 진단 회로가 집적 회로에 제공되며, 외분 진단 장치에의 양방향 직렬 링크가 커플링된 인터페이스 회로를 이용하여 상기 진단 회로와의 통신이 설정된다. 상기 양방향 직렬 링크는 데이터 및 제어 신호 모두를 전달한다. 상기 직렬 프로토콜은 진단 회로가 많은 데이터를 수신할 준비가 되어 있거나 또는 특정 진단 동작을 완료하였음을 외부 진단 장치에 나타내도록 할 수 있는 페이싱 회로의 제공을 포함할 수 있다. 이러한 자기 페이싱 능력은 상당히 유리한 것이다. 상기 외부 진단 장치에 의해 발생된 트레이닝 신호는 초기화시에 인터페이스 회로에 의해 검출될 수 있고, 샘플링 포인트 타이밍을 유도하는 데 사용될 수 있다. 따라서, 이러한 환경에서는 별개의 클록 신호를 제공해야 할 필요성을 피할 수 있다.
집적회로, 진단회로, 인터페이스 회로, 트레이닝 모드

Description

집적 회로의 진단 회로용 통신 인터페이스{COMMUNICATION INTERFACE FOR DIAGNOSTIC CIRCUITS OF AN INTEGRATED CIRCUIT}
본 발명은 집적 회로 분야에 관한 것이다. 보다 구체적으로, 본 발명은 진단 인터페이스를 매개로 통신하고자 하는 온보드 진단 회로(on-board diagnostic circuitry)를 갖는 집적 회로에 관한 것이다.
집적 회로에 온보드 진단 시스템을 제공하는 것이 공지되어 있다. 그러한 시스템의 예로서, 온칩 메모리(on-chip memories), 영역 스캔 셀 체인(boundary scan cell chains) 및 보다 범용의 스캔 셀 체인을 테스트하기 위한 BIST 제어기가 있다. 전용 진단 회로 인터페이스, 예컨대, IEEE 표준 1149에 따라 구축된 JTAG 진단 시스템의 TAP 제어기에 의해 활용되는 것과 같은 인터페이스를 집적 회로에 제공하는 것이 공지되어 있다. JTAG 인터페이스는 통상, 상기 집적 회로 패키지 상에 이러한 용도 전용의 4~6개의 외부 핀을 필요로 한다.
집적 회로의 복잡성, 크기 및 성능이 증가함에 따라, 그 기능적 동작(비-진단적 동작)을 지원하도록 집적 회로에 구비될 수 있는 외부 핀 접속의 수를 증가시킬 것이 전반적으로 요구된다. 집적 회로의 온보드 진단 시스템은 집적 회로의 기능적 거동 및 동작에 적은 영향을 미치는 것이 바람직하다.
본 발명의 일측면의 관점에서, 본 발명은 데이터 처리용 집적 회로를 제공하며, 이 집적 회로는:
데이터 처리 동작을 수행하도록 동작 가능한 기능 회로;
상기 기능 회로에 대해 진단 동작을 수행하도록 동작 가능한 진단 회로; 및
상기 진단 회로와 외부 진단 장치 간의 통신을 행하도록 동작 가능한 인터페이스 회로를 포함하며;
상기 인터페이스 회로는
(i) 상기 외부 진단 장치로부터 상기 진단 회로로 전송되어 상기 진단 회로의 상기 진단 동작을 제어하는 제어 신호; 및
(ii) 상기 외부 진단 장치와 상기 진단 회로 사이에서 전송되는 진단 데이터;
를 전송하기 위해 양방향 직렬 신호를 사용하는 것을 특징으로 한다.
본 발명은 온보드 진단 시스템에 전용인 다중 외부 핀이 상기와 같은 온보드 진단 시스템 설비에 불리한 오버헤드라는 점을 인지하고 있다. 본 발명의 기법은 온보드 진단 시스템과, 인터페이스 카드를 갖는 컴퓨터와 같은 외부 진단 장치 사이에 필요에 따라 제어 신호 및 진단 데이터 양자를 전송하기 위해 양방향 직렬 신호를 사용한다. 이는 진단 기능성을 지원하기 위해 필요한 핀의 수를 감소시키는 유리한 효과가 있고, 실시예에 따라서는 단일 외부 핀으로 감소될 수도 있다.
상기 진단 회로는 디버깅 동작 및 제조 테스트 동작과 같은 다양한 진단 역 할을 수행할 수 있다. 상기 진단 회로는 또한, 통상적으로는 진단 동작으로서 간주되지 않지만 진단 분야 이외에서 사용할 수 있도록 해주는 방식으로 진단 회로에 의해 지원될 수 있는 제조 프로그래밍 또는 제조 구성(manufacturing configuration)과 같은 기능성을 제공하도록 재사용될 수 있다.
양방향 직렬 신호가 통과하는 상기 제어 신호는 다양한 다른 형태를 취할 수 있다. 제어 신호의 바람직한 한 가지 형태는 진단 회로를 리셋시키도록 동작하는 리셋 신호이다. 유리하게도, 상기 리셋 신호는 양방향 직렬 신호를 소정의 리셋 기간 동안 소정의 리셋 레벨로 유지하는 형태로 제공될 수 있다.
제어 신호의 다른 매우 유익한 형태는 진단 회로로부터 외부 진단 장치로의 페이싱 신호(pacing signal)이다. 상기 진단 회로는 진단 회로가 보다 많은 데이터를 수용할 준비가 될 때와 장기간의 복합 동작과 같은 진단 동작을 완료했을 때 이를 외부 진단 장치에 나타낼 수 있다는 점에서 상기 방식으로 자기-조절(self-pacing)할 수 있다.
상기 페이싱 신호는 시간 슬롯을 페이싱 신호 전용인 직렬 신호 프로토콜 내에 전용케 함으로써 유리하게 제공될 수 있으며, 상기 시간 내에 진단 회로는 외부 진단 장치에 의해 감지되고 페이싱 정보를 통신하는 데 사용될 수 있는 방법으로, 양방향 직렬 신호에 신호 레벨을 부여할 수 있다.
또 다른 형태의 제어 신호는 외부 진단 장치에 의해 생성되는 시작 신호로서, 직렬 데이터의 프레임의 시작을 나타내는 데 사용될 수 있다.
직렬 신호의 프레임의 말단에 프레임 또는 동작의 중지를 시그널링하는 데 사용될 수 있는 중지 신호 역시 제공될 수 있다. 상기 중지 신호가 소정의 레벨로 유지된다면 이로써 아이들 상태(idle state)가 강제된다.
본 발명의 바람직한 실시예에서, 집적 회로에 의해 양방향 직렬 신호를 샘플링하는 데 사용되는 샘플링 포인트의 타이밍은, 외부 진단 장치로부터 트레이닝 신호(training signal)가 전송되고 집적 회로가 상기 수신 신호를 샘플링하는 트레이닝 모드(training mode)를 이용함으로써 양방향 직렬 신호 자체로부터 이끌어낼 수 있다. 상기 집적 회로는 클록비(clock ratio)(트레이닝 클록 펄스에 대한 집적 회로 클록수)를 찾아낼 수 있고 또는 외부 진단 회로는 올바른 트레이닝 신호가 안정적으로 수신될 때까지 타이밍을 다운 조절할 수 있다. 이러한 방식으로, 집적 회로는 외부 진단 장치와 "동기화"될 수 있고, 이 동기화는 동기화의 소실을 방지하도록 현재 진행중인 것을 기초로 직렬 데이터에서 신호 엣지(signal edge) 등을 검출하는 것에 의해 유지되어야 한다.
상기 집적 회로는 인터페이스 회로의 리셋에 후속하는 것과 같은 트레이닝 모드로 초기화되는 것이 유리하다. 상기 집적 회로가 트레이닝 신호를 성공적으로 수신하고 그 자체가 동기화된 것을 나타내는 데 상기 페이싱 신호가 이용될 수 있다.
인터페이스 회로와 양방향 직렬 신호를 매개로 통신이 행해지는 진단 회로는 매우 다양한 다른 형태를 취할 수 있다는 것을 인식할 수 있을 것이다. 바람직한 예로서, 기능 회로로부터 데이터를 수집하거나 기능 회로에 데이터를 적용하기 위한 하나 이상의 스캔 체인 및 기능 회로의 버스와의 통신을 제공하도록 작동 가능 한 하나 이상의 디버깅 버스 액세스 회로가 있다. 다른 형태의 진단 회로도 가능하다.
상기 인터페이스 회로는 전술한 비-클록식 모드(non-clocked mode)에서 동작하는 것은 물론, 집적 회로에 의해 역시 사용되는 별개의 클록 신호에 의해 통신이 클록되는 클록식 모드에서도 동작 가능한 것이 또한 유리하다. 집적 회로에 의해 발생되거나, 집적 회로에 적용되거나, 그렇지 않으면 이들 가능성 중 어떤 것으로부터 파생될 수 있는 별개 클록 신호를 이러한 방식으로 사용하는 것은 상기 동기화가 나중에 체킹되는 샘플링 포인트에 의존하는 것보다 더 확실하기 때문에 보다 고속의 데이터율을 얻을 수 있도록 해준다.
상기 집적 회로는 클록식 모드와 비-클록식 모드 사이에서 스위칭 가능한 것이 바람직하지만 비클록식 모드에서 초기화되는데, 이는 일반적으로, 지원되는 상기 모드들에 대한 보다 느린 최소의 요구이다.
본 발명의 다른 측면에서, 본 발명은 집적 회로에 대한 진단 동작을 수행하기 위한 진단 장치를 제공하며, 이 진단 장치는:
상기 집적 회로 내의 진단 회로와 진단 장치와의 사이에 통신을 제공하도록 동작 가능한 인터페이스 회로를 포함하고;
상기 인터페이스 회로는
(i) 상기 진단 장치로부터 상기 집적 회로로 전송되어 상기 집적 회로에 의해 수행된 진단 동작을 제어하는 제어 신호; 및
(ii) 상기 진단 장치와 상기 집적 회로 사이에서 전송되는 진단 데이터;
를 전송하기 위해 양방향 직렬 신호를 사용하는 것을 특징으로 한다.
본 발명의 또 다른 측면에서, 본 발명은 집적 회로 내의 기능 회로에 대한 진단 동작을 수행하도록 동작 가능한 진단 회로와의 통신 방법을 제공하며, 이 방법은:
(i) 외부 진단 장치로부터 상기 진단 회로로 전송되어 상기 진단 회로의 상기 진단 동작을 제어하는 제어 신호; 및
(ii) 상기 외부 진단 장치와 상기 진단 회로 사이에서 전송되는 진단 데이터;
를 전송하기 위해 양방향 직렬 신호를 사용하는 단계를 포함하는 것을 특징으로 한다.
이하에서는, 본 발명의 실시예들을 첨부 도면을 참조하여 예시의 목적만으로 설명한다.
도 1은 외부 진단 장치에 접속된 내장형 진단 시스템을 포함하는 집적 회로를 개략적으로 도시한 도면;
도 2는 외부 진단 장치와 집적 회로의 인터페이스 회로 사이의 통신에 사용되는 직렬 데이터 프레임을 도시한 도면;
도 3은 인터페이스 회로의 인터페이스 트레이닝 동작을 개략적으로 나타낸 흐름도;
도 4는 집적 회로의 데이터 수집 동작을 개략적으로 나타낸 흐름도;
도 5는 집적 회로에 대해 진단 동작을 실행하는 버스 트랜스액션을 부여하기 위해 비클록식 모드에 진단 버스-마스터 회로를 합체한 집적 회로를 개략적으로 도시한 도면;
도 6은 집적 회로에 대해 진단 동작을 실행하는 버스 트랜스액션을 부여하기 위해 클록식 모드에 진단 버스-마스터 회로를 합체한 집적 회로를 개략적으로 도시한 도면; 및
도 7 및 도 8은 외부 진단 장치와 집적 회로 사이에 사용하기 위한 통신 기법의 양태를 보여주는 도면이다.
도 1은 외부 진단 장치(4)에 연결된 집적 회로(2)를 보여주는 도면이다. 상기 외부 진단 장치(4)와 집적 회로(2) 사이의 연결은 SWJ와 같은 양방향 직렬 인터페이를 매개로 한다. 집적 회로(2) 내부에서, 인터페이스 회로(6)가 상기 양방향 신호를 수신한다. 상기 직렬 신호로부터 디코딩된 데이터 및 상기 직렬 신호로부터 디코딩된 제어 신호는 이들 제어 신호 및 데이터에 따라 집적 회로(2)의 다른 요소들에 대해 진단 동작을 수행하는 진단 회로(8)로 보내진다. 데이터 및 제어 신호는 또한 집적 회로(2)로부터 양방향 직렬 신호를 거쳐 외부 진단 장치(4)까지 다시 보내질 수도 있다. 집적 회로(2)는 통상적으로 시스템-온-칩(SoC) 집적 회로이다.
집적 회로(2) 내부의 기능 회로는 프로세서 코어(10), 코프로세서(12), 메모리(14) 및 직렬 UART 장치(16)를 포함한다. 이들 기능 회로는 기능 버스(18)(예컨대, AMBA 또는 기능 회로를 연결하기 위한 다른 버스)에 의해 연결된다. 진단 회 로(8)는 집적 회로(2) 내부에 블록의 형태로 개략적으로 도시되어 있다. 상기 진단 회로는 다양한 다른 형태를 취할 수 있고, 예컨대 필요에 따라 집적 회로(2)의 주변, 어떤 기능 요소의 둘레 또는 어떤 기능 요소 내부에서 연장되는 직렬 스캔 체인을 포함할 수 있다는 것을 이해할 것이다. 진단 회로(8)는 BIST 장치 등과 같은 다른 형태를 가질 수도 있다.
사용 시에, 상기 외부 진단 장치를 이용하는 엔지니어는 상기 양방향 직렬 인터페이스를 따라 그리고 인터페이스 회로(6)를 거쳐 집적 회로(2)로 보내진 제어 신호 및 데이터에 응답하여 집적 회로(2)에 대해 수행될 소정의 진단 동작을 명령한다. 결과 데이터는 다시 인터페이스 회로를 통해 상기 양방향 인터페이스를 따라 외부 진단 장치(4)로 보내진다.
도 2는 직렬 데이터의 프레임을 보여준다. 상기 프레임은 시작 비트와, 이에 후속하는 8개의 데이터 비트, 정지 비트 및 지속 비트(continue bit)를 포함한다. 상기 정지 비트와 지속 비트는 상기 직렬 프레임을 종료시키는 정지 신호의 일부로 고려될 수 있다. 순수 데이터 값 또는 소정의 내장된 제어 명령일 수 있는 8-비트 데이터 값을 상기 직렬 데이터 프레임 프로토콜을 사용하여 진단 회로(8)에 보내는 것, 상기 시작 비트, 정지 비트 및 지속 비트 자체에 의해 제공되는 제어 기능은 이하에서 설명한다. 여러 실시예들에 있어서, 데이터, 시작 및/또는 정지 비트의 수가 상이한 것을 비롯하여, 프레임 내의 비트 수가 상이할 수 있다는 것을 이해할 것이다.
도 3은 인터페이스 회로(6)의 트레이닝을 보여주는 흐름도이다. 인터페이스 회로(6)는 상기 직렬 데이터 신호 자체로부터, 사용될 샘플링 포인트로 타이밍 정보를 추출하는 비클록식 모드에서 동작 가능하다. 이는 인터페이스 회로(6)를 트레이닝 함으로써 이루어진다. 상기 트레이닝은 알려진 직렬 데이터 스트림(예컨대, 0 및 1의 교호값)을 전송하는 외부 진단 장치(4)의 형태를 취하는데, 상기 인터페이스 회로는 올바른 시퀀스가 적절히 수신되는 방식으로 상기 트레이닝 패턴을 샘플링하려고 한다. 인터페이스 회로(6)는 파워업(powerup) 시에 또는 상기 트레이닝 패턴을 찾는 트레이닝 모드로의 리셋에 이어 초기화된다. 상기 트레이닝 패턴을 수신하면, 상기 인터페이스 회로는 지속 신호를 발행하는데, 상기 외부 진단 회로는 상기 트레이닝 회로가 성공적으로 수신되었고 따라서 인터페이스 회로(6)가 이제 상기 직렬 데이터 프레임에 적당한 샘플링 포인트를 이용하고 있다는 것을 의미하는 것으로 상기 지속 신호를 해석할 수 있다. 상기 외부 진단 장치는 인터페이스 회로(6)가 상기 직렬 데이터를 올바르게 수신하여 그것이 트레이닝되었다는 것을 나타내는 적절한 표시를 발행할 때까지 상기 직렬 데이터의 데이터 속도를 변경할 수 있다(예컨대, 낮출 수 있다).
도 3은 단계(20)에서 리셋을 빠져나갈 때까지 대기하는 인터페이스 회로(6)를 보여준다. 단계(22)에서, 트레이닝 모드가 시작된다. 단계(24)에서, 인터페이스 회로(6)는 0 및 1의 교호값의 트레이닝 패턴을 식별하고자 하는 포인트 시퀀스에서 양방향 직렬 신호를 샘플링한다. 상기 샘플링 포인트들은 보통, 집적 회로(2) 내부에서 사용되는 클록 신호에 의해 규정되는데, 보통 상기 클록 주파수의 고정된 다중 또는 다른 유도체이다.
단계(26)에서, 인터페이스 회로(6)가 직렬 데이터의 전체 프레임이라고 믿는 것을 샘플링한 후에, 인터페이스 회로는 수신된 패턴이 상기 트레이닝 데이터 패턴과 일치되는 지를 알아보기 위하여 상기 수신된 패턴을 테스트한다. 일치가 발견되지 않으면, 처리 과정은 단계(24)로 돌아가고 샘플링이 계속된다. 이 실시예에서, 양방향 직렬 신호가 집적 회로(2)에 의해 적절히 수신될 수 있을 때까지 양방향 직렬 신호의 데이터 속도를 변화시키는 것이 외부 진단 장치(6)의 역할이라는 점을 이해할 것이다. 이는 일반적으로, 집적 회로(2) 내에 진단 작업의 복잡성을 제공하기 보다는 그 복잡성을 외부 장치(4)에 오프로드(offloading)하는 원리와 일치한다.
단계(26)에서 트레이닝 패턴이 성공적으로 수신되었다는 것이 확인되면, 단계(28)가 이어지는데, 상기 단계(28)는 상기 지속 비트 주기 동안 직렬 데이터 값을 제로 레벨로 풀다운(pull down)하는 역할을 한다. 상기 지속 비트는 보통, 집적 회로(2) 그 자체에 의해 능동적으로 풀다운되지 않는다면 1에 대응하는 레벨에서 부유(float)한다. 트레이닝 모드 중에, 즉 초기화 후 상기 지속 비트의 풀다운은 집적 회로(2)가 외부 장치(4)의 양방향 직렬 신호 데이터 속도에 성공적으로 트레이닝 되었고 이제 인터페이스 회로(6)를 매개로 통신 가능하다는 것을 외부 진단 장치(4)에 시그널링한다. 단계(30)에서, 상기 트레이닝 모드를 빠져나가고, 단계(32)에서 데이터 모드로 들어간다.
도 4는 정상의 데이터 수집 모드 중에 인터페이스 회로(6)의 동작을 개략적으로 보여주는 흐름도이다. 단계(34)에서, 인터페이스 회로(6)는 직렬 데이터 프 레임의 처음에 시작 비트의 수신을 위해 인터페이스-대기한다. 본 실시예에서, 시작 비트는 항상 제로의 값이다. 따라서, 외부 진단 장치(4)가 1에서 양방향 직렬 신호 레벨을 유지한다면, 인터페이스 회로(6)는 시작 비트를 계속 대기하고 아이들 상태로 효과적으로 유지된다.
상기 시작 비트가 일단 검출되면, 과정은 단계(36)로 진행되는데, 상기 단계에서는, 도 3과 관련하여 설명한 트레이닝 모드에서 설정된 샘플 타이밍을 이용하여 8개의 데이터 비트가 샘플링된다. 상기 단계에 후속하여, 단계(38)가 이어지는데, 상기 단계(38)는 본 실시예에서 항상 1의 값인 정지 비트가 존재하는 지를 검출한다. 정지 비트의 존재는 적절히 수신되는 프레임에 대한 체크 값으로서 이용될 수 있고, 또한 정지 비트에 선행하는 직렬 데이터를 효과적으로 취소하기 위하여 상기 외부 진단 장치에 의해 이용될 수 있다.
상기 정지 비트가 성공적으로 검출되면, 단계(40)는 상기 8개의 데이터 비트를 진단 회로(8)로 보내는 역할을 한다. 이들 8개의 데이터 비트는 자극으로서, 또는 진단 회로(8)가 그 작용을 구성하도록 하는 제어 명령으로서 집적 회로(2)에 공급되는 데이터 값일 수 있고, 또는 다른 용도를 갖고 있을 수 있다. 진단 회로(8)의 상태가, 필요한 진단 동작이 집적 회로(2)로부터 외부 진단 장치(4)로 데이터를 보내는 그러한 상태라면, 단계(36)에서 8개의 데이터 비트 값을 샘플링하는 대신에, 상기 인터페이스 회로는, 외부 진단 장치(4) 쪽으로 보내고자 하고 또 그 외부 진단 장치(4)에 의해 검출 및 기록될 적절한 데이터 비트 값을 단정할 수 있다.
단계(40)에 이어지는 단계(42)는 상기 인터페이스 회로가 계속될 준비가 되어 있는지 여부를 결정한다. 상기 진단 회로는, 복잡한 동작일 수 있고 완결되는 데에 비교적 긴 시간을 필요로 하는 진단 동작을 수행하는 데에 바쁠 수가 있고, 그 동작이 완료될 때까지 추가의 데이터가 상기 외부 진단 장치로부터 전송되는 것은 부적절할 수 있다. 상기 외부 진단 장치(4)로부터의 추가의 데이터는 후속하는 진단 동작을 위한 명령일 수 있고, 상기 선행 동작이 정지할 때까지 이것을 시작하는 것은 가능하지 않다. 인터페이스 회로(6)가 계속 준비 상태에 있지 않다면, 처리 과정은 단계(44)로 이어지는데, 상기 단계(44)에서 인터페이스 회로(6)는 상기 직렬 신호 레벨을 상기 지속 비트 기간 동안 제로의 값으로 강제한다. 이는 상기 직렬 통신이 계속되어서는 안된다는 것을 외부 진단 장치(4)에 알려준다. 다음에, 과정은 인터페이스 회로(6)가 계속될 준비가 될 때까지 단계(42)로 복귀한다.
단계(38)에서 상기 정지 비트가 적절히 검출되지 않았다고 결정되었다면, 과정은 단계(46)로 진행한다. 단계(46)는 즉각적으로 선행하는 7개의 연속한 중지(정지 비트에 대한 단정이 없다)가 발생하였는지 여부를 결정하는데, 이 경우 이는 8번째가 되고, 리셋은 단계(50)에서 시작된다. 단계(46)에서의 테스트가 충족되지 않으면, 단계(48)는 어보트(abort)를 외부 진단 장치로 보낸다.
상기 직렬 데이터 프로토콜의 특별한 의미 및 다른 특징을 갖고 있는 상기 트레이닝 패턴 신호 레벨은 모두 본 기법을 구현하면서 변화될 수 있다는 것을 이해할 것이다.
이하에서는, 상기한 양방향 직렬 통신에 대하여 추가적으로 설명한다.
용어 및 약자
이하의 설명에서 다음과 같은 용어 및 약자를 사용한다.
SWO: Single Wire Output. 애플리케이션 특정 추적(trace) 성분(프로세서에 특징적인 일반적인 추적과 혼동하여서는 안된다).
DBT: 이는 시스템 버스에 액세스하기 위한 AMBA(AHB 또는 AHB-Lite)로서 작용하는 TAP 블록이다.
AMBA: 칩 내부의 ARM 버스 표준.
JTAG: 직렬 인터페이스를 스캔 체인에 제어하는 4-6-와이어 인터페이스에 대한 IEEE Joint Test Access Group 사양. JTAG는 테스트뿐만 아니라 디버그를 위해 사용된다. SWJ는 하부의 디버그 JTAG 모델에 기초한다. 스캔 TAP는 JTAG의 테스트 부분에 기초한다.
Emulator: 디버그를 위해 칩에 부착된 런 제어 박스(HW의 일부)를 지칭하는 데 사용되는 틀린 명칭. 보통의 에뮬레이터는 JTAG를 기반으로 한다. SWJ 인터페이스에 연결된 박스 역시 역사적인 이유 때문에 에뮬레이터라 지칭된다.
OCRC: SWK의 On-Chip Run-Control 성분. 이는 DBT 및 스캔 체인에 실제 프로토콜 핸들링 및 인터페이스를 제공한다.
서언
이는 소형의 단일 와이어 JTAG 성분을 위한 제안이다. SWJ 성분은 전형적인 4-6 와이어 JTAG 인터페이스 대신에 단일 와이어 인터페이스를 이용하여 (멀티 코어를 포함하는) ARM 기반 프로세서를 디버그 및 테스트하는 데 사용된다. 상기 단일 와이어 인터페이스는 문자 그대로 양방향의 통신을 위해 하나의 와이어를 이용한다. 고속 SWJ 지원은 클록(그러나, SWJ에 전용인 클록일 필요는 없다)을 담고 있는 추가의 신호/핀에 대해 가시도(visibility)를 요구한다. (분할될 수 있는) 상기 클록은 샘플링을 위해 선명한 엣지를 제공함으로써 고속을 가능하게 한다.
상기 비클록식 모드는 최대 약 3 MHz의 속도(데이터 속도는 그 속도의 8/11th이다)를 허용한다. 클록식 모드는 최대 약 40 MHz의 속도(데이터 속도는 그 속도의 8/11th이다)를 허용한다. 일반적인 와이어 프로토콜은 각각의 8개의 데이터 비트 각각에 대하여 하나의 시작 비트, 하나의 정지 비트, 하나의 지속 비트가 연속하도록 프레임화된다. 유지된 정지 비트는 제한 없는 아이들 시간을 허용한다. 유지된 0은 버스 리셋이다. 에뮬레이터는 상기 인터페이스를 구동하는데, 상기 지속 비트는 리턴 데이터가 타겟에 의해 제공되는 때를 나타낸다. 이는 타겟이 동작의 완료를 나타낼 때까지 에뮬레이터가 펜딩(pend)될 수 있도록 해준다. 따라서, JTAG와 달리, 에뮬레이터는 적절히 페이싱될 수 있다..
SWJ의 다른 부분은 OCRC(On-Chip Run-Control)이다. OCRC는 DBT 액세스, JTAG 액세스, 선택적으로 (DBT를 매개로 하는) 직접 스캔 체인 액세스에 사용되는 프로토콜을 지원한다. OCRC는 특정 ROM 상수 스트링이 시스템(코어, 장치 등) 내의 임의의 TAP의 성능을 향상시킬 수 있도록 한다. 일반적으로, OCRC의 프로토콜 은 SWJ에 대하여 상당히 최적화되어 있어 가능한 최고의 속도를 보장한다. 일반적으로, 이는 보통, SWJ가 동일한 속도급에서 직선 JTAG보다 훨씬 더 빠르다는 것을 의미한다.
SWJ 전기 인터페이스를 고려할 때, 타겟에 대한 비용을 최소화하고 매우 저렴한 에뮬레이터가 가능하게 주의 깊게 설계를 선택해야 한다는 것은 중요하다. 일반적으로, SWJ는 에뮬레이터 부류의 선택을 통해 속도에 대한 비용을 균형 맞출 수 있도록 해준다. 따라서, 로우-엔드 핀감소(low-end pin-starved) MCU는 매우 저렴한 에뮬레이터를 이용할 수 있고, 하이-엔드 고속부(high-end fast part)는 훨씬 더 강력한 에뮬레이터를 이용할 수 있다. 그러나, 상기 인터페이스는 저속 및 고속 형태(비클록식 및 클록식 모드)를 지원하도록 설계되어 있어, 두 부분에 대해 어느 에뮬레이터든 사용할 수 있다.
SWJ 전기 설계( electrical design )
도 5는 비클록식 연결의 블록도이다. 도 6은 클록식 연결의 블록도이다. 모든 에뮬레이터는 비클록식 모드를 지원해야 하지만, 클록식 모드는 선택이다. 이는, SWJ가 (리셋으로부터) 비클록식 모드에서 항상 나타나기 때문이다. 회로들은 에뮬레이터 및 타겟 양자에 대해 상기 2개의 작은 모드 사이에서 스위칭되도록 설계된다.
타겟측의 200K 풀다운 레지스터는 칩 내부에 또는 보드 상에 있을 수 있다는 것에 유의하여야 한다.
비클록 모드의 전기적 세부 사항
에뮬레이터 내부의 비클록식 모드 신호 컨디셔너는 LOW부터 HIGH까지 신호를 재빨리 스내핑(snap)하는 데 사용된다. 10K 레지스터는 단지 신호를 HIGH로 부유시키지만, 상기 신호 컨디셔너(버스 홀드 스타일 피드백 회로)는 전류 변화를 검출하고, RMS를 통과할 때까지 신호를 HIGH로 구동시킨다. 이 시점에서, 컨디셔너는 탈퇴되고 10K 레지스터가 상기 신호를 HIGH 상태로 유지할 수 있도록 해준다. 엣지의 형태는 비클록식 모드의 저속(3MHz 이하)에 대해 충분히 선명하다.
매우 낮은 로우-엔드 부분에 대하여, 그 부분의 SWJ 디버그 단부에 전원을 공급하기 위해 비클록식 풀업 모델을 이용할 수 있다. 이는 보통의 모델이 아니고 커패시턴스 드레인을 이용하여 실현 가능하다.
클록 모드의 전기적 세부 사항
타겟은 보통 클록식 모드에 클록을 공급한다. 상기 클록은 칩으로부터의 클록일 수 있고(출력) 또는 타겟 보드로부터 칩 내부로의 클록일 수 있다(입력). 또한, 크리스털 또는 PLL을 매개로 클록을 생성하는 포드(에뮬레이터 접속)를 구성할 수 있지만, 에뮬레이터는 클록을 직접 생성하지 않는다. 어느 경우이든지, 클록은 SWJ에 대해 전용 클록일 필요는 없고(다른 용도를 위해 공유될 수 있다) 선명하기만 하면 된다.
상기 클록은 대부분의 경우에 분할될 것이라고 가정한다. 즉, 클록을 10MHz 내지 100MHz 범위에 유지할 것이 제안된다. 어떤 분할이든지, 명령 프로토콜을 이용하여 여전히 비클록식 모드에 있는 동안에 동의되고 결정된다. 분할기를 이용하는 이유는 보다 빠른 클록 소스를 원하는 고속 SWO(또는 다른 목적)에 대해 동일한 클록이 사용될 수 있기 때문이다. SWJ의 프로토콜은 분할된 클록을 사용하는 방법을 명확하게 규정한다. SWJ는 상기 클록을 그 클록 소스로서 사용하여야 한다는 것에 유의하여야 한다(그러나, 이는 클록식 모드와 비클록식 모드 사이에서 진행할 때 스위칭될 수 있다). 이와 같은 모델(대 샘플링)의 이유는 상기 클록 엣지가 단일 핀 상에서 양방향 인터페이스를 지원하는 데 사용되기 때문이다.
SWJ 에 대한 와이어 프로토콜
SWJ 와이어 인터페이스는 느슨하게, RS-232 모델(클록식인지 아닌지)에 기초하고 있다. 각각의 8비트 데이터 패킷은 하나의 시작 비트와 2개의 정지 비트를 갖도록 프레임화되어 있다. 그러나, 두 번째 정지 비트는 실제 이하에서 설명하는 바와 같이 특정의 응답 마커(special reply marker)이다. 상기 포맷은 다음과 같다.
0 = 시작 (어느 방향으로) 8비트 데이터 1 = 정지 1 = 지속, 0 = 비(非)지속
중요한 차이는 두 번째 정지 비트이다. 이 두 번째 비트는 상기 패킷이 받아들여지고 에뮬레이터가 지속되어야 하는 경우 좌측의 하이이다. 상기 패킷이 재전송되어야 하는 경우 그 비트는 로우로 된다. 이러한 메커니즘에 의해 상기 타겟은 핸들링할 수 있는 속도로 상기 에뮬레이터와 보조를 맞출 수 있게 된다. 이러 한 페이싱은 (SWJ 클록 속도가 (32 KHz에서) 코어보다 더 빠른 경우와 같이) 바이트-바이-바이트 관리, (DBT 메모리 트랜스액션과 같은) 동작 완료에 대해 이용될 수 있다.
비클록식 모드에 대하여, 상기 타겟은 CONTINUE라면 단지 상기 라인을 하이(액티브 풀업) 상태로 남겨 두고, 그렇지 않으면 로우 상태로 한다는 것에 유의하여야 한다. 클록식 모드에 대하여, 상기 타겟은 CONTINUE에 대하여 하이 상태를 유지하여야 하고, 그렇지 않으면 로우 상태로 하여야 한다.
와이어 프로토콜 모드 및 상태
일반적으로, 4개의 와이어 프로토콜 모드 또는 상태가 있다.
1. 리셋. 이는 와이어가 8개 이상의 패킷에 대하여 로우로 유지되는 경우에 발생한다. 타겟은 상기 정지 비트가 없기 때문에 이를 검출한다. 이는 경보(alert)라고 부른다. 9개 이상의 경보가 검출되면, 타겟은 상기 인터페이스의 리셋이 단정되었음을 가정할 수 있다(이는 SWJ 외에는 아무 것에도 영향을 미치지 않는다). SWJ 인터페이스는 비클록식 모드로 복귀한다. 에뮬레이터에 연결되지 않으면 풀다운 레지스터로 인해 리셋이 야기된다는 것에 유의하여야 한다.
2. 트레이닝-비클록식 모드에서만. 리셋 후에, 에뮬레이터는 0×55(0b01010101)를 갖고 있는 데이터 패킷을 전송한다. 타겟은 이를 비클록식 시퀀스 상의 오토-보드(auto-baud)에 이용하거나 클록식 시스템 상의 분할기를 확인하는 데 이용한다. 트레이닝 패킷은 두 번째 정지 비트가 CONTINUE(1)으로 설정되어 있는 경우 계속 전송된다. 두 번째 정지 비트가 NOT CONTINUE(0)으로 설정되는 경우 트레이닝 모드를 빠져나가게 된다. 9개 이상의 CONTINUE 비트가 에뮬레이터에 의해 검출되면, 리셋을 다시 시도하고 이어서 트레이닝 모드에 대하여 더 느린 속도를 구동하는 것을 선택할 수 있다. 이는 (3 MHz 비클록식 모드에서 충분히 오버 샘플링할 수 없는) 매우 느린 칩의 경우를 수용할 수 있다.
3. 데이터. 데이터 모드는 보통의 패킷 모드이다. 이 모드는 트레이닝 모드를 떠난 후에 들어가게 되는 모드이다. (1 클록보다 길게 정지가 지속된다면) 데이터 패킷 사이에 아이들 상태가 있을 수 있다. 따라서, 정지 비트의 도입을 통해 보통의 데이터 모드 및 데이터 상태로 항상 복귀하게 된다.
4. 아이들. 아이들 상태는 라인이 정지 상태(어떠한 시작 비트도 전송되지 않음)로 유지되는 것이다. 이러한 아이들 상태는 요구되는 한 유지될 수 있다. 정지 비트의 도입을 통해 상기 아이들 상태를 빠져나가게 된다. 비클록식 모드에서, 상기 시작 비트는 다음의 자연 내부 클록 포인트에서 (에뮬레이터에) 나타난다. 클록식 모드에서, 상기 시작 비트는 클록 엣지 상에 나타난다.
리셋 모드
리셋 모드는 단정되지 않은(deasserted) 정지 비트(정지는 1 대신에 0이다)를 갖고 있는 8개 이상의 패킷이다. 즉, 8개 패킷 가치의 어보트는 리셋을 일으킨다.
리셋 시에 어떤 동작을 취해야 할지에 대한 규정은 SWJ 및 OCRC 블록에 고유 하다. 주된 의향은 라인만을 클리어하는 것이고, 따라서 SWJ의 임의의 내부 상태를 클리어하는 것 뿐만 아니라 임의의 펜딩 중인 OCRC 모드/명령을 취소하는 것이 주 목적이다.
트레이닝 모드
트레이닝 모드는 단지 리셋 후에 들어가게 되는 모드이다. 트레이닝 명령은 데이터로서 0×55이다. 타겟이 두 번째 정지 비트를 로우로 되게 한 후에 트레이닝 모드를 빠져나간다. 이는 타겟이 데이터 상에 트레인될 수 있도록 해줄 뿐만 아니라, 타겟 시간이 보드율(비클록식 모드에서의 데이터 클록 속도)을 자동 검출할 수 있도록 해준다. 데이터 클록이 너무 빠르면, 두 번째 정지 비트는 부유의 하이 상태에서 남겨지며, 이는 타겟이 트레인될 수 없다(따라서 더 낮은 속도를 시도할 수 있다)는 것을 에뮬레이터가 검출할 수 있도록 해준다.
시작=0 1 0 1 0 1 0 1 0 정지 CONTINUE(1/
0)
데이터 모드
데이터 모드는 NOT CONTINUE 비트(0)을 매개로 트레이닝 모드를 빠져나간 후 바로 이어진다. 데이터 모드는 클록식인지 또는 비클록식인지 SWJ에 대한 정상 작동 모드이다. 데이터 모드는 SWJ 와이어 프로토콜 상위의 레벨에서 명령 발행을 가능하게 한다. 데이터 모드 명령은 SWJ 인터페이스를 겨냥한 명령, OCRC 블록의 부분들로 라우팅되는 명령을 포함한다. 주요 SWJ 데이터 모드 명령은 다음과 같 다.
■ Get ID - SWJ 모듈의 ID를 읽어낸다. 이는 OCRC 명령으로 바뀔 수도 있다. 이 명령은 또한 클록 모드가 가능한지를 나타내기도 한다.
■ Set clock mode divide counter - 이 명령은 카운터를 셋팅할 수 있도록 해준 다음에, 스위치를 클록 모드하에 놓게 한다. 클록 모드로의 스위치에 이어서, 8개 패킷 가치의 아이들 상태(후술) 및 클록식 모드의 GetID 명령이 후속한다. GetID 명령이 실패하면, 에뮬레이터는 비클록식 모드로의 복귀를 위해 리셋을 이용할 수 있다.
■ Abort OCRC current action. 데이터 명령 상의 SWJ 인터페이스로부터 연속한 NOT CONTINUIE 응답이 있는 경우에, 에뮬레이터는 OCRC가 현재의 작용을 취소하고(가능하다면) 알려진 상태로 돌아가도록 요청하기 위해 Abort 명령을 사용할 수 있다. Abort는 SWJ에서와 같이 모든 서브시스템에서 동일한 명령이다.
주요 OCRC 명령은 다음과 같다.
■ Get ID - SWJ 및 OCRC ID 정보를 읽어낸다. 이 정보는 시스템 설계 파라미터에 대한 정보뿐만 아니라(클록식 모드가 지원되는 지, DBT 스캔 TAP가 지원되는지, JTAG 액세스가 지원되는지, DBT MemTAP가 지원되는지를 포함), 블록의 버전도 포함한다.
■ Select DBT MemTAP. 이는 명령 공급을 위해 MemTAP를 선택한다. (MemTAP 퇴거 요청 또는 Abort를 매개로) 빠져나갈 때까지, 후속하는 명령들은 MemTAP 요소에 공급된다. Abort는 SWJ에서와 같이 모든 서브시스템에서 동일한 명 령이다. 그 후, 34 비트 데이터 및 최적화 명령(예컨대, 동일한 2 비트 익스텐션, 리피트 등을 갖고 있는 멀티플 32 비트 데이터)을 공급한다.
■ Select DBT ScanTAP. 이는 명령 공급을 위해 ScanTAP를 선택한다. 이는 MemTAP 명령 공급에서와 동일한 방식으로 동작한다.
■ Select JTAG command. 이는 OCRC 내부의 JTAG 래퍼(wrapper)를 선택한다. 이는 사용시 JTAG 체인이 있는 시스템에 대하여 JTAG 동작의 공급을 가능하게 한다. 이 유닛으로 전송되는 명령은 (시스템 설계자에 의해 제어되는 것과 같이) 시스템 내의 TAP에 적용 가능한 공통의 동작을 위한 ROM-상수 공급, 최적화된 Shifts, 드라이빙 TCK 시퀀스를 비롯하여, JTAG 트래픽을 최적화하도록 설계되어 있다.
■ Select Other command. 이는 다른 OCRC 명령 피드-거꾸로 한 것을 선택한다.
데이터 모드 명령의 한 가지 예는 다음과 같다.
시작=0 1 1 0 0 0 1 0 0 정지=1 CONTINUE(1/0)
상기의 것은 0×23의 값을 갖고 있다. CONTINUE 비트는, 상기 바이트가 받아들여지고, 반복되는 것이 필요할 경우 로우로 된다면 1에 남아 있을 것이다. 즉, NOT CONTINUE 비트 상태는 상기 바이트(0×23)가 타겟에 의해 받아들여지지 않고 다시 전송되어야 한다(그리고, 여전히 받아들여지지 않는다면 다시 전송된다)는 것을 나타낸다. 이는 상기 페이싱 메커니즘을 형성한다.
CONTINUE 또는 NOT CONTINUE 인디케이터는 다음의 세 가지 이유 중 임의의 이유로 인해 발생할 수 있다는 것에 유의하여야 한다.
■ OCRC 클록 속도는 일반적으로 뒤따르는 바이트를 받아들이기에는 너무 느리다(OCRC의 클록 속도는 시스템과 동일하고, 반면에 SWJ의 클록 속도는 상이할 수있다).
■ OCRC 또는 서브-시스템은 이전의 바이트를 (TCK, 버스 동작 또는 스캔을 구동시키는 것과 같이) 여전히 처리하고 있다.
■ OCRC는 (스캔 체인을 판독하고 예상값에 대하여 비교하는 것과 같이) 반복된 테스트를 하고 있다.
이들 세 가지 이유는 원데이터 속도(에뮬레이터가 일반적으로 얼마나 빨리 바이트를 공급할 수 있는가), 명령 완료 속도(서브-시스템이 얼마나 빨라 명령 자체를 실행할 수 있는가), 복합 동작 속도의 페이싱을 가능하게 한다. 상기 페이싱은 동작 형태의 변화(예컨대, 몇몇 메모리 형태는 다른 것보다 더 느릴 수 있다)뿐만 아니라, 내부 클록 속도의 변화에 기초하여 급격하게 변화될 수 있다. 이는 SWJ 전략의 강력한 부분을 형성하고, SWJ가 많은 경우(폴링 및 페이싱 이슈가 많은 문제를 만들어내는 경우)에 있어서 직선 JTAG보다 훨씬 더 빠르도록 해주는 것을 도와준다.
아이들 상태
아이들 상태는 데이터 모드 내부의 상태이다. 아이들 상태는 데이터 패킷 사이에 갭 또는 필러를 형성한다. 에뮬레이터는 단지, (로우 상태의 시작 비트가 나타내는 바와 같이) 뒤따르는 패킷을 도입하기 전에 요구되는 한 정지 상태(하이)를 유지한다.
... 정지=1 1 1 1 1 ... 1 1 1 시작=0 Command....
시스템 내에 SWJ OCRC 설치
도 7 및 도 8은 SWJ 및 OCRC가 시스템 내에 어떻게 설치되는 지를 보여준다. 도 7은 (ARM EICE를 비롯하여) JTAG TAP이 구비된 시스템에 대한 표준 SWJ 모델을 보여준다. 도 8은 신규의 하이브리드형 SWJ 모델을 보여주는데, 이 모델은 기존의 JTAG 시스템이 동일한 칩과 함께 동작할 수 있도록 해준다. SWJ 에뮬레이터는 고정 시퀀스를 이용하여 타겟을 JTAG로부터 SWJ로 스위칭할 수 있다.
도 7의 구조는 DBT(MemTAP 및 가능하게는 ScanTAP) 및 (다른 장치뿐만 아니라 ARM EICE 블록용과 같은) JTAG 스캔 체인을 액세스하는 데 SWJ를 사용한다.
도 8의 구조는 레거시 JTAG 지원을 갖추고 있어야 하는 벤더에 대한 하이브리드 접근법을 이용한다. 제3자 벤더는 평상시처럼, JTAG 에뮬레이터를 계속 플러그인하고 TAP을 지원할 수 있다. 신세대 에뮬레이터는 특별한 JTAG 시퀀스(하나의 TAP에 미사용 IR)를 전송하여 SWJ로 스위칭한다. 이는 (문제를 방지하는) 미사용 TCK 및 (혹시 연결되어 있다면) 미사용 nTRST가 구비된 동일한 핀(핀 중 세 개)을 재사용한다. 이를 위한 모델은 TMS가 SWJ 데이터 신호이고, TDO는 사용된다면 SWO 신호이며, TDI는 클록식 모드가 지원된다면 클록 소스인 모델이다. SWJ 에뮬레이터는 TCK를 로우 상태로 유지하고 리셋을 통해 TMS를 구동하여 JTAG 또는 SWJ 모드 에 있는지를 검출하고 이어서 트레이닝 모드에 있는지를 검출할 수 있다. 두 번째 정지 비트가 8개의 패킷 후에 로우 상태로 되지 않으면, 에뮬레이터는 어떻게든 JTAG 모드에 있다고 가정할 수 있다(왜냐하면, TCK는 로우 상태로 유지되고, JTAG는 사용자가 TMS를 변경하였는지에 대해 상관하지 않기 때문이다). 에뮬레이터가 JTAG 모드에 있는 경우에, 에뮬레이터는 1-기반 패턴을 구동하여 IR 길이를 검출한 다음에, 미사용 ARM EICE IR 시퀀스가 구비된 스캔 체인 내의 첫 번째 TAP에 고정 패턴을 전송한다. 이것은 다음에 타겟을 SWK 모드로 스위칭한다. 비클록식 SWJ에 있은 후에, 에뮬레이터는 지원된다면 클록식 SWK 모드로 스위칭될 수 있다. 에뮬레이터는 또한 TDO 상의 SWO 출력을 지원할 수 있다. 에뮬레이터는 이 최소한의 동작 셋트를 수행하기 위해 완전한 JTAG 에뮬레이터일 필요는 없다는 것에 유의하여야 한다.

Claims (63)

  1. 데이터 처리용 집적 회로로서,
    데이터 처리 동작을 수행하도록 동작 가능한 기능 회로;
    상기 기능 회로에 대해 진단 동작을 수행하도록 동작 가능한 진단 회로; 및
    상기 진단 회로와 외부 진단 장치 간의 통신을 행하도록 동작 가능한 인터페이스 회로를 포함하며;
    상기 인터페이스 회로는
    (i) 상기 외부 진단 장치로부터 상기 진단 회로로 전송되어 상기 진단 회로의 상기 진단 동작을 제어하는 제어 신호; 및
    (ii) 상기 외부 진단 장치와 상기 진단 회로 사이에서 전송되는 진단 데이터;
    를 전송하기 위해 양방향 직렬 신호를 사용하는 것을 특징으로 하는 데이터 처리용 집적 회로.
  2. 제1항에 있어서,
    상기 진단 회로는 디버깅 동작, 제조 테스트 동작, 제조 프로그래밍 동작 및 제조 구성 동작 중 하나 이상을 수행하도록 동작 가능한 것을 특징으로 하는 데이터 처리용 집적 회로.
  3. 제1항 또는 제2항에 있어서,
    상기 양방향 직렬 신호는 상기 외부 진단 장치로부터 상기 진단 회로까지 리셋 신호를 통신시키도록 동작 가능하고, 상기 리셋 신호는 상기 진단 회로를 리셋하도록 동작 가능한 것을 특징으로 하는 데이터 처리용 집적 회로.
  4. 제3항에 있어서,
    상기 리셋 신호는 미리 정해진 리셋 기간 동안 미리 정해진 리셋 레벨에서 상기 양방향 직렬 신호를 유지하는 상기 외부 진단 장치를 포함하는 것을 특징으로 하는 데이터 처리용 집적 회로.
  5. 선행하는 청구항 중 어느 한 항에 있어서,
    상기 양방향 직렬 신호는 상기 진단 회로로부터 상기 외부 진단 장치까지 페이싱 신호를 통신시키도록 동작 가능하고, 상기 페이싱 신호는 상기 진단 회로가 통신 준비 상태에 있는지 여부를 나타내도록 동작 가능한 것을 특징으로 하는 데이터 처리용 집적 회로.
  6. 선행하는 청구항 중 어느 한 항에 있어서,
    상기 양방향 직렬 신호는 상기 진단 회로로부터 상기 외부 진단 장치까지 페이싱 신호를 통신시키도록 동작 가능하고, 상기 페이싱 신호는 상기 진단 회로가 동작을 완료하였는지 여부를 나타내도록 동작 가능한 것을 특징으로 하는 데이터 처리용 집적 회로.
  7. 제5항 및 제6항에 있어서,
    상기 양방향 직렬 신호는 상이한 신호들을 통신하기 위한 상이한 시간 슬롯들을 포함하는 직렬 신호 프로토콜을 갖고 있고, 상기 진단 회로는 상기 양방향 직렬 신호를 페이싱 신호 시간 슬롯 동안 미리 정해진 페이싱 레벨로 강제하는 것을 특징으로 하는 데이터 처리용 집적 회로.
  8. 선행하는 청구항 중 어느 한 항에 있어서,
    상기 양방향 직렬 신호는 상이한 신호들을 통신하기 위한 상이한 시간 슬롯들을 포함하는 직렬 신호 프로토콜을 갖고 있고, 상기 양방향 직렬 신호는 직렬 데이터의 프레임의 시작을 나타내는 시작 신호를 통신시키도록 동작 가능하며, 상기 시작 신호는 시작 신호 시간 슬롯을 규정하도록 미리 정해진 시작 레벨로 구동되는 상기 양방향 직렬 신호인 것을 특징으로 하는 데이터 처리용 집적 회로.
  9. 제8항에 있어서,
    상기 통신은 상기 양방향 직렬 신호를 상기 미리 정해진 시작 레벨과 다른 레벨에서 유지하여, 통신되는 데이터의 다음 프레임이 후속되는 상기 미리 정해진 시작 레벨로 상기 양방향 직렬 신호가 변할 때까지 상기 시작 신호 시간 슬롯을 지연시키는 상기 외부 진단 장치에 의해 아이들 상태로 유지되는 것을 특징으로 하는 데이터 처리용 집적 회로.
  10. 선행하는 청구항 중 어느 한 항에 있어서,
    상기 양방향 직렬 신호는 상이한 신호들을 통신하기 위한 상이한 시간 슬롯들을 포함하는 직렬 신호 프로토콜을 갖고 있고, 상기 양방향 직렬 신호는 직렬 데이터의 프레임의 끝을 나타내는 정지 신호를 통신시키도록 동작 가능하며, 상기 정지 신호는 정지 신호 시간 슬롯 동안 미리 정해진 정지 레벨로 구동되는 상기 양방향 직렬 신호인 것을 특징으로 하는 데이터 처리용 집적 회로.
  11. 선행하는 청구항 중 어느 한 항에 있어서,
    상기 인터페이스 회로는 상기 통신이 상기 양방향 직렬 신호 내부에서 검출되는 트랜지션에 따라 클록되는 비클록식 모드에서 동작 가능한 것을 특징으로 하는 데이터 처리용 집적 회로.
  12. 제10항 및 제11항에 있어서,
    상기 진단 회로는 상기 정지 신호의 제1 부분의 수신을 이용하여 진단 동작의 어보트를 나타내는 것을 특징으로 하는 데이터 처리용 집적 회로.
  13. 제10항, 제11항 또는 제12항 중 어느 한 항에 있어서,
    상기 진단 회로는 상기 정지 신호의 제2 부분의 수신을 이용하여 상기 진단 회로에 의한 상기 직렬 데이터 프레임의 수신을 확인하는 것을 특징으로 하는 데이터 처리용 집적 회로.
  14. 선행하는 청구항 중 어느 한 항에 있어서,
    상기 인터페이스 회로는 상기 양방향 직렬 신호를 샘플링하기 위한 샘플 포인트 타이밍을 결정하기 위하여 상기 외부 진단 장치로부터 전송된 미리 정해진 형태의 트레이닝 신호에 대해 응답하는 트레이닝 모드에서 동작 가능한 것을 특징으 로 하는 데이터 처리용 집적 회로.
  15. 제14항에 있어서,
    상기 인터페이스 회로는 상기 트레이닝 모드로 초기화되는 것을 특징으로 하는 데이터 처리용 집적 회로.
  16. 제15항에 있어서,
    상기 초기화는 상기 인터페이스 회로의 리셋에 후속하는 것을 특징으로 하는 데이터 처리용 집적 회로.
  17. 제5항 내지 제16항 중 어느 한 항에 있어서,
    상기 인터페이스 회로는 상기 양방향 직렬 신호를 샘플링하기 위한 샘플 포인트 타이밍을 결정하기 위하여 상기 외부 진단 장치로부터 전송된 미리 정해진 형태의 트레이닝 신호에 대해 응답하는 트레이닝 모드에서 동작 가능하고, 상기 페이싱 신호는 트레이닝이 성공적으로 완료되었다는 것을 나타내는 것을 특징으로 하는 데이터 처리용 집적 회로.
  18. 선행하는 청구항 중 어느 한 항에 있어서, 상기 진단 회로는,
    (i) 상기 기능 회로로부터 진단 데이터를 수집하도록 동작 가능한 하나 이상의 스캔 체인;
    (ii) 상기 기능 회로에 진단 데이터를 적용하도록 동작 가능한 하나 이상의 스캔 체인; 및
    (iii) 상기 기능 회로 내부에서 버스를 매개로 통신을 제공하도록 동작 가능한 하나 이상의 디버그 버스 액세스 회로
    중 하나 이상을 포함하는 것을 특징으로 하는 데이터 처리용 집적 회로.
  19. 선행하는 청구항 중 어느 한 항에 있어서, 상기 인터페이스 회로는,
    (i) 상기 통신이 상기 집적 회로에 의해 사용되는 별개의 클록 신호에 의해 클록되는 클록식 모드; 및
    (ii) 상기 통신이 상기 양방향 직렬 신호 내부에서 검출되는 트랜지션에 따라 클록되는 비클록식 모드에서 동작 가능한 것을 특징으로 하는 데이터 처리용 집적 회로.
  20. 제19항에 있어서,
    상기 클록식 모드에서, 상기 통신은 클록 신호에 의해 클록되며, 상기 클록 신호는 상기 집적 회로에 의해 사용되는 다중의 클록 신호인 것을 특징으로 하는 데이터 처리용 집적 회로.
  21. 제19항 및 제20항에 있어서,
    상기 인터페이스 회로는 상기 비클록식 모드에서 초기화되도록 동작 가능하고, 상기 클록식 모드로 스위칭 가능한 것을 특징으로 하는 데이터 처리용 집적 회로.
  22. 집적 회로에 대한 진단 동작을 수행하기 위한 진단 장치로서,
    상기 집적 회로 내의 진단 회로와 진단 장치와의 사이에 통신을 제공하도록 동작 가능한 인터페이스 회로를 포함하고;
    상기 인터페이스 회로는
    (i) 상기 진단 장치로부터 상기 집적 회로로 전송되어 상기 집적 회로에 의해 수행된 진단 동작을 제어하는 제어 신호; 및
    (ii) 상기 진단 장치와 상기 집적 회로 사이에서 전송되는 진단 데이터;
    를 전송하기 위해 양방향 직렬 신호를 사용하는 것을 특징으로 하는 진단 장치.
  23. 제22항에 있어서,
    상기 진단 장치는 디버깅 동작, 제조 테스트 동작, 제조 프로그래밍 동작 및 제조 구성 동작 중 하나 이상을 수행하도록 동작 가능한 것을 특징으로 하는 진단 장치.
  24. 제22항 및 제23항에 있어서,
    상기 양방향 직렬 신호는 상기 외부 진단 장치로부터 상기 진단 회로까지 리셋 신호를 통신시키도록 동작 가능하고, 상기 리셋 신호는 상기 진단 회로를 리셋하도록 동작 가능한 것을 특징으로 하는 진단 장치.
  25. 제24항에 있어서,
    상기 리셋 신호는 미리 정해진 리셋 기간 동안 미리 정해진 리셋 레벨에서 상기 양방향 직렬 신호를 유지하는 상기 진단 장치를 포함하는 것을 특징으로 하는 진단 장치.
  26. 제22항 내지 제25항 중 어느 한 항에 있어서,
    상기 양방향 직렬 신호는 상기 진단 회로로부터 상기 외부 진단 장치까지 페이싱 신호를 통신시키도록 동작 가능하고, 상기 페이싱 신호는 상기 진단 회로가 통신 준비 상태에 있는지 여부를 나타내도록 동작 가능한 것을 특징으로 하는 진단 장치.
  27. 제22항 내지 제26항 중 어느 한 항에 있어서,
    상기 양방향 직렬 신호는 상기 진단 회로로부터 상기 외부 진단 장치까지 페이싱 신호를 통신시키도록 동작 가능하고, 상기 페이싱 신호는 상기 진단 회로가 동작을 완료하였는지 여부를 나타내도록 동작 가능한 것을 특징으로 하는 진단 장치
  28. 제26항 및 제27항에 있어서,
    상기 양방향 직렬 신호는 상이한 신호들을 통신하기 위한 상이한 시간 슬롯들을 포함하는 직렬 신호 프로토콜을 갖고 있고, 상기 진단 회로는 상기 양방향 직렬 신호를 페이싱 신호 시간 슬롯 동안 미리 정해진 페이싱 레벨로 강제하는 것을 특징으로 하는 진단 장치.
  29. 제22항 내지 제28항 중 어느 한 항에 있어서,
    상기 양방향 직렬 신호는 상이한 신호들을 통신하기 위한 상이한 시간 슬롯들을 포함하는 직렬 신호 프로토콜을 갖고 있고, 상기 양방향 직렬 신호는 직렬 데이터의 프레임의 시작을 나타내는 시작 신호를 통신시키도록 동작 가능하며, 상기 시작 신호는 시작 신호 시간 슬롯을 규정하도록 미리 정해진 시작 레벨로 구동되는 상기 양방향 직렬 신호인 것을 특징으로 하는 진단 장치.
  30. 제29항에 있어서,
    상기 통신은 상기 양방향 직렬 신호를 상기 미리 정해진 시작 레벨과 다른 레벨에서 유지하여, 통신되는 데이터의 다음 프레임이 후속되는 상기 미리 정해진 시작 레벨로 상기 양방향 직렬 신호가 변할 때까지 상기 시작 신호 시간 슬롯을 지연시키는 상기 외부 진단 장치에 의해 아이들 상태로 유지되는 것을 특징으로 하는 진단 장치.
  31. 제22항 내지 제30항 중 어느 한 항에 있어서,
    상기 양방향 직렬 신호는 상이한 신호들을 통신하기 위한 상이한 시간 슬롯들을 포함하는 직렬 신호 프로토콜을 갖고 있고, 상기 양방향 직렬 신호는 직렬 데 이터의 프레임의 끝을 나타내는 정지 신호를 통신시키도록 동작 가능하며, 상기 정지 신호는 정지 신호 시간 슬롯 동안 미리 정해진 정지 레벨로 구동되는 상기 양방향 직렬 신호인 것을 특징으로 하는 진단 장치.
  32. 제22항 내지 제31항 중 어느 한 항에 있어서,
    상기 인터페이스 회로는 상기 통신이 상기 양방향 직렬 신호 내부에서 검출되는 트랜지션에 따라 클록되는 비클록식 모드에서 동작 가능한 것을 특징으로 하는 진단 장치.
  33. 제31항 및 제32항에 있어서,
    상기 진단 회로는 상기 정지 신호의 제1 부분의 수신을 이용하여 진단 동작의 어보트를 나타내는 것을 특징으로 하는 진단 장치.
  34. 제31항 내지 제33항에 있어서,
    상기 진단 회로는 상기 정지 신호의 제2 부분의 수신을 이용하여 상기 진단 회로에 의한 상기 직렬 데이터 프레임의 수신을 확인하는 것을 특징으로 하는 진단 장치.
  35. 제22항 내지 제34항 중 어느 한 항에 있어서,
    상기 인터페이스 회로는 상기 양방향 직렬 신호를 샘플링하기 위한 샘플 포인트 타이밍을 결정하기 위하여 상기 외부 진단 장치로부터 전송된 미리 정해진 형태의 트레이닝 신호에 대해 응답하는 트레이닝 모드에서 동작 가능한 것을 특징으로 하는 진단 장치.
  36. 제35항에 있어서,
    상기 인터페이스 회로는 상기 트레이닝 모드로 초기화되는 것을 특징으로 하는 진단 장치.
  37. 제36항에 있어서,
    상기 초기화는 상기 인터페이스 회로의 리셋에 후속하는 것을 특징으로 하는 진단 장치.
  38. 제26항 내지 제37항 중 어느 한 항에 있어서,
    상기 인터페이스 회로는 상기 양방향 직렬 신호를 샘플링하기 위한 샘플 포인트 타이밍을 결정하기 위하여 상기 외부 진단 장치로부터 전송된 미리 정해진 형태의 트레이닝 신호에 대해 응답하는 트레이닝 모드에서 동작 가능하고, 상기 페이싱 신호는 트레이닝이 성공적으로 완료되었다는 것을 나타내는 것을 특징으로 하는 진단 장치.
  39. 제22항 내지 제38항 중 어느 한 항에 있어서,
    상기 진단 회로는,
    (i) 상기 기능 회로로부터 진단 데이터를 수집하도록 동작 가능한 하나 이상의 스캔 체인;
    (ii) 상기 기능 회로에 진단 데이터를 적용하도록 동작 가능한 하나 이상의 스캔 체인; 및
    (iii) 상기 기능 회로 내부에서 버스를 매개로 통신을 제공하도록 동작 가능한 하나 이상의 디버그 버스 액세스 회로
    중 하나 이상을 포함하는 것을 특징으로 하는 진단 장치.
  40. 제22항 내지 제39항 중 어느 한 항에 있어서,
    상기 인터페이스 회로는,
    (i) 상기 통신이 상기 집적 회로에 의해 사용되는 별개의 클록 신호에 의해 클록되는 클록식 모드; 및
    (ii) 상기 통신이 상기 양방향 직렬 신호 내부에서 검출되는 트랜지션에 따라 클록되는 비클록식 모드에서 동작 가능한 것을 특징으로 하는 진단 장치.
  41. 제40항에 있어서,
    상기 클록식 모드에서, 상기 통신은 클록 신호에 의해 클록되며, 상기 클록 신호는 상기 집적 회로에 의해 사용되는 다중의 클록 신호인 것을 특징으로 하는 진단 장치.
  42. 제40항 및 제41항에 있어서,
    상기 인터페이스 회로는 상기 비클록식 모드에서 초기화되도록 동작 가능하고, 상기 클록식 모드로 스위칭 가능한 것을 특징으로 하는 진단 장치.
  43. 집적 회로 내의 기능 회로에 대한 진단 동작을 수행하도록 동작 가능한 진단 회로와의 통신 방법으로서,
    (i) 외부 진단 장치로부터 상기 진단 회로로 전송되어 상기 진단 회로의 상 기 진단 동작을 제어하는 제어 신호; 및
    (ii) 상기 외부 진단 장치와 상기 진단 회로 사이에서 전송되는 진단 데이터;
    를 전송하기 위해 양방향 직렬 신호를 사용하는 단계를 포함하는 것을 특징으로 하는 방법.
  44. 제43항에 있어서,
    상기 진단 회로는 디버깅 동작, 제조 테스트 동작, 제조 프로그래밍 동작 및 제조 구성 동작 중 하나 이상을 수행하도록 동작 가능한 것을 특징으로 하는 방법.
  45. 제43항 및 제44항에 있어서,
    상기 양방향 직렬 신호는 상기 외부 진단 장치로부터 상기 진단 회로까지 리셋 신호를 통신시키도록 동작 가능하고, 상기 리셋 신호는 상기 진단 회로를 리셋하도록 동작 가능한 것을 특징으로 하는 방법.
  46. 제45항에 있어서,
    상기 리셋 신호는 미리 정해진 리셋 기간 동안 미리 정해진 리셋 레벨에서 상기 양방향 직렬 신호를 유지하는 상기 외부 진단 장치를 포함하는 것을 특징으로 하는 방법.
  47. 제43항 내지 제46항에 있어서,
    상기 양방향 직렬 신호는 상기 진단 회로로부터 상기 외부 진단 장치까지 페이싱 신호를 통신시키도록 동작 가능하고, 상기 페이싱 신호는 상기 진단 회로가 통신 준비 상태에 있는지 여부를 나타내도록 동작 가능한 것을 특징으로 하는 방법.
  48. 제43항 내지 제47항에 있어서,
    상기 양방향 직렬 신호는 상기 진단 회로로부터 상기 외부 진단 장치까지 페이싱 신호를 통신시키도록 동작 가능하고, 상기 페이싱 신호는 상기 진단 회로가 동작을 완료하였는지 여부를 나타내도록 동작 가능한 것을 특징으로 하는 방법.
  49. 제47항 및 제48항에 있어서,
    상기 양방향 직렬 신호는 상이한 신호들을 통신하기 위한 상이한 시간 슬롯들을 포함하는 직렬 신호 프로토콜을 갖고 있고, 상기 진단 회로는 상기 양방향 직 렬 신호를 페이싱 신호 시간 슬롯 동안 미리 정해진 페이싱 레벨로 강제하는 것을 특징으로 하는 방법.
  50. 제43항 내지 제49항 중 어느 한 항에 있어서,
    상기 양방향 직렬 신호는 상이한 신호들을 통신하기 위한 상이한 시간 슬롯들을 포함하는 직렬 신호 프로토콜을 갖고 있고, 상기 양방향 직렬 신호는 직렬 데이터의 프레임의 시작을 나타내는 시작 신호를 통신시키도록 동작 가능하며, 상기 시작 신호는 시작 신호 시간 슬롯을 규정하도록 미리 정해진 시작 레벨로 구동되는 상기 양방향 직렬 신호인 것을 특징으로 하는 방법.
  51. 제50항에 있어서,
    상기 통신은 상기 양방향 직렬 신호를 상기 미리 정해진 시작 레벨과 다른 레벨에서 유지하여, 통신되는 데이터의 다음 프레임이 후속되는 상기 미리 정해진 시작 레벨로 상기 양방향 직렬 신호가 변할 때까지 상기 시작 신호 시간 슬롯을 지연시키는 상기 외부 진단 장치에 의해 아이들 상태로 유지되는 것을 특징으로 하는 방법.
  52. 제43항 내지 제51항 중 어느 한 항에 있어서,
    상기 양방향 직렬 신호는 상이한 신호들을 통신하기 위한 상이한 시간 슬롯들을 포함하는 직렬 신호 프로토콜을 갖고 있고, 상기 양방향 직렬 신호는 직렬 데이터의 프레임의 끝을 나타내는 정지 신호를 통신시키도록 동작 가능하며, 상기 정지 신호는 정지 신호 시간 슬롯 동안 미리 정해진 정지 레벨로 구동되는 상기 양방향 직렬 신호인 것을 특징으로 하는 방법.
  53. 제43항 내지 제52항 중 어느 한 항에 있어서,
    상기 인터페이스 회로는 상기 통신이 상기 양방향 직렬 신호 내부에서 검출되는 트랜지션에 따라 클록되는 비클록식 모드에서 동작 가능한 것을 특징으로 하는 방법.
  54. 제52항 및 제53항에 있어서,
    상기 진단 회로는 상기 정지 신호의 제1 부분의 수신을 이용하여 진단 동작의 어보트를 나타내는 것을 특징으로 하는 방법.
  55. 제52항 내지 제54항에 있어서,
    상기 진단 회로는 상기 정지 신호의 제2 부분의 수신을 이용하여 상기 진단 회로에 의한 상기 직렬 데이터 프레임의 수신을 확인하는 것을 특징으로 하는 방법.
  56. 제43항 내지 제55항 중 어느 한 항에 있어서,
    상기 인터페이스 회로는 상기 양방향 직렬 신호를 샘플링하기 위한 샘플 포인트 타이밍을 결정하기 위하여 상기 외부 진단 장치로부터 전송된 미리 정해진 형태의 트레이닝 신호에 대해 응답하는 트레이닝 모드에서 동작 가능한 것을 특징으로 하는 방법.
  57. 제56항에 있어서,
    상기 인터페이스 회로는 상기 트레이닝 모드로 초기화되는 것을 특징으로 하는 방법.
  58. 제57항에 있어서,
    상기 초기화는 상기 인터페이스 회로의 리셋에 후속하는 것을 특징으로 하는 방법.
  59. 제47항 내지 제58항 중 어느 한 항에 있어서,
    상기 인터페이스 회로는 상기 양방향 직렬 신호를 샘플링하기 위한 샘플 포인트 타이밍을 결정하기 위하여 상기 외부 진단 장치로부터 전송된 미리 정해진 형태의 트레이닝 신호에 대해 응답하는 트레이닝 모드에서 동작 가능하고, 상기 페이싱 신호는 트레이닝이 성공적으로 완료되었다는 것을 나타내는 것을 특징으로 하는 방법.
  60. 제43항 내지 제59항 중 어느 한 항에 있어서,
    상기 진단 회로는,
    (i) 상기 기능 회로로부터 진단 데이터를 수집하도록 동작 가능한 하나 이상의 스캔 체인;
    (ii) 상기 기능 회로에 진단 데이터를 적용하도록 동작 가능한 하나 이상의 스캔 체인; 및
    (iii) 상기 기능 회로 내부에서 버스를 매개로 통신을 제공하도록 동작 가능한 하나 이상의 디버그 버스 액세스 회로
    중 하나 이상을 포함하는 것을 특징으로 하는 방법.
  61. 제43항 내지 제60항 중 어느 한 항에 있어서,
    상기 인터페이스 회로는,
    (i) 상기 통신이 상기 집적 회로에 의해 사용되는 별개의 클록 신호에 의해 클록되는 클록식 모드; 및
    (ii) 상기 통신이 상기 양방향 직렬 신호 내부에서 검출되는 트랜지션에 따라 클록되는 비클록식 모드에서 동작 가능한 것을 특징으로 하는 방법.
  62. 제61항에 있어서,
    상기 클록식 모드에서, 상기 통신은 클록 신호에 의해 클록되며, 상기 클록 신호는 상기 집적 회로에 의해 사용되는 다중의 클록 신호인 것을 특징으로 하는 방법.
  63. 제61항 및 제62항에 있어서,
    상기 인터페이스 회로는 상기 비클록식 모드에서 초기화되도록 동작 가능하고, 상기 클록식 모드로 스위칭 가능한 것을 특징으로 하는 방법.
KR1020057019744A 2003-04-17 2003-09-17 집적 회로의 진단 회로용 통신 인터페이스 KR100981997B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/417,330 US7197680B2 (en) 2003-04-17 2003-04-17 Communication interface for diagnostic circuits of an integrated circuit
US10/417,330 2003-04-17

Publications (2)

Publication Number Publication Date
KR20060009260A true KR20060009260A (ko) 2006-01-31
KR100981997B1 KR100981997B1 (ko) 2010-09-13

Family

ID=33158877

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057019744A KR100981997B1 (ko) 2003-04-17 2003-09-17 집적 회로의 진단 회로용 통신 인터페이스

Country Status (12)

Country Link
US (2) US7197680B2 (ko)
EP (1) EP1613971B1 (ko)
JP (1) JP3761562B1 (ko)
KR (1) KR100981997B1 (ko)
CN (1) CN100487472C (ko)
AU (1) AU2003267574A1 (ko)
DE (1) DE60314915T2 (ko)
IL (1) IL167671A (ko)
MY (1) MY138464A (ko)
RU (1) RU2005132166A (ko)
TW (1) TWI285303B (ko)
WO (1) WO2004095041A1 (ko)

Families Citing this family (78)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7571366B2 (en) * 2004-12-02 2009-08-04 Texas Instruments Incorporated Sequential signals selecting mode and stopping transfers of interface adaptor
US7216276B1 (en) 2003-02-27 2007-05-08 Marvell International Ltd. Apparatus and method for testing and debugging an integrated circuit
US7444571B1 (en) 2003-02-27 2008-10-28 Marvell International Ltd. Apparatus and method for testing and debugging an integrated circuit
US7496818B1 (en) 2003-02-27 2009-02-24 Marvell International Ltd. Apparatus and method for testing and debugging an integrated circuit
US7405719B2 (en) * 2003-05-01 2008-07-29 Genesis Microchip Inc. Using packet transfer for driving LCD panel driver electronics
US7088741B2 (en) * 2003-05-01 2006-08-08 Genesis Microchip Inc. Using an auxilary channel for video monitor training
US7839860B2 (en) 2003-05-01 2010-11-23 Genesis Microchip Inc. Packet based video display interface
US7567592B2 (en) * 2003-05-01 2009-07-28 Genesis Microchip Inc. Packet based video display interface enumeration method
US7424558B2 (en) * 2003-05-01 2008-09-09 Genesis Microchip Inc. Method of adaptively connecting a video source and a video display
US7068686B2 (en) 2003-05-01 2006-06-27 Genesis Microchip Inc. Method and apparatus for efficient transmission of multimedia data packets
US20040221312A1 (en) * 2003-05-01 2004-11-04 Genesis Microchip Inc. Techniques for reducing multimedia data packet overhead
US8059673B2 (en) 2003-05-01 2011-11-15 Genesis Microchip Inc. Dynamic resource re-allocation in a packet based video display interface
US8068485B2 (en) 2003-05-01 2011-11-29 Genesis Microchip Inc. Multimedia interface
US7733915B2 (en) 2003-05-01 2010-06-08 Genesis Microchip Inc. Minimizing buffer requirements in a digital video system
US8204076B2 (en) 2003-05-01 2012-06-19 Genesis Microchip Inc. Compact packet based multimedia interface
US7620062B2 (en) * 2003-05-01 2009-11-17 Genesis Microchips Inc. Method of real time optimizing multimedia packet transmission rate
US6992987B2 (en) * 2003-05-01 2006-01-31 Genesis Microchip Inc. Enumeration method for the link clock rate and the pixel/audio clock rate
US7800623B2 (en) 2003-09-18 2010-09-21 Genesis Microchip Inc. Bypassing pixel clock generation and CRTC circuits in a graphics controller chip
US7487273B2 (en) * 2003-09-18 2009-02-03 Genesis Microchip Inc. Data packet based stream transport scheduler wherein transport data link does not include a clock line
US7634090B2 (en) * 2003-09-26 2009-12-15 Genesis Microchip Inc. Packet based high definition high-bandwidth digital content protection
US20050204221A1 (en) * 2004-03-15 2005-09-15 Swoboda Gary L. Apparatus and method for exchanging non-JTAG signals with a core processor during selected JTAG modes
DE102004016387A1 (de) * 2004-04-02 2005-10-27 Texas Instruments Deutschland Gmbh Schnittstellenschaltung für einen einzelnen Logik-Eingangspin eines elektronischen Systems
US8219863B2 (en) * 2004-12-02 2012-07-10 Texas Instruments Incorporated TAP state count specifying advanced mode command and command data
US7552360B2 (en) 2005-03-21 2009-06-23 Texas Instruments Incorporated Debug and test system with format select register circuitry
KR100688516B1 (ko) * 2005-01-11 2007-03-02 삼성전자주식회사 단일 라인을 이용한 직렬 데이터 통신 방법 및 그 장치
US7701240B2 (en) * 2005-03-04 2010-04-20 Arm Limited Integrated circuit with error correction mechanisms to offset narrow tolerancing
US7676698B2 (en) * 2005-04-27 2010-03-09 Texas Instruments Incorporated Apparatus and method for coupling a plurality of test access ports to external test and debug facility
US7536597B2 (en) * 2005-04-27 2009-05-19 Texas Instruments Incorporated Apparatus and method for controlling power, clock, and reset during test and debug procedures for a plurality of processor/cores
US7558984B2 (en) * 2005-04-27 2009-07-07 Texas Instruments Incorporated Apparatus and method for test and debug of a processor/core having advanced power management
CN101395488A (zh) * 2006-03-01 2009-03-25 皇家飞利浦电子股份有限公司 带有使用jtag接口的测试访问控制电路的ic电路
US7533315B2 (en) * 2006-03-06 2009-05-12 Mediatek Inc. Integrated circuit with scan-based debugging and debugging method thereof
US7526693B1 (en) * 2006-03-09 2009-04-28 Semiconductor Components Industries, Llc Initial decision-point circuit operation mode
US7650546B2 (en) * 2006-03-17 2010-01-19 Alcatel Lucent Flexible JTAG architecture
KR100817031B1 (ko) * 2006-08-25 2008-03-26 주식회사 케이이씨 단선 직렬 통신 모듈
US7818641B2 (en) 2006-10-18 2010-10-19 Texas Instruments Incorporated Interface to full and reduce pin JTAG devices
US7870455B2 (en) * 2007-12-12 2011-01-11 Infineon Technologies Ag System-on-chip with master/slave debug interface
US8046650B2 (en) 2008-03-14 2011-10-25 Texas Instruments Incorporated TAP with control circuitry connected to device address port
EP2105750B1 (de) * 2008-03-28 2011-01-19 Micronas GmbH Schaltungsanordnung, Vorrichtung bzw. Verfahren zum seriellen Senden von Daten über einen Anschlusskontakt
WO2009127902A1 (en) * 2008-04-15 2009-10-22 Freescale Semiconductor, Inc. Microcontroller device, microcontroller debugging device, method of debugging a microcontroller device, microcontroller kit.
US20090262667A1 (en) * 2008-04-21 2009-10-22 Stmicroelectronics, Inc. System and method for enabling topology mapping and communication between devices in a network
US20100183004A1 (en) * 2009-01-16 2010-07-22 Stmicroelectronics, Inc. System and method for dual mode communication between devices in a network
US8332641B2 (en) 2009-01-30 2012-12-11 Freescale Semiconductor, Inc. Authenticated debug access for field returns
US8375250B2 (en) * 2009-03-04 2013-02-12 Infineon Technologies Ag System and method for testing a module
US8760461B2 (en) * 2009-05-13 2014-06-24 Stmicroelectronics, Inc. Device, system, and method for wide gamut color space support
US8860888B2 (en) 2009-05-13 2014-10-14 Stmicroelectronics, Inc. Method and apparatus for power saving during video blanking periods
US8429440B2 (en) 2009-05-13 2013-04-23 Stmicroelectronics, Inc. Flat panel display driver method and system
US8156238B2 (en) 2009-05-13 2012-04-10 Stmicroelectronics, Inc. Wireless multimedia transport method and apparatus
US8370554B2 (en) 2009-05-18 2013-02-05 Stmicroelectronics, Inc. Operation of video source and sink with hot plug detection not asserted
US8582452B2 (en) 2009-05-18 2013-11-12 Stmicroelectronics, Inc. Data link configuration by a receiver in the absence of link training data
US8468285B2 (en) 2009-05-18 2013-06-18 Stmicroelectronics, Inc. Operation of video source and sink with toggled hot plug detection
US8291207B2 (en) 2009-05-18 2012-10-16 Stmicroelectronics, Inc. Frequency and symbol locking using signal generated clock frequency and symbol identification
US8397195B2 (en) * 2010-01-22 2013-03-12 Synopsys, Inc. Method and system for packet switch based logic replication
US8638792B2 (en) 2010-01-22 2014-01-28 Synopsys, Inc. Packet switch based logic replication
TWI476422B (zh) * 2010-02-12 2015-03-11 Synopsys Shanghai Co Ltd Scanning Chain Reconfiguration Method and Device Based on Bidirectional Optimization Selection in Entity Design
US8671234B2 (en) 2010-05-27 2014-03-11 Stmicroelectronics, Inc. Level shifting cable adaptor and chip system for use with dual-mode multi-media device
US8949756B2 (en) 2010-12-10 2015-02-03 Apple Inc. Debug access with programmable return clock
US8781807B2 (en) * 2011-01-28 2014-07-15 Raymond E. Floyd Downhole sensor MODBUS data emulator
US10642709B2 (en) * 2011-04-19 2020-05-05 Microsoft Technology Licensing, Llc Processor cache tracing
US8732526B1 (en) * 2011-06-24 2014-05-20 Maxim Integrated Products, Inc. Single-wire data interface for programming, debugging and testing a programmable element
CN102662782B (zh) * 2012-04-17 2014-09-03 华为技术有限公司 一种监控系统总线的方法及装置
KR101910972B1 (ko) * 2012-10-24 2018-10-23 삼성전자주식회사 연료 전지 시스템 및 그것을 제어하는 전자 기기
US20150019775A1 (en) * 2013-03-14 2015-01-15 Microchip Technology Incorporated Single Wire Programming and Debugging Interface
KR102384347B1 (ko) * 2015-05-26 2022-04-07 삼성전자주식회사 클록 관리 유닛을 포함하는 시스템 온 칩 및 그 동작방법
DE102016109387A1 (de) 2015-05-26 2016-12-01 Samsung Electronics Co., Ltd. Ein-Chip-System mit Taktverwaltungseinheit und Verfahren zum Betreiben des Ein-Chip-Systems
DE102015218959A1 (de) 2015-09-30 2017-03-30 Zf Friedrichshafen Ag Diagnose eines Steuergeräts
TWI625534B (zh) * 2015-12-21 2018-06-01 瑞昱半導體股份有限公司 透過掃描測試的掃描鏈所執行的除錯方法及相關電路系統
US10067814B2 (en) 2016-04-28 2018-09-04 International Business Machines Corporation Method and system to decrease measured usage license charges for diagnostic data collection
US20180052203A1 (en) * 2016-08-22 2018-02-22 Prateek Sikka Method for enabling cpu-jtag debugger connection or improving its performance for multi-clock designs running on fpga or emulation systems
JP6342028B1 (ja) 2017-03-13 2018-06-13 三菱電機株式会社 車両用交流発電機の発電制御装置
TWI639847B (zh) * 2017-06-27 2018-11-01 Powerchip Technology Corporation 積體電路晶片及其檢查方法
US10361838B2 (en) * 2017-07-27 2019-07-23 Texas Instruments Incorporated Two-wire communication interface system
US11681843B2 (en) * 2018-01-17 2023-06-20 Siemens Industry Software Inc. Input data compression for machine learning-based chain diagnosis
US10963328B2 (en) 2018-09-05 2021-03-30 Mikroelektronika D.O.O. WiFi programmer and debugger for microcontroller and method thereof
US11119966B2 (en) * 2018-09-07 2021-09-14 Qualcomm Incorporated Mixed-mode radio frequency front-end interface
CN109857082B (zh) * 2018-12-29 2021-12-07 盛瑞传动股份有限公司 自动变速器诊断方法及装置
CN110032482A (zh) * 2019-04-11 2019-07-19 盛科网络(苏州)有限公司 片上调试装置和方法
CN113010344B (zh) * 2019-12-19 2022-10-11 瑞昱半导体股份有限公司 联合测试工作组存取接口装置、主机端以及目标系统
CN112527710B (zh) * 2020-12-17 2023-07-25 西安邮电大学 一种jtag数据捕获分析系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2768910B2 (ja) 1995-02-27 1998-06-25 日本モトローラ株式会社 半導体集積装置におけるスキャンテスト回路
GB9622682D0 (en) 1996-10-31 1997-01-08 Sgs Thomson Microelectronics An integrated circuit device and method of communication therewith
GB9622683D0 (en) * 1996-10-31 1997-01-08 Sgs Thomson Microelectronics Message protocol
US5842007A (en) * 1996-12-26 1998-11-24 Northern Telecom Limited Method and system for transferring high level control messaging framing and payload data in a serial stream in a communications system
US6041406A (en) * 1997-04-08 2000-03-21 Advanced Micro Devices, Inc. Parallel and serial debug port on a processor
US20020108011A1 (en) 2000-12-11 2002-08-08 Reza Tanha Dual interface serial bus
US6968472B2 (en) * 2002-04-22 2005-11-22 Silicon Labs Cp. Inc. Serial data interface

Also Published As

Publication number Publication date
US7197680B2 (en) 2007-03-27
AU2003267574A1 (en) 2004-11-19
JP3761562B1 (ja) 2006-03-29
CN100487472C (zh) 2009-05-13
DE60314915D1 (de) 2007-08-23
TWI285303B (en) 2007-08-11
US20060242501A1 (en) 2006-10-26
DE60314915T2 (de) 2008-03-13
IL167671A (en) 2009-09-22
US20040210805A1 (en) 2004-10-21
US7412633B2 (en) 2008-08-12
CN1764847A (zh) 2006-04-26
MY138464A (en) 2009-06-30
TW200422811A (en) 2004-11-01
WO2004095041A1 (en) 2004-11-04
RU2005132166A (ru) 2006-02-10
JP2006514296A (ja) 2006-04-27
EP1613971B1 (en) 2007-07-11
EP1613971A1 (en) 2006-01-11
KR100981997B1 (ko) 2010-09-13

Similar Documents

Publication Publication Date Title
KR100981997B1 (ko) 집적 회로의 진단 회로용 통신 인터페이스
KR101545209B1 (ko) 재설정가능한 테스터에서의 테스트 방법
US5132635A (en) Serial testing of removable circuit boards on a backplane bus
US7900109B2 (en) BDX data in stable states
US8656220B2 (en) System-on-chip and debugging method thereof
US7356737B2 (en) System, method and storage medium for testing a memory module
EP1205848A1 (en) Embedded microcontroller bound-out chip as preprocessor for a logic analyser
US8898528B2 (en) DDR JTAG interface setting flip-flops in high state at power-up
CN101501646A (zh) 优化的jtag接口
CN101432699A (zh) 在多个处理器/核的测试与调试进程期间控制电源、时钟和复位的装置和方法
GB2350706A (en) Debugging semiconductor integrated circuit device with processor
US8732526B1 (en) Single-wire data interface for programming, debugging and testing a programmable element
EP0319185A2 (en) Method and apparatus for checking a state machine
MX2007005250A (es) Programador flash que programa nand flash y nor/nand flash combinados.
US6427216B1 (en) Integrated circuit testing using a high speed data interface bus
Whetsel A high speed reduced pin count JTAG interface
US6282592B1 (en) Method and apparatus for high-speed data transmission bus entrainment
US5828827A (en) Data processing system for performing a test function and method therefor
US8219863B2 (en) TAP state count specifying advanced mode command and command data
EP0417905A2 (en) System scan path architecture
CN201903876U (zh) 支持外部自动测试设备的电路板
Nejedlo et al. Intel® IBIST, the full vision realized
EP0158774B1 (en) Data processing system with an improved storage testing device
US6757855B1 (en) Integrated test apparatus and method therefor

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130820

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140825

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150819

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160818

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170818

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180816

Year of fee payment: 9