KR20030060990A - 테스트 액세스 포트의 데이터 동기화 방법 및 장치 - Google Patents

테스트 액세스 포트의 데이터 동기화 방법 및 장치 Download PDF

Info

Publication number
KR20030060990A
KR20030060990A KR10-2003-7007846A KR20037007846A KR20030060990A KR 20030060990 A KR20030060990 A KR 20030060990A KR 20037007846 A KR20037007846 A KR 20037007846A KR 20030060990 A KR20030060990 A KR 20030060990A
Authority
KR
South Korea
Prior art keywords
data
flag
register
range
debug controller
Prior art date
Application number
KR10-2003-7007846A
Other languages
English (en)
Other versions
KR100551546B1 (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 KR20030060990A publication Critical patent/KR20030060990A/ko
Application granted granted Critical
Publication of KR100551546B1 publication Critical patent/KR100551546B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/02Speed or phase control by the received code signals, the signals containing no special synchronisation information
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

일실시예에 있어서, 집적 회로는 프로세서 코어의 스캔 체인 레지스터와 통신하는 테스트 액세스 포트를 제공한다. 집적 회로는 테스트 클럭(TCK)의 제어하에 동작하는 디버그 제어기와 프로세서 클럭(CLK)의 제어하에 동작하는 프로세서 코어 사이에서 전송된 데이터를 동기화시킨다.

Description

테스트 액세스 포트의 데이터 동기화 방법 및 장치{DATA SYNCHRONIZATION FOR A TEST ACCESS PORT}
복잡한 집적 회로 장치는 집적 회로 장치를 테스트하여 디버깅(debugging)을 행하는 것을 돕는 경계 스캔 구조(boundary scan architecture)를 가끔 포함한다. 경계 스캔 구조는 집적 회로 장치의 입력(I/O) 핀에 결합된 일련의 레지스터를 포함한다. 조인트 테스트 액션 그룹(JTAG) 인터페이스라고 알려져 있는 표준 인터페이스는 스캔 구조와 인터페이스하기 위한 특수한 테스트 액세스 포트를 지정한다. 가끔 "TAP"라고도 하는 JTAG 테스트 액세스 포트는 집적 회로 장치로의 외부 접근을 용이하게 한다. JTAG 인터페이스는 IEEE 스탠다드 1149.1[IEEE Std. 1149.1-1990, 1990년 발행, 명칭: 테스트 액세스 포트 및 경계 스캔 구조(Test Access Port and Boundary-Scan Architecture)]에 규정되어 있다.
JTAG 인터페이스를 이용함으로써, 디버그 제어기는 스캔 체인을 집적 회로에 시프트시키기 위하여 경계 스캔 명령을 테스트 액세스 포트에 발행하여 집적 회로를 공지의 상태로 초기화시키기 위해 사용될 수 있다. 또한 디버그 제어기는 스캔체인으로부터 데이터를 시프트시켜서 데이터를 테스트 액세스 포트에 제공할 수 있다. 이와 같은 방법으로, 애플리케이션 개발자는 집적 회로 장치용으로 개발된 코드의 적당한 동작을 검증할 수 있다.
본 발명은 테스트용의 테스트 액세스 포트와 집적 회로 장치와의 사이에서 데이터를 전송하는 것과 관련이 있다.
도 1은 테스트 액세스 포트를 구비한 집적 회로 장치를 도시한 블록도이다.
도 2는 집적 회로 장치에서 프로세서 코어와 테스트 액세스 포트 사이의 데이터 흐름을 제어하는 회로를 도시한 블록도이다.
도 3은 테스트 액세스 포트로부터 프로세서 코어로의 실시간 데이터 전송의 동기화 처리를 설명하는 타이밍도이다.
도 4는 프로세서 코어로부터 테스트 액세스 포트로의 실시간 데이터 전송의 동기화 처리를 설명하는 타이밍도이다.
도 5는 프로세서 코어와 테스트 액세스 포트 사이의 데이터 흐름을 제어하는 회로를 도시한 개요도이다.
도 6은 프로세서 코어와 테스트 액세스 포트 사이의 데이터 흐름을 제어하는 회로를 도시한 다른 개요도이다.
도 7은 프로세서 코어와 테스트 액세스 포트 사이의 데이터 흐름을 제어하는 회로를 도시한 또다른 개요도이다.
도 8은 프로세서 코어와 테스트 액세스 포트 사이의 데이터 흐름을 제어하는 회로를 도시한 또다른 개요도이다.
도 9는 프로세서 코어와 테스트 액세스 포트 사이의 데이터 흐름을 제어하는회로를 도시한 또다른 개요도이다.
도 1은 본 발명의 실시예에 따른 테스트 통신 포트를 구비한 집적 회로 장치를 도시한 블록도이다. 도 1에 도시한 바와 같이, 집적 회로 장치(10)는 프로그램 가능한 프로세서 코어(12) 및 디버그 제어기(14)를 포함할 수 있다. 프로세서 코어(12)는 랜덤 액세스 메모리(RAM)장치, 예컨대 플래시 메모리 장치에 저장된 명령어를 실행할 수 있다. 프로세서 코어(12)는 라인(16)을 통해 입력되는 프로세서 클럭 신호(CLK)에 따라 프로세서 클럭 범위에서 동작하고, 디버그 제어기(14)는 라인(18)을 통해 입력되는 테스트 클럭 신호(TCK)에 따라 테스트 클럭 범위에서 동작한다.
디버그 제어기(14)는 테스트 액세스 포트(11)를 구비할 수 있다. 특히, 테스트 액세스 포트(11)는 테스트 클럭(TCK) 라인(18), 테스트 데이터 입력(TDI) 라인(20), 테스트 데이터 출력(TDO) 라인(22) 및 테스트 모드 선택(TMS) 라인(24)을 가진 JTAG 테스트 액세스 포트(TAP)의 형태를 가질 수 있다. 상기 라인들(18, 20, 22, 24)은 테스트 액세스 포트 인터페이스를 형성하고, 집적 회로 장치(10)에 의해 액세스 가능한 외부 핀의 형태를 취할 수 있다.
동작시에, 디버그 제어기(14)는 TDI 라인(20)으로부터 스캔 체인의 형태로 디버그 명령을 수신할 수 있다. TDI 라인(20)은 집적 회로 장치(10)에서 테스트 루틴을 구동하는 PC 또는 워크스테이션과 같은 외부 호스트 컴퓨터(도시 생략)에 의해 구동될 수 있다. 이것에 응답하여, 디버그 제어기(14)는 프로세서 코어(12)에디버그 명령을 인가한다. 또한, 디버그 제어기(14)는 프로세서 동작을 검증하고 프로세서 코어용으로 설계된 응용 코드의 디버깅을 보조하기 위하여 프로세서 코어(12)로부터 상태 데이터를 추출한다. 디버그 제어기는 추출된 데이터를 TDO 라인(22)에 둠으로써 원격 호스트 컴퓨터에 상태 데이터를 전송한다.
전술한 바와 같이, 프로세서 코어(12)와 디버그 제어기(14)는 2개의 상이한 클럭 범위, 즉 테스트 클럭 범위(TCK)와 프로세서 클럭 범위(CLK)에서 동작한다. 라인(26)은 프로세서 코어(12)와 디버그 제어기(14) 사이의 TCK-CLK 클럭 범위의 경계를 나타낸다. TDI 라인(20)과 마찬가지로, TCK 클럭 신호 라인(18)은 외부 호스트 컴퓨터에 의해 구동될 수 있고 비교적 낮은 주파수에서 동작할 수 있다. 그러나, CLK 클럭 신호(16)는 외부 또는 내부(on-board) 클럭 회로에 의해 발생될 수 있고 훨씬 더 높은 주파수에서 동작할 수 있다.
집적 회로 장치(10)는, 클럭 범위가 크게 다른 주파수에서 동작할 수 있다 하더라도, 2개의 클럭 범위(TCK, CLK)에 걸친 데이터의 실시간 교환을 허용하는 데이터 동기화 특성을 가지고 있다. 이와 같은 방법으로, 테스트 데이터와 같은 데이터는 나중의 분석을 위해 프로세서 코어(12) 또는 버퍼 데이터의 동작을 중단할 필요없이 실시간으로 인가 및 추출될 수 있다. 또한, 데이터 전송은 JTAG TAP 데이터 레지스터 상태인 포착(Capture), 시프트(Shift) 및 갱신(Update)을 1회 통과함으로써 달성될 수 있다.
데이터 동기화 특성에 의해, TCK 및 CLK 범위 사이에서 교환된 데이터는 데이터의 인가 또는 추출 전에 안정 상태로 될 수 있다. 특히, 프로세서 코어(12) 및디버그 제어기(14)는 각각의 클럭 범위에서의 데이터 확인에 응답하여 세트 및 클리어되는 플래그 레지스터(30, 32)의 대응하는 플래그 세트를 감시하도록 구성될 수 있다. 집적 회로 장치(10) 내에서 논리 및 지연 회로의 형태를 취할 수 있는 동기화기(33)는 플래그 레지스터(30, 32)의 플래그의 세트 및 클리어를 제어한다.
플래그 레지스터(30, 32)의 플래그들은 클럭 범위 내에서 상이한 셋업 시간을 수용하기 위해 사용되고, 상이한 클럭 범위 사이에서의 교환이 일어나기 전에 데이터가 안정 상태에 도달하게 한다. 특히, 플래그들은 포착, 시프트 및 갱신 상태를 통한 프로세서 코어(12) 및 디버그 제어기(14)의 진행을 추적하도록 각각 갱신된다. 이와 같은 방법으로, TCK 및 CLK 클럭 범위 사이의 데이터 전송이 동기화될 수 있다. 각각의 클럭 범위에 있는 플래그들은 실질적으로 서로 동일하다. 예를 들어, 플래그 레지스터(30, 32)의 각각의 플래그 세트는 (1) 데이터 입력(Data In); (2) 데이터 출력(Data Out); (3) 데이터 과잉 입력(Data In Overflow); 및 (4) 데이터 과잉 출력(Data Out Overflow)을 포함할 수 있다.
한 세트의 데이터 레지스터는 2개의 클럭 범위(CLK, TCK)에 걸친 데이터 흐름을 구동하기 위해 플래그 레지스터(30, 32)와 함께 사용될 수 있다. 특히, 공통 데이터 스캔 레지스터(28)는 JTAG 포착, 시프트 및 갱신 모드에 대하여 교호 방식으로 사용될 수 있고, 시프트 레지스터의 형태를 취할 수 있다. 데이터 입력 레지스터(34)는 갱신 모드에서 데이터 스캔 레지스터(28)로부터 입력 데이터를 수신하여 데이터가 메모리 맵 레지스터(MMR) 판독시에 프로세서 코어(12)에 기록되게 한다. 데이터 출력 레지스터(36)는 MMR 기록시에 프로세서 코어(12)로부터 출력 데이터를 수신하고, 시프트 모드에 선행하는 포착 모드에서 데이터 스캔 레지스터(28)에 의해 판독되게 한다.
데이터는 시프트 모드에서 외부 호스트 컴퓨터로부터 수신된다. 갱신 모드에서, 데이터는 데이터 스캔 레지스터(28)로부터 데이터 입력 레지스터(34)로 전송된다. 디버그 제어기(14)는 데이터가 외부 호스트 컴퓨터로부터 수신되었음을 표시하도록 플래그 레지스터(30)의 Data In 플래그를 세트한다. 동기화기(33)에서 소정의 지연이 발생된 후에, 플래그 레지스터(32)의 Data In 플래그는 데이터가 CLK 범위에서 안정 상태에 도달하였고 데이터 입력 레지스터(34)로부터 프로세서 코어(12)에 의해 검색될 수 있음을 표시하도록 세트된다. 그 다음에, MMR 판독시에, 데이터 입력 레지스터(34)로부터의 데이터는 프로세서 코어(12)에 기록된다. 플래그 레지스터(32)에 포함된 Data In 플래그는 MMR 판독 동작시에 클리어되고, 그 다음에 동기화 장치(33)에 의한 지연 설정 후에 플래그 레지스터(30)의 Data In 플래그가 클리어된다.
플래그 레지스터(32)의 Data Out 플래그는 프로세서 코어(12)에 의해 세트되고, 데이터가 디버그 제어기(14)에 의해 포착될 준비가 이미 되었으며 안정 상태에 도달하였음을 표시한다. 데이터는 MMR 기록시에 프로세서 코어(12)로부터 판독되어 데이터 출력 레지스터(36)에 놓여진다. 포착 모드에서, 프로세서 코어(12)로부터의 데이터는 데이터 스캔 레지스터(28)에 포착된다. 플래그 레지스터(30)의 Data Out 플래그는, 플래그 레지스터(32)의 Data Out 플래그의 세트에 응답하여, 소정의 지연 후에 세트된다. 디버그 제어기(14)는 데이터가 데이터 스캔 레지스터(28)에 포착되었을 때 플래그 레지스터(30)의 Data Out 플래그를 클리어한다. 프로세서 코어(12)는 소정의 지연 기간 후에 플래그 레지스터(32)의 Data Out 플래그를 클리어한다. 시프트 모드에서, 데이터는 외부 호스트 컴퓨터로 시프트 아웃된다.
Data In Overflow 플래그는 프로세서 클럭 범위(CLK)에서 과잉(overflow)의 표시가 있을 때에 플래그 레지스터(30)에서 세트된다. Data In Overflow 플래그는, 예를 들면, 플래그 레지스터(32)의 Data In 플래그가 다음 갱신 사이클 전에 TCK 클럭 범위에서 지정된 사이클 갯수 내에 클리어되지 않은 경우에 세트된다. 이 경우에, 플래그 레지스터(30)의 Data In 플래그도 마찬가지로 클리어되지 않을 것이고 가능한 과잉 이벤트를 표시한다.
이와 유사하게, Data Out Overflow 플래그는 디버그 제어기 클럭 범위(TCK)에서 과잉의 표시가 있을 때에 플래그 레지스터(32)에서 세트된다. Data Out Overflow 플래그는, 예를 들면, Data Out 플래그가 CLK 클럭 범위에서 지정된 사이클 갯수 내에 플래그 레지스터(30)에서 클리어되지 않거나, 또는 다음 포착 사이클 전에 클리어되지 않은 경우에 세트된다. 이 경우에, 플래그 레지스터(32)의 Data Out 플래그도 마찬가지로 클리어되지 않을 것이다.
동작시에, 프로세서 코어(12)와 디버그 제어기(14)는 포착 상태, 시프트 상태 및 갱신 상태를 순환한다. 갱신 상태에서, 디버그 제어기(14)는 프로세서 코어(12)에 대해 데이터를 발생한다. 포착 상태에서, 프로세서 코어(12)는 디버그 제어기(14)에 의해 추출될 데이터를 생성한다. 실제로는, 디버그 제어기(14)가 갱신 상태에서 프로세서 코어(12)에 데이터를 기록하고, 포착 상태에서 프로세서 코어로부터 그 결과적인 상태 데이터를 추출한다. 시프트 상태는 데이터 스캔 레지스터(28)로/로부터의 데이터 전송을 통제한다.
시프트 상태에서는 관련 데이터가 동시에 시프트 레지스터(28)로/로부터 시프트된다. 특히, 포착 상태 이후에, 시프트 레지스터(28)는 디버그 제어기(14)로부터의 데이터를 프로세서 코어(12)에 인가하기 위해 시프트 인(shift in)시킨다. 시프트 레지스터(28)는 시프트 상태 동안에 프로세서 코어(12)로부터 포착된 데이터를 디버그 제어기(14)에 의해 추출하기 위해 시프트 아웃(shift out)시킨다.
도 2는 프로세서 코어(12), 디버그 제어기(14) 및 외부 호스트 컴퓨터 사이에서의 데이터 전송을 제어하기 위한 회로를 나타내는 블록도이다. 특히, 도 2는 도 1에 도시된 데이터 스캔 레지스터(28), 데이터 입력 레지스터(34) 및 데이터 출력 레지스터(36)의 동작을 더 상세히 도시하고 있다.
데이터 스캔 레지스터(28)는 복잡한 데이터 교환 레지스터의 일부를 형성할 수 있고, 데이터 입력 레지스터(34) 및 데이터 출력 레지스터(36)와 함께 집적될 수 있다. 데이터 입력 레지스터(34)와 데이터 출력 레지스터(36)는 동일한 메모리 어드레스를 맵(map)하고 동일한 JTAG 데이터 스캔 레지스터(28)를 공유하여 전이중(full-duplex) 데이터 전송이 가능하다.
디버그 모드에 있어서, 프로세서 코어(12)로부터 메모리 맵 레지스터로의 저장이 데이터 출력 레지스터(36)에 기록되고, 또한 메모리 맵 레지스터로부터 프로세서 코어(12)로의 로드가 데이터 입력 레지스터(34)로부터 판독된다. 전이중 데이터 전송은 포착 상태, 시프트 상태 및 갱신 상태를 순환함으로써 달성될 수 있다.
데이터 출력 비트(40)와 데이터 입력 비트(42)는 데이터 출력 레지스터(36)와 데이터 입력 레지스터(34)가 각각 유효한지를 표시한다. 데이터 출력 비트(40)는 메모리 맵 레지스터로의 저장이 발생하였을 때 세트되고, 데이터 스캔 레지스터(28)에서 포착이 발생하였을 때 클리어된다.
데이터 입력 비트(42)는 데이터 스캔 레지스터(28)에서 대응하는 데이터 비트가 세트되는 것과 동시에 갱신이 발생하였을 때 세트된다. 데이터 입력 비트(42)는 메모리 맵 레지스터로부터의 로드가 발생하였을 때 클리어된다. 데이터 스캔 레지스터(28)는 데이터 출력 플래그 비트(40) 및 데이터 입력 플래그 비트(42)를 포함한다. 데이터 출력 플래그 비트(40)와 데이터 입력 플래그 비트(42)는 별도의 상태 레지스터의 일부로서 구성될 수도 있고, 데이터 로드 속도를 향상시키기 위해 데이터 스캔 레지스터(28)에서 이중으로 될 수도 있다.
도 2를 다시 참조하면, 데이터 입력 레지스터(34)는 갱신 제어 라인, 로드 제어 라인, 및 프로세서 코어(12)로의 MMR 판독 데이터 경로를 입력으로서 갖는다. 데이터 출력 레지스터(34)는 저장 제어 라인, 포착 제어 라인, 및 프로세서 코어로부터 데이터 출력 레지스터(36) 및 데이터 스캔 레지스터(28)로의 MMR 기록 데이터 경로를 입력으로서 갖는다.
데이터 스캔 레지스터(28)는 데이터 입력(TDI) 제어 라인 및 시프트 제어 라인을 입력으로서 갖고, 데이터 출력(TDO) 라인을 출력으로서 갖는다. 동작시에, 포착, 시프트, 갱신 및 로드 명령들은 동기화되어 데이터 입력 레지스터(34), 데이터 출력 레지스터(36) 및 데이터 스캔 레지스터(28)를 통한 실시간 데이터 전송이 가능하게 한다.
도 3은 본 발명의 특수한 실시예에 따라 테스트 액세스 포트(11)를 통한 프로세서 코어(12)로의 실시간 데이터 전송의 동기화 처리를 나타내는 타이밍도이다. 특히, 도 3은 데이터가 디버그 제어기(14)로부터 프로세서 코어(12)로 전달되는 갱신 상태를 통한 테스트 액세스 포트(11)의 진행을 나타내고, 도 1 및 도 2와 관련하여 앞에서 설명한 각종 신호 및 플래그의 상호 작용을 도시한다.
도 3에 도시된 바와 같이, 스캔 데이터는 테스트 액세스 포트(TAP)에서 시프트 명령이 활성화된 후 TCK 클럭 신호의 최초 포지티브 엣지에서 TDI 입력 신호(20)를 통해 데이터 스캔 레지스터(28)에 시프트된다. 갱신 상태에 있는 TCK 신호의 포지티브 엣지에서, 집적 회로 장치(10)를 구비하는 논리 회로는 Data In Valid 신호를 활성화시켜서 유효 데이터가 시프트 레지스터(28)에 로드되었음을 표시한다.
TCK 클럭 범위 내에서 Data In Valid 신호의 활성화는 Update 신호가 프로세서 클럭(CLK) 범위에서 활성화되게 한다. Update 신호는 데이터를 데이터 스캔 레지스터(28)로부터 데이터 입력 레지스터(34)로 로드하도록 프로세서 코어(12)에 지시한다. 프로세서 코어(12)가 어떤 이전 데이터의 로딩을 완료하지 못하였으면, 플래그 레지스터(32)에서 Data In Overflow의 활성화에 의해 표시된 대로 과잉 조건이 발생한다.
과잉 조건이 발생하지 않은 것으로 가정하면, 플래그 레지스터(30) 내의 Data In 플래그의 세팅이 검출되어 플래그 레지스터(32) 내의 대응하는 Data In 플래그의 세팅을 지연시킨다. 더 구체적으로, Data In Posedge 신호는 CLK 범위에서 활성화되어 플래그 레지스터(30)의 Data In 플래그의 상태 변화를 표시한다. Data In Posedge 신호는 CLK 범위에서 1 클럭 사이클동안 활성화 상태로 유지되고, 다음 CLK의 포지티브 에지에서 로우로 간다.
Data In Posedge 신호의 활성화에 응답하여, 플래그 레지스터(32)의 Data In 플래그는 CLK 클럭 범위에서 세트된다. 후술하는 바와 같이, 플래그 레지스터(32)의 Data In 플래그는 프로세서 코어(12)가 데이터 입력 레지스터(34)로부터 데이터를 판독할 때까지 활성화 상태로 유지된다. 이 예에서, 메모리 맵 레지스터(MMR) 판독 신호는 Update 신호의 활성화 후 4개의 CLK 사이클이 경과된 뒤에 1 클럭 사이클동안 하이로 가서 프로세서 코어(12)가 레지스터(34)로부터 데이터를 판독하였음을 나타내고, 이것에 의해 다음 CLK 사이클에서 플래그 레지스터(32)의 Data In 플래그를 클리어한다. 플래그의 클리어가 검출되면, Data In Negedge 신호가 소정의 지연 후의 TCK 범위에서, 즉 예를 들면, CLK 범위에서 플래그 레지스터(32)의 Data In 플래그가 클리어된 후 제3의 TCK 사이클에서 활성화된다. Data In Negedge 신호의 활성화에 의해 플래그 레지스터(30)의 Data In 플래그가 클리어되고 테스트 액세스 포트(11)에서 Update/Load 사이클을 완료한다.
Update 사이클에 있어서, 데이터는 레지스터(30, 32)의 Data In TCK 플래그 및 Data In CLK 플래그를 각각 이용하고 Data In Overflow 플래그를 이용한 실시간 전송을 위해 동기화되어 프로세서 코어(12)가 그 동작을 계속하게 한다. 한편, Update 신호는 테스트 액세스 포트(11)에서의 Update 명령의 활성화에 응답하여 다시 하이로 가서 1 CLK 클럭 사이클동안 하이를 유지한다. Data In Overflow는 Update 신호의 활성화 및 Data In CLK 플래그에 응답하여 CLK 신호의 다음 포지티브 에지에서 하이로 간다. Data In Overflow 신호는 다른 업데이트가 개시되었지만 플래그 레지스터(32)의 Data In CLK 플래그가 클리어되지 않았음을 표시한다.
도 4는 프로세서 코어(12)로부터 테스트 액세스 포트(11)를 통해 실시간 데이터 전송의 동기화 처리를 설명하는 타이밍도이다. 도 3과 마찬가지로, 도 4는 데이터 전송을 실행하기 위한 각종 신호 및 플래그의 상호 작용을 추가로 설명한다. 도 4는 특히 데이터가 프로세서 코어(12)로부터 디버그 제어기(14)로 전송되는 포착 상태를 통하여 테스트 액세스 포트(TAP)(11)의 진행을 설명한다.
도 4에 도시된 바와 같이, MMR Write 신호는 1 CLK 클럭 사이클동안 하이로 간다. 새로운 데이터는 데이터 출력 레지스터(36)로 복귀된다. 또한, 플래그 레지스터(32)의 Data Out CLK 플래그는 MMR Write 신호의 포지티브 에지 다음의 1 CLK 사이클에서 세트된다. 플래그 레지스터(32)의 Data Out CLK 플래그는 데이터가 CLK 범위에서 안정 상태임을 나타낸다. Data Out Posedge 신호는 플래그 레지스터(32)의 Data Out CLK의 포지티브 에지 다음의 제3 TCK 클럭 사이클에서 활성화된다. 플래그 레지스터(30)의 Data Out TCK 플래그는 Data Out Posedge 신호에 응답하여 다음 TCK 클럭 사이클에서 세트된다.
플래그 레지스터(30)의 Data Out TCK가 다음 MMR Write 전에 클리어되지 않으면, Data Out Overflow 신호는 MMR Write 신호의 네가티브 에지에서 하이로 간다. Capture 신호가 TCK 범위에서 활성화될 때, 데이터는 데이터 스캔레지스터(28)에 포착되고 시프트 상태에서 테스트 액세스 포트(11)를 통하여 시프트 아웃된다.
플래그 레지스터(30)의 Data Out TCK 플래그는 Capture 신호에 응답하여 1 TCK 사이클 후에 클리어된다. 그 다음에, Data Out Negedge 신호는 Data Out TCK 플래그의 클리어 후 제3 CLK 사이클의 CLK 범위에서 하이로 가고 Data Out CLK 플래그를 클리어시킨다. 특히, 플래그 레지스터(32)의 Data Out CLK 플래그는 Data Out Negedge 신호가 활성화된 후 다음 CLK 사이클에서 클리어된다. Data Out 핀은 Data Out TCK가 하이인 기간동안에 하이로 간다.
도 5는 프로세서 코어(12)와 테스트 액세스 포트(11) 사이의 데이터 흐름을 제어하기 위한 회로를 나타내는 개요도이다. 도 6 내지 도 9와 연계한 실시예에 대하여, 도 5의 회로는 데이터 입력 레지스터(34)와 데이터 출력 레지스터(36)의 동작을 동기화시키고 도 3 및 도 4와 관련하여 설명한 상호 작용을 지원하는 기능을 한다.
도 5에 도시한 바와 같이, 회로는 프로세서 코어(12)로부터 수신된 32 비트 데이터일 수 있는 MMR Write 데이터와 MMR Write Enable 라인을 입력으로서 갖는 레지스터(44)를 포함할 수 있다. 레지스터(44)의 출력은 포착 모드의 Data Out을 데이터 스캔 시프트 레지스터(28)에 제공한다. 레지스터(44)는 프로세서 클럭 범위(CLK)에서 클럭되고 데이터 출력 레지스터(36)의 일부를 형성할 수 있다.
데이터 스캔 레지스터(28)의 일련의 멀티플렉서(47)는 레지스터(44)로부터의 Data Out, 디버그 제어기(14)로부터의 TDI, 및 대응하는 멀티플렉서와 연관된 일련의 출력 플립플롭(46)으로부터의 피드백 라인을 입력으로서 수신한다. 각 플립플롭(46)은 테스트 클럭 범위(TCK)에서 클럭된다. 데이터 스캔 시프트 레지스터(28)는 각 멀티플렉서(47)에 결합된 제어 라인에 응답한다.
제어 라인은 특정 신호의 상태에 기초하여 각 멀티플렉서(47)의 입력 중 하나를 선택한다. 예를 들어, Hold 신호가 활성화될 때, 각 멀티플렉서(47)는 피드백 라인을 선택하고 관련된 플립플롭(46)에 출력한다. 이러한 방법으로, 데이터 스캔 시프트 레지스터(28)는 그 컨텐츠를 홀드한다. 시프트 신호가 활성화될 때, 제어 라인은 각 멀티플렉서(47)가 TDI 데이터를 시프트인하게 하고, 포착된 데이터의 최종 비트는 TDO 라인(51)으로 시프트 아웃된다. 데이터 스캔 시프트 레지스터(28)의 각 플립플롭(46)의 출력은 레지스터(50)에 로드된다. 시프트 레지스터(28)의 출력은 멀티비트 버스 라인이고, 그 중 1 비트는 TDO(참조 번호 '51'로 표시됨)로서 추출된다. 레지스터(50)는 플립플롭(46)으로부터 수신된 데이터를 Data In으로서 출력하고, 프로세서 클럭 범위(CLK)에서 클럭된다. 레지스터(50)는 참조 번호 '52'로서 표시된 동기화 회로로부터의 Update 명령을 인에이블 입력에서 수신한다. 레지스터(50)는 Update 명령에 응답하여 레지스터(28)의 출력을 통해 MMR Read Data로서 클럭된다.
동기화 회로(52)는 갱신 동작을 위해 데이터 스캔 시프트 레지스터(28)에 유효 입력 데이터가 있음을 표시하는 Data In Valid 신호를 입력으로서 수신한다. 동기화 회로(52)는 도 1의 동기화기(33)의 일부를 형성할 수 있다. Data In Valid 신호는 참조 번호 '54'로 표시한 바와 같이, 일련의 플립플롭 1-n을 통해 전파할 수있다. 플립플롭(54)의 번호 n은 소정의 전파 지연에 따라 세트될 수 있다. 전파 지연은 레지스터(28)의 데이터가 데이터 입력 플립플롭(50)에 클럭되는 시간까지 안정 상태에 도달하여 TCK 클럽 범위와 CLK 클럭 범위에 걸친 데이터 전송을 동기화시키는 것을 보장하도록 선택될 수 있다.
플립플롭(54)과 플립플롭(56)의 출력은 AND 게이트(58)의 입력과 반전 입력을 각각 구동한다. CLK 범위의 Data In Valid 신호가 데이터 스캔 시프트 레지스터(28)의 유효 데이터를 표시할 때, 플립플롭(54, 56)은 데이터 입력 플립플롭(50)이 그 후의 소정의 시간까지 인에이블되지 않도록 Update 명령의 전파를 지연시킨다.
이와 같은 방법으로, 동기화 회로(52)는 데이터 스캔 시프트 레지스터(28)의 컨텐츠의 안정성을 보장하여 데이터가 실질적인 데이터 파괴 염려없이 CLK-TCK 범위의 인터페이스를 횡단하여 전송될 수 있게 한다. 실제로, 이러한 처리는 TCK 및 CLK 범위에 걸쳐 데이터 스캔 시프트 레지스터(28)의 데이터를 동기화시켜서 프로세서 코어(12)의 동작을 중단할 필요없이 실시간 전송이 가능하게 한다. 이것은 코드 디버그 동작을 용이하게 하는 현저한 장점이다.
도 6은 프로세서 코어(12)와 디버그 제어기(14) 사이의 데이터 흐름을 제어하기 위한 회로를 도시하는 다른 개요도이다. 도 6의 회로는 데이터를 동기화시키고 TCK 및 CLK 범위에서 동기화 플래그를 클리어 및 세트하기 위한 Data Inflow Posedge 신호를 생성한다. 특히, 도 6의 회로는 플래그 레지스터(30)의 Data In TCK 플래그와 Data In Posedge 신호 사이의 관계를 도시한다.
도 6에 도시된 바와 같이, 회로는 0, 1 및 플립플롭(62)으로부터의 피드백 라인을 입력으로서 수신하는 멀티플렉서(60)를 포함한다. 플립플롭(62)은 TCK 범위에서 클럭된다. 멀티플렉서(60)는 입력들 중 하나를 선택하는 제어 라인을 수신한다. 홀드 신호가 활성화될 때, 제어 라인은 멀티플렉서(60)를 제어하여 플립플롭(62)으로부터의 피드백 라인을 선택하게 한다.
Data In Negedge 신호가 활성화될 때, 제어 라인은 멀티플렉서(60)가 0 라인을 선택하게 한다. Update 신호가 활성화될 때, 제어 라인은 멀티플렉서(60)가 1 라인을 선택하게 한다. 플립플롭(62)의 출력은 Data In TCK이고, 이것은 TCK 범위에서, 즉 플래그 레지스터(30)에서 Data In 플래그로서 기능한다. 일련의 1-n 플립플롭(64)은 Data In TCK 플래그를 수신한다. 플립플롭(66)은 플립플롭(64)의 출력을 수신한다. 플립플롭(64, 66)은 CLK 범위에서 클럭된다. 플립플롭(64)과 플립플롭(66)의 출력은 AND 게이트(68)의 입력과 반전 입력을 각각 구동한다. AND 게이트의 출력은 Data In Posedge 신호이다. 플립플롭(64)의 수는 데이터 스캔 레지스터(28)에서 입력 데이터의 안정성을 보장하는 전파 지연을 제공하도록 선택될 수 있다.
도 7은 프로세서 코어(12)와 디버그 제어기(14) 사이의 데이터 흐름을 제어하기 위한 회로를 도시하는 다른 개요도이다. 도 7의 회로는 TCK 및 CLK 범위에서 데이터의 동기화를 위한 Data In Negedge 신호를 생성한다. 특히, 도 7은 플래그 레지스터(32)의 Data In CLK 플래그와 Data In Negedge 신호 사이의 관계를 도시한다. 도 7에 도시된 바와 같이, 회로는 0, 1 및 플립플롭(72)으로부터의 피드백 라인을 입력으로서 수신하는 멀티플렉서(70)를 포함한다. 플립플롭(72)은 CLK 범위에서 클럭된다.
멀티플렉서(70)는 멀티플렉서 입력들 중 하나를 선택하도록 구동하는 제어 라인을 수신한다. 멀티플렉서(70)는 홀드 신호가 활성화될 때 피드백 라인을 선택한다. MMR Read 신호 및 Data In CLK 플래그가 모두 활성화될 때, 즉 2개의 신호의 논리적 AND를 만족시킬 때, 제어 라인은 멀티플렉서(70)가 0 라인을 선택하게 한다. Data In Posedge 신호가 활성화될 때, 제어 라인은 멀티플렉서(70)가 1 라인을 선택하게 한다. 플립플롭(72)의 출력은 Data In CLK이다.
일련의 1-n 플립플롭(74)은 Data In CLK 플래그를 수신한다. 플립플롭(76)은 플립플롭(74)의 출력을 수신한다. 플립플롭(74, 76)은 TCK 범위에서 클럭되고, TCK 및 CLK 범위에 걸쳐 Data In CLK 플래그의 동기화 장치로서 기능한다. 플립플롭(74)과 플립플롭(76)의 출력은 AND 게이트(78)의 입력과 반전 입력을 각각 구동한다. AND 게이트의 출력은 Data In Negedge 신호이다.
도 8은 프로세서 코어(12)와 테스트 액세스 포트(11) 사이의 데이터 흐름을 제어하기 위한 회로를 도시하는 다른 개요도이다. 도 8의 회로는 일반적으로 도 6의 회로와 일치하지만 포착 모드와 관련이 있다. 도 8의 회로는 TCK 및 CLK 범위에서 데이터의 동기화를 위한 Data Out Posedge 신호를 생성한다.
도 8에 도시된 바와 같이, 회로는 0, 1 및 플립플롭(82)으로부터의 피드백 라인을 입력으로서 수신하는 멀티플렉서(80)를 포함한다. 플립플롭(82)은 CLK 범위에서 클럭된다. 멀티플렉서(80)는 입력들 중 하나를 선택하도록 구동하는 제어 라인을 수신한다. 홀드 신호가 활성화될 때, 제어 라인은 멀티플렉서(80)를 구동하여 피드백 라인의 Data Out CLK를 선택하게 한다. Data Out Negedge 신호가 활성화될 때, 제어 라인은 멀티플렉서(80)가 0 라인을 선택하게 한다. MMR Write 신호가 활성화될 때, 제어 라인은 멀티플렉서(80)가 1 라인을 선택하게 한다. 플립플롭(82)의 출력은 Data Out CLK이고, 이것은 CLK 범위에서 Data Out 플래그로서 기능한다.
일련의 1-n 플립플롭(84)은 Data Out CLK 신호를 수신한다. 플립플롭(86)은 플립플롭(84)의 출력을 수신한다. 플립플롭(84, 86)은 TCK 범위에서 클럭된다. 플립플롭(84)과 플립플롭(86)의 출력은 AND 게이트(88)의 입력과 반전 입력을 각각 구동한다. AND 게이트의 출력은 Data Out Posedge 신호이다.
도 9는 프로세서 코어(12)와 테스트 액세스 포트(11) 사이의 데이터 흐름을 제어하기 위한 회로를 도시하는 다른 개요도이다. 도 9의 회로는 TCK 및 CLK 범위에서 데이터의 동기화를 위한 Data Out Negedge 신호를 생성한다. 도 9에 도시된 바와 같이, 회로는 0, 1 및 플립플롭(92)으로부터의 피드백 라인을 입력으로서 수신하는 멀티플렉서(90)를 포함한다. 플립플롭(92)은 TCK 범위에서 클럭된다.
멀티플렉서(90)는 입력들 중 하나를 선택하도록 구동하는 제어 라인을 수신한다. 홀드 신호가 활성화될 때, 제어 라인은 멀티플렉서(90)가 피드백 라인을 선택하게 한다. Capture 및 Data Out TCK 신호가 활성화될 때, 즉 논리적 AND에서 제어 라인은 멀티플렉서(90)가 0 라인을 선택하게 한다. Data Out Posedge 신호가 활성화될 때, 제어 라인은 멀티플렉서(90)가 1 라인을 선택하게 한다. 플립플롭(92)의 출력은 Data Out CLK이고, 이것은 CLK 범위에서 Data Out 플래그로서 기능한다.
일련의 1-n 플립플롭(94)은 Data In CLK 신호를 수신한다. 플립플롭(96)은 플립플롭(94)의 출력을 수신한다. 플립플롭(94, 96)은 CLK 범위에서 클럭된다. 플립플롭(94)과 플립플롭(96)의 출력은 AND 게이트(98)의 입력과 반전 입력을 각각 구동한다. AND 게이트의 출력은 Data Out Negedge 신호이다. 플립플롭(94)의 수는 소정의 전파 지연을 생성하도록 선택될 수 있고, 이것에 의해 데이터 스캔 레지스터(28)의 출력 데이터의 안정성을 보장한다.
본 발명의 여러가지 실시예를 설명하였다. 이들 실시예 및 다른 실시예들도 첨부하는 청구 범위 내에 포함된다.

Claims (25)

  1. 데이터의 이용가능성을 표시하기 위해 제1 클럭 범위에서 제1 플래그를 세팅하는 단계와;
    데이터의 안정성을 표시하기 위해 제2 클럭 범위에서 제2 플래그를 세팅하는 단계와;
    상기 제2 플래그의 세팅에 응답하여 제1 범위에서 클럭된 디버그 제어기 회로와 제2 범위에서 클럭된 프로세서 회로 사이에서 데이터를 전송하는 단계를 포함하는 방법.
  2. 제1항에 있어서, 데이터 전송의 완료를 표시하기 위해 상기 제1 플래그와 제2 플래그를 클리어하는 단계를 더 포함하는 방법.
  3. 제2항에 있어서, 제1 플래그는 제1 클럭 범위에서 클럭되는 제1 플립플롭에 저장되고, 제2 플래그는 제2 클럭 범위에서 클럭되는 제2 플립플롭에 저장되며, 상기 방법이 제2 플래그의 클리어에 응답하여 제1 플래그를 클리어하는 단계를 더 포함하는 방법.
  4. 제1항에 있어서, 상기 데이터 전송 단계는 스캔 체인 데이터 전송 단계를 포함하는 것인 방법.
  5. 제4항에 있어서, 상기 데이터 전송 단계는 JTAG 호환성 테스트 액세스 포트(TAP) 형태인 디버그 제어기 회로와 상기 프로세서 회로 사이에서 데이터를 전송하는 단계를 포함하는 것인 방법.
  6. 제1항에 있어서, 제1 범위에서 클럭되는 디버그 제어기 회로와 제2 범위에서 클럭되는 프로세서 회로 사이에서 추가 데이터의 전송을 시도하기 전에 제1 플래그가 클리어되지 않은 경우에 오버플로우 플래그를 세팅하는 단계를 더 포함하는 방법.
  7. 제1항에 있어서, 프로세서 회로의 동작을 중단하지 않고 디버그 제어기 회로와 프로세서 회로 사이에서 실시간으로 데이터를 전송하는 단계를 더 포함하는 방법.
  8. 제1항에 있어서, 디버그 제어기 회로는 JTAG 호환성 테스트 액세스 포트(TAP)를 포함하고, 상기 방법이 JTAG 포착, 시프트 및 갱신 데이터 레지스터 상태를 1회 통과함으로써 디버그 제어기 회로와 프로세서 회로 사이에서 데이터를 전송하는 단계를 더 포함하는 방법.
  9. 제1항에 있어서, 데이터가 안정 상태에 도달하는 것을 보장하기에 충분한 수의 클럭 사이클동안 제1 플래그와 제2 플래그 중 적어도 하나의 세팅을 지연시키는 단계를 더 포함하는 방법.
  10. 데이터의 이용가능성을 표시하기 위해 제1 클럭 범위에서 제1 플래그를 세팅하는 제1 레지스터와;
    데이터의 안정성을 표시하기 위해 제1 플래그의 세팅에 응답하여 제2 클럭 범위에서 제2 플래그를 세팅하는 제2 레지스터와;
    상기 제2 플래그의 세팅에 응답하여 제1 범위에서 클럭된 디버그 제어기 회로와 제2 범위에서 클럭된 프로세서 회로 사이에서 데이터를 전송하는 제3 레지스터를 포함하는 장치.
  11. 제10항에 있어서, 데이터 전송의 완료를 표시하기 위해 상기 제1 플래그와 제2 플래그를 클리어하는 논리 회로를 더 포함하는 장치.
  12. 제11항에 있어서, 제1 플래그는 제1 클럭 범위에서 클럭되는 제1 플립플롭에 저장되고, 제2 플래그는 제2 클럭 범위에서 클럭되는 제2 플립플롭에 저장되며, 상기 장치가 제2 플래그의 클리어에 응답하여 제1 플래그를 클리어하는 회로를 더 포함하는 장치.
  13. 제10항에 있어서, 상기 데이터는 스캔 체인 데이터를 포함하는 것인 장치.
  14. 제13항에 있어서, 상기 디버그 제어기 회로는 JTAG 호환성 테스트 액세스 포트(TAP)를 포함하는 것인 장치.
  15. 제10항에 있어서, 제1 범위에서 클럭되는 디버그 제어기 회로와 제2 범위에서 클럭되는 프로세서 회로 사이에서 추가 데이터의 전송을 시도하기 전에 제1 플래그가 클리어되지 않은 경우에 오버플로우 플래그를 세팅하는 논리 회로를 더 포함하는 장치.
  16. 제10항에 있어서, 제3 레지스터는 프로세서 회로의 동작을 중단하지 않고 디버그 제어기 회로와 프로세서 회로 사이에서 실시간으로 데이터를 전송하도록 구성된 것인 장치.
  17. 제10항에 있어서, 디버그 제어기 회로는 JTAG 호환성 테스트 액세스 포트(TAP)를 포함하고, 상기 제1, 제2 및 제3 레지스터는 JTAG 포착, 시프트 및 갱신 데이터 레지스터 상태를 1회 통과함으로써 디버그 제어기 회로와 프로세서 회로 사이에서 데이터를 전송하도록 배열된 것인 장치.
  18. 제10항에 있어서, 데이터가 안정 상태에 도달하는 것을 보장하기에 충분한 수의 클럭 사이클동안 제1 플래그와 제2 플래그 중 적어도 하나의 세팅을 지연시키는 지연 회로를 더 포함하는 장치.
  19. 플래시 메모리 장치와;
    상기 플래시 메모리 장치에 결합된 프로세서와;
    데이터의 이용가능성을 표시하기 위해 제1 클럭 범위에서 제1 플래그를 세팅하는 제1 레지스터와;
    데이터의 안정성을 표시하기 위해 상기 제1 플래그의 세팅에 응답하여 제2 클럭 범위에서 제2 플래그를 세팅하는 제2 레지스터와;
    상기 제2 플래그의 세팅에 응답하여 제1 범위의 디버그 제어기 회로와 제2 범위의 프로세서 회로 사이에서 데이터를 전송하는 제3 레지스터를 포함하는 시스템.
  20. 제19항에 있어서, 데이터 전송의 완료를 표시하기 위해 상기 제1 플래그와 제2 플래그를 클리어하는 논리 회로를 더 포함하는 시스템.
  21. 제20항에 있어서, 제1 플래그는 제1 클럭 범위에서 클럭되는 제1 플립플롭에 저장되고, 제2 플래그는 제2 클럭 범위에서 클럭되는 제2 플립플롭에 저장되며, 상기 시스템이 제2 플래그의 클리어에 응답하여 제1 플래그를 클리어하는 회로를 더 포함하는 시스템.
  22. 제19항에 있어서, 제1 범위에서 클럭되는 디버그 제어기 회로와 제2 범위에서 클럭되는 프로세서 회로 사이에서 추가 데이터의 전송을 시도하기 전에 제1 플래그가 클리어되지 않은 경우에 오버플로우 플래그를 세팅하는 논리 회로를 더 포함하는 시스템.
  23. 제19항에 있어서, 제3 레지스터는 프로세서 회로의 동작을 중단하지 않고 디버그 제어기 회로와 프로세서 회로 사이에서 실시간으로 데이터를 전송하도록 구성된 것인 시스템.
  24. 제19항에 있어서, 디버그 제어기 회로는 JTAG 호환성 테스트 액세스 포트(TAP)를 포함하고, 상기 제1, 제2 및 제3 레지스터는 JTAG 포착, 시프트 및 갱신 데이터 레지스터 상태를 1회 통과함으로써 디버그 제어기 회로와 프로세서 회로 사이에서 데이터를 전송하도록 배열된 것인 시스템.
  25. 제19항에 있어서, 데이터가 안정 상태에 도달하는 것을 보장하기에 충분한 수의 클럭 사이클동안 제1 플래그와 제2 플래그 중 적어도 하나의 세팅을 지연시키는 지연 회로를 더 포함하는 시스템.
KR1020037007846A 2000-12-15 2001-12-10 테스트 액세스 포트의 데이터 동기화 방법 및 장치 KR100551546B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/738,405 US7168032B2 (en) 2000-12-15 2000-12-15 Data synchronization for a test access port
US09/738,405 2000-12-15
PCT/US2001/047625 WO2002048722A2 (en) 2000-12-15 2001-12-10 Data synchronization for a test access port

Publications (2)

Publication Number Publication Date
KR20030060990A true KR20030060990A (ko) 2003-07-16
KR100551546B1 KR100551546B1 (ko) 2006-02-13

Family

ID=24967868

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020037007846A KR100551546B1 (ko) 2000-12-15 2001-12-10 테스트 액세스 포트의 데이터 동기화 방법 및 장치

Country Status (6)

Country Link
US (1) US7168032B2 (ko)
JP (1) JP3895278B2 (ko)
KR (1) KR100551546B1 (ko)
CN (1) CN1260577C (ko)
TW (1) TWI221976B (ko)
WO (1) WO2002048722A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100727975B1 (ko) * 2005-09-10 2007-06-14 삼성전자주식회사 시스템 온 칩의 고장 진단 장치 및 방법과 고장 진단이가능한 시스템 온 칩

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7017066B2 (en) * 2003-04-10 2006-03-21 International Business Machines Corporation Method, system and synchronization circuit for providing hardware component access to a set of data values without restriction
US7805638B2 (en) * 2003-06-18 2010-09-28 Nethra Imaging, Inc. Multi-frequency debug network for a multiprocessor array
CN100588149C (zh) 2003-06-25 2010-02-03 Nxp股份有限公司 将目标时钟域中发生的目标事件传递到监控时钟域的电路
JP4494899B2 (ja) * 2004-07-29 2010-06-30 富士通株式会社 プロセッサデバッグ装置およびプロセッサデバッグ方法
US20060161818A1 (en) * 2005-01-14 2006-07-20 Ivo Tousek On-chip hardware debug support units utilizing multiple asynchronous clocks
US7511228B2 (en) * 2005-09-14 2009-03-31 Schmartboard, Inc. Printed circuit board
US7665002B1 (en) * 2005-12-14 2010-02-16 Advanced Micro Devices, Inc. Multi-core integrated circuit with shared debug port
US7596719B2 (en) 2006-02-14 2009-09-29 Atmel Corporation Microcontroller information extraction system and method
WO2008024697A2 (en) * 2006-08-20 2008-02-28 Ambric, Inc. Multi-frequency debug network for a multiprocessor array
US7707448B1 (en) * 2007-05-03 2010-04-27 Oracle America, Inc. Deterministic test strand unparking
US8108738B2 (en) 2007-06-26 2012-01-31 International Business Machines Corporation Data eye monitor method and apparatus
US7802025B2 (en) 2007-06-26 2010-09-21 International Business Machines Corporation DMA engine for repeating communication patterns
US7827391B2 (en) 2007-06-26 2010-11-02 International Business Machines Corporation Method and apparatus for single-stepping coherence events in a multiprocessor system under software control
US7984448B2 (en) * 2007-06-26 2011-07-19 International Business Machines Corporation Mechanism to support generic collective communication across a variety of programming models
US8509255B2 (en) 2007-06-26 2013-08-13 International Business Machines Corporation Hardware packet pacing using a DMA in a parallel computer
US8010875B2 (en) 2007-06-26 2011-08-30 International Business Machines Corporation Error correcting code with chip kill capability and power saving enhancement
US7886084B2 (en) 2007-06-26 2011-02-08 International Business Machines Corporation Optimized collectives using a DMA on a parallel computer
US8468416B2 (en) 2007-06-26 2013-06-18 International Business Machines Corporation Combined group ECC protection and subgroup parity protection
US8230433B2 (en) 2007-06-26 2012-07-24 International Business Machines Corporation Shared performance monitor in a multiprocessor system
US7877551B2 (en) * 2007-06-26 2011-01-25 International Business Machines Corporation Programmable partitioning for high-performance coherence domains in a multiprocessor system
US7793038B2 (en) 2007-06-26 2010-09-07 International Business Machines Corporation System and method for programmable bank selection for banked memory subsystems
US8458282B2 (en) 2007-06-26 2013-06-04 International Business Machines Corporation Extended write combining using a write continuation hint flag
US8756350B2 (en) 2007-06-26 2014-06-17 International Business Machines Corporation Method and apparatus for efficiently tracking queue entries relative to a timestamp
US8140925B2 (en) * 2007-06-26 2012-03-20 International Business Machines Corporation Method and apparatus to debug an integrated circuit chip via synchronous clock stop and scan
US8032892B2 (en) * 2007-06-26 2011-10-04 International Business Machines Corporation Message passing with a limited number of DMA byte counters
US8103832B2 (en) * 2007-06-26 2012-01-24 International Business Machines Corporation Method and apparatus of prefetching streams of varying prefetch depth
US7882409B2 (en) * 2007-09-21 2011-02-01 Synopsys, Inc. Method and apparatus for synthesis of augmented multimode compactors
US20090260862A1 (en) * 2008-04-16 2009-10-22 Andrew Yaung Circuit modification device for printed circuit boards
US8572433B2 (en) 2010-03-10 2013-10-29 Texas Instruments Incorporated JTAG IC with commandable circuit controlling data register control router
US8589714B2 (en) 2009-12-18 2013-11-19 Texas Instruments Incorporated Falling clock edge JTAG bus routers
US8423851B2 (en) * 2010-09-16 2013-04-16 Nanya Technology Corporation Measured device and test system utilizing the same
US9140754B2 (en) * 2011-02-28 2015-09-22 Texas Instruments Incorporated Scan-based MCM interconnecting testing
US10025343B2 (en) * 2011-12-28 2018-07-17 Intel Corporation Data transfer between asynchronous clock domains
US20150106660A1 (en) * 2013-10-16 2015-04-16 Lenovo (Singapore) Pte. Ltd. Controller access to host memory
US10495690B2 (en) 2017-08-28 2019-12-03 Stmicroelectronics International N.V. Combinatorial serial and parallel test access port selection in a JTAG interface
CN112462240A (zh) * 2020-12-04 2021-03-09 国微集团(深圳)有限公司 支持跨芯片信号同步触发检测方法及装置

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63142437A (ja) 1986-12-05 1988-06-14 Hitachi Ltd Cmos大規模集積回路装置のクロツク制御回路
US5602878A (en) 1994-09-23 1997-02-11 Intel Corporation Method of delivering stable data across an asynchronous interface
US6014752A (en) * 1995-01-27 2000-01-11 Sun Mircosystems, Inc. Method and apparatus for fully controllable integrated circuit internal clock
US5838684A (en) * 1996-02-22 1998-11-17 Fujitsu, Ltd. Low latency, high clock frequency plesioasynchronous packet-based crossbar switching chip system and method
US6032271A (en) * 1996-06-05 2000-02-29 Compaq Computer Corporation Method and apparatus for identifying faulty devices in a computer system
GB9622685D0 (en) * 1996-10-31 1997-01-08 Sgs Thomson Microelectronics An integrated circuit device and method of communication therewith
GB9622687D0 (en) * 1996-10-31 1997-01-08 Sgs Thomson Microelectronics An integrated circuit with tap controller
GB9622686D0 (en) * 1996-10-31 1997-01-08 Sgs Thomson Microelectronics A test port controller and a method of effecting communication using the same
US5935266A (en) * 1996-11-15 1999-08-10 Lucent Technologies Inc. Method for powering-up a microprocessor under debugger control
US6058255A (en) * 1996-12-17 2000-05-02 Texas Instruments Incorporated JTAG instruction decode test register and method
US6112298A (en) * 1996-12-20 2000-08-29 Texas Instruments Incorporated Method for managing an instruction execution pipeline during debugging of a data processing system
US5900753A (en) * 1997-03-28 1999-05-04 Logicvision, Inc. Asynchronous interface
US6052808A (en) * 1997-10-31 2000-04-18 University Of Kentucky Research Foundation Maintenance registers with Boundary Scan interface
US6145100A (en) 1998-03-04 2000-11-07 Advanced Micro Devices, Inc. Debug interface including timing synchronization logic
US6115763A (en) * 1998-03-05 2000-09-05 International Business Machines Corporation Multi-core chip providing external core access with regular operation function interface and predetermined service operation services interface comprising core interface units and masters interface unit
US6041418A (en) * 1998-08-07 2000-03-21 Lucent Technologies, Inc. Race free and technology independent flag generating circuitry associated with two asynchronous clocks
JP3888792B2 (ja) 1998-12-25 2007-03-07 富士通株式会社 クロック発生回路
US6327684B1 (en) * 1999-05-11 2001-12-04 Logicvision, Inc. Method of testing at-speed circuits having asynchronous clocks and controller for use therewith
US6321329B1 (en) * 1999-05-19 2001-11-20 Arm Limited Executing debug instructions
US6535988B1 (en) * 1999-09-29 2003-03-18 Intel Corporation System for detecting over-clocking uses a reference signal thereafter preventing over-clocking by reducing clock rate

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100727975B1 (ko) * 2005-09-10 2007-06-14 삼성전자주식회사 시스템 온 칩의 고장 진단 장치 및 방법과 고장 진단이가능한 시스템 온 칩

Also Published As

Publication number Publication date
TWI221976B (en) 2004-10-11
CN1507567A (zh) 2004-06-23
US20020078420A1 (en) 2002-06-20
WO2002048722A3 (en) 2003-05-15
US7168032B2 (en) 2007-01-23
CN1260577C (zh) 2006-06-21
WO2002048722A2 (en) 2002-06-20
JP3895278B2 (ja) 2007-03-22
KR100551546B1 (ko) 2006-02-13
JP2004515787A (ja) 2004-05-27

Similar Documents

Publication Publication Date Title
KR100551546B1 (ko) 테스트 액세스 포트의 데이터 동기화 방법 및 장치
US6704895B1 (en) Integrated circuit with emulation register in JTAG JAP
US6996747B2 (en) Program counter trace stack, access port, and serial scan path
US5329471A (en) Emulation devices, systems and methods utilizing state machines
US6522985B1 (en) Emulation devices, systems and methods utilizing state machines
US5841670A (en) Emulation devices, systems and methods with distributed control of clock domains
US5805792A (en) Emulation devices, systems, and methods
US6539497B2 (en) IC with selectively applied functional and test clocks
US6000051A (en) Method and apparatus for high-speed interconnect testing
EP1089187B1 (en) System and method for communicating with an integrated circuit
US6006343A (en) Method and apparatus for streamlined testing of electrical circuits
KR100262452B1 (ko) 집적회로의 테스트용 클럭 발생방법 및 회로
US6085336A (en) Data processing devices, systems and methods with mode driven stops
US7644310B2 (en) Semiconductor IC incorporating a co-debugging function and test system
US6760866B2 (en) Process of operating a processor with domains and clocks
JP3998303B2 (ja) Tapコントローラを有する集積回路
US7269770B1 (en) AC coupled line testing using boundary scan test methodology
US20040193957A1 (en) Emulation devices, systems and methods utilizing state machines
US20040250150A1 (en) Devices, systems and methods for mode driven stops notice
EP0411904A2 (en) Processor condition sensing circuits, systems and methods
US6349392B1 (en) Devices, systems and methods for mode driven stops
KR100812938B1 (ko) 초대규모급 설계 검증을 위한 하드웨어적으로 구현된대규모 디지털 시스템과 시뮬레이션을 이용하는 디버깅장치 및 이를 이용한 디버깅 방법
EP0685793A2 (en) Emulation device, system and method with distributed control of test interfaces in clock domains
JP2010032503A (ja) Jtagテスト・データ・レジスタを用いる非同期通信装置
US6671841B1 (en) Method for on-line circuit debug using JTAG and shadow scan in a microprocessor

Legal Events

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

Payment date: 20130117

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140121

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150119

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20160119

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20190207

Year of fee payment: 14