[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR100797107B1 - Register scan cell for debugging processor - Google Patents

Register scan cell for debugging processor Download PDF

Info

Publication number
KR100797107B1
KR100797107B1 KR1020010062691A KR20010062691A KR100797107B1 KR 100797107 B1 KR100797107 B1 KR 100797107B1 KR 1020010062691 A KR1020010062691 A KR 1020010062691A KR 20010062691 A KR20010062691 A KR 20010062691A KR 100797107 B1 KR100797107 B1 KR 100797107B1
Authority
KR
South Korea
Prior art keywords
register
scan cell
data output
multiplexer
register scan
Prior art date
Application number
KR1020010062691A
Other languages
Korean (ko)
Other versions
KR20030030519A (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 KR1020010062691A priority Critical patent/KR100797107B1/en
Publication of KR20030030519A publication Critical patent/KR20030030519A/en
Application granted granted Critical
Publication of KR100797107B1 publication Critical patent/KR100797107B1/en

Links

Images

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/3656Software debugging using additional hardware using a specific debug interface
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software

Landscapes

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

Abstract

본 발명은 실시간으로 프로세서의 레지스터를 디버깅하는데 사용되는 레지스터 스캔 셀에 관한 것으로, 특히 레지스터 스캔 셀에 사용되는 플립플롭의 수를 줄여 하드웨어적으로 구현이 용이하게 하는 것을 목적으로 한다. 이를 위해 본 발명은 비트를 저장하는 다수의 레지스터와; 상기 레지스터에 병렬로 연결되어 상기 비트의 이진수를 스캔하는 레지스터 스캔 셀과; 상기 레지스터에 병렬로 연결된 각각의 레지스터 스캔 셀에서 출력된 데이터와 이전 레지스터에서 출력된 데이터를 디버그 모드에 따라 다중화하는 다중화기로 구성된 것을 특징으로 한다. 따라서, 단일 플립플롭과 단일 클럭을 사용하는 레지스터 스캔 셀을 사용하므로 하드웨어적으로 구현이 용이한 효과가 있다.The present invention relates to a register scan cell used to debug a register of a processor in real time. In particular, an object of the present invention is to reduce the number of flip-flops used in a register scan cell to facilitate hardware implementation. To this end, the present invention provides a plurality of registers for storing bits; A register scan cell coupled to the register in parallel to scan a binary number of the bit; And a multiplexer configured to multiplex the data output from each register scan cell and the data output from a previous register in parallel with the register according to a debug mode. Therefore, since a register scan cell using a single flip-flop and a single clock is used, the hardware can be easily implemented.

Description

프로세서 디버깅을 위한 레지스터 스캔 셀{REGISTER SCAN CELL FOR DEBUGGING PROCESSOR}Register Scan Cells for Processor Debugging {REGISTER SCAN CELL FOR DEBUGGING PROCESSOR}

도 1은 종래의 JTAG(Joing Test Action Group)를 응용한 실시간 디버깅을 위해 레지스터와 레지스터 스캔 셀간의 신호선 연결을 보인 예시도.1 is an exemplary view showing a signal line connection between a register and a register scan cell for real-time debugging using a conventional JTAG (Joing Test Action Group).

도 2는 도 1의 레지스터 스캔 셀의 구성을 보인 블록도.2 is a block diagram showing the configuration of the register scan cell of FIG.

도 3은 JTAG의 유한 상태기(Finite State Machine)를 도시한 순서도.3 is a flow chart showing a finite state machine of JTAG.

도 4는 본 발명 JTAG를 응용한 실시간 디버깅을 위해 레지스터와 레지스터 스캔 셀간의 신호선 연결을 보인 예시도.4 is an exemplary view showing a signal line connection between a register and a register scan cell for real-time debugging using the present invention JTAG.

도 5는 도 4의 레지스터 스캔 셀의 구성을 보인 블록도.5 is a block diagram showing the configuration of the register scan cell of FIG.

도 6은 도 4의 레지스터와 레지스터 스캔 셀간의 신호 다이어그램을 도시한 예시도.6 is an exemplary diagram showing a signal diagram between a register and a register scan cell of FIG.

**도면의 주요부분에 대한 부호의 설명**** Description of the symbols for the main parts of the drawings **

15~18 : 레지스터 스캔 셀 19~22 : 레지스터15 to 18: register scan cell 19 to 22: register

23~26, 27, 28, 30 : 다중화기 29 : 캡처/업데이트플립플롭23 ~ 26, 27, 28, 30: Multiplexer 29: Capture / Update Flip-Flop

본 발명은 실시간으로 프로세서의 디버깅을 가능하게 하는 레지스터 스캔 셀에 관한 것으로, 프로세서에 내장된 레지스터의 내용을 추출하고 변환하기 위해 사용되는 프로세서 디버깅을 위한 레지스터 스캔 셀에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a register scan cell that enables debugging of a processor in real time, and more particularly to a register scan cell for processor debugging used to extract and convert the contents of a register embedded in a processor.

최근 프로세서는 하드웨어적인 측면에서 비약적으로 발전하고 있다. 또한, 소프트웨어는 이러한 프로세서를 동작시키는 다양한 종류의 프로그램이므로 이 소프트웨어를 개발하는 시간을 단축하기 위해 소프트웨어를 디버깅하는 기술의 지원은 중요한 작업이 되고 있다.Recently, the processor has been evolving in terms of hardware. In addition, since software is a variety of programs for operating such a processor, supporting technology for debugging software is an important task to shorten the time for developing the software.

따라서, 최근 개발된 프로세서는 소프트웨어의 개발을 지원하기 위해 실시간 디버깅 기능을 탑재하고 있는 것이 현재의 추세이다.As a result, recently developed processors are equipped with real-time debugging to support the development of software.

상기 실시간 디버깅 기능을 위해 HPI(Host Port Interface)등의 새로운 추가적인 모듈을 지원하는 방식과 기판 수준의 테스팅을 지원하기 위한 모듈인 JTAG등을 이용하는 방식으로 크게 나눌 수 있다.For the real-time debugging function, it can be broadly divided into a method of supporting a new additional module such as a host port interface (HPI) and a method of using a JTAG, which is a module for supporting board level testing.

도 1은 종래의 JTAG(Joing Test Action Group)를 응용한 실시간 디버깅을 위해 레지스터와 레지스터 스캔 셀간의 신호선 연결을 보인 예시도로서, 비트를 저장하는 다수의 레지스터(1, 6, 3, 8)와; 상기 레지스터의 홀수 열(1, 3)로 연결되어 상기 비트의 이진수를 스캔하는 짝수 열의 레지스터 스캔 셀(2, 4)과; 상기 레지스터의 짝수 열(6, 8)에 직렬로 연결되어 상기 비트의 이진수를 스캔하는 홀수 열의 레지스터 스캔 셀(5, 7)로 구성된다.1 is a diagram illustrating a signal line connection between a register and a register scan cell for real-time debugging using a conventional JTAG (Joing Test Action Group), and includes a plurality of registers 1, 6, 3, and 8 storing bits. ; An even row of register scan cells (2, 4) connected to the odd column (1, 3) of the register to scan the binary number of the bit; It consists of an odd number of register scan cells 5, 7 connected in series to the even columns 6, 8 of the register to scan the binary of the bit.

상기 레지스터 스캔 셀(5, 2, 7, 4)은 도 2에 도시된 바와 같이, 레지스터에 저장된 데이터와 이전 레지스터 스캔 셀의 출력을 TAP CONTROL 1에 따라 다중화하는 입력 다중화기(9)와; 상기 입력 다중화기(9)에서 출력된 데이터를 CAPTURE CLK의 변이에 따라 저장하는 캡처플립플롭(10)과; 상기 캡처플립플롭(10)에서 출력된 데이터를 RELEASE CLK의 변이에 따라 저장하고 다음 레지스터 스캔 셀에 출력하는 릴리스플립플롭(13)과; 상기 캡처플립플롭(10)에서 출력된 데이터를 UPDATE CLK의 변이에 따라 저장하는 업데이트플립플롭(11)과; 상기 레지스터에 저장된 데이터와 상기 업데이트플립플롭(11)에서 출력된 데이터를 TAP CONTROL 2에 따라 다중화하는 출력다중화기(12)로 구성된 종래의 레지스터와 레지스터 스캔 셀간의 동작을 설명하면 다음과 같다.The register scan cells (5, 2, 7, 4) include an input multiplexer (9) for multiplexing the data stored in the register and the output of the previous register scan cell according to TAP CONTROL 1, as shown in FIG. A capture flip-flop (10) for storing data output from the input multiplexer (9) according to the variation of the CAPTURE CLK; A release flip-flop (13) for storing the data output from the capture flip-flop (10) according to the variation of the RELEASE CLK and outputting the data to the next register scan cell; An update flip-flop 11 for storing the data output from the capture flip-flop 10 according to the variation of the UPDATE CLK; An operation between a conventional register and a register scan cell configured as an output multiplexer 12 which multiplexes the data stored in the register and the data output from the update flip-flop 11 according to TAP CONTROL 2 will be described.

먼저, 레지스터(6)에 저장된 데이터를 읽을 경우 레지스터 스캔 셀(7)은 TAP CONTROL 1에 의해 상기 레지스터(6)를 선택하고 TAP CONTROL 2에 의해 상기 레지스터(6)를 선택한다. 이를 상세히 설명하면 다음과 같다.First, when reading data stored in the register 6, the register scan cell 7 selects the register 6 by TAP CONTROL 1 and selects the register 6 by TAP CONTROL 2. This will be described in detail as follows.

TAP CONTROL 1을 입력받은 레지스터 스캔 셀(7)의 입력다중화기(9)는 레지스터(6)의 출력 데이터(DATA IN)를 캡처플립플롭(10)에 출력한다.The input multiplexer 9 of the register scan cell 7 receiving the TAP CONTROL 1 outputs the output data DATA IN of the register 6 to the capture flip-flop 10.

또한, TAP CONTROL 2를 입력받은 레지스터 스캔 셀(7)의 출력다중화기(12)는 상기 레지스터(6)의 출력 데이터(DATA IN)를 다음 레지스터 스캔 셀(8)에 출력한다.In addition, the output multiplexer 12 of the register scan cell 7 receiving the TAP CONTROL 2 outputs the output data DATA IN of the register 6 to the next register scan cell 8.

따라서, 레지스터 6번, 레지스터 스캔 셀 7번 및 레지스터 8번은 직렬로 연 결된다.Therefore, register 6, register scan cell 7, and register 8 are connected in series.

이후, 캡처플립플롭(10)은 CAPTURE CLK의 변이에 따라 레지스터(6)에서 출력된 데이터를 저장한다.Then, the capture flip-flop 10 stores the data output from the register 6 according to the variation of the CAPTURE CLK.

이때, 레지스터 스캔 셀(7)의 입력다중화기(9)는 TAP CONTROL 1에 따라 SCAN IN을 선택하고 다수의 레지스터 스캔 셀(5, 2, 7, 4)로 구성된 스캔 체인(scan chain)이 만들어진다.At this time, the input multiplexer 9 of the register scan cell 7 selects SCAN IN according to TAP CONTROL 1 and a scan chain composed of a plurality of register scan cells 5, 2, 7, 4 is formed. .

이후, 상기 스캔 체인을 이용하여 레지스터 스캔 셀에 저장된 데이터를 원하는 만큼 시프트시켜 데이터는 얻어진다. 그리고 레지스터 스캔 셀(7)의 업데이트플립플롭(11)은 UPDATE CLK의 변이에 따라 캡처플립플롭(10)에서 출력된 데이터를 저장한다.The data is then obtained by shifting the data stored in the register scan cell by the desired amount using the scan chain. The update flip-flop 11 of the register scan cell 7 stores the data output from the capture flip-flop 10 according to the variation of the UPDATE CLK.

여기서, 레지스터 스캔 셀(7)의 출력다중화기(12)는 TAP CONTROL 2에 따라 레지스터(6)를 선택하고 있으므로 레지스터(8)의 데이터는 업데이트 되지 않는다.Here, since the output multiplexer 12 of the register scan cell 7 selects the register 6 in accordance with TAP CONTROL 2, the data of the register 8 is not updated.

다른 경우로 레지스터(6)에 저장된 데이터를 업데이트하기 위해 레지스터 스캔 셀(5)은 TAP CONTROL 1에 따라 SCAN IN을 선택하고 TAP CONTROL 2에 따라 상기 레지스터(6)을 선택한다.In other cases, to update the data stored in register 6, register scan cell 5 selects SCAN IN in accordance with TAP CONTROL 1 and selects register 6 in accordance with TAP CONTROL 2.

JTAG에 따른 제어를 수행하는 호스트는 레지스터(6)에 저장할 데이터를 시프트시켜 레지스터 스캔 셀(5)의 업데이트 플립플롭(11)에 저장한다.The host performing control according to JTAG shifts the data to be stored in the register 6 and stores it in the update flip-flop 11 of the register scan cell 5.

이후, 레지스터 스캔 셀(5)의 출력다중화기(12)는 TAP CONTROL 2에 따라 상기 레지스터 스캔 셀(5)의 업데이트 플립플롭(11)을 선택하여 레지스터(6)의 데이터를 업데이트한다. Thereafter, the output multiplexer 12 of the register scan cell 5 selects the update flip-flop 11 of the register scan cell 5 according to TAP CONTROL 2 to update the data of the register 6.                         

도 3은 상기 동작 순서를 나타내는 JTAG의 유한 상태기(Finite State Machine)를 도시한 순서도로서, 이를 설명하면 다음과 같다.FIG. 3 is a flowchart illustrating a finite state machine of the JTAG indicating the operation sequence, which will be described below.

JTAG의 TAP(Test Access Port) 제어기(Controller)는 TMS(Test Mode Signal), TCK(Test Clock), TDI(Test Data In), TDO(Test Data Out)로 구성된 TAP에서 TMS와 TCK를 입력받아 TDI와 TDO의 신호선에 실리는 데이터를 제어한다.JTAG's TAP (Test Access Port) Controller receives TMS and TCK from TAP consisting of TMS (Test Mode Signal), TCK (Test Clock), TDI (Test Data In) and TDO (Test Data Out). And control the data on the signal line of the TDO.

여기서, 상기 유한 상태기는 TAP의 TMS와 TCK에 따른 상대 변이를 나타낸 것으로 TCK의 변이에 따라 TMS에 입력되는 이진수에 의해 상기 TAP 제어기의 동작 상태가 변화함을 보여주고 있다.Here, the finite state machine represents a relative variation according to TMS and TCK of the TAP, and shows that the operation state of the TAP controller is changed by a binary number input to the TMS according to the variation of the TCK.

따라서, 상기 레지스터와 레지스터 스캔 셀로 구성된 구조는 일반적인 기판 수준의 테스팅 방법에서 사용하는 바운더리 스캔 셀(Boundary Scan Cell)의 구조를 응용하여 이루어진 것으로써 추가적인 모듈 설계가 필요 없고, 그 운용면에서 쉽게 접근할 수 있는 장점이 있다.Therefore, the structure consisting of the register and the register scan cell is made by applying the boundary scan cell structure used in the general substrate level testing method, and does not require additional module design, and is easily accessible from the operation side. There are advantages to it.

그러나, 하나의 레지스터를 제어하기 위해 3개의 플립플롭으로 구성된 레지스터 스캔 셀 혹은 릴리스 플립플롭을 생략한 2개의 플립플롭으로 구성된 레지스터 스캔 셀이 필요함에 따라 플립플롭의 숫자가 3배 혹은 2배로 증가되는 문제점이 있다.However, the number of flip-flops is tripled or doubled as a register scan cell consisting of three flip-flops or a register scan cell consisting of two flip-flops without the release flip-flop is needed to control one register. There is a problem.

또한, 종래의 레지스터 스캔 셀을 동작시키기 위해 클럭이 2개 혹은 3개가 필요한 문제점이 있다.In addition, there is a problem in that two or three clocks are required to operate a conventional register scan cell.

따라서, 본 발명은 상기와 같은 문제점을 감안하여 창안한 것으로, 하나의 플립플롭을 사용하여 하나의 레지스터를 제어하는 프로세서 디버깅을 위한 레지스터 스캔 셀을 제공함에 그 목적이 있다.Accordingly, an object of the present invention is to provide a register scan cell for debugging a processor that controls one register using one flip-flop.

또한, 본 발명은 단일 클럭을 사용하여 하나의 레지스터를 제어하는 프로세서 디버깅을 위한 레지스터 스캔 셀을 제공함에 그 목적이 있다.It is also an object of the present invention to provide a register scan cell for processor debugging that controls a single register using a single clock.

상기와 같은 목적을 달성하기 위한 본 발명은, 이전 레지스터 스캔 셀에서 출력된 데이터와 병렬로 배열된 레지스터에서 출력된 데이터를 시프트 명령에 따라 다중화하여 출력하는 제1다중화기와; 상기 제1다중화기에서 출력된 데이터와 다음 레지스터 스캔 셀로 출력되는 데이터를 디버그 모드와 캡처 명령의 곱에 따라 다중화하여 출력하는 제2다중화기와; 상기 제2다중화기에서 출력된 데이터를 디버그 클럭의 변이에 따라 저장하고 상기 다음 레지스터 스캔 셀로 출력하는 캡처/업데이트플립플롭과; 상기 캡처/업데이트플립플롭에서 출력된 데이터와 상기 레지스터에서 출력된 데이터를 업데이트 명령에 따라 다중화하여 출력하는 제3다중화기로 구성한 것을 특징으로 한다.According to an aspect of the present invention, there is provided an apparatus including: a first multiplexer for multiplexing and outputting data output from a register arranged in parallel with data output from a previous register scan cell according to a shift command; A second multiplexer configured to multiplex and output data output from the first multiplexer and data output to a next register scan cell according to a product of a debug mode and a capture command; A capture / update flip-flop that stores the data output from the second multiplexer according to a variation of a debug clock and outputs the data to the next register scan cell; And a third multiplexer configured to multiplex and output the data output from the capture / update flip-flop and the data output from the register according to an update command.

이하, 본 발명에 따른 일실시예를 첨부한 도면을 참조하여 상세히 설명하면 다음과 같다.Hereinafter, an embodiment according to the present invention will be described in detail with reference to the accompanying drawings.

도 4는 본 발명 JTAG(Joing Test Action Group)를 응용한 실시간 디버깅을 위해 레지스터와 레지스터 스캔 셀간의 신호선 연결을 보인 예시도로서, 비트를 저장하는 다수의 레지스터(15~18)와; 상기 레지스터(15~18)에 병렬로 연결되어 상기 비트의 이진수를 스캔하는 레지스터 스캔 셀(19~22)과; 상기 레지스터에 병렬로 연 결된 각각의 레지스터 스캔 셀에서 출력된 데이터와 이전 레지스터에서 출력된 데이터를 debug_mode에 따라 다중화하는 다중화기(23~26)로 구성된다.4 is a diagram illustrating signal line connection between a register and a register scan cell for real-time debugging using the present invention JTAG (Joing Test Action Group), a plurality of registers 15 to 18 storing bits; Register scan cells (19 to 22) connected in parallel to the registers (15 to 18) to scan binary numbers of the bits; The multiplexers 23 to 26 multiplex the data output from each register scan cell connected in parallel to the register and the data output from the previous register according to debug_mode.

상기 레지스터 스캔 셀(19~22)은 도 5에 도시된 바와 같이, 이전 레지스터 스캔 셀에서 출력된 데이터와 병렬로 배열된 레지스터에서 출력된 데이터를 shift_dr에 따라 다중화하여 출력하는 다중화기(27)와; 상기 다중화기(27)에서 출력된 데이터와 다음 레지스터 스캔 셀로 출력되는 데이터를 debug_mode&capture_dr에 따라 다중화하여 출력하는 다중화기(28)와; 상기 다중화기(28)에서 출력된 데이터를 debug_clk의 변이에 따라 저장하고 상기 다음 레지스터 스캔 셀로 출력하는 캡처/업데이트플립플롭(29)과; 상기 캡처/업데이트플립플롭(29)에서 출력된 데이터와 상기 레지스터에서 출력된 데이터를 update_dr에 따라 다중화하여 출력하는 다중화기(30)로 구성된 일실시예를 설명하면 다음과 같다.As shown in FIG. 5, the register scan cells 19 to 22 are multiplexers 27 for multiplexing and outputting data output from registers arranged in parallel with data output from previous register scan cells according to shift_dr. ; A multiplexer 28 for multiplexing the data output from the multiplexer 27 and the data output to the next register scan cell according to debug_mode &capture_dr; A capture / update flip-flop (29) for storing the data output from the multiplexer (28) according to debug_clk variation and outputting the data to the next register scan cell; An embodiment of the multiplexer 30 which multiplexes the data output from the capture / update flip-flop 29 and the data output from the register according to update_dr will be described below.

먼저, 종래의 레지스터 스캔 셀과 본 발명의 레지스터 스캔 셀을 비교해 보면 종래의 레지스터 스캔 셀은 2, 3개의 플립플롭과 2, 3개의 클럭으로 구성되었으나 본 발명 레지스터 스캔 셀은 단일 클럭과 단일 플립플롭으로 구성된다.First, when comparing the conventional register scan cell and the register scan cell of the present invention, the conventional register scan cell is composed of two or three flip-flops and two or three clocks, but the register scan cell of the present invention is a single clock and a single flip-flop. It consists of.

또한, 종래기술의 장점인 기판 수준의 테스팅 방법과 동일하게 운용할 수 있으며, 종래기술은 레지스터와 레지스터 스캔 셀이 직렬로 연결되었지만 본 발명은 레지스터와 레지스터 스캔 셀이 병렬로 연결되어 모듈화하는데 용이한 장점이 있다.In addition, it can be operated in the same way as the substrate-level testing method, which is an advantage of the prior art, the prior art is a register and register scan cells are connected in series, but the present invention is easy to modularize the register and register scan cells are connected in parallel. There is an advantage.

기판 수준 테스팅 방법에서 유한 상태기(FSM: Finite State Machine)는 캡처(capture), 시프트(shift), 업데이트(update)순으로 동작한다. 이를 상세히 설 명하면 다음과 같다.In a substrate level testing method, a finite state machine (FSM) operates in the order of capture, shift, and update. The detailed description is as follows.

먼저, 레지스터에 저장된 데이터를 캡처하기 위해 상기 레지스터에 병렬로 연결된 레지스터 스캔 셀은 상기 레지스터에서 출력된 데이터를 입력받는다.First, a register scan cell connected in parallel to the register to capture data stored in the register receives the data output from the register.

이때, shift_dr은 0이 되어 다중화기(27)는 상기 레지스터에서 출력된 데이터를 선택하고 다음 다중화기(28)에 출력한다.At this time, shift_dr becomes 0 so that the multiplexer 27 selects the data output from the register and outputs it to the next multiplexer 28.

이후, debug_mode&capture_dr은 1이 되어 상기 다중화기(28)는 상기 다중화기(27)에서 출력된 데이터를 선택하고 캡처/업데이트플립플롭(29)에 출력한다.After that, debug_mode & capture_dr becomes 1 so that the multiplexer 28 selects the data output from the multiplexer 27 and outputs it to the capture / update flip-flop 29.

이때, debug_clk는 0에서 1로 전이하여 상기 캡처/업데이트플립플롭(29)은 상기 레지스터에 저장된 데이터를 저장한다.At this time, debug_clk transitions from 0 to 1 so that the capture / update flip-flop 29 stores the data stored in the register.

다른 경우로, 다수의 레지스터 스캔 셀(15~18)에 저장된 데이터를 시프트하기 위해 shift_dr은 1이 되고 debug_mode&capture_dr은 1이 된다.In other cases, shift_dr is 1 and debug_mode & capture_dr is 1 to shift data stored in the plurality of register scan cells 15-18.

이후, debug_clk가 0에서 1로 전이할 때마다 각각의 레지스터 스캔 셀(15~18)에 저장된 데이터는 한 비트씩 시프트된다.Thereafter, whenever debug_clk transitions from 0 to 1, the data stored in each register scan cell 15-18 is shifted by one bit.

마지막으로, 레지스터에 저장된 데이터를 업데이트하기 위해 update_dr은 1이 된다.Finally, update_dr is 1 to update the data stored in the register.

따라서, 캡처/업데이트플립플롭(29)에 저장된 데이터는 다중화기(30)을 거쳐 다중화기(23)에 입력된다.Thus, the data stored in the capture / update flip flop 29 is input to the multiplexer 23 via the multiplexer 30.

이때, debug_mode가 1이 되고 debug_clk가 0에서 1로 전이되어 레지스터 (19)에 상기 캡처/업데이트플립플롭(29)에서 출력된 데이터가 저장된다.At this time, debug_mode becomes 1 and debug_clk transitions from 0 to 1 so that the data output from the capture / update flip-flop 29 is stored in the register 19.

이러한 상기 과정은 도 3에 도시된 유한 상태기의 동작 순서를 따른다. 이 유한 상태기는 IEEE 1149.1에 정의된 표준으로써 모든 기판 수준 테스팅에서 사용되는 것이며, 종래 기술에서도 상기의 유한 상태기는 이용되고 있다.This process follows the operation sequence of the finite state machine shown in FIG. This finite state machine is a standard defined in IEEE 1149.1 and is used for all substrate level testing, and the finite state machine is also used in the prior art.

또한, 본 발명은 상기 유한 상태기에서 항시 업데이트(update) 상태를 지나는 것에 착안하여 업데이트 상태에서 레지스터의 내용을 피드백(feedback)시킴으로써 종래의 캡처플립플롭과 업데이트플립플롭을 하나의 캡처/업데이트플립플롭으로 합치는 것이 특징이다.In addition, the present invention focuses on always passing an update state in the finite state machine, so that the conventional capture flip-flop and the update flip-flop are captured and updated flip-flop by feeding back the contents of the register in the update state. It is characterized by combining.

도 6은 본 발명 레지스터와 레지스터 스캔 셀간의 신호 다이어그램을 도시한 예시도로서, 프로세서의 레지스터를 디버깅하기 위해 제공되는 디버그 클럭(debug_clk)과; 레지스터 스캔 셀을 제어하는 다수의 제어 신호(debug_mode, capture_dr, shift_dr, update_dr)와; 상기 다수의 제어 신호(debug_mode, capture_dr, shift_dr, update_dr)에 따라 변화하는 캡처/업데이트플립플롭에 저장된 데이터(capture/update F/F)와; 상기 다수의 제어 신호(debug_mode, capture_dr, shift_dr, update_dr)에 따라 변화하는 레지스터에 저장된 데이터(register)의 관계를 보여준다.6 is an exemplary diagram showing a signal diagram between a register and a register scan cell of the present invention, comprising: a debug clock debug_clk provided for debugging a register of a processor; A plurality of control signals debug_mode, capture_dr, shift_dr, and update_dr for controlling the register scan cell; Data (capture / update F / F) stored in a capture / update flip-flop that changes according to the plurality of control signals (debug_mode, capture_dr, shift_dr, update_dr); A relationship between data stored in a register that changes according to the plurality of control signals debug_mode, capture_dr, shift_dr, and update_dr is shown.

이상, 상세히 설명한 레지스터 스캔 셀은 상기 신호 다이어그램과 같이 레지스터에 저장된 데이터를 추출하거나 변환함을 알 수 있다.As described above, it can be seen that the register scan cell described in detail extracts or converts data stored in the register as shown in the signal diagram.

레지스터에 저장된 데이터를 호스트에 전달하기 위해서는 시프트 상태가 필요하다.Shift state is required to deliver data stored in registers to the host.

이 시프트의 횟수는 프로세서의 스캔 체인(scan-chain) 수에 의존적이다. The number of shifts depends on the number of scan-chains in the processor.

예를 들어, 만약 레지스터에 저장된 데이터를 변경할 필요가 없다면 시프트 횟수는 전체 레지스터 스캔 셀이 N개라면 N+1혹은 최대 2N만큼 필요하다.For example, if there is no need to change the data stored in a register, the number of shifts is N + 1 or up to 2N if there are N total register scan cells.

또한, 데이터 변경이 필요하다면 N만큼의 시프트 횟수가 필요하다. 호스트가 시프트 횟수를 통제하고 또한 레지스터에 저장된 데이터를 통제하므로 시프트 횟수는 호스트의 통제방식에 따라 달라질 수 있다.In addition, if data change is necessary, the number of shifts by N is required. Since the host controls the number of shifts and also the data stored in the register, the number of shifts can vary depending on the host's control.

이상에서 상세히 설명한 바와 같이, 본 발명은 프로세서의 레지스터를 실시간으로 디버깅하는 기술에서 단일 플립플롭과 단일 클럭을 사용하는 레지스터 스캔 셀을 사용하므로 하드웨어적으로 구현이 용이한 효과가 있다.As described in detail above, the present invention uses a register scan cell using a single flip-flop and a single clock in a technique of debugging a register of a processor in real time, thereby making it easy to implement in hardware.

Claims (2)

이전 레지스터 스캔 셀에서 출력된 데이터와 병렬로 배열된 레지스터에서 출력된 데이터를 시프트 명령에 따라 다중화하여 출력하는 제1다중화기와; 상기 제1다중화기에서 출력된 데이터와 다음 레지스터 스캔 셀로 출력되는 데이터를 디버그 모드와 캡처 명령의 곱에 따라 다중화하여 출력하는 제2다중화기와; 상기 제2다중화기에서 출력된 데이터를 디버그 클럭의 변이에 따라 저장하고 상기 다음 레지스터 스캔 셀로 출력하는 캡처/업데이트플립플롭과; 상기 캡처/업데이트플립플롭에서 출력된 데이터와 상기 레지스터에서 출력된 데이터를 업데이트 명령에 따라 다중화하여 출력하는 제3다중화기로 구성된 것을 특징으로 하는 프로세서 디버깅을 위한 레지스터 스캔 셀.A first multiplexer for multiplexing and outputting data output from a register arranged in parallel with data output from a previous register scan cell according to a shift command; A second multiplexer for multiplexing the data output from the first multiplexer and the data output to the next register scan cell according to a product of a debug mode and a capture command; A capture / update flip-flop that stores the data output from the second multiplexer according to a variation of a debug clock and outputs the data to the next register scan cell; And a third multiplexer configured to multiplex and output data output from the capture / update flip-flop and data output from the register according to an update command. 제1항에 있어서, 상기 병렬로 배열된 레지스터는 제3다중화기에서 출력된 데이터와 이전 레지스터에서 출력된 데이터를 디버그 모드에 따라 다중화하여 출력하는 다중화기를 더 포함하여 구성된 것을 특징으로 하는 프로세서 디버깅을 위한 레지스터 스캔 셀.The processor debugging of claim 1, wherein the registers arranged in parallel further include a multiplexer configured to multiplex and output data output from the third multiplexer and data output from the previous register according to a debug mode. Register scan cell.
KR1020010062691A 2001-10-11 2001-10-11 Register scan cell for debugging processor KR100797107B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020010062691A KR100797107B1 (en) 2001-10-11 2001-10-11 Register scan cell for debugging processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020010062691A KR100797107B1 (en) 2001-10-11 2001-10-11 Register scan cell for debugging processor

Publications (2)

Publication Number Publication Date
KR20030030519A KR20030030519A (en) 2003-04-18
KR100797107B1 true KR100797107B1 (en) 2008-01-23

Family

ID=29564203

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020010062691A KR100797107B1 (en) 2001-10-11 2001-10-11 Register scan cell for debugging processor

Country Status (1)

Country Link
KR (1) KR100797107B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113702816B (en) * 2021-08-26 2024-05-10 中国电子科技集团公司第五十八研究所 Register unit design method based on boundary scanning

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5281864A (en) * 1991-05-23 1994-01-25 Motorola Gmbh Implementation of the IEEE 1149.1 boundary-scan architecture
JPH06213972A (en) * 1992-11-25 1994-08-05 Matsushita Electric Ind Co Ltd Boundary scan cell circuit, boundary scan test circuit and their using method
JPH10177060A (en) * 1996-12-18 1998-06-30 Kawasaki Steel Corp Scanning circuit
US5983377A (en) * 1997-11-17 1999-11-09 Ncr Corporation System and circuit for ASIC pin fault testing
KR20000013357U (en) * 1998-12-24 2000-07-15 김영환 Boundary scan

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5281864A (en) * 1991-05-23 1994-01-25 Motorola Gmbh Implementation of the IEEE 1149.1 boundary-scan architecture
JPH06213972A (en) * 1992-11-25 1994-08-05 Matsushita Electric Ind Co Ltd Boundary scan cell circuit, boundary scan test circuit and their using method
JPH10177060A (en) * 1996-12-18 1998-06-30 Kawasaki Steel Corp Scanning circuit
US5983377A (en) * 1997-11-17 1999-11-09 Ncr Corporation System and circuit for ASIC pin fault testing
KR20000013357U (en) * 1998-12-24 2000-07-15 김영환 Boundary scan

Also Published As

Publication number Publication date
KR20030030519A (en) 2003-04-18

Similar Documents

Publication Publication Date Title
US7134061B2 (en) At-speed ATPG testing and apparatus for SoC designs having multiple clock domain using a VLCT test platform
JP3890126B2 (en) Integrated circuit test clock generation method and circuit
US7038494B2 (en) Scan chain element and associated method
US5717695A (en) Output pin for selectively outputting one of a plurality of signals internal to a semiconductor chip according to a programmable register for diagnostics
US20030056183A1 (en) Scan test circuit, and semiconductor integrated circuit including the circuit
JP4701244B2 (en) Microcomputer and its test method
EP2428808B1 (en) Integrated circuit with scan chain and chip testing method
KR0180002B1 (en) Method and apparatus for generating control signals
KR930013748A (en) Integrated circuit testing method and system
KR880003248A (en) Semiconductor integrated circuit device
GB2210171A (en) Test overlay circuit
KR0163967B1 (en) Method and apparatus for controlling a plurality of system via a boundary scan port during testing
KR100797107B1 (en) Register scan cell for debugging processor
US11493553B2 (en) Extended JTAG controller and method for functional reset using the extended JTAG controller
EP1776596B1 (en) Testing of a circuit that has an asynchronous timing circuit
GB2218816A (en) Testing integrated circuits
KR20030030850A (en) Scan path circuit for test of logic circuit
US7155649B2 (en) Scan test control method and scan test circuit
KR20060055393A (en) Scan test circuit
US20060041806A1 (en) Testing method for semiconductor device and testing circuit for semiconductor device
US7702979B2 (en) Semiconductor integrated circuit incorporating test configuration and test method for the same
JP3039362B2 (en) Method for creating test pattern of semiconductor integrated logic circuit
JP2001004710A (en) Scan test circuit, automatic test pattern generator, scan test method, method for designing scan test circuit, automatic test pattern generating method, method for executing scan test circuit design
JPH11258304A (en) Circuit and method for test of system logic
EP3367114A1 (en) Extended jtag controller and method for functional reset using the extended jtag controller

Legal Events

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

Payment date: 20121227

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20131224

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee