KR20000060284A - 통신 기능을 갖는 탭(Test Access Port) 및 그를 이용한 통신방법 - Google Patents
통신 기능을 갖는 탭(Test Access Port) 및 그를 이용한 통신방법 Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/273—Tester hardware, i.e. output processing circuits
- G06F11/2733—Test 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
본 발명은 탭(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)
- 탭 컨트롤러, 상기 탭 컨트롤러의 제어하에 입력 데이터를 저장하는 명령어 레지스터, 상기 명령어 레지스터의 값을 디코딩하는 디코더, 상기 탭 컨트롤러의 제어하에 테스트 데이터를 저장하며, 상기 디코더 출력에 따라 하나가 선택되는 복수개의 테스트 데이터 레지스터를 구비한 탭(TAP)에 있어서,상기 테스트 데이터 레지스터는 상기 탭 컨트롤러의 제어신호 및 상기 디코더의 출력신호를 받아들이는 다수의 입력포트들과, 외부 시스템과의 통신을 위해 다수의 입출력포트를 구비하여 구성되는 것을 특징으로 하는 통신 기능을 갖는 탭.
- 제 1 항에 있어서, 상기 외부 시스템과의 통신을 위한 입출력포트들은 데이터 입력, 데이터 출력, 외부시스템으로 출력하는 요구신호, 외부시스템으로부터 입력되는 승인신호 및 리드/라이트 신호를 전달하는 것을 특징으로 하는 통신 기능을 갖는 탭.
- 명령어 레지스터를 설정하는 스텝,리드 및 라이트를 결정하는 스텝,리드 상태일 경우에는 데이터 요구신호를 외부 시스템으로 출력한 후, 상기 외부시스템으로부터 승인신호가 입력되면 데이터를 리드하고, 라이트 상태일 경우에는 입력되는 테스트 데이터를 테스트 데이터 레지스터에 저장한 후, 외부 시스템으로 상기 데이터 출력을 위한 요구신호를 보내고, 상기 외부시스템으로부터 승인신호가 입력되면 상기 데이터를 출력하는 스텝을 포함하여 이루어져 외부시스템간의 통신을 행하는 것을 특징으로 하는 탭을 이용한 통신방법
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160002553A (ko) | 2014-06-30 | 2016-01-08 | 프롬투정보통신(주) | 네트워크 탭 |
-
1999
- 1999-03-13 KR KR1019990008465A patent/KR20000060284A/ko not_active Application Discontinuation
Cited By (1)
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 |