KR100512162B1 - 마이크로프로세서의에뮬레이션모드를위한바운더리스캔스탠다드인터페이스회로 - Google Patents

마이크로프로세서의에뮬레이션모드를위한바운더리스캔스탠다드인터페이스회로 Download PDF

Info

Publication number
KR100512162B1
KR100512162B1 KR1019980011201A KR19980011201A KR100512162B1 KR 100512162 B1 KR100512162 B1 KR 100512162B1 KR 1019980011201 A KR1019980011201 A KR 1019980011201A KR 19980011201 A KR19980011201 A KR 19980011201A KR 100512162 B1 KR100512162 B1 KR 100512162B1
Authority
KR
South Korea
Prior art keywords
signal
microprocessor
test
test data
circuit
Prior art date
Application number
KR1019980011201A
Other languages
English (en)
Other versions
KR19990076323A (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 삼성전자주식회사
Priority to KR1019980011201A priority Critical patent/KR100512162B1/ko
Publication of KR19990076323A publication Critical patent/KR19990076323A/ko
Application granted granted Critical
Publication of KR100512162B1 publication Critical patent/KR100512162B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware
    • G06F11/3652Software debugging using additional hardware in-circuit-emulation [ICE] arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/06Clock generators producing several clock signals
    • 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/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2236Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors

Landscapes

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

Abstract

본 발명은 마이크로프로세서에 관한 것으로, 내장 에뮬레이션 블록을 갖는 코어와, 사용자의 프로그램의 테스트 동작에 따른 에뮬레이션 모드(emulation mode)를 위한 내장 에뮬레이터를 갖는 마이크로프로세서의 MDS(Microcomputer Development System)를 위한 JTAG 인터페이스 회로를 구비한다. 32 비트 리스크(RISC) 마이크로프로세서는 빠른 처리 속도와 저소모 전력의 특성으로 인하여 매우 경제성이 높다. 그러나 어드레스 및 데이터 버스가 복잡함에 따라 이에 대응되는 하드웨어 회로의 크기가 커지게 되고, 이로 인해서 속도 등의 특성이 저하된다. 따라서 JTAG 인터페이스 회로를 통해 테스트를 위한 신호들을 발생하므로서 그 문제점을 개선한다.

Description

마이크로프로세서의 에뮬레이션 모드를 위한 바운더리 스캔 스탠다드 인터페이스 회로{JTAG INTERFACE CIRCUIT FOR EMULATION MODE OF MICROPROCESSOR}
본 발명은 마이크로프로세서(microprocessor)에 관한 것으로, 좀 더 구체적으로 내장 에뮬레이터(in-circuit emulator)을 갖는 마이크로프로세서의 에뮬레이션 모드를 위한 JTAG(Joint Test Action Group) 인터페이스 회로에 관한 것이다.
마이크로프로세서가 처리 속도의 고속화, 복잡화 되어감에 따라 이에 대한 테스트 문제가 중요한 문제로 대두되고 있다. 이는 차후 집적도가 점점 높아짐에 따라 발생 가능한 고장의 수가 증가하기 때문에 테스트 문제의 해결 방안은 더욱 중요한 문제로 부각되고 있다.
그러나 이러한 테스트 방법은 칩의 집적도가 점점 높아짐에 따라 외부 핀수의 제약 등으로 인하여 칩 내부의 특정 모듈들에 대한 테스트 수행이 어려워지고 있다.
또한 이 문제를 해결하기 위한 하나의 방법으로 다수의 모듈을 갖는 칩 내부의 특정 모듈들에 대응하여 다수의 스캔 체인들을 구비한다. 즉, 이들을 하나의 직렬 스캔 패스(scan path)로 형성된 내장 에뮬레이터를 구비함으로서 JTAG(Joint Test Action Group)에서 제안한 다수의 제어 신호(예컨데, 테스트 데이터 입출력 신호, 테스트 클럭 신호 및 테스트 모드 선택 신호 등)를 이용하여 에뮬레이션 모드를 수행한다.
또한, 대부분의 마이크로프로세서의 코어(Core)에는 내장 에뮬레이션 블록(in-circuit emulation block)이 구비되어 있지 않으며, 이런 코어를 지원하기 위하여 칩의 내부에 내장 에뮬레이터(in-circuit emulator)를 구비한다. 이는 코어의 입출력 신호들을 이용할 수 있는 주변 하드웨어 회로들을 포함하고 있어야 한다.
그러나 32bit 리스크(RISC) 구조의 마이크로프로세서와 같이 어드레스 버스(address bus)와 데이터 버스(data bus)가 복잡하여, 지원해야 할 하드웨어 블록이 커지게 된다. 이로 인하여 마이크로프로세서는 하드웨어 부담이 가중되어 속도 등의 특성 저하를 일으키게 된다.
본 발명의 목적은 상술한 문제점을 해결하기 위한 것으로, 32 비트 리스크 구종의 코어와, 내장 에뮬레이터를 갖는 마이크로프로세서의 에뮬레이션 모드를 위해서, 코어의 동작 특성에 맞는 JTAG 신호를 발생하는 JTAG 인터페이스 회로를 구현하는데 있다.
상술한 목적을 달성하기 위한 본 발명의 일 특징에 의하면, 32 비트 리스크 구조의 코어와 상기 코어를 사용자 프로그램에 의해 에뮬레이션 모드로 동작하기 위한 내장 에뮬레이터를 갖는 마이크로프로세서와, 상기 에뮬레이션 모드를 제어하는 시스템 유닛 사이에 구비되어, 상기 에뮬레이션 모드에 필요한 신호들을 발생하는 인터페이스 회로에 있어서: 상기 시스템 유닛으로부터 상기 에뮬레이션 모드를 위한 테스트 데이터를 병렬로 받아들여서 직렬 테스트 데이터로 변환하고, 상기 직렬 테스트 데이터를 상기 마이크로프로세서에 제공하는 제 1 변환 회로; 상기 시스템 유닛으로부터 상기 에뮬레이션 모드를 위한 테스트 모드 선택 신호를 병렬로 받아들여서 직렬 테스트 모드 선택 신호로 변환하고, 상기 직렬 테스트 모드 선택 신호를 상기 마이크로프로세서에 제공하는 제 2 변환 회로; 상기 마이크로프로세서로부터 테스트 동작에 따른 테스트 데이터를 직렬로 받아들여서 병렬 테스트 데이터로 변환하고, 상기 병렬 테스트 데이터를 상기 시스템 유닛에 제공하는 제 3 변환 회로; 상기 내장 에뮬레이터가 상기 시스템 유닛으로부터 상기 에뮬레이션 모드에 따른 테스트 데이터 및 클럭 신호들을 받아서 상기 에뮬레이션 모드에 적합한 신호들을 발생하는 신호 발생 회로; 및 상기 시스템 유닛으로부터 상기 에뮬레이션 모드에 따른 어드레스 및 제어 신호를 받아들여서 상기 어드레스를 디코딩하고, 그 결과로서 상기 제 1 내지 제 3 변환 회로 및 상기 신호 발생 회로의 동작을 제어하기 위한 선택 신호들을 출력하는 디코더를 포함한다.
이 특징의 바람직한 실시예에 있어서, 상기 신호 발생 회로는: 상기 테스트 데이터의 시프팅을 시작하는 시프트 시작 신호를 발생하는 제 1 신호 발생 회로와; 상기 테스트 데이터의 입력이 완료되면, 이를 상기 시스템 유닛으로 알려주는 오버플로우 신호를 발생하는 제 2 신호 발생 회로 및; 상기 테스트 클럭 신호를 발생하는 제 3 신호 발생 회로를 포함한다.
이 특징의 바람직한 실시예에 있어서, 상기 신호 발생 회로는 6 비트 다운 카운터를 포함한다.
따라서 본 발명에 의하면, 상기 시스템 유닛으로부터 TDI 유닛에 병렬 테스트 데이터를 로드한다. 이어서 TMS 유닛에 테스트 모드 선택 신호를 로드한다. 그리고 신호 발생 회로로 데이터를 로드한다. 이 때, 데이터 시프트 시작 신호와 테스트 클럭 신호를 발생한다. 그리고 테스트 클럭 신호의 라이징 에지에 동기되어 데이터를 시프팅한다.
상기 신호 발생 회로에 의해 데이터의 카운팅이 완료되면, 상기 카운터의 오버플로우 신호를 발생하고, 다시 상기 시스템 유닛으로부터 TDI 유닛에 병렬 테스트 데이터를 로드한다.
이하 본 발명의 실시예를 첨부된 도면에 의거하여 상세히 설명한다.
도 1은 본 발명에 따른 내장 에뮬레이터를 갖는 32 비트 ARM(Advanced RISC Machines) 구조의 마이크로프로세서와 에뮬레이터 모드를 위한 JTAG 인터페이스 회로를 갖는 MDS 시스템의 개략적인 연결 구성을 보여준다.
도면을 참조하면, 상기 시스템은 상기 마이크로프로세서(300)와 상기 마이크로프로세서(300)의 사용자 프로그램에 의하여 테스트 동작(즉, 에뮬레이션 모드)를 제어하는 시스템 유닛(100) 및 신규한 JTAG 인터페이스 회로(200)를 구비하고 있다.
그리고 에뮬레이션 모드는 JTAG(Joint Test Access Group)에 의해서 제정된 테스트 방식을 통하여 이루어진다.
상기 마이크로프로세서(300)는 에뮬레이션 모드를 위한 대상(target) 시스템으로서, 32 비트 RISC 구조의 코어(310)와 내장 에뮬레이터(320)를 구비하고 있다.
상기 시스템 유닛(100)은 상기 마이크로프로세서(300)를 에뮬레이션하기 위해서 상기 내장 에뮬레이터를 제어하는 유닛으로서, CPU(110)를 구비하고 있다.
그리고 상기 JTAG 인터페이스 회로(200)는 상기 시스템 유닛(100)으로부터 상기 마이크로프로세서(300)의 에뮬레이션 모드를 수행하기 위하여 병렬로 테스트 입력 데이터(TDI)와 테스트 모드 선택 신호(TMS)를 받아들인다. 그리고 적정의 타이밍을 갖는 테스트 클럭(TCK)을 발생하기 위한 클럭 신호(CLK)를 받아들인다.
또한, 상기 JTAG 인터페이스 회로(200)는 상기 데이터 및 신호를 직렬 데이터로 변환하여 상기 마이크로프로세서(300)로 전달한다. 그리고 상기 테스트 클럭(TCK)에 동기되어 상기 마이크로프로세서(300)의 바운더리 스캔 로직(미도시됨)으로부터 직렬 테스트 출력 데이터(TDO)를 받아들여서 병렬로 변환하고, 이를 상기 시스템 유닛(100)으로 전달한다.
그리고 상기 시스템 유닛(100)으로 JTAG 인터페이스 회로(200)의 동작 상태를 알려주기 위한 적절한 형태의 신호를 발생한다.
예를 들어, 리스크 구조(RISC architecture)의 ARM7TDMI 마이크로프로세서의 경우, 내장 에뮬레이터(in-Circuit emulator)를 구비하고, JTAG 인터페이스 회로를 통하여 내장 에뮬레이터의 대부분 기능을 구현할 수 있도록 설계되었다.
JTAG 인터페이스 회로는 외부적으로 단지 5 개의 신호(TDI, TMS, TDO, TCK 및 nTRST)만을 이용하기 때문에 ARM7TDMI 코어를 사용한 마이크로프로세서를 지원해야 하는 내장 에뮬레이터의 하드웨어에 부담을 주지 않으며 속도 문제도 발생하지 않게 된다.
따라서, 내장 에뮬레이터가 ARM7TDMI 코어의 내장 에뮬레이션 블록(In-circuit Emulation Block)을 이용하기 위해서는 코어의 동작 특성에 맞는 5개의 JTAG 신호를 만들어 사용해야 한다.
이러한 JTAG 신호를 이용하여 집적 회로의 에뮬레이션 모드를 수행하는 JTAG 머신(machine)은 상당히 간단한 구조로 되어 있다. 그러므로 하드웨어적으로 부담이 매우 적으며, 5 개 신호간의 타이밍상 틀어짐이 매우 적어 마이크로컴퓨터 개발 시스템의 높은 안정성을 보장한다.
구체적으로 상기 JTAG 인터페이스 회로(200)는 도 2에 도시된 바와 같이, 상기 시스템 유닛(100)으로부터 테스트 입력 데이터(TDI)를 받아서 상기 마이크로프로세서(300)로 출력하는 TDI(Test Data Input) 유닛(220)과, 상기 마이크로프로세서의 테스트 모드를 동작하도록 제어하는 테스트 모드 선택 신호(TMS)를 출력하는 TMS(Test Mode Select) 유닛(230) 및 상기 마이크로프로세서(300)로부터 테스트 결과에 따른 출력 데이터를 받아서 상기 시스템 유닛(100)으로 출력하는 TDO(Test Data Output) 유닛(250)을 포함한다. 그리고 디코더(210)와 신규한 신호 발생 회로(240)를 포함하고 있다.
상기 디코더(210)는 상기 시스템 유닛(100)으로부터 어드레스(A[3:0]) 및 제어 신호(ECS0)를 받아들여서 상기 TDI 유닛(220), TMS 유닛(230) 및 TDO 유닛(250)을 선택하는 선택 신호(TDI_sel, TMS_sel 및 TDO_sel)와 상기 신호 발생 회로의 동작을 제어하는 선택 신호(CNT_sel)를 출력하기 위하여 상기 어드레스(A[3:0])를 디코딩한다.
구체적으로 도 3을 참조하면, 상기 디코더(210)는 상기 시스템 유닛(100)의 CPU(110)(예컨데, 32C6000)로부터 제어 신호(ECSO)를 받아들여서, 입력되는 어드레스에 해당되는 선택 신호를 출력한다.
상기 어드레스를 디코딩하여 구현한 선택 신호들은 아래의 [표 1]에 나타내는 해당 범위의 어드레스가 인가되었을 때 유효하다. 즉, ECS0 신호가 로우(LOW) 로직 레벨일 때만 유효하다.
[표 1]
그리고 상기 제어 신호(ECS0)는 상기 CPU(110)의 'EXTERNAL I/0 0'를 나타내는 신호로, 상기 CPU(110)의 메모리 맵핑에서 4 MB 워드 영역을 가진다.
다시 도 2를 참조하면, 상기 신호 발생 회로(240)는 6 비트 다운 카운터(미도시됨)를 구비하고 있다. 그리고 최대 카운트 수는 HEXA 코드 '1F'로, 32 비트를 카운팅한다.
따라서 상기 카운터가 원하는 만큼을 카운팅한 후, 오버플로우 신호(CARRY)를 발생시키면 이 신호를 래치하여 상기 시스템 유닛(100)으로 전달한다. 그 결과, 원하는 만큼의 데이터 전송이 끝났음을 알린다.
다시 원하는 만큼의 데이터 전송을 수행하기 위해서는 상기 TDI 유닛(220)으로 병렬 데이터가 입력되기 때문에, 상기 CARRY 신호는 다시 TDI_sel 신호가 인에이블될 때(즉, 로우 로직 레벨에서 활성화된다), 클리어시켜 주면 된다.
그리고 도 4에 도시된 바와 같이, 상기 마이크로프로세서(300)의 코어(310)는 테스트 클럭 신호(TCK)의 라이징 에지에서 데이터를 캐치(catch)하므로 시프트 레지스터의 데이터는 테스트 클럭 신호(TCK)의 폴링 에지에서 변해야 한다.
상기 신호 발생 회로(240)는 내장 에뮬레이션 블록을 가지고 있는 코어(즉, ARM7TDMI)에 5 개의 신호만을 가지고 내장 에뮬레이터의 대부분 기능을 구현할 수 있도록 하는 JTAG 인터페이스를 구현하는 로직이다.
먼저 상기 JTAG 인터페이스 회로(240)의 일반적인 동작은 다음의 순서를 따른다.
상기 시스템 유닛(100)으로부터 TDI 유닛(220)에 병렬 테스트 데이터를 로드한다. 이어서 TMS 유닛(230)에 테스트 모드 선택 신호(TMS)를 로드한다. 그리고 6 비트 다운 카운터에 데이터를 로드한다.
이 때, 데이터 시프트 시작 신호(START_sh)와 테스트 클럭 신호(TAP_TCK)를 발생한다. 그리고 테스트 클럭 신호(TAP_TCK)의 라이징 에지에 동기되어 데이터를 시프팅(shifting)한다.
데이터의 카운팅이 완료되면, 상기 카운터의 오버플로우 신호(CARRY)를 발생하고, 다시 상기 시스템 유닛(100)으로부터 TDI 유닛(220)에 병렬 테스트 데이터를 로드하여 상술한 과정들을 반복 수행한다.
따라서 TDI 유닛(220)에 전송을 원하는 데이터를 인가하고 TMS 유닛(230)에는 상기 마이크로프로세서(300)의 내장 에뮬레이터(즉,TAP 컨트롤러)가 인식할 수 있는 형태의 데이터를 입력한다. 이 TMS 신호가 어떤 값이냐에 따라 TDI 데이터가 상기 마이크로프로세서(300)에 제대로 입력되는지가 결정된다.
따라서 TDI 데이터와 TMS 신호는 동시에 상기 마이크로프로세서(300)로 전송되어야 한다. TDI 유닛(220)의 직렬 데이터가 하나씩 마이크로프로세서(300)로 입력됨과 동시에 마이크로프로세서(300)의 TDI 직렬 데이터에 대응하여 TDO 포트로부터 직렬 데이터가 출력된다.
이어서 JTAG 인터페이스 회로(200)로 직렬 데이터가 입력이 되어 병렬 데이터로 변환하고, 병렬 TDO 데이터가 시스템 유닛(100)의 CPU(110)(여기서는 32C6200)로 이동된다.
TDI 및 TMS 직렬 데이터가 마이크로프로세서(300)의 TDI 및 TMS 포트로 시프팅(shifting)시킬 때 고려해야 할 점이 있다.
이는 마이크로프로세서(300)의 TCK 포트에 연결된 테스트 클럭 신호(TAP_TCK)의 라이징 에지에서 TDI 및 TMS 데이터를 캐치해야 한다는 것이다. 따라서 안정적으로 데이터를 전송하기 위하여 테스트 클럭 신호(TAP_TCK)의 폴링 에지에서 TDI 및 TMS 데이터를 변화시킨다.
계속해서, 도 5a 내지 도 5b는 도 2에 도시한 신호 발생 회로(240)의 TDI/TDO 유닛(220/250)의 동작 시작을 결정하는 시프트 시작 신호(START_sh)를 발생하는 제 1 신호 발생 회로(240-1)의 상세한 구성 및 그 동작 파형을 도시하고 있다.
도 5a를 참조하면, 상기 제 1 신호 발생 회로(240-1)는 제 1 인버터(242)와 제 1 및 제 2 디 플립 플럽(241, 243)을 구비하고 있다. 그리고 상기 제 1 및 제 2 디 플립 플럽(241, 243)은 각각 상기 디코더(210)로부터 제어 신호(CNT_sel)와 테스트 클럭 신호(TCK_org)를 받아서 시프트 시작 신호(START_sh)를 출력한다.
상기 시프트 시작 신호(START_sh)는 TDI 및 TMS 유닛의 동작 시작을 결정하는 신호이다.
도 5b를 참조하면, 상기 시프트 시작 신호(START_sh)의 동작 타이밍은 시프트 시작 신호(START_sh)의 라이징 에지에서 TDI 및 TMS 유닛의 직렬 데이터가 시프팅을 시작한다.
그리고 테스트 클럭 신호(TCK_ORG)의 폴링 에지에서 TDI 및 TMS 데이터를 캐치해야 테스트 클럭 신호(TCK_ORG)와의 앤딩해서 올바른 동작 신호(RUN_clk)가 출력된다. 여기서 상기 테스트 클럭 신호(TCK_ORG)는 상기 신호 발생 회로(240)로 공급되는 메인 클럭 신호(CLK)이다.
도 6a 내지 도 6b는 도 2에 도시한 신호 발생 회로(240)의 동작 종료를 알려주는 종료 신호(CARRY)를 발생하는 제 2 신호 발생 회로(240-2)의 상세한 구성 및 그 동작 파형을 도시하고 있다.
상기 제 2 신호 발생 회로(240-2)는 상기 시프트 시작 신호(START_sh)와 테스트 클럭 신호(TCK_org)를 받아서 동작 신호(RUN_clk)를 출력하는 제 1 앤드 게이트(244)와 상기 동작 신호(RUN_clk)를 반전하여 출력하는 제 2 인버터(245), 제 3 및 제 4 디 플립 플럽(246, 247)을 구비한다. 그리고 상기 제 3 및 제 4 디 플립 플럽(246,247)은 상기 동작 신호(RUN_clk)에 동기되어 종료 신호(CARRY)를 출력한다.
도 6b를 참조하면, 상기 종료 신호(CARRY)는 상기 시스템 유닛(100)으로 JTAG 인터페이스 회로(200)의 동작 종료를 알려주는 신호이다.
상기 종료 신호(CARRY)의 동작 타이밍에 의하면, 6 비트 다운 카운터의 오버플로우 신호(CARRY_org)는 N 번째 라이징 에지 이후에 발생된다.
따라서 동작 신호(RUN_clk)의 폴링 에지에서 오버플로우 신호(CARRY_org)를 캐치하면 카운터 값(n=5)이 출력된다. 이 카운터 값이 라이징 에지일 때, 전원 전압(VCC)을 인가하므로서 초기값을 '0'으로 설정하고, 이어서 출력 신호(CARRY)를 래치(latch)할 수 있다.
도 7a 내지 도 7b는 도 2에 도시한 신호 발생 회로(240)의 테스트 클럭 신호(TAP_tck)를 발생하는 제 3 신호 발생 회로(240-3)의 상세한 구성 및 그 동작 파형을 도시하고 있다.
도 7a를 참조하면, 상기 제 3 신호 발생 회로(240-3)는 상기 종료 신호를 반전하여 END 신호를 출력하는 제 3 인버터(248)와 상기 시프트 시작 신호(START_sh)와 상기 END 신호를 받아들여서 RUN_range 신호를 출력하는 제 2 앤드 게이트(249) 및 상기 RUN_range 신호와 동작 신호(RUN_clk) 및 CLR 신호를 받아들여서 테스트 클럭 신호(TAP_clk)를 출력하는 제 3 앤드 게이트(251)를 구비한다.
도 7b를 참조하면, 상기 테스트 클럭 신호(TAP_TCK)는 코어의 테스트 클럭 신호(TCK)와 연결되는 신호로서, TDI 유닛(220)과 TMS 유닛(230)의 직렬 데이터가 코어(310)로 시프팅될 때, 코어(310)가 안정하게 데이터를 캐치하도록 테스트 클럭 신호(TAP_tck)를 발생시키는 것을 나타내었다.
상기 시프트 시작 신호(START_sh)와 상기 오버플로우 신호(CARRY)를 인버팅한 END 신호를 앤딩시켜 동작 신호(RUN_range)의 하이 로직 레벨에서 발생되는 동작 신호(RUN_clk) 또는 테스트 클럭 신호(TCK_org)가 테스트 클럭 신호(TAP_tck)로 출력된다.
그리고 돌발적인 오동작을 방지하기 위하여 클리러 신호(clr)를 앤딩한다.
상술한 바와 같이 본 발명은, 32 비트 리스크 구조의 ARM7TDMI 마이크로프로세서에 있어서, 내장 에뮬레이터를 구비하고, JTAG 인터페이스 회로를 통하여 내장 에뮬레이터의 에뮬레이션을 위한 신호들을 발생하는 JTAG 인터페이스 회로를 제공하므로서, ARM7TDMI 코어를 사용하는 마이크로프로세서의 내장 에뮬레이터로 인한 하드웨어에 부담을 주지 않는다.
도 1은 본 발명에 따른 내장 에뮬레이션 블록을 갖는 32 비트 마이크로프로세서의 스캔 테스트를 위한 JTAG 인터페이스 회로의 개략적인 연결 구성을 나타내는 블록도;
도 2는 본 발명의 일실시예에 따른 JTAG 인터페이스 회로의 구성을 도시한 블록도;
도 3은 도 2에 도시한 디코더의 어드레스 디코딩을 위한 입출력 신호들의 관계를 나타내는 블록도;
도 4는 도 2에 도시한 신호 발생 회로의 출력 클럭 신호와 TDI/TDO 유닛의 출력 신호의 관계를 나타내는 도면;
도 5a 내지 도 5b는 도 2에 도시한 신호 발생 회로에서 TDI/TDO 유닛의 동작 시작을 결정하는 시프트 시작 신호(START_sh)를 발생하는 제 1 신호 발생 회로의 상세한 구성 및 그 동작 파형을 도시한 도면;
도 6a 내지 도 6b는 도 2에 도시한 신호 발생 회로에서 동작 종료를 알려주는 종료 신호(CARRY)를 발생하는 제 2 신호 발생 회로의 상세한 구성 및 그 동작 파형을 도시한 도면; 그리고
도 7a 내지 도 7b는 도 2에 도시한 신호 발생 회로에서 테스트 클럭 신호(TCK)를 발생하는 제 3 신호 발생 회로의 상세한 구성 및 그 동작 파형을 도시한 도면이다.
*도면의 주요 부분에 대한 부호 설명*
100 : 시스템 유닛 200 : JTAG 인터페이스 회로
210 : 디코더 220 : TDI 유닛
230 : TMS 유닛 240 : 신호 발생 회로
240-1 : 제 1 신호 발생 회로 240-2 : 제 2 신호 발생 회로
240-3 : 제 3 신호 발생 회로 250 : TDO 유닛

Claims (3)

  1. 32 비트 리스크(RISC) 구조의 코어와 상기 코어를 사용자 프로그램에 의해 에뮬레이션 모드(emulation mode)로 동작하기 위한 내장 에뮬레이터(in-circuit emulator)를 갖는 마이크로프로세서와, 상기 에뮬레이션 모드를 제어하는 시스템 유닛 사이에 구비되어, 상기 에뮬레이션 모드에 필요한 신호들을 발생하는 인터페이스 회로에 있어서:
    상기 시스템 유닛으로부터 상기 에뮬레이션 모드를 위한 테스트 데이터를 병렬로 받아들여서 직렬 테스트 데이터로 변환하고, 상기 직렬 테스트 데이터를 상기 마이크로프로세서에 제공하는 제 1 변환 회로;
    상기 시스템 유닛으로부터 상기 에뮬레이션 모드를 위한 테스트 모드 선택 신호를 병렬로 받아들여서 직렬 테스트 모드 선택 신호로 변환하고, 상기 직렬 테스트 모드 선택 신호를 상기 마이크로프로세서에 제공하는 제 2 변환 회로;
    상기 마이크로프로세서로부터 테스트 동작에 따른 테스트 데이터를 직렬로 받아들여서 병렬 테스트 데이터로 변환하고, 상기 병렬 테스트 데이터를 상기 시스템 유닛에 제공하는 제 3 변환 회로;
    상기 내장 에뮬레이터가 상기 시스템 유닛으로부터 상기 에뮬레이션 모드에 따른 테스트 데이터 및 클럭 신호들을 받아서 상기 에뮬레이션 모드에 적합한 신호들을 발생하는 신호 발생 회로; 및
    상기 시스템 유닛으로부터 상기 에뮬레이션 모드에 따른 어드레스 및 제어 신호를 받아들여서 상기 어드레스를 디코딩하고, 그 결과로서 상기 제 1 내지 제 3 변환 회로 및 상기 신호 발생 회로의 동작을 제어하기 위한 선택 신호들을 출력하는 디코더를 포함하는 것을 특징으로 하는 인터페이스 회로.
  2. 제 1 항에 있어서,
    상기 신호 발생 회로는:
    상기 테스트 데이터의 시프팅을 시작하는 시프트 시작 신호를 발생하는 제 1 신호 발생 회로와;
    상기 테스트 데이터의 입력이 완료되면, 이를 상기 시스템 유닛으로 알려주는 오버플로우 신호를 발생하는 제 2 신호 발생 회로 및;
    상기 테스트 클럭 신호를 발생하는 제 3 신호 발생 회로를 포함하는 것을 특징으로 하는 인터페이스 회로.
  3. 제 1 항에 있어서,
    상기 신호 발생 회로는 6 비트 다운 카운터를 포함하는 것을 특징으로 하는 인터페이스 회로.
KR1019980011201A 1998-03-31 1998-03-31 마이크로프로세서의에뮬레이션모드를위한바운더리스캔스탠다드인터페이스회로 KR100512162B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019980011201A KR100512162B1 (ko) 1998-03-31 1998-03-31 마이크로프로세서의에뮬레이션모드를위한바운더리스캔스탠다드인터페이스회로

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980011201A KR100512162B1 (ko) 1998-03-31 1998-03-31 마이크로프로세서의에뮬레이션모드를위한바운더리스캔스탠다드인터페이스회로

Publications (2)

Publication Number Publication Date
KR19990076323A KR19990076323A (ko) 1999-10-15
KR100512162B1 true KR100512162B1 (ko) 2005-11-11

Family

ID=37305984

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980011201A KR100512162B1 (ko) 1998-03-31 1998-03-31 마이크로프로세서의에뮬레이션모드를위한바운더리스캔스탠다드인터페이스회로

Country Status (1)

Country Link
KR (1) KR100512162B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101013270B1 (ko) 2008-07-24 2011-02-09 인터내셔널 비지네스 머신즈 코포레이션 Ieee 1149.1 jtag 표준 확장 방법 및 장치

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114384969B (zh) * 2020-12-31 2024-04-16 广东国腾量子科技有限公司 一种高速真随机数的产生系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05164826A (ja) * 1991-04-26 1993-06-29 American Teleph & Telegr Co <Att> Jtagを用いた高速集積回路試験
US5331274A (en) * 1992-03-02 1994-07-19 At&T Bell Laboratories Method and apparatus for testing edge connector inputs and outputs for circuit boards employing boundary scan
KR950004018A (ko) * 1993-07-28 1995-02-17 프레데릭 얀 스미트 경계 주사 표준형 확장에 기초한 오류 수정 작업을 보조하는 하드웨어를 갖는 마이크로프로세서
WO1997022013A1 (en) * 1995-12-08 1997-06-19 Samsung Electronics Co., Ltd. Jtag testing of buses using plug-in cards with jtag logic mounted thereon
KR19980041752A (ko) * 1996-11-15 1998-08-17 윤종용 스캔 환경에서 jtag 제어기를 이용하여 클럭 제어를 거쳐 구현된 저비용의 에뮬레이션 스킴
KR19980047282A (ko) * 1996-12-14 1998-09-15 양승택 바운더리 스캔 입출력 신호 연결 제어장치

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05164826A (ja) * 1991-04-26 1993-06-29 American Teleph & Telegr Co <Att> Jtagを用いた高速集積回路試験
US5331274A (en) * 1992-03-02 1994-07-19 At&T Bell Laboratories Method and apparatus for testing edge connector inputs and outputs for circuit boards employing boundary scan
KR950004018A (ko) * 1993-07-28 1995-02-17 프레데릭 얀 스미트 경계 주사 표준형 확장에 기초한 오류 수정 작업을 보조하는 하드웨어를 갖는 마이크로프로세서
JPH07175780A (ja) * 1993-07-28 1995-07-14 Philips Electron Nv マイクロプロセッサ
WO1997022013A1 (en) * 1995-12-08 1997-06-19 Samsung Electronics Co., Ltd. Jtag testing of buses using plug-in cards with jtag logic mounted thereon
KR19980041752A (ko) * 1996-11-15 1998-08-17 윤종용 스캔 환경에서 jtag 제어기를 이용하여 클럭 제어를 거쳐 구현된 저비용의 에뮬레이션 스킴
KR19980047282A (ko) * 1996-12-14 1998-09-15 양승택 바운더리 스캔 입출력 신호 연결 제어장치

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101013270B1 (ko) 2008-07-24 2011-02-09 인터내셔널 비지네스 머신즈 코포레이션 Ieee 1149.1 jtag 표준 확장 방법 및 장치

Also Published As

Publication number Publication date
KR19990076323A (ko) 1999-10-15

Similar Documents

Publication Publication Date Title
US10162003B2 (en) DDR TMS/TDI, addressable tap, state machine, and tap state monitor
US5453995A (en) Apparatus for generating test signals
US20190265295A1 (en) Reduced signaling interface method &amp; apparatus
KR100698860B1 (ko) Jtag 시험 방식
US11041905B2 (en) Combinatorial serial and parallel test access port selection in a JTAG interface
JP2009528535A (ja) Jtagインターフェースを用いた試験アクセス制御回路を有するic回路
JP2012088321A (ja) 試験アクセス・ポート・スイッチ
US8841952B1 (en) Data retention flip-flop
US7447962B2 (en) JTAG interface using existing I/O bus
JP3319541B2 (ja) 半導体集積回路装置
KR100512162B1 (ko) 마이크로프로세서의에뮬레이션모드를위한바운더리스캔스탠다드인터페이스회로
KR920001083B1 (ko) 논리회로의 테스트용이화회로
JP2002373086A (ja) 半導体集積回路
JP3094983B2 (ja) システムロジックのテスト回路およびテスト方法
CN109425823B (zh) Jtag接口中的顺序测试访问端口选择
US6457149B1 (en) Semiconductor integrated circuit and semiconductor integrated circuit test method
KR0121940B1 (ko) 바운더리 스캔의 2출력 데이타 출력회로
JPS63193238A (ja) アドレススキヤン方式
JP2009115563A (ja) 半導体集積回路
JP2003076576A (ja) 半導体装置
KR20000001570U (ko) 일입력을 갖는 스캔 디코더
KR19990086499A (ko) 범용 호스트명령 발생장치
JP2004294397A (ja) 半導体装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee