KR20000037516A - Universal serial bus core and method for monitoring the same - Google Patents

Universal serial bus core and method for monitoring the same Download PDF

Info

Publication number
KR20000037516A
KR20000037516A KR1019980043722A KR19980043722A KR20000037516A KR 20000037516 A KR20000037516 A KR 20000037516A KR 1019980043722 A KR1019980043722 A KR 1019980043722A KR 19980043722 A KR19980043722 A KR 19980043722A KR 20000037516 A KR20000037516 A KR 20000037516A
Authority
KR
South Korea
Prior art keywords
circuit
test
multiplexer
microcontroller
signature
Prior art date
Application number
KR1019980043722A
Other languages
Korean (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 KR1019980043722A priority Critical patent/KR20000037516A/en
Publication of KR20000037516A publication Critical patent/KR20000037516A/en

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

PURPOSE: A universal serial bus core and a method for monitoring the universal serial bus core are provided to accomplish a test mode of a universal series bus core by using a duplicate circulating detecting circuit. CONSTITUTION: A first and a second multiplexers(120,130) receive first and second input signals which reply to a test activating signal for monitoring a circuit and start the operation of an activated test mode, and third and fourth input signals. First and second test circuits process the signals which is outputted from the first and second multiplexers, and generate first and second signature signals which correspond to the first to fourth input signals. A third multiplexer(180) selects one of the first and second signature signals. A fourth multiplexer receives the first and second signature signals from the third multiplexer(180), and outputs test data according to a test mode.

Description

중복 순환 검사 회로를 이용한 모니터링 기능을 구비하는 유니버설 시리얼 버스 코어 및 그의 모니터링 방법(UNIVERSAL SERIAL BUS CORE HAVING MONITORING FUNCTION BY CYCLIC REDUNDANCY CHECKING CIRCUIT AND MONITORING METHOD OF THE SAME)UNIVERSAL SERIAL BUS CORE HAVING MONITORING FUNCTION REDUNDANCY CHECKING CIRCUIT AND MONITORING METHOD OF THE SAME

본 발명은 집적 회로의 테스트 모니터링 회로에 관한 것으로, 좀 더 구체적으로 USB 코어의 특정 내부 회로를 CRC 회로를 이용하여 스캔 테스트하는 장치 및 방법에 관한 것이다.TECHNICAL FIELD The present invention relates to test monitoring circuits for integrated circuits, and more particularly, to an apparatus and method for scanning test specific internal circuits of a USB core using CRC circuits.

집적 회로의 기능이 다양해지고 복잡해짐에 따라 그 집적 회로의 테스트가 점차 어려워지고, 또한 집적 회로의 설계시, 원하는 만큼의 결함 적용 범위(fault coverage)를 얻기도 힘들어 지고 있다. 이를 극복하기 위해서 생겨난 방법이 스캔 설계이다.As integrated circuits become more versatile and complex, it becomes increasingly difficult to test them, and in designing integrated circuits, it is difficult to achieve as many fault coverages as desired. To overcome this, a scan design is created.

스캔 설계(scan design, boundary scan design)는 회로 내에 순차적인 소자들을 체인(chain)으로 연결하여 길게 나열된 시프트(shift) 레지스터를 만들고, 이를 이용해서 회로 내부의 블록들을 제어(controllability)하거나 이들을 외부에서 관찰(observability)하는데 이용하므로서 집적 회로의 결함 적용 범위(fault coverage)를 향상시킨다.A scan design, a boundary scan design, chains sequential elements into a circuit to create a long-listed shift register that can be used to control or block blocks inside the circuit. It is used for observability to improve fault coverage of integrated circuits.

그러나 이 방법은 각각의 레지스터를 스캔 체인의 길이만큼 구비하여야 한다. 그리고 직렬로 입력되는 데이터를 각각의 다음 레지스터로 시프트시켜서 원하는 값으로 설정한 후, 정상 동작을 수행하고 다시 각각의 레지스터 값을 시프트시킨다.However, this method must have each register as long as the scan chain. After shifting serially input data to each next register to set the desired value, normal operation is performed and each register value is shifted again.

따라서 집적 회로의 외부에서 각각의 예상값과 정상 동작 후의 결과를 매번 비교하므로서 집적 회로의 테스트 시간이 길어지고, 또한 이로 인하여 테스트 벡터의 크기도 증가하는 단점이 있다.Therefore, the test time of the integrated circuit is lengthened by comparing each expected value with the result after normal operation outside of the integrated circuit, which also increases the size of the test vector.

도 1을 참조하면, 스캔 체인들을 갖는 집적 회로는 조합 로직(20)과 스캔 테스트 회로를 포함한다. 조합 로직(20)은 집적 회로의 기능에 따라 다양한 내부 회로(미도시됨)들을 갖는다. 그리고 스캔 테스트 회로는 조합 로직의 내부 회로들을 테스트하기 위한 스캔 체인들을 구비하고, 이들은 스캔 체인의 길이에 따라 시프트 레지스터(10, 12)들로 형성된다. 그리고 시프트 레지스터(10, 12)들은 각각 스캔 데이터 입출력 데이터(SCAN_IN, SCAN_OUT)를 입출력하는 단자(SI,Q)와 임의의 시프트 레지스터의 동작을 인에이블시키는 선택 신호(SCAN_SEL)를 입력하는 선택 단자(SEL)를 구비하고 있다.Referring to FIG. 1, an integrated circuit with scan chains includes a combinational logic 20 and a scan test circuit. Combination logic 20 has various internal circuits (not shown) depending on the functionality of the integrated circuit. And the scan test circuit has scan chains for testing the internal circuits of the combinational logic, which are formed of shift registers 10, 12 according to the length of the scan chain. The shift registers 10 and 12 are terminals SI and Q for inputting and outputting scan data input / output data SCAN_IN and SCAN_OUT, respectively, and a selection terminal for inputting a selection signal SCAN_SEL for enabling an operation of an arbitrary shift register. SEL).

스캔 테스트 동작을 살펴보면, 시프트 레지스터들(10, 12)은 먼저 해당 내부 회로들의 설정 데이터를 원하는 값으로 셋팅하여 테스트 벡터를 형성한다. 그리고 테스트 벡터에 따라 테스트 데이터(SCAN_IN)를 직렬로 받아들인다.Referring to the scan test operation, the shift registers 10 and 12 first set the configuration data of corresponding internal circuits to a desired value to form a test vector. The test data (SCAN_IN) is serially received according to the test vector.

이 때, 해당 시프트 레지스터가 동작할 수 있도록 선택 신호(SCAN_SEL)를 인에이블시킨다. 시프팅하는 횟수는 스캔 체인의 길이와 동일하다. 즉 스캔 체인의 길이 만큼의 클럭 신호(CLK)를 받아서 시프팅한다. 그리고 시프팅이 끝난 후에는 선택 신호(SCAN_SEL)를 디세이블시키고, 정상 모드에서 하나의 클럭 신호(CLK)를 받아서 동작한다. 그러면 스캔 테스트 회로는 정상 동작을 하게 되고, 각각의 레지스터들에는 집적 회로의 조합 로직으로부터 테스트 결과에 따른 데이터가 저장된다. 여기서 조합 로직의 해당 내부 회로들로부터 출력되는 데이터에 따라 결함 적용 범위를 파악할 수 있다.At this time, the selection signal SCAN_SEL is enabled so that the shift register can operate. The number of shifts is equal to the length of the scan chain. That is, the clock signal CLK corresponding to the length of the scan chain is received and shifted. After the shifting is finished, the selection signal SCAN_SEL is disabled and the clock signal CLK is operated in the normal mode. The scan test circuit then operates normally, and each register stores data according to the test result from the combinational logic of the integrated circuit. The fault coverage can be determined according to the data output from the corresponding internal circuits of the combinational logic.

이어서 처음의 동작과 같이 시프트 레지스터를 동작시켜서 저장된 데이터를 출력 단자를 통해 직렬로 출력된다. 이 데이터가 출력될 때마다 매번 예상값과 비교하므로서 집적 회로의 스캔 테스트를 수행한다.Subsequently, as in the first operation, the shift register is operated to output the stored data in series through the output terminal. A scan test of the integrated circuit is performed each time this data is output against the expected value.

따라서 상술한 방법에 의해서 스캔 테스트가 이루어지면 대략, 기능에 따른 내부 회로들의 수와 스캔 체인의 길이의 곱에 해당하는 만큼의 테스트 벡터가 필요하게 된다.Therefore, when the scan test is performed by the above method, as many test vectors as the product of the number of internal circuits and the length of the scan chain are required.

또한 집적 회로의 특정 부분을 테스트하기 위하여 제작시 테스트용 회로를 삽입하는 것을 BIST(Built In Self Test)라 한다. BIST 중에 하나의 방법으로 MISR(Multiple Input Signature Register)를 사용하는 것이다. 도 2 내지 도 3에 도시된 바와 같이, 특정한 생성 다항식(G(x))에 의하여 구성된 레지스터 체인(register chain)에 비트(bit) 열이 직렬로 입력되면, 정해진 비트 열의 수만큼 구비된 시프트 레지스터를 경유하게 된다. 이 때, 각각의 레지스터 값은 특정 값들을 저장하게 되는데, 이것은 그때까지 경유된 비트 열들의 특성을 표현한다. 따라서 비트 열이 다르면, 이 특성 값도 다르다.In addition, inserting a test circuit during manufacturing to test a specific part of an integrated circuit is called BIST (Built In Self Test). One method of BIST is to use Multiple Input Signature Register (MISR). As shown in Figs. 2 to 3, when a bit string is serially input to a register chain formed by a specific generation polynomial G (x), a shift register provided with a predetermined number of bit strings is provided. Via. Each register value then stores specific values, which represent the characteristics of the bit strings passed up to that point. Therefore, if the bit strings are different, this property value is also different.

도 2를 참조하면, 다른 예의 스캔 테스트 회로는 스캔 회로(30)와 MISR(40)을 포함하고 있다. 상기 스캔 회로(30)는 도 1에 도시한 스캔 테스트 회로의 데이터 입력과 동작이 동일하다. 즉, 스캔 체인들을 구비하고 이에 대응하여 시프트 레지스터들로 형성된다.Referring to FIG. 2, another example scan test circuit includes a scan circuit 30 and a MISR 40. The scan circuit 30 has the same operation as that of the data input of the scan test circuit shown in FIG. That is, with scan chains and correspondingly formed of shift registers.

상기 MISR(40)은 상기 스캔 회로(30)로부터 직렬로 출력되는 데이터를 받아서 데이터의 특성을 추출해낸다. 이 때, 데이터의 특성을 추출하여 출력되는 데이터를 시그너쳐(signature)라 한다. 그리고 시그너쳐를 이용하여 스캔 회로로부터 출력 데이터를 받아들인다. 그리고 입력되는 데이터 순서의 배열 특성에 따라 입력 전후의 데이터가 다르게 된다.The MISR 40 receives data output in series from the scan circuit 30 and extracts characteristics of the data. At this time, the data extracted by extracting the characteristics of the data is called a signature. The signature is then used to receive output data from the scan circuit. The data before and after the input is different according to the arrangement characteristics of the input data order.

구체적으로 상기 MISR(40)은 도 3에 도시된 바와 같이, 생성 다항식 G(x)의 차수 만큼의 레지스터(41, 42, 43 및 45)와 XOR 게이트(44)로 구성된다.Specifically, the MISR 40 is composed of registers 41, 42, 43, and 45 and the XOR gate 44 by the order of the generated polynomial G (x), as shown in FIG.

따라서 상기 MISR(40)으로부터 출력되는 데이터는 '2의 차수승(2차수)' 개만큼의 패턴 수를 가지게 된다. 예컨대 도 3의 MISR(40)은 생성 다항식이 G(x)=X4+X3+1인 경우이다.Accordingly, the data output from the MISR 40 has the number of patterns equal to two orders of magnitude (two orders ). For example, the MISR 40 of FIG. 3 is a case where the generated polynomial is G (x) = X 4 + X 3 +1.

따라서 상기 MISR(40)은 직렬의 출력 데이터를 길이가 짧은 시그너쳐 데이터(SIGNATURE)로 형성하고, 스캔 테스트시에 그 데이터만을 비교해서 스캔 테스트를 수행한다. 그러므로, 종래의 스캔 테스트 동작보다 테스트 벡터의 길이가 단축되고, 테스트도 쉽게 할 수 있다.Accordingly, the MISR 40 forms serial output data as short signature data (SIGNATURE), and performs only a scan test by comparing only the data during the scan test. Therefore, the length of the test vector is shorter than that of the conventional scan test operation, and the test can be made easier.

그러나 상술한 스캔 테스트 방법들은 집적 회로 내부의 특정 회로에 대응해서 적용 범위(coverage)가 낮은 특정 내부 회로가 발생될 수 있다. 또한 MISR 회로의 삽입은 집적 회로 상에 영역을 차지하게 되므로서 집적 회로 전체의 크기가 증가되는 문제점이 발생된다.However, the above-described scan test methods may generate a specific internal circuit having a low coverage corresponding to a specific circuit inside the integrated circuit. In addition, since the insertion of the MISR circuit occupies an area on the integrated circuit, a problem arises in that the size of the entire integrated circuit is increased.

본 발명의 목적은 상술한 문제점을 해결하기 위한 것으로, 집적 회로의 CRC 회로와 마이크로컨트롤러와의 인터페이스를 이용하여 테스트 회로를 구현하는 장치 및 방법을 제공하는데 있다.SUMMARY OF THE INVENTION An object of the present invention is to solve the above problems, and to provide an apparatus and method for implementing a test circuit by using an interface between a CRC circuit and a microcontroller of an integrated circuit.

도 1은 일반적인 스캔 테스트 회로의 구성을 도시한 블록도;1 is a block diagram showing the configuration of a typical scan test circuit;

도 2는 일반적인 MISR을 이용한 스캔 테스트 회로의 구성을 도시한 블록도;2 is a block diagram showing a configuration of a scan test circuit using a general MISR;

도 3은 도 2에 도시된 MISR의 구성을 나타내는 블록도;3 is a block diagram showing the configuration of the MISR shown in FIG. 2;

도 4는 본 발명에 따른 CRC 회로를 이용한 스캔 데스트를 수행하는 USB 코어의 주변 구성을 도시한 블록도;4 is a block diagram showing a peripheral configuration of a USB core for performing a scan test using a CRC circuit according to the present invention;

도 5는 도 4에 도시한 CRC5 회로의 구성을 도시한 블록도;5 is a block diagram showing the configuration of the CRC5 circuit shown in FIG. 4;

도 6은 도 4에 도시한 CRC16 회로의 구성을 도시한 블록도; 그리고6 is a block diagram showing the configuration of the CRC16 circuit shown in FIG. 4; And

도 7은 본 발명에 따른 CRC 회로를 이용한 USB 코어의 스캔 테스트를 수행하는 수순을 나타내는 흐름도이다.7 is a flowchart illustrating a procedure of performing a scan test of a USB core using a CRC circuit according to the present invention.

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

100 : USB 코어 110 : 특정 내부 회로100: USB core 110: specific internal circuit

120 : 제 1 멀티플렉서 130 : 제 2 멀티플렉서120: first multiplexer 130: second multiplexer

140 : 제 1 CRC 회로 160 : 제 2 CRC 회로140: first CRC circuit 160: second CRC circuit

180 : 제 3 멀티플렉서 190 ; 제 2 멀티플렉서180: third multiplexer 190; Second multiplexer

상술한 목적을 달성하기 위한 본 발명의 일 특징에 의하면, 다수의 CRC 회로를 구비하는 집적 회로의 모니터링을 위한 마이크로컨트롤러와 연결되어, 상기 집적 회로의 특정 내부 회로를 모니터링하기 위한 테스트 회로에 있어서: 상기 특정 내부 회로를 모니터링하기 위한 테스트 활성화 신호에 응답해서 상기 활성화된 테스트 모드의 동작을 개시하는 제 1 /제 2 입력 신호와 상기 특정 내부 회로로부터 제 3/제 4 입력 신호들을 각각 받아들이는 제 1/제 2 멀티플렉서와; 상기 제 1/제 2 멀티플렉서로부터 출력되는 신호들을 받아들여서 이를 내부적으로 처리하고, 상기 제 1 내지 제 4 입력 신호에 대응하는 제 1/제 2 시그너쳐 신호를 발생하는 제 1 및 제 2 테스트 회로와; 상기 제 1 및 제 2 시그너쳐 신호와, 상기 마이크로컨트롤러로부터 특정 레지스터 어드레스를 받아들여서 상기 제 1 또는 상기 제 2 시그너쳐 신호들 중 하나를 선택하여 출력하는 제 3 멀티플렉서 및; 상기 제 3 멀티플렉서로부터 상기 제 1 또는 상기 제 2 시그너쳐 신호를 받아들이고 상기 테스트 활성화 신호에 응답해서 상기 테스트 모드에 의한 데스트 데이터를 출력하는 제 4 멀티플렉서를 포함한다.According to an aspect of the present invention for achieving the above object, in a test circuit for monitoring a specific internal circuit of the integrated circuit, connected to a microcontroller for monitoring an integrated circuit having a plurality of CRC circuits: A first / second input signal that initiates operation of the activated test mode in response to a test activation signal for monitoring the particular internal circuit and a first receiving third / fourth input signals from the particular internal circuit respectively; A second multiplexer; First and second test circuits which receive signals output from the first / second multiplexer and internally process them and generate first / second signature signals corresponding to the first to fourth input signals; A third multiplexer which receives the first and second signature signals and a specific register address from the microcontroller, and selects and outputs one of the first and second signature signals; And a fourth multiplexer which receives the first or the second signature signal from the third multiplexer and outputs test data according to the test mode in response to the test activation signal.

이 특징의 바람직한 실시예에 있어서, 상기 집적 회로의 테스트 회로는 유니버설 시리얼 버스 코어를 테스트하는 회로이다.In a preferred embodiment of this aspect, the test circuit of the integrated circuit is a circuit for testing a universal serial bus core.

이 특징의 바람직한 실시예에 있어서, 상기 제 1/제 2 테스트 회로는: 상기 테스트 모드를 위한 소정의 생성 다항식의 차수만큼의 레지스터들과; 상기 레지스터 중에 제 1 및 제 3의 레지스터 입력 단자에 구비되는 논리 게이트들 및; 상기 테스트 회로의 출력을 제어하는 제어 신호에 응답해서 상기 제 1/제 2 입력 신호와 상기 레지스터들의 출력 신호를 받아들여서 상기를 제 1/제 2 시그너쳐 신호를 출력하는 제 5/제 6 멀티플렉서를 포함한다.In a preferred embodiment of this aspect, the first / second test circuit comprises: registers of an order of a predetermined generation polynomial for the test mode; Logic gates provided at first and third register input terminals of the register; A fifth / sixth multiplexer which receives the first / second input signal and the output signal of the registers and outputs the first / second signature signal in response to a control signal controlling the output of the test circuit. do.

상기 제 1 및 제 2 테스트 회로는: 상기 테스트 모드를 위한 소정의 생성 다항식의 차수만큼의 레지스터들과; 상기 레지스터 중에 제 1 및 제 3의 레지스터 입력 단자에 구비되는 논리 게이트들을 포함한다.The first and second test circuits include: registers of an order of a predetermined generation polynomial for the test mode; One of the registers includes logic gates provided at first and third register input terminals.

이 특징의 바람직한 실시예에 있어서, 상기 제 1 및 제 2 테스트 회로는 중복 순환 검사 회로로 구비된다.In a preferred embodiment of this feature, the first and second test circuits are provided as redundant cyclic check circuits.

상술한 목적을 달성하기 위한 본 발명의 다른 특징에 의하면, 제 1 및 제 2 CRC 회로를 갖는 집적 회로의 특정 내부 회로를 테스트하기 위하여 마이크로컨트롤러와 연결되고, 상기 마이크로컨트롤러의 제어를 받아서 상기 특정 내부 회로를 모니터링하는 방법에 있어서: 상기 특정 내부 회로를 초기화하는 단계와; 상기 마이크로컨트롤러로부터 상기 특정 내부 회로를 테스트하기 위한 테스트 모드를 활성화하는 단계와; 상기 활성화된 테스트 모드에 대응하여 상기 특정 내부 회로를 동작시키는 단계와; 상기 마이크로컨트롤러로부터 특정 레지스터 어드레스를 받아서 상기 제 1 또는 상기 제 2 CRC 회로들 중에 하나를 선택하는 단계 및; 상기 선택된 제 1 또는 제 2 CRC 회로의 시그너쳐 신호를 받아서 상기 테스트 모드의 동작에 의한 테스트 데이터를 출력하여 상기 집적 회로를 모니터링한다.According to another aspect of the present invention for achieving the above object, it is connected with a microcontroller to test a specific internal circuit of an integrated circuit having a first and a second CRC circuit, and under the control of the microcontroller the specific internal CLAIMS 1. A method for monitoring circuitry, comprising: initializing the particular internal circuitry; Activating a test mode for testing the particular internal circuit from the microcontroller; Operating the particular internal circuit in response to the activated test mode; Receiving a specific register address from the microcontroller and selecting one of the first or second CRC circuits; The integrated circuit may be monitored by receiving the signature signal of the selected first or second CRC circuit and outputting test data generated by the test mode.

따라서 본 발명에 의하면, 집적 회로의 특정 내부 회로를 모니터링하기 위하여 CRC 회로를 이용해서 테스트 모드를 수행하고, 이를 통해 출력된 데이터를 모니터링한다.Therefore, according to the present invention, in order to monitor a specific internal circuit of the integrated circuit, the test mode is performed using the CRC circuit, and the output data is monitored.

이하 본 발명의 실시예를 첨부된 도면에 의거하여 상세히 설명한다.DETAILED DESCRIPTION Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 4는 본 발명에 따른 모니터링을 위한 USB 코어의 주변 회로 구성을 도시한 것이다. 이는 다수의 CRC 회로를 구비하는 USB 코어의 모니터링을 위한 마이크로컨트롤러와 연결되어, 상기 USB 코어의 특정 내부 회로를 모니터링하기 위한 인터페이스 회로를 포함한다.4 illustrates a peripheral circuit configuration of a USB core for monitoring according to the present invention. It is connected to a microcontroller for monitoring a USB core having a plurality of CRC circuits, and includes an interface circuit for monitoring a specific internal circuit of the USB core.

도면을 참조하면, 상기 USB 코어(100)는 CRC5 회로(140)와 CRC16 회로(160)를 구비하고 있다. 그리고 상기 USB 코어(100)는 다수의 특정 내부 회로(110)들을 구비하는 조합 회로로 구성된다. 그리고 상기 특정 내부 회로(110)들은 중요한 기능을 위한 다수의 노드들(예컨대, node1, node2 등)을 구비하고 있다.Referring to the drawings, the USB core 100 includes a CRC5 circuit 140 and a CRC16 circuit 160. The USB core 100 is composed of a combination circuit having a plurality of specific internal circuits 110. In addition, the specific internal circuits 110 include a plurality of nodes (eg, node 1, node 2, etc.) for important functions.

상기 CRC5 회로(140) 및 상기 CRC16 회로(160)는 중복 순환 검사 회로(cyclic redundancy checking circuit)로서, 상기 CRC5 회로(140)는 생성 다항식 G(X)=X5+X2+1에 의해서 구성되며, 상기 CRC16 회로(160)는 생성 다항식 G(X)=X16+X15+X2+1에 의해서 구성된다.The CRC5 circuit 140 and the CRC16 circuit 160 are cyclic redundancy checking circuits, and the CRC5 circuit 140 is configured by a generated polynomial G (X) = X 5 + X 2 +1. The CRC16 circuit 160 is constructed by a generation polynomial G (X) = X 16 + X 15 + X 2 +1.

그리고 상기 인터페이스 회로는 다수의 멀티플렉서들(120, 130, 180, 190)을 구비하여 테스트 모드를 제어하는 마이크로컨트로러(미도시됨)와 상기 USB 코어(100)의 특정 내부 회로(110) 사이에 구비된다. 그리고 상기 마이크로컨트롤러의 제어를 받아서 상기 특정 내부 회로의 테스트 모드를 동작하도록 한다.In addition, the interface circuit includes a plurality of multiplexers 120, 130, 180, and 190 between a microcontroller (not shown) for controlling a test mode and a specific internal circuit 110 of the USB core 100. It is provided. The microcontroller is controlled to operate the test mode of the specific internal circuit.

상기 제 1 멀티플렉서(120)와 상기 제 2 멀티플렉서(130)는 상기 마이크로컨트롤러로부터 상기 특정 내부 회로(110)를 모니터링하기 위한 테스트 활성화 신호(test_mode)에 응답해서 상기 활성화된 테스트 모드의 동작을 개시하는 제 1(CRC5_in) /제 2 입력 신호(CRC16_in)와 상기 특정 내부 회로의 해당 노드들(node1, node2)로부터 제 3/제 4 입력 신호들을 각각 받아들인다.The first multiplexer 120 and the second multiplexer 130 initiate operation of the activated test mode in response to a test activation signal test_mode for monitoring the specific internal circuit 110 from the microcontroller. The third and fourth input signals are respectively received from the first (CRC5_in) / second input signal (CRC16_in) and the corresponding nodes (node1, node2) of the specific internal circuit.

그리고 상기 CRC5 회로(140)와 상기 CRC16 회로(160)는 상기 제 1(120)/제 2 멀티플렉서(130)로부터 출력되는 신호들을 받아들여서 이를 내부적으로 처리하고, 상기 제 1 내지 제 4 입력 신호에 대응하는 제 1/제 2 시그너쳐 신호를 발생한다. 그리고 상기 테스트 모드가 아닌 경우에는 상기 CRC5 회로(140)와 상기 CRC16 회로(160)는 각각 본래의 해당 기능을 수행하여 출력 신호(function1, function2)를 발생한다.The CRC5 circuit 140 and the CRC16 circuit 160 receive signals output from the first 120 / second multiplexer 130, process them internally, and apply the signals to the first to fourth input signals. Generate a corresponding first / second signature signal. If the test mode is not in the test mode, the CRC5 circuit 140 and the CRC16 circuit 160 each perform an original corresponding function to generate output signals functions 1 and 2.

상기 제 3 멀티플렉서(180)은 상기 제 1 및 제 2 시그너쳐 신호와, 상기 마이크로컨트롤러로부터 특정 레지스터 어드레스(select)를 받아들여서 상기 제 1 또는 상기 제 2 시그너쳐 신호들 중 하나를 선택하여 출력한다.The third multiplexer 180 receives the first and second signature signals and a specific register address from the microcontroller, and selects and outputs one of the first or second signature signals.

그리고 상기 제 4 멀티플렉서는 상기 제 3 멀티플렉서(180)로부터 상기 제 1 또는 상기 제 2 시그너쳐 신호를 받아들이고 상기 테스트 활성화 신호(test_mode)에 응답해서 상기 테스트 모드에 의한 데스트 데이터(Data_out)를 출력한다.The fourth multiplexer receives the first or second signature signal from the third multiplexer 180 and outputs test data Data_out according to the test mode in response to the test activation signal test_mode.

구체적으로 도 5를 참조하면, 상기 CRC5 회로(140)는 상기 생성 다항식의 차수만큼의 레지스터들을 구비하고 있다. 즉, 5차의 생성 다항식에 의하여 5 개의 레지스터들(142~150)을 구비한다. 그리고 상기 레지스터들(142~150) 중에 첫 번째 레지스터(142)와 세 번째 레지스터(146)의 입력 단자(D)에 구비되는 제 1 및 제 2 XOR 게이트(154, 156)와 제 5 멀티플렉서(152)를 포함한다.Specifically, referring to FIG. 5, the CRC5 circuit 140 includes as many registers as the order of the generated polynomial. That is, five registers 142 to 150 are provided by the fifth order polynomial. The first and second XOR gates 154 and 156 and the fifth multiplexer 152 provided in the input terminal D of the first register 142 and the third register 146 among the registers 142 to 150. ).

따라서 테스트 모드가 활성화되면, 상기 레지스터들(142~150)은 상기 입력 신호(CRC5_in)를 받아서 테스트에 의한 데이터를 내부에 저장하고, 상기 제 5 멀티플렉서(172)는 상기 CRC5 회로(140)의 출력을 제어하는 제어 신호(CRC_OUT_CTRL)에 응답해서 상기 제 1 시그너쳐를 출력한다.Therefore, when the test mode is activated, the registers 142 to 150 receive the input signal CRC5_in and store data by the test therein, and the fifth multiplexer 172 outputs the CRC5 circuit 140. The first signature is output in response to the control signal CRC_OUT_CTRL for controlling.

도 6을 참조하면, 상기 CRC16 회로(160)는 상기 생성 다항식의 차수만큼의 레지스터들(162~170)을 구비하고 있다. 즉, 즉, 16차 생성 다항식에 의하여 16 개의 레지스터들(162~170)을 구비한다. 그리고 상기 레지스터들(162~170) 중에 첫 번째 레지스터(162)와 세 번째 레지스터(166)의 입력 단자(D)에 구비되는 제 3 및 제 4 XOR 게이트(174, 176)와 제 6 멀티플렉서(172)를 포함한다. 그리고 이들 레지스터들(162~170)의 동작은 상기 CRC5 회로(140)의 그것들 각각의 동작과 동일하다.Referring to FIG. 6, the CRC16 circuit 160 includes as many registers 162 to 170 as the order of the generated polynomial. That is, 16 registers 162 to 170 are provided by the 16th order polynomial. The third and fourth XOR gates 174 and 176 and the sixth multiplexer 172 provided at the input terminal D of the first register 162 and the third register 166 among the registers 162 to 170. ). And the operation of these registers 162-170 is the same as their respective operation of the CRC5 circuit 140.

그러므로 USB 코어(100)의 테스트 모드에서 CRC 회로(140, 160)를 MISR처럼 이용하여 USB 코어(100)의 특정 내부 회로(110)를 테스트하여 시그너쳐를 얻는다. 그리고 일정 시간이 경과되면, 마이크로컨트롤러의 인터페이스 회로를 통하여 테스트 데이터를 출력함으로서 USB 코어(100)의 특정 내부 회로(110)를 모니터링할 수 있다.Therefore, in the test mode of the USB core 100, the CRC circuits 140 and 160 are used as the MISR to test a specific internal circuit 110 of the USB core 100 to obtain a signature. When a certain time elapses, the specific internal circuit 110 of the USB core 100 may be monitored by outputting test data through the interface circuit of the microcontroller.

계속해서 도 7은 CRC5 회로(140) 및 CRC16 회로(160)를 갖는 USB 코어(100)의 특정 내부 회로(110)를 테스트하기 위하여 마이크로컨트롤러(미도시됨)와 연결되고, 상기 마이크로컨트롤러의 제어를 받아서 상기 특정 내부 회로(110)를 모니터링하는 수순을 도시하고 있다. 이 수순은 상기 마이크로컨트롤러가 수행되는 프로그램을 나타낸 것이다.7 is then connected with a microcontroller (not shown) to test the specific internal circuitry 110 of the USB core 100 having the CRC5 circuit 140 and the CRC16 circuit 160 and control of the microcontroller. The procedure for monitoring the specific internal circuit 110 is shown. This procedure shows a program in which the microcontroller is executed.

도면을 참조하면, 단계 S200에서 상기 USB 코어(100)로 리셋 신호(reset)를 인가하여 상기 특정 내부 회로(110)를 초기화한다. 이어서 단계 S210에서 상기 마이크로컨트롤러로부터 상기 특정 내부 회로(110)를 테스트하기 위한 테스트 모드를 활성화한다. 즉, 테스트 활성화 신호(test_mode)를 상기 제 1 , 제 2 및 제 4 멀티플렉서(120, 130, 190)로 출력한다.Referring to the drawing, in step S200, a reset signal is applied to the USB core 100 to initialize the specific internal circuit 110. In operation S210, the test mode for testing the specific internal circuit 110 is activated from the microcontroller. That is, a test activation signal test_mode is output to the first, second, and fourth multiplexers 120, 130, and 190.

단계 S220에서 상기 활성화된 테스트 모드에 대응하여 일정 시간 동안 상기 특정 내부 회로(110)를 동작시킨다. 그리고 단계 S230에서 상기 마이크로컨트롤러로부터 특정 레지스터 어드레스(select)를 상기 제 3 멀티플렉서(180)로 출력하고, 이를 받은 상기 제 3 멀티플렉서(180)는 상기 CRC5 회로(140) 또는 상기 CRC16 회로(160) 중에 하나를 선택한다. 즉, 상기 레지스터 어드레스(select)는 상기 CRC5 회로(140) 및 CRC16 회로(160) 중에 하나를 선택하도록 제어하는 신호이다.In operation S220, the specific internal circuit 110 is operated for a predetermined time corresponding to the activated test mode. In operation S230, a specific register address (select) is output from the microcontroller to the third multiplexer 180, and the received third multiplexer 180 is either the CRC5 circuit 140 or the CRC16 circuit 160. Choose one. That is, the register address (select) is a signal for controlling to select one of the CRC5 circuit 140 and the CRC16 circuit 160.

그리고 단계 S240에서는 상기 선택된 CRC5 회로(140) 또는 CRC16 회로(160)의 시그너쳐 신호를 받아서 상기 테스트 모드의 동작에 의한 테스트 데이터를 출력하고, 이를 통해 상기 USB 코어의 특정 내부 회로를 모니터링한다.In operation S240, the signature signal of the selected CRC5 circuit 140 or the CRC16 circuit 160 may be received and output test data according to the test mode operation, thereby monitoring a specific internal circuit of the USB core.

상술한 바와 같이 본 발명은 USB 코어에 구비된 CRC 회로들을 이용하여 테스트 모드를 수행함으로서 USB 코어에 구비되는 다수의 조합 회로들이 많은 경우에 스캔 설계의 적용 범위를 넓게 할 수 있으며, 특정 내부 회로의 중요한 기능의 노드를 선택하여 이를 마이크로컨트롤러를 통하여 테스트함으로서 특정 내부 회로를 모니터링할 수 있다.As described above, the present invention can broaden the application range of the scan design when a plurality of combination circuits provided in the USB core are performed by performing a test mode using the CRC circuits provided in the USB core. By selecting a node of critical function and testing it with a microcontroller, specific internal circuitry can be monitored.

Claims (5)

다수의 CRC 회로를 구비하는 집적 회로의 모니터링을 위한 마이크로컨트롤러와 연결되어, 상기 집적 회로의 특정 내부 회로를 모니터링하기 위한 테스트 회로에 있어서:A test circuit for monitoring a specific internal circuit of the integrated circuit, the test circuit being connected to a microcontroller for monitoring an integrated circuit having a plurality of CRC circuits: 상기 특정 내부 회로를 모니터링하기 위한 테스트 활성화 신호에 응답해서 상기 활성화된 테스트 모드의 동작을 개시하는 제 1 /제 2 입력 신호와 상기 특정 내부 회로로부터 제 3/제 4 입력 신호들을 각각 받아들이는 제 1/제 2 멀티플렉서와;A first / second input signal that initiates operation of the activated test mode in response to a test activation signal for monitoring the particular internal circuit and a first receiving third / fourth input signals from the particular internal circuit respectively; A second multiplexer; 상기 제 1/제 2 멀티플렉서로부터 출력되는 신호들을 받아들여서 이를 내부적으로 처리하고, 상기 제 1 내지 제 4 입력 신호에 대응하는 제 1/제 2 시그너쳐 신호를 발생하는 제 1 및 제 2 테스트 회로와;First and second test circuits which receive signals output from the first / second multiplexer and internally process them and generate first / second signature signals corresponding to the first to fourth input signals; 상기 제 1 및 제 2 시그너쳐 신호와, 상기 마이크로컨트롤러로부터 특정 레지스터 어드레스를 받아들여서 상기 제 1 또는 상기 제 2 시그너쳐 신호들 중 하나를 선택하여 출력하는 제 3 멀티플렉서 및;A third multiplexer which receives the first and second signature signals and a specific register address from the microcontroller, and selects and outputs one of the first and second signature signals; 상기 제 3 멀티플렉서로부터 상기 제 1 또는 상기 제 2 시그너쳐 신호를 받아들이고 상기 테스트 활성화 신호에 응답해서 상기 테스트 모드에 의한 데스트 데이터를 출력하는 제 4 멀티플렉서를 포함하는 것을 특징으로 하는 집적 회로의 테스트 회로.And a fourth multiplexer which receives the first or second signature signal from the third multiplexer and outputs test data in the test mode in response to the test activation signal. 제 1 항에 있어서,The method of claim 1, 상기 집적 회로의 테스트 회로는 유니버설 시리얼 버스 코어를 테스트하는 회로인 것을 특징으로 하는 집적회로의 회로.And the test circuit of the integrated circuit is a circuit for testing a universal serial bus core. 제 1 항에 있어서,The method of claim 1, 상기 제 1/제 2 테스트 회로는:The first / second test circuit is: 상기 테스트 모드를 위한 소정의 생성 다항식의 차수만큼의 레지스터들과;As many registers as the order of a predetermined polynomial for the test mode; 상기 레지스터 중에 제 1 및 제 3의 레지스터 입력 단자에 구비되는 논리 게이트들 및;Logic gates provided at first and third register input terminals of the register; 상기 테스트 회로의 출력을 제어하는 제어 신호에 응답해서 상기 제 1/제 2 입력 신호와 상기 레지스터들의 출력 신호를 받아들여서 상기를 제 1/제 2 시그너쳐 신호를 출력하는 제 5/제 6 멀티플렉서를 포함하는 집적회로의 테스트 회로.A fifth / sixth multiplexer which receives the first / second input signal and the output signal of the registers and outputs the first / second signature signal in response to a control signal controlling the output of the test circuit. An integrated circuit test circuit. 제 1 항 또는 제 3 항에 있어서,The method according to claim 1 or 3, 상기 제 1 및 제 2 테스트 회로는 중복 순환 검사 회로(CRC : Cyclic Redundancy Circuit)로 구비되는 것을 특징으로 하는 집적회로의 테스트 회로.And the first and second test circuits are provided as a cyclic redundancy circuit (CRC). 제 1 및 제 2 CRC 회로를 갖는 집적 회로의 특정 내부 회로를 테스트하기 위하여 마이크로컨트롤러와 연결되고, 상기 마이크로컨트롤러의 제어를 받아서 상기 특정 내부 회로를 모니터링하는 방법에 있어서:A method for monitoring a particular internal circuit connected with a microcontroller for testing a specific internal circuit of an integrated circuit having a first and a second CRC circuit, the control of the microcontroller being: 상기 특정 내부 회로를 초기화하는 단계와;Initializing the specific internal circuitry; 상기 마이크로컨트롤러로부터 상기 특정 내부 회로를 테스트하기 위한 테스트 모드를 활성화하는 단계와;Activating a test mode for testing the particular internal circuit from the microcontroller; 상기 활성화된 테스트 모드에 대응하여 상기 특정 내부 회로를 동작시키는 단계와;Operating the particular internal circuit in response to the activated test mode; 상기 마이크로컨트롤러로부터 특정 레지스터 어드레스를 받아서 상기 제 1 또는 상기 제 2 CRC 회로들 중에 하나를 선택하는 단계 및;Receiving a specific register address from the microcontroller and selecting one of the first or second CRC circuits; 상기 선택된 제 1 또는 제 2 CRC 회로의 시그너쳐 신호를 받아서 상기 테스트 모드의 동작에 의한 테스트 데이터를 출력하여 상기 집적 회로를 모니터링하는 것을 특징으로 하는 집적 회로의 모니터링 방법.And receiving the signature signal of the selected first or second CRC circuit and outputting test data by operating the test mode to monitor the integrated circuit.
KR1019980043722A 1998-10-19 1998-10-19 Universal serial bus core and method for monitoring the same KR20000037516A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019980043722A KR20000037516A (en) 1998-10-19 1998-10-19 Universal serial bus core and method for monitoring the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980043722A KR20000037516A (en) 1998-10-19 1998-10-19 Universal serial bus core and method for monitoring the same

Publications (1)

Publication Number Publication Date
KR20000037516A true KR20000037516A (en) 2000-07-05

Family

ID=19554541

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980043722A KR20000037516A (en) 1998-10-19 1998-10-19 Universal serial bus core and method for monitoring the same

Country Status (1)

Country Link
KR (1) KR20000037516A (en)

Similar Documents

Publication Publication Date Title
JP3474214B2 (en) Logic circuit and test facilitating circuit provided with the logic circuit
US7404126B2 (en) Scan tests tolerant to indeterminate states when employing signature analysis to analyze test outputs
US7886207B1 (en) Integrated circuit testing using segmented scan chains
JP2004500558A (en) Method and apparatus for selectively compressing test responses
JP7204697B2 (en) semiconductor integrated circuit
KR100790428B1 (en) Asynchronous reset circuit testing
EP0330841B1 (en) Logic circuit with a test function
US6708301B1 (en) Functional block for integrated circuit, semiconductor integrated circuit, inspection method for semiconductor integrated circuit, and designing method therefor
US7392448B2 (en) Method and apparatus for determining stuck-at fault locations in cell chains using scan chains
US7240263B2 (en) Apparatus for performing stuck fault testings within an integrated circuit
EP0151694B1 (en) Logic circuit with built-in self-test function
JP2005308500A (en) Semiconductor integrated circuit device and test method
US5130989A (en) Serial and parallel scan technique for improved testing of systolic arrays
KR20000037516A (en) Universal serial bus core and method for monitoring the same
JPH06201782A (en) Semiconductor integrated circuit
US20240061041A1 (en) System and method for access control of a plurality of instruments embedded in a semiconductor device
JPH11271404A (en) Method and apparatus for self-test in circuit reconstitutable by program
JP2006004509A (en) Semiconductor integrated circuit and hard macro-circuit
KR100333640B1 (en) Pseudo scan cell for testing memory boundary
JP4025301B2 (en) Electronic circuit test circuit, electronic circuit test apparatus, and electronic circuit test method
KR20000001783A (en) Scan test circuit using multi input signature register
KR20050051856A (en) Semiconductor device having a scan chain for debugging and debugging method using the scan chain
JP2024138860A (en) Semiconductor integrated circuit and method for testing semiconductor integrated circuit
KR100255958B1 (en) Integrated circuit having a test function
Huang et al. Effect of RTL coding style on testability

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination