KR20000060284A - 통신 기능을 갖는 탭(Test Access Port) 및 그를 이용한 통신방법 - Google Patents

통신 기능을 갖는 탭(Test Access Port) 및 그를 이용한 통신방법 Download PDF

Info

Publication number
KR20000060284A
KR20000060284A KR1019990008465A KR19990008465A KR20000060284A KR 20000060284 A KR20000060284 A KR 20000060284A KR 1019990008465 A KR1019990008465 A KR 1019990008465A KR 19990008465 A KR19990008465 A KR 19990008465A KR 20000060284 A KR20000060284 A KR 20000060284A
Authority
KR
South Korea
Prior art keywords
tap
data
input
signal
test data
Prior art date
Application number
KR1019990008465A
Other languages
English (en)
Inventor
김종필
Original Assignee
김영환
현대반도체 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 김영환, 현대반도체 주식회사 filed Critical 김영환
Priority to KR1019990008465A priority Critical patent/KR20000060284A/ko
Publication of KR20000060284A publication Critical patent/KR20000060284A/ko

Links

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/273Tester hardware, i.e. output processing circuits
    • G06F11/2733Test interface between tester and unit under test

Landscapes

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

Abstract

본 발명은 칩의 디버깅이나 테스트에 한정되어 사용해왔던 탭의 이용 범위를 극대화하여 디버깅 및 테스트 이외에도 하나의 통신 포트로써 사용될 수 있도록 하기 위한 것으로, 탭 컨트롤러, 상기 탭 컨트롤러의 제어하에 입력 데이터를 저장하는 명령어 레지스터, 상기 명령어 레지스터의 값을 디코딩하는 디코더, 상기 탭 컨트롤러의 제어하에 테스트 데이터를 저장하며, 상기 디코더 출력에 따라 하나가 선택되는 복수개의 테스트 데이터 레지스터를 구비한 탭(TAP)에 있어서, 상기 테스트 데이터 레지스터는 상기 탭 컨트롤러의 제어신호 및 상기 디코더의 출력신호를 받아들이는 다수의 입력포트들과, 외부 시스템과의 통신을 위해 다수의 입출력포트를 구비하여 구성된다.

Description

통신 기능을 갖는 탭(Test Access Port) 및 그를 이용한 통신방법{TAP HAVING COMMUNICATING FUNCTION AND COMMUNICATING METHOD THEREOF}
본 발명은 탭(TAP:Test Access Port)에 관한 것으로 특히, 칩(chip)의 테스트나 디버깅(diverging)에 사용되는 탭을 하나의 통신 포트로도 사용할 수 있는 탭 및 그를 이용한 통신방법에 관한 것이다.
일반적으로 탭(TAP : Test Access Port)은 칩의 디버깅이나 테스트에 한정하여 사용될 뿐, 그 이외에는 사용되지 않고 있는 부분으로써, 이하에서 종래의 탭 사용방법을 첨부된 도면을 참조하여 설명하기로 한다.
도 1은 일반적인 탭의 구성도이다.
도 1에 도시된 바와 같이, 입력되는 외부 제어신호 TMS,TCK를 받아 동작하는 탭 컨트롤러(11)와, 상기 탭 컨트롤러(11)에 의해 입력되는 테스트 데이터를 저장하는 명령어 레지스터(12)(IR :Instruction Register)와, 상기 명령어 레지스터
(12)에 쓰여진 값을 디코딩하는 디코더(13)와, 상기 탭 컨트롤러(11)의 제어하에 입력되는 테스트 데이터를 저장하며 상기 디코더(13)의 출력값에 따라 그 중 하나가 선택되는 복수개의 테스트 데이터 레지스터(14)(TDR:Test Data Register)와, 상기 복수개의 테스트 데이터 레지스터(14)들중 선택된 하나의 테스트 데이터 레지스터(14)의 값과 상기 명령어 레지스터(12)의 값중 어느 하나를 선택하는 멀티플렉서
(15)와, 그리고 상기 멀티플렉서(15)의 출력을 버퍼링하는 버퍼(16)로 구성된다.
여기서, 탭 컨트롤러(11)가 결정할 동작에는 크게 명령어 레지스터(12)를 설정하는 것과, 테스트 데이터 레지스터(14)를 설정하는 것으로 나눌 수 있다.
상기 명령어 레지스터(12)를 설정하는 단계는 탭이 어떤 테스트 데이터 레지스터(14)의 값을 선택할 것인지를 결정하는 단계로써, 상기 명령어 레지스터(12)에 쓰여진 값은 디코더(13)에 의해 디코딩되어 복수개의 테스트 데이터 레지스터(14)중 1개를 선택하게 된다.
이때, 선택된 테스트 데이터 레지스터(14)는 대부분 칩(chip)내의 블럭에 대한 로직을 검사하기 위해 사용되는 스캔 플립/플롭(Scan F/F)의 체인(chain)이다.
도 2는 종래 기술에 따른 스캔 플립/플롭을 이용한 테스트 데이터 레지스터의 구성도이다.
도 2에 도시된 바와 같이, 시리얼하게 연결된 복수개의 플립/플롭(21)들과, 테스트 로직(22)으로 구성된다.
이와 같은 테스트 데이터 레지스터는 상기 테스트 로직(22)을 검사하기 위해 데이터를 입력한다.
도 3은 종래 기술에 따른 탭 컨트롤러의 상태도를 나타내었다.
도 3에 도시된 바와 같이, 총16개의 상태를 가지고 있으며 크게 명령어 레지스터(Instruction Register)를 설정하기 위한 것과 테스트 데이터 레지스터(Test
Data Register:TDR)를 설정하기 위한 상태들로 나뉘어져 있다.
탭은 여러개의 테스트 데이터 레지스터(14)중 특정 테스트 데이터 레지스터의 내용을 쓰거나 읽기 위해 먼저 명령어 레지스터(12)에 해당 테스트 데이터 레지스터(14)가 선택되도록 설정해야 한다.
이때, 명령어 레지스터(12)에 쓰여진 값은 도 1에서 도시된 디코더(13)를 통해 디코딩되어 테스트 데이터 레지스터(14)를 선택하기 위한 신호를 만들어 낸다.
일단 하나의 테스트 데이터 레지스터(14)가 선택되고 나면, 선택된 테스트 데이터 레지스터(14)의 내용을 읽거나 쓸 수 있는데, 이를 위해 탭 컨트롤러(11)는 먼저, 도 3에서 보여주는 상태중 쉬프트-테스트 데이터 레지스터(shift-TDR)상태로 옮겨가야 한다.
그러면, 이때부터 해당 테스트 데이터 레지스터(14)의 스캔 인에이블(Scan Enable)신호가 활성화 되고, TDI를 통해 데이터가 들어가고 TDO를 통해 데이터가 나오게 된다.
그러나 상기와 같은 종래 기술은 테스트 데이터 레지스터가 단순히 스캔 플립/플롭에 데이터를 입력시키거나 출력시키는 것 이외에는 다른 동작을 하지 못하므로 운용이 효율적이지 못한 문제점이 있었다.
본 발명은 상기한 종래의 문제점을 해결하기 위해 안출한 것으로써, 칩의 디버깅이나 테스트에 한정되어 사용해왔던 탭의 이용 범위를 극대화하여 디버깅 및 테스트 이외에도 하나의 통신 포트로써 사용될 수 있도록 하는데 적당한 통신기능을 갖는 탭 및 그를 이용한 통신방법을 제공하는데 그 목적이 있다.
도 1은 종래 탭의 구성도
도 2는 종래 기술에 따른 테스트 데이터 레지스터의 구성도
도 3은 종래 기술에 따른 탭 컨트롤러의 상태도
도 4는 본 발명의 통신 기능을 갖는 탭의 테스트 데이터 레지스터의 구성도
도 5는 본 발명에 따른 탭을 이용한 통신방법을 나타낸 플로우챠트
11 : 탭 컨트롤러 12 : 명령어 레지스터
13 : 디코더 14 : 테스트 데이터 레지스터
15 : 멀티플렉서 16 : 버퍼
상기의 목적을 달성하기 위한 본 발명의 통신 기능을 갖는 탭은 탭 컨트롤러, 상기 탭 컨트롤러의 제어하에 입력 데이터를 저장하는 명령어 레지스터, 상기 명령어 레지스터의 값을 디코딩하는 디코더, 상기 탭 컨트롤러의 제어하에 테스트 데이터를 저장하며, 상기 디코더 출력에 따라 하나가 선택되는 복수개의 테스트 데이터 레지스터를 구비한 탭(TAP)에 있어서, 상기 테스트 데이터 레지스터는 상기 탭 컨트롤러의 제어신호 및 상기 디코더의 출력신호를 받아들이는 다수의 입력포트들과, 외부 시스템과의 통신을 위해 다수의 입출력포트를 구비하여 구성되고, 본 발명의 탭을 이용한 통신방법은 명령어 레지스터를 설정하는 스텝과, 리드 및 라이트를 결정하는 스텝과, 리드 상태일 경우에는 데이터 요구신호를 외부 시스템으로 출력한 후, 상기 외부시스템으로부터 승인신호가 입력되면 데이터를 리드하고, 라이트 상태일 경우에는 입력되는 테스트 데이터를 테스트 데이터 레지스터에 저장한 후, 외부 시스템으로 상기 데이터 출력을 위한 요구신호를 보내고, 상기 외부시스템으로부터 승인신호가 입력되면 상기 데이터를 출력하는 스텝을 포함하여 이루어져 외부시스템간의 통신을 행하는 것을 특징으로 한다.
이하, 첨부된 도면을 참조하여 본 발명의 통신기능을 갖는 탭 및 이를 이용한 통신방법을 설명하기로 한다.
먼저, 본 발명에 따른 탭은 그 구성상 종래의 탭과 유사하며, 단지 테스트 데이터 레지스터의 구성에 있어서 차이가 있다.
즉, 종래 테스트 데이터 레지스터는 단순히 스캔 플립/플롭 형태로 되어 있는 반면에 본 발명에 따른 테스트 데이터 레지스터는 통신 기능을 위해 다수의 포트를 구비하고 있다.
도 4는 본 발명에 따른 테스트 데이터 레지스터의 입출력 포트를 보여주고 있다.
즉, 종래 테스트 데이터 레지스터가 복수개의 플립플롭이 시리얼하게 구성되어 입력되는 데이터를 그대로 출력하는 동작을 하는 반면에 본 발명에서는 각종 신호를 주고 받을 수 있는 통신이 가능하게 한 것이다.
따라서, 단순히 데이터 입력에 따른 출력에 그치지 않고, 리드/라이트 신호, 승인신호(Acknowledge), 요구신호(Request), 데이터 입력, 데이터 출력등의 포트를 가지고 있어서 다른 시스템 블록과 신호를 주고 받을 수 있다.
즉, 본 발명에 따른 테스트 데이터 레지스터는 디코더로부터 리드신호 및 라이트 신호를 받아 이를 다른 시스템으로 전달하기도 하고, 탭 컨트롤러로부터 각종 신호를 받아 그에 따른 적절한 신호를 출력할 수가 있다.
이를 보다 상세하게 설명하면 다음과 같다.
먼저, 본 발명에 따른 테스트 데이터 레지스터는 종래에 사용했던 테스트 데이터 레지스터에 추가적으로 데이터 출력, 데이터 입력, 승인신호, 요구신호, 리드/라이트 신호와 같은 포트를 구성하였다.
그리고 내부 클럭과 통신하기 위해 어떠한 방법을 이용할 것인가 하는 것도 매우 중요하다.
기본적으로 탭(TAP)은 TCK로 동작하는 시스템이면서, 모드 데이터의 입출력은 TCK의 네가티브 엣지에 동기된다.
그리고 외부 시스템에서는 TCK의 포지티브 엣지에 이 데이터를 읽도록 정의되어 있다.
또한, TDI(입력)과 TDO(출력)은 쉬프트- 테스트 데이터 레지스터(shift-TDR)와, 쉬프트-명령어 레지스터(shift-IR)상태를 제어하고, 항상 하이 임피던스 상태에 있게 된다.
즉, 데이터를 주고 받는 동작은 shfit-TDR 상태에서만 이루어져야 한다.
shift-TDR상태에서 데이터의 읽기와 쓰기는 일반적인 시리얼(serial)통신과 비슷한다. 다른점이 있다면, TDI와 TDO를 필요에 따라 리퀘스트와 요구신호로 사용한다는 것이다.
도 4에서와 같이, 테스트 데이터 레지스터의 포트를 보면, 크게 TAP과 연결되는 부분과, 다른 시스템 블록으로 연결하기 위한 부분으로 나뉘어진다.
먼저, TAP에 연결하기 위한 부분중에서 리드와 라이트는 TAP의 디코더의 출력이다. 즉, 테스트 데이터 레지스터를 동작시키기 이전에 TAP의 명령어 레지스터에 어떤 동작을 할 것인지를 설정하게 되는데 상기 명령어 레지스터에 설정된 값에 따라 리드 또는 라이트가 활성화된다.
이와 같이, 어떤 동작을 할 것인지를 결정하고 나면, 테스트 데이터 레지스터를 통해 다른 시스템 블록에 데이터를 전송하기 위해 TAP은 shift-TDR 상태로 옮겨가야 한다.
shift-TDR상태로 가기 위해서는 항상 capture-TDR상태를 거치게 되는데 보통 이때 테스트 데이터 레지스터의 capture TDR신호가 발생된다.
일반적인 테스트 데이터 레지스터의 경우, 이 신호를 테스트 로직에서 나오는 데이터를 읽기 위해 사용되지만, 본 발명에서는 테스트 데이터 레지스터에 동작의 시작을 알리는 목적으로 사용된다.
한편, update TDR신호는 TAP의 update_TDR 상태에서 나오는 신호로써, 테스트 데이터 레지스터가 동작을 완료했음을 알리는 신호로 사용된다.
이와 같은 본 발명의 탭을 이용한 통신 방법을 플로우챠트를 참조하여 설명하면 다음과 같다.
도 5는 본 발명의 탭을 이용한 통신 방법을 설명하기 위한 플로우챠트이다.
도 5에 도시한 바와 같이, 먼저, 명령어 레지스터 값을 설정한다(S501). 명령어 레지스터의 값이 설정되었으면, 리드(read)나 라이트(write)의 상태로 옮겨간다(S502).
이때, 리드와 라이트는 탭의 capture_TDR 상태가 올때까지 기다린다. 그런다음 각각 리드와 라이트 상태로 옮기게 된다.
상기 리드 상태와 라이트 상태는 각각 읽기와 쓰기에 대한 요구(Request)신호가 입력될때까지 기다린다.
여기서, 읽기와 쓰기에 대한 요구신호는 TDI를 통해 발생하게 되는데, 일반적인 시리얼 통신처럼 스타트 비트를 "0"으로 하면, 그 다음비트부터 데이터 라는 것을 알려주는 방식이다.
먼저, 쓰기의 경우를 보면, 스타트(start)신호가 발생하고 나면(S503), 테스트 데이터 레지스터는 원하는 만큼의 데이터를 받게 된다(S504).
이때, 데이터는 필요에 따라 어드레스나 특정 명령이 포함될 수 있다. 데이터를 모두 받은 다음에는 다른 시스템 블록으로 데이터를 보내기 위해 요구신호(Request)를 보내게 된다(S505).
이후, 승인신호(Acknowledge)가 입력되는지 확인한 후(S506), 승인신호가 입력되지 않았으면, 승인신호가 입력될때까지 기다린다(S507). 이때, 승인신호가 입력되었으면, 데이터를 출력하고(S508), TDO에 하이 펄스를 내보내 외부 디바이스에 데이터가 모두 전송되었음을 알리게 된다.
그리고 라이트할 데이터가 더 있는지를 확인하여(S509), 있으면, 라이트 할 데이터를 테스트 데이터 레지스터에 저장하고(S504), 이후의 과정을 반복한다.
이와같은 쓰기의 경우에 비해 읽기의 경우는(S510), 먼저, 다른 시스템 블록에 요구신호를 보내 데이터를 읽어야 한다.
즉, 요구신호를 보낸다음(S511), 승인신호가 입력되었는지를 확인하여
(S512), 입력되지 않았으면, 대기하고(S513), 승인신호가 입력되면 데이터를 리드한다(S514).
이후, 리드할 데이터가 더 존재하는지를 판단하여(S515) 존재하면, 리드 요구 신호를 출력하고(S511), 이후의 동작을 반복수행한다. 만일 존재하지 않으면, 리드 동작을 완료한다.
이상에서 상술한 바와 같이, 본 발명의 통신 기능을 갖는 탭 및 그를 이용한 통신방법은 다음과 같은 효과가 있다.
테스트뿐만 아니라 통신 기능을 가지고 있으므로 기타 다른 통신 포트 대신에 본 발명의 탭을 이용해 메모리에 데이터를 다운로딩 또는 업로딩시키는 것이 가능하다.

Claims (3)

  1. 탭 컨트롤러, 상기 탭 컨트롤러의 제어하에 입력 데이터를 저장하는 명령어 레지스터, 상기 명령어 레지스터의 값을 디코딩하는 디코더, 상기 탭 컨트롤러의 제어하에 테스트 데이터를 저장하며, 상기 디코더 출력에 따라 하나가 선택되는 복수개의 테스트 데이터 레지스터를 구비한 탭(TAP)에 있어서,
    상기 테스트 데이터 레지스터는 상기 탭 컨트롤러의 제어신호 및 상기 디코더의 출력신호를 받아들이는 다수의 입력포트들과, 외부 시스템과의 통신을 위해 다수의 입출력포트를 구비하여 구성되는 것을 특징으로 하는 통신 기능을 갖는 탭.
  2. 제 1 항에 있어서, 상기 외부 시스템과의 통신을 위한 입출력포트들은 데이터 입력, 데이터 출력, 외부시스템으로 출력하는 요구신호, 외부시스템으로부터 입력되는 승인신호 및 리드/라이트 신호를 전달하는 것을 특징으로 하는 통신 기능을 갖는 탭.
  3. 명령어 레지스터를 설정하는 스텝,
    리드 및 라이트를 결정하는 스텝,
    리드 상태일 경우에는 데이터 요구신호를 외부 시스템으로 출력한 후, 상기 외부시스템으로부터 승인신호가 입력되면 데이터를 리드하고, 라이트 상태일 경우에는 입력되는 테스트 데이터를 테스트 데이터 레지스터에 저장한 후, 외부 시스템으로 상기 데이터 출력을 위한 요구신호를 보내고, 상기 외부시스템으로부터 승인신호가 입력되면 상기 데이터를 출력하는 스텝을 포함하여 이루어져 외부시스템간의 통신을 행하는 것을 특징으로 하는 탭을 이용한 통신방법
KR1019990008465A 1999-03-13 1999-03-13 통신 기능을 갖는 탭(Test Access Port) 및 그를 이용한 통신방법 KR20000060284A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990008465A KR20000060284A (ko) 1999-03-13 1999-03-13 통신 기능을 갖는 탭(Test Access Port) 및 그를 이용한 통신방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990008465A KR20000060284A (ko) 1999-03-13 1999-03-13 통신 기능을 갖는 탭(Test Access Port) 및 그를 이용한 통신방법

Publications (1)

Publication Number Publication Date
KR20000060284A true KR20000060284A (ko) 2000-10-16

Family

ID=19576485

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990008465A KR20000060284A (ko) 1999-03-13 1999-03-13 통신 기능을 갖는 탭(Test Access Port) 및 그를 이용한 통신방법

Country Status (1)

Country Link
KR (1) KR20000060284A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160002553A (ko) 2014-06-30 2016-01-08 프롬투정보통신(주) 네트워크 탭

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160002553A (ko) 2014-06-30 2016-01-08 프롬투정보통신(주) 네트워크 탭

Similar Documents

Publication Publication Date Title
US5056093A (en) System scan path architecture
US5054024A (en) System scan path architecture with remote bus controller
US7536597B2 (en) Apparatus and method for controlling power, clock, and reset during test and debug procedures for a plurality of processor/cores
US6393576B1 (en) Apparatus and method for communication between integrated circuit connected to each other by a single line
US5109490A (en) Data transfer using bus address lines
EP0964338B1 (en) Method and apparatus for operating on a memory unit via a JTAG port
US4309755A (en) Computer input/output arrangement for enabling a simultaneous read/write data transfer
JP4056191B2 (ja) I2cバスを含むグローバル・シリアル・バスに製造テスト・インタフェースを接続するための方法および装置
KR860009351A (ko) 입출력 제어 시스템
US5381529A (en) Shift register with dual clock inputs for receiving and sending information between I/O channels and host based on external and internal clock inputs respectively
US20220065930A1 (en) Test access port with address and command capability
US7069352B2 (en) Serial peripheral interface and related methods
US5132973A (en) Testable embedded RAM arrays for bus transaction buffering
US5339320A (en) Architecture of circuitry for generating test mode signals
KR20000060284A (ko) 통신 기능을 갖는 탭(Test Access Port) 및 그를 이용한 통신방법
EP0417905A2 (en) System scan path architecture
US20050028059A1 (en) Processor interface for test access port
US6757752B2 (en) Micro controller development system
US11327115B2 (en) Scheme applied in JTAG TAP apparatus, JTAG host, and target system capable of achieving data verification as well as saving on-chip circuit costs
KR19980069931A (ko) 시리얼 입출력 회로 및 시리얼 버스 인터페이스 회로
KR0169789B1 (ko) 클럭주기가 다른 블럭들의 데이타 전송방법 및 회로
US6757855B1 (en) Integrated test apparatus and method therefor
KR0118651Y1 (ko) 피씨와 이미지 프로세서의 인터페이스장치
KR940007479Y1 (ko) 복수 프로세서 간의 데이타 전송회로
JP3304107B2 (ja) データバスの制御方式

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
N231 Notification of change of applicant
E902 Notification of reason for refusal
E601 Decision to refuse application