KR100735567B1 - Method and apparatus for io test of semiconductor device - Google Patents

Method and apparatus for io test of semiconductor device Download PDF

Info

Publication number
KR100735567B1
KR100735567B1 KR1020060003896A KR20060003896A KR100735567B1 KR 100735567 B1 KR100735567 B1 KR 100735567B1 KR 1020060003896 A KR1020060003896 A KR 1020060003896A KR 20060003896 A KR20060003896 A KR 20060003896A KR 100735567 B1 KR100735567 B1 KR 100735567B1
Authority
KR
South Korea
Prior art keywords
data
test
bit
parity
input
Prior art date
Application number
KR1020060003896A
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 KR1020060003896A priority Critical patent/KR100735567B1/en
Application granted granted Critical
Publication of KR100735567B1 publication Critical patent/KR100735567B1/en

Links

Images

Classifications

    • EFIXED CONSTRUCTIONS
    • E03WATER SUPPLY; SEWERAGE
    • E03DWATER-CLOSETS OR URINALS WITH FLUSHING DEVICES; FLUSHING VALVES THEREFOR
    • E03D5/00Special constructions of flushing devices, e.g. closed flushing system
    • E03D5/10Special constructions of flushing devices, e.g. closed flushing system operated electrically, e.g. by a photo-cell; also combined with devices for opening or closing shutters in the bowl outlet and/or with devices for raising/or lowering seat and cover and/or for swiveling the bowl
    • E03D5/105Special constructions of flushing devices, e.g. closed flushing system operated electrically, e.g. by a photo-cell; also combined with devices for opening or closing shutters in the bowl outlet and/or with devices for raising/or lowering seat and cover and/or for swiveling the bowl touchless, e.g. using sensors
    • EFIXED CONSTRUCTIONS
    • E03WATER SUPPLY; SEWERAGE
    • E03DWATER-CLOSETS OR URINALS WITH FLUSHING DEVICES; FLUSHING VALVES THEREFOR
    • E03D5/00Special constructions of flushing devices, e.g. closed flushing system
    • E03D5/02Special constructions of flushing devices, e.g. closed flushing system operated mechanically or hydraulically (or pneumatically) also details such as push buttons, levers and pull-card therefor
    • E03D5/022Operating automatically

Abstract

A method and a device for testing input/output of a semiconductor device are provided to carry out an input/output test of the semiconductor device in a loop back test method by using test data, thereby excluding a complex logic for aligning phases. A method for generating test data for testing input/output of a semiconductor device is composed of steps for aligning plural parallel data(501,510,520,530) of N bits in series by inputting or outputting the data in advance; generating the N number of parity codes(540) for the parallel data of N bits in a direction of a time axis; and serially aligning the N number of parity codes generated after serialized data(511,521,531). Each parallel data of N bits is pseudo random data and the size of the N number of parity codes corresponds to one bit.

Description

반도체 장치의 입출력 테스트 방법 및 장치{Method and apparatus for IO test of semiconductor device}I / O test method and device for semiconductor device {Method and apparatus for IO test of semiconductor device}

도 1은 반도체 장치의 시리얼 통신 환경을 보여주는 도면이다.1 is a diagram illustrating a serial communication environment of a semiconductor device.

도 2는 종전의 테스트 데이터 생성 과정을 보여주는 파형도이다.2 is a waveform diagram illustrating a conventional test data generation process.

도 3은 수신측에서 위상이 잘 정렬된 경우를 보여주는 파형도이다.3 is a waveform diagram illustrating a case where phases are well aligned at a receiving side.

도 4는 수신측에서 위상이 잘못 정렬된 경우를 보여주는 파형도이다.4 is a waveform diagram illustrating a case in which phases are misaligned at a receiving side.

도 5는 본 발명의 일 실시예에 따른 입출력 테스트에서 테스트 데이터 생성 과정을 보여주는 파형도이다.5 is a waveform diagram illustrating a test data generation process in an input / output test according to an embodiment of the present invention.

도 6은 본 발명의 일 실시예에 따른 입출력 테스트에서 위상 정렬이 어긋난 경우를 보여주는 파형도이다.6 is a waveform diagram illustrating a case where phase alignment is misaligned in an input / output test according to an embodiment of the present invention.

도 7은 본 발명의 일 실시예에 따른 입출력 테스터를 포함한 반도체 장치를 보여주는 블록도이다.7 is a block diagram illustrating a semiconductor device including an input / output tester according to an embodiment of the present invention.

도 8은 본 발명의 일 실시예에 따른 CRC 생성 및 체크 과정을 설명하기 위한 CRC 생성기를 보여주는 회로도이다.8 is a circuit diagram illustrating a CRC generator for explaining a CRC generation and check process according to an embodiment of the present invention.

도 9는 본 발명의 일 실시예에 따른 직렬화 과정을 설명하기 위한 블록도이다.9 is a block diagram illustrating a serialization process according to an embodiment of the present invention.

본 발명은 반도체 장치의 입출력 테스트에 관한 것으로서, 보다 상세하게는 직렬로 데이터를 송수신하는 반도체 장치의 입출력 테스트와 입출력 테스트를 위한 테스트 데이터 생성에 관한 것이다.The present invention relates to an input / output test of a semiconductor device, and more particularly, to an input / output test and a test data generation for an input / output test of a semiconductor device that transmits and receives data in series.

반도체 칩간의 데이터 전송 속도가 점점 빨라지고 있다. 데이터 전송 속도가 빨라짐에 따라 전송선간의 신호간섭이 증가하고 있다. 따라서 데이터 전송을 위해 많은 전송 라인을 필요로 하는 병렬 데이터 통신 방식은 반도체 칩간의 고속 데이터 전송에 적합하지 않다.Data transfer rates between semiconductor chips are getting faster. As the data transmission speed increases, signal interference between transmission lines increases. Therefore, a parallel data communication method that requires many transmission lines for data transmission is not suitable for high speed data transmission between semiconductor chips.

최근에 반도체 칩간의 고속 데이터 전송을 위해 직렬 통신 방식이 많이 연구되고 있다. 직렬 통신 방식에서 반도체 칩은 내부의 병렬 데이터를 직렬화한 후 직렬화된 데이터를 다른 칩에 전송한다. 고속 데이터 전송에서 발생될 수 있는 오류를 검출하기 위한 다양한 방식이 제안되고 있다. 예를 들면, 송신 장치는 전송하고자 하는 데이터에 패리티 코드 또는 CRC 코드와 같은 잉여 데이터를 붙여 전송하고, 수신 장치는 패리티 코드 또는 CRC 코드가 포함된 수신 데이터에 대한 패리티 체크 또는 CRC 체크를 통해 데이터 전송 과정에서 오류가 발생됐는지를 판단한다.Recently, serial communication schemes have been studied for high speed data transfer between semiconductor chips. In a serial communication method, a semiconductor chip serializes parallel data therein and transmits the serialized data to another chip. Various schemes have been proposed for detecting errors that may occur in high speed data transmission. For example, the transmitting apparatus transmits the data to be transmitted by attaching surplus data such as a parity code or CRC code, and the receiving apparatus transmits data through parity check or CRC check on the received data including the parity code or CRC code. Determine if an error occurred in the process.

도 1은 반도체 장치의 시리얼 통신 환경을 보여주는 도면이다.1 is a diagram illustrating a serial communication environment of a semiconductor device.

송신 장치(110)는 코어 회로(111)와 직렬화기(112)와 CRC 계산기(113) 및 송신부(114)를 포함하고, 수신 장치(120)는 코어 회로(124)와 병렬화기(122)와 CRC 체커(123)와 위상 정렬부(121) 및 수신부(121)를 포함한다. 두 반도체 칩간의 통신에서 제1 반도체 칩에 송신 장치(110)가 포함되고, 제2 반도체 칩에 수신 장치(121)가 포함될 수 있다. 또한 제1 반도체 칩과 제2 반도체 칩 모두 송신과 수신을 위한 송수신 장치가 포함될 수도 있다.The transmitter 110 includes a core circuit 111, a serializer 112, a CRC calculator 113, and a transmitter 114, and the receiver 120 includes a core circuit 124 and a parallelizer 122. It includes a CRC checker 123, a phase aligner 121, and a receiver 121. In a communication between two semiconductor chips, a transmitting device 110 may be included in a first semiconductor chip and a receiving device 121 may be included in a second semiconductor chip. In addition, both the first semiconductor chip and the second semiconductor chip may include a transmission and reception device for transmission and reception.

송신 장치(110)는 코어 회로(111)에서 제공하는 병렬 데이터를 직렬화기(112)와 CRC 계산기(113)에 제공한다. CRC 계산기(113)는 병렬 데이터에 대한 패리티 코드를 계산한다. 직렬화기(112)는 병렬 데이터와 패리티 코드를 직렬화한다. 송신부(114)는 직렬 데이터를 전송한다. 예를 들어, 병렬 데이터가 8비트 병렬 데이터일 경우에 패리티 코드는 2 비트 병렬 데이터일 수 있다.The transmitter 110 provides the parallel data provided by the core circuit 111 to the serializer 112 and the CRC calculator 113. The CRC calculator 113 calculates a parity code for parallel data. The serializer 112 serializes the parallel data and the parity code. The transmitter 114 transmits serial data. For example, when the parallel data is 8-bit parallel data, the parity code may be 2-bit parallel data.

수신 장치(120)는 수신부(121)를 통해 전송된 직렬 데이터를 수신한다. 직렬 데이터는 병렬화부(122)를 통해 병렬화된다. 병렬화부(122)는 병렬화된 데이터를 CRC 체커(123)에 제공한다. CRC 체커(123)는 병렬화된 데이터에 오류가 발생했는지를 체크한다. 병렬화부(122)는 병렬화된 데이터에 오류가 발생되지 않은 경우에 패리티 코드를 제외한 병렬 데이터를 코어(124)에 제공한다. 예를 들어, 병렬화된 데이터가 10비트 병렬 데이터일 경우에 패리티 코드가 제외된 병렬 데이터는 8 비트 qdufuf 데이터일 수 있다.The receiving device 120 receives serial data transmitted through the receiving unit 121. Serial data is parallelized through the parallelizing unit 122. The parallelizer 122 provides the parallelized data to the CRC checker 123. The CRC checker 123 checks whether an error has occurred in the parallelized data. The parallelization unit 122 provides parallel data excluding the parity code to the core 124 when no error occurs in the parallelized data. For example, when the parallelized data is 10-bit parallel data, the parallel data without the parity code may be 8-bit qdufuf data.

위상 정렬부(125)는 수신된 직렬 데이터와 샘플링 클럭의 위상을 결정한다. 즉, 위상 결정부(125)는 수신된 데이터의 샘플링 시작 시점을 결정한다. 수신 장치(120)는 샘플링이 정확한 위치에서 시작된다면 수신된 데이터의 오류 발생 여부를 판단할 수 있지만, 정확하지 않은 위치에서 시작된다면 오류 발생 여부를 판단 할 수 없게 된다.The phase aligner 125 determines the phase of the received serial data and the sampling clock. That is, the phase determiner 125 determines a sampling start time of the received data. The receiving device 120 may determine whether an error occurs in the received data if the sampling starts at the correct position, but cannot determine whether an error occurs if the sampling starts at the incorrect position.

이와 같은 종전의 통신 환경에서 입출력 오류가 발생됐는지를 체크하기 위한 테스트 데이터 생성 과정과 수신측에서 위상이 잘 정렬된 경우와 잘못 정렬된 경우에 대해 도 2 내지 도 4를 참조하여 설명한다. 설명의 편의상 8비트 병렬 데이터에 대해 2비트 패리티 코드를 포함하여 10비트 테스트 데이터를 생성하는 경우를 기준으로 설명한다.A test data generation process for checking whether an input / output error has occurred in such a conventional communication environment, and a case where phases are well aligned and incorrectly aligned at a receiving side will be described with reference to FIGS. 2 to 4. For convenience of description, a description will be given based on a case of generating 10-bit test data including a 2-bit parity code for 8-bit parallel data.

도 2를 참조하면, 테스트 데이터 생성기는 제1 내지 제3 병렬 데이터들(210, 220, 230)에 대한 제1 내지 제3 패리티 코드들(211, 221, 231)을 생성한다. 그리고 나서 제1 병렬 데이터(210), 제1 패리티 코드(211), 제2 병렬 데이터(220), 제2 패리티 코드(221), 제3 병렬 데이터(230) 및 제3 패리티 코드(231) 순서로 직렬화한다. 제1 내지 제3 병렬 데이터들(210, 220, 230)에 대한 제1 내지 제3 직렬 테스트 데이터들(212, 222, 232)은 수신 장치에 전송된다.Referring to FIG. 2, the test data generator generates first to third parity codes 211, 221, and 231 for the first to third parallel data 210, 220, and 230. Then, the first parallel data 210, the first parity code 211, the second parallel data 220, the second parity code 221, the third parallel data 230, and the third parity code 231 are ordered. Serialize to The first to third serial test data 212, 222, and 232 for the first to third parallel data 210, 220, and 230 are transmitted to the receiving device.

도 3을 참조하면, 수신 장치는 제1 내지 제3 직렬 테스트 데이터들(212, 222, 232)을 수신한다. 샘플링 시작 시점은 첫 번째 직렬 테스트 데이터가 시작되는 위치를 의미한다. 샘플링 시작 시점이 유효 데이터인 제1 직렬 테스트 데이터(212)가 시작되는 위치와 정확하게 정렬된 경우에, 수신 장치는 제1 내지 제3 직렬 테스트 데이터들(212, 222, 232)을 병렬화하여 정확한 제1 내지 제3 병렬 테스트 데이터들(310, 320, 330)을 생성할 수 있다. 데이터 전송 오류가 발생되지 않은 경우에 제1 내지 제3 병렬 테스트 데이터들(310, 320, 330)에 대한 CRC 오류가 발생되지 않는다. 그렇지만 데이터 전송 오류가 발생된 경우에 CRC 오류가 발생된 다. 따라서, 수신 장치는 데이터 전송 오류의 발생 여부를 판단할 수 있다.Referring to FIG. 3, the receiving device receives first to third serial test data 212, 222, and 232. The sampling start point is where the first serial test data begins. When the sampling start time point is exactly aligned with the position at which the first serial test data 212 that is valid data starts, the receiving device parallelizes the first to third serial test data 212, 222, and 232 to obtain the correct first data. The first to third parallel test data 310, 320, 330 may be generated. When no data transmission error occurs, no CRC error is generated for the first to third parallel test data 310, 320, and 330. However, a CRC error occurs when a data transmission error occurs. Therefore, the receiving device may determine whether a data transmission error occurs.

도 4를 참조하면, 수신 장치는 제1 내지 제3 직렬 테스트 데이터들(212, 222, 232)을 수신한다. 샘플링 시작 시점이 유효 데이터인 제1 직렬 테스트 데이터(212)가 시작되는 위치와 정확하게 정렬되지 못한 경우에, 수신 장치는 제1 내지 제3 직렬 테스트 데이터들(212, 222, 232)을 병렬화하여 정확한 제1 내지 제3 병렬 테스트 데이터들(310, 320, 330)을 생성할 수 없다. 전송 과정 중에서 오류가 발생되지 않은 경우에도 제1 내지 제3 병렬 테스트 데이터들(310, 320, 330)에 대한 CRC 오류가 발생된다. 따라서, 수신 장치는 데이터 전송 오류의 발생 여부를 판단할 수 없다.Referring to FIG. 4, the receiving device receives first to third serial test data 212, 222, and 232. If the sampling start time point is not exactly aligned with the position where the first serial test data 212, which is valid data, is started, the receiving device parallelizes the first to third serial test data 212, 222, and 232 to correct it. It is not possible to generate the first to third parallel test data 310, 320, 330. Even when no error occurs during the transmission process, CRC errors for the first to third parallel test data 310, 320, and 330 are generated. Therefore, the receiving device cannot determine whether a data transmission error occurs.

일반적으로 마이크로프로세서나 컨트롤러는 위상 정렬을 위한 블록을 포함한다. 도 1의 수신 장치(120)에 포함된 위상 정렬부(125)는 샘플링 시작 시점을 제1 직렬 테스트 데이터(212)가 시작되는 위치에 정확하게 정렬시킨다. 이와 같이 위상 정렬부를 포함하는 반도체 장치는 루프백 테스트 방식으로 입출력 테스트를 할 수 있다.Typically, microprocessors or controllers contain blocks for phase alignment. The phase aligner 125 included in the receiving device 120 of FIG. 1 accurately aligns the sampling start time point with the position where the first serial test data 212 starts. As such, the semiconductor device including the phase alignment unit may perform an input / output test in a loopback test method.

루프백 테스트는 다음과 같이 수행된다. 반도체 장치는 테스트 데이터를 생성하고, 생성된 테스트 데이터를 전송 경로로 출력한다. 반도체 장치는 전송 경로를 통해 전송된 테스트 데이터를 입력받고, 입력된 테스트 데이터에 대해 오류 발생 여부를 체크한다. 이와 같은 루프백 테스트는 매우 저렴한 테스트 방식으로서 반도체 장치의 테스트 비용을 줄이는데 유용하다. 그러나 디램이나 플래시 메모리는 이와 같은 위상 정렬부를 포함하지 않는다. 이와 같이 위상 정렬부를 포함하지 않는 반도체 장치에 대해서는 저렴한 루프백 테스트를 이용하여 입출력 테스트를 수행할 수 없다.The loopback test is performed as follows. The semiconductor device generates test data and outputs the generated test data to a transmission path. The semiconductor device receives test data transmitted through the transmission path and checks whether an error occurs with respect to the input test data. This loopback test is a very inexpensive test method and is useful for reducing the test cost of semiconductor devices. However, DRAM or flash memory does not include such phase alignment. As described above, input / output tests may not be performed on a semiconductor device that does not include a phase alignment unit using an inexpensive loopback test.

그러므로 위상 정렬부와 같은 별도의 복잡한 로직 회로를 포함하지 않고도, 반도체 장치에 대한 루프백 테스트를 수행할 수 있도록 하는 테스트 데이터 생성 방법과 반도체 장치의 입출력 테스트 방법이 필요하다.Therefore, there is a need for a test data generation method and an input / output test method of a semiconductor device that can perform a loopback test on the semiconductor device without including a separate complicated logic circuit such as a phase alignment unit.

본 발명은 상술한 문제점을 해결하기 위해 안출된 것으로서, 본 발명은 위상 정렬 과정 없이 반도체 장치의 입출력 테스트를 수행하기 위한 테스트 데이터 생성 방법을 제공하는 것을 그 목적으로 한다.SUMMARY OF THE INVENTION The present invention has been made to solve the above-described problem, and an object of the present invention is to provide a test data generation method for performing an input / output test of a semiconductor device without a phase alignment process.

본 발명은 위상 정렬 과정 없이 반도체 장치의 입출력을 테스트하는 방법을 제공하는 것을 다른 목적으로 한다.Another object of the present invention is to provide a method for testing input and output of a semiconductor device without a phase alignment process.

본 발명은 위상 정렬 과정 없이 반도체 장치의 입출력 테스트를 수행하기 위한 테스트 데이터 생성기를 제공하는 것을 또 다른 목적으로 한다.Another object of the present invention is to provide a test data generator for performing an input / output test of a semiconductor device without a phase alignment process.

본 발명은 위상 정렬 과정 없이 반도체 장치의 입출력을 테스트하는 테스트 장치를 제공하는 것을 또 다른 목적으로 한다.Another object of the present invention is to provide a test apparatus for testing input and output of a semiconductor device without a phase alignment process.

그렇지만 이상의 목적은 예시적인 것으로서 본 발명은 목적은 이에 한정되지는 않는다.However, the above objects are exemplary and the present invention is not limited thereto.

상술한 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 반도체 장치의 입출력 테스트를 위한 테스트 데이터 생성 방법은 복수의 N 비트 병렬 데이터들을 선입선출로 직렬화하는 단계와, 상기 N 비트 병렬 데이터들에 대해 시간축 방향으로 N개의 패리티 코드들을 생성하는 단계, 및 상기 N개의 패리티 코드들을 상기 직렬화된 데이터에 이어서 직렬화하는 단계를 포함한다. 상기 N 비트 병렬 데이터들 각각은 슈도 랜덤 데이터일 수 있다. 상기 N개의 패리티 코드들은 1 비트 사이즈를 가질 수 있다.In order to achieve the above object, a test data generation method for an input / output test of a semiconductor device according to an embodiment of the present invention comprises the steps of serializing a plurality of N-bit parallel data on a first-in, first-out basis; Generating N parity codes in the time axis direction with respect to the time axis, and serializing the N parity codes following the serialized data. Each of the N bit parallel data may be pseudo random data. The N parity codes may have a 1 bit size.

상술한 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 반도체 장치의 입출력 테스트 방법은 복수의 N 비트 병렬 데이터들로부터 직렬 테스트 데이터를 생성하는 단계와, 상기 직렬 테스트 데이터를 외부 전송 라인으로 출력하는 단계와, 상기 외부 전송 라인을 통해 전송된 상기 직렬 테스트 데이터를 입력받는 단계, 및 상기 직렬 테스트 데이터에 기초하여 입출력 오류 발생 여부를 체크하는 단계를 포함한다.In order to achieve the above object, the input and output test method of a semiconductor device according to an embodiment of the present invention comprises the steps of generating serial test data from a plurality of N-bit parallel data, and outputs the serial test data to an external transmission line And receiving the serial test data transmitted through the external transmission line, and checking whether an input / output error occurs based on the serial test data.

상기 직렬 테스트 데이터를 생성하는 단계는 상기 N 비트 병렬 데이터들을 선입선출로 직렬화하는 단계와, 상기 N 비트 병렬 데이터들에 대해 시간축 방향으로 N개의 패리티 코드들을 생성하는 단계, 및 상기 N개의 패리티 코드들을 상기 직렬화된 데이터에 이어서 직렬화하는 단계를 포함한다. 상기 N 비트 병렬 데이터들 각각은 슈도 랜덤 데이터일 수 있다. 상기 N개의 패리티 코드들은 1 비트 사이즈를 가질 수 있다.The generating of the serial test data may include serializing the N bit parallel data on a first in, first out basis, generating N parity codes in a time axis direction with respect to the N bit parallel data, and generating the N parity codes. And serializing the serialized data. Each of the N bit parallel data may be pseudo random data. The N parity codes may have a 1 bit size.

상기 입출력 오류 발생 여부를 체크하는 단계는 상기 직렬 테스트 데이터를 병렬화하는 단계와, 상기 병렬화된 테스트 데이터에 포함된 시간축 방향의 N개의 테스트 비트열들 중 적어도 하나의 테스트 비트열들에 대한 패리티를 체크하는 단 계를 포함한다.The checking of whether an input / output error occurs may include: parallelizing the serial test data and checking parity of at least one test bit string among N test bit strings in a time axis direction included in the parallelized test data. This includes steps.

상술한 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 반도체 장치의 입출력 테스트를 위한 테스트 데이터 생성기는 복수의 N 비트 병렬 데이터들을 제공하는 데이터 제공부와, 상기 N 비트 병렬 데이터들에 대해 시간축 방향으로 N개의 패리티 코드들을 생성하는 패리티 코드 생성부, 및 상기 N 비트 병렬 데이터들을 선입선출로 직렬화하고, 이어서 상기 N개의 패리티 코드들을 직렬화하는 직렬화부를 포함한다.In order to achieve the above object, a test data generator for input / output testing of a semiconductor device according to an embodiment of the present invention is a data provider for providing a plurality of N-bit parallel data, and a time axis for the N-bit parallel data A parity code generator for generating N parity codes in a direction, and a serializer for serializing the N bit parallel data by first-in first-out, and then serializing the N parity codes.

상기 데이터 제공부가 제공하는 상기 N 비트 병렬 데이터들 각각은 슈도 랜덤 데이터일 수 있다. 상기 N개의 패리티 코드들은 1 비트 사이즈를 가질 수 있다.Each of the N bit parallel data provided by the data provider may be pseudo random data. The N parity codes may have a 1 bit size.

상술한 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 반도체 장치의 입출력 테스트를 위한 테스트 장치는 복수의 N 비트 병렬 데이터들에 기초하여 직렬 테스트 데이터를 생성하는 테스트 데이터 생성기와, 상기 직렬 테스트 데이터를 외부 전송 라인으로 출력하는 출력부와, 상기 외부 전송 라인을 통해 전송된 상기 직렬 테스트 데이터를 입력받는 입력부, 및 상기 직렬 테스트 데이터에 기초하여 입출력 오류 발생 여부를 체크하는 입출력 오류 검출기를 포함한다.In order to achieve the above object, a test apparatus for input and output testing of a semiconductor device according to an embodiment of the present invention includes a test data generator for generating serial test data based on a plurality of N-bit parallel data, the serial test An output unit for outputting data to an external transmission line, an input unit for receiving the serial test data transmitted through the external transmission line, and an input / output error detector for checking whether an input / output error occurs based on the serial test data. .

상기 테스트 데이터 생성기는 상기 복수의 N 비트 병렬 데이터들을 제공하는 데이터 제공부와, 상기 N 비트 병렬 데이터들에 대해 시간축 방향으로 N개의 패리티 코드들을 생성하는 패리티 코드 생성부와, 상기 N 비트 병렬 데이터들을 선입선출로 직렬화하고, 이어서 상기 N개의 패리티 코드들을 직렬화하는 직렬화부를 포함 한다.The test data generator includes a data provider for providing the plurality of N-bit parallel data, a parity code generator for generating N parity codes in a time axis direction with respect to the N-bit parallel data, and the N-bit parallel data. And serialize first-in-first-out, and then serialize the N parity codes.

상기 데이터 제공부가 제공하는 상기 N 비트 병렬 데이터들 각각은 슈도 랜덤 데이터일 수 있다. 상기 N개의 패리티 코드들은 1 비트 사이즈를 가질 수 있다.Each of the N bit parallel data provided by the data provider may be pseudo random data. The N parity codes may have a 1 bit size.

상기 입출력 오류 검출기는 상기 직렬 테스트 데이터를 병렬화하는 병렬화부와, 상기 병렬화된 테스트 데이터에 포함된 시간축 방향의 N개의 테스트 비트열들 중 적어도 하나의 테스트 비트열들에 대한 패리티를 체크하는 패리티 체크부를 포함한다.The input / output error detector may include a parallelizer configured to parallelize the serial test data, and a parity checker configured to check parity of at least one test bitstream among N test bitstreams in a time axis direction included in the parallelized test data. Include.

본문에 개시되어 있는 본 발명의 실시예들에 대해서, 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 실시예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 실시예들은 다양한 형태로 실시될 수 있으며 본문에 설명된 실시예들에 한정되는 것으로 해석되어서는 아니 된다.With respect to the embodiments of the present invention disclosed in the text, specific structural to functional descriptions are merely illustrated for the purpose of describing embodiments of the present invention, embodiments of the present invention may be implemented in various forms and It should not be construed as limited to the embodiments described in.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 동일한 참조부호를 동일한 구성요소에 대해 사용하였다.As the inventive concept allows for various changes and numerous embodiments, particular embodiments will be illustrated in the drawings and described in detail in the text. However, this is not intended to limit the present invention to the specific disclosed form, it should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the present invention. In describing the drawings, the same reference numerals are used for the same components.

제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나 의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. Terms such as first and second may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as the second component, and similarly, the second component may also be referred to as the first component.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is for the purpose of describing particular example embodiments only and is not intended to be limiting of the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this application, the terms "comprise" or "have" are intended to indicate that there is a feature, number, step, action, component, part, or combination thereof described in the specification, and one or more other features. It is to be understood that the present invention does not exclude the possibility of the presence or the addition of numbers, steps, operations, components, parts, or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art. Terms such as those defined in the commonly used dictionaries should be construed as having meanings consistent with the meanings in the context of the related art and shall not be construed in ideal or excessively formal meanings unless expressly defined in this application. Do not.

이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다.Hereinafter, with reference to the accompanying drawings, it will be described in detail a preferred embodiment of the present invention.

도 5는 본 발명의 일 실시예에 따른 입출력 테스트에서 테스트 데이터 생성 과정을 보여주는 파형도이다. 설명의 편의상 각 데이터는 8비트 병렬 데이터이고, 각 패리티 코드는 1 비트의 홀수 또는 짝수 패리티 비트인 것을 기준으로 설명한다.5 is a waveform diagram illustrating a test data generation process in an input / output test according to an embodiment of the present invention. For convenience of description, each data is 8-bit parallel data, and each parity code will be described on the basis of 1-bit odd or even parity bit.

도 5를 참조하면, 입출력 테스트 장치는 복수의 병렬 데이터들(501)에 대하여 시간축(가로) 방향으로 패리티 코드들(540)을 생성한다. 다시 말하면 입출력 테스트 장치는 제1 내지 제3 병렬 데이터들(510, 520, 530) 각각에 대해 패리티 코드를 생성하지 않고, 대신에 대해 시간축 방향으로 8개의 패리티 코드들(540)을 생성한다. 구체적으로 입출력 테스트 장치는 제1 내지 제3 병렬 데이터들(510, 520, 530)의 MSB 비트들(0번 비트들)에 대한 패리티 코드(0)를 생성하고, 1번 비트들에 대한 패리티 코드(1)를 생성한다. 마찬가지로 입출력 테스트 장치는 제1 내지 제3 병렬 데이터들(510, 520, 530)의 2 내지 7번 비트들에 대해 코드들(2 내지 7)을 생성한다.Referring to FIG. 5, the input / output test apparatus generates parity codes 540 in a time axis (horizontal) direction with respect to the plurality of parallel data 501. In other words, the input / output test apparatus does not generate a parity code for each of the first to third parallel data 510, 520, and 530, but instead generates eight parity codes 540 in the time axis direction. In more detail, the I / O test apparatus generates a parity code 0 for MSB bits (bits 0) of the first to third parallel data 510, 520, and 530, and generates a parity code for the first bit. Create (1). Similarly, the input / output test apparatus generates codes 2 to 7 for bits 2 to 7 of the first to third parallel data 510, 520, and 530.

입출력 테스트 장치는 제1 내지 제3 병렬 데이터들(510, 520, 530)에 대해 먼저 입력된 제1 병렬 데이터(510)를 직렬화하고, 제2 병렬 데이터(520)를 그 다음으로 직렬화하고, 마지막으로 제3 병렬 데이터(530)를 직렬화한다. 그리고 나서 입출력 테스트 장치는 패리티 코드들(540)을 직렬화한다.The input / output test apparatus serializes the first parallel data 510 inputted first to the first to third parallel data 510, 520, and 530, serializes the second parallel data 520 next, and finally The third parallel data 530 is serialized. The input / output test apparatus then serializes the parity codes 540.

결과적으로 입출력 테스트 장치는 제1 내지 제3 병렬 데이터들(510, 520, 530)에 대해 제1 직렬 데이터(511)와 제2 직렬 데이터(521)와 제3 직렬 데이터(531) 및 직렬 패리티 코드열(541)을 포함하는 직렬 테스트 데이터(502)를 생성한다.As a result, the input / output test apparatus performs the first serial data 511 and the second serial data 521, the third serial data 531, and the serial parity code with respect to the first to third parallel data 510, 520, and 530. Generate serial test data 502 including column 541.

도 6은 본 발명의 일 실시예에 따른 입출력 테스트에서 위상 정렬이 어긋난 경우를 보여주는 파형도이다.6 is a waveform diagram illustrating a case where phase alignment is misaligned in an input / output test according to an embodiment of the present invention.

입출력 테스트 장치는 전송 선로를 통해 직렬 테스트 데이터(502)를 수신한다. 수신된 직렬 테스트 데이터(502)에는 제1 직렬 데이터(511)와 제2 직렬 데이터(521)와 제3 직렬 데이터(531) 및 직렬 패리티 코드열(541)이 포함되어 있다.The input / output test apparatus receives serial test data 502 through a transmission line. The received serial test data 502 includes a first serial data 511, a second serial data 521, a third serial data 531, and a serial parity code string 541.

입출력 테스트 장치는 직렬 테스트 데이터(502)를 8비트 단위로 병렬화한다. 병렬화된 테스트 데이터는 샘플링 시작 위치가 제1 직렬 데이터(511)의 0번 비트에 정렬되지 않은 경우이더라도 시간축 방향으로 잘 정렬된다. 입출력 테스트 장치는 시간축 방향의 8개 테스트 비트열들 중에서 적어도 하나의 테스트 비트열들에 대해 패리티 체크를 수행하여 입출력 오류의 발생 여부를 판단한다.The input / output test apparatus parallelizes the serial test data 502 in 8-bit units. The parallelized test data is well aligned in the time axis direction even when the sampling start position is not aligned with the 0 bit of the first serial data 511. The input / output test apparatus determines whether an input / output error occurs by performing parity check on at least one test bit string among the eight test bit strings in the time axis direction.

이하에서는 시간축 방향으로 테스트 데이터를 생성하고 입출력 오류를 검출하는 입출력 테스터를 포함한 반도체 장치에 대해 설명한다.Hereinafter, a semiconductor device including an input / output tester for generating test data in the time axis direction and detecting an input / output error will be described.

도 7은 본 발명의 일 실시예에 따른 입출력 테스터를 포함한 반도체 장치를 보여주는 블록도이다.7 is a block diagram illustrating a semiconductor device including an input / output tester according to an embodiment of the present invention.

반도체 장치(700)는 메모리의 동작을 수행하는 메모리 코어(710)와 입출력 제어기(720)와 CRC 계산기(730)와 직렬화기(731)와 병렬화기(741)와 송신부(732)와 수신부(742)와 CRC 체커(740)와 테스트 모드 제어기(750)와 명령 레지스터(760)를 포함한다.The semiconductor device 700 includes a memory core 710, an input / output controller 720, a CRC calculator 730, a serializer 731, a parallelizer 741, a transmitter 732, and a receiver 742 that perform memory operations. ), A CRC checker 740, a test mode controller 750, and a command register 760.

메모리 코어(710)는 데이터를 저장하기 위한 셀 어레이와, 셀 어레이에 데이터를 기록하거나 셀 어레이에 저장된 데이터를 출력하기 위한 디코더를 포함한다.The memory core 710 includes a cell array for storing data and a decoder for writing data to or outputting data stored in the cell array.

입출력 제어기(720)는 메모리 코어(710)에 기록될 데이터의 입력 제어와 메 모리 코어(710)에서 출력되는 데이터의 출력 제어를 수행한다.The input / output controller 720 performs input control of data to be recorded in the memory core 710 and output control of data output from the memory core 710.

테스트 모드 제어기(750)는 반도체 장치(700)가 테스트 모드에서 동작하도록 반도체 장치를 제어한다. 테스트 모드 제어기(750)는 반도체 장치의 명령 레지스터(760)에 저장된 명령 값이 테스트 모드 수행을 의미할 경우에 활성화되고, 통상 모드에서 비활성화된다. 테스트 모드 제어기(750)는 테스트 모드일 때 입출력 테스트를 위한 복수의 N(N은 2이상 자연수) 비트 병렬 데이터들을 제공한다. 일 실시예에 있어서, 테스트 모드 제어기(750)가 제공하는 N 비트 병렬 데이터들 각각은 슈도 랜덤 데이터이다.The test mode controller 750 controls the semiconductor device to operate the semiconductor device 700 in the test mode. The test mode controller 750 is activated when the command value stored in the command register 760 of the semiconductor device means performing the test mode, and is deactivated in the normal mode. The test mode controller 750 provides a plurality of N (N is a natural number of two or more) bit parallel data for the input / output test when in the test mode. In one embodiment, each of the N bit parallel data provided by test mode controller 750 is pseudo random data.

CRC 계산기(730)와 CRC 체커(740)는 테스트 모드일 때 시간축(가로) 방향으로 패리티 코드들을 생성하고 시간축 방향으로 테스트 데이터에 대한 패리티 체크를 수행한다. 테스트 모드가 아니고 통상의 모드일 때 CRC 계산기(730)와 CRC 체커(740)는 개별 병렬 데이터에 대한 패리티 코드를 생성하고, 병렬 데이터와 패리티 코드를 직렬화한 후 전송할 수도 있다.The CRC calculator 730 and the CRC checker 740 generate parity codes in the time axis (horizontal) direction in the test mode and perform parity check on the test data in the time axis direction. In the normal mode instead of the test mode, the CRC calculator 730 and the CRC checker 740 may generate parity codes for individual parallel data, serialize the parallel data and the parity code, and transmit the serial data.

CRC 계산기(730)는 복수의 N 비트 병렬 데이터들에 대해 시간축 방향으로 N개의 패리티 코드들을 생성하고, 생성된 패리티 코드들은 직렬화기(731)에 제공한다. 직렬화기(731)는 N 비트 병렬 데이터들을 선입선출 방식으로 직렬화하고, 이어서 N개의 패리티 코드들을 직렬화한다. 출력부(732)는 직렬화기(731)가 제공하는 직렬 테스트 데이터를 외부 전송 선로로 전송한다. 입출력 테스트를 위한 테스트 모드 제어기(750)와 CRC 계산기(730)와 직렬화기(731) 및 출력부(732)는 직렬 테스트 데이터 생성기의 역할을 한다.The CRC calculator 730 generates N parity codes in the time axis direction for the plurality of N bit parallel data, and provides the generated parity codes to the serializer 731. Serializer 731 serializes the N bit parallel data in a first-in first-out manner, then serializes the N parity codes. The output unit 732 transmits serial test data provided by the serializer 731 to an external transmission line. The test mode controller 750, the CRC calculator 730, the serializer 731, and the output unit 732 for input / output testing serve as serial test data generators.

수신부(742)는 전송 선로를 통해 전송된 직렬 테스트 데이터를 수신한다. 수신된 데이터는 병렬화기(741)에 제공된다. 병렬화기(741)는 수신된 데이터를 병렬화하여 병렬 테스트 데이터를 출력한다. 병렬 테스트 데이터는 CRC 체커(740)에 제공되고, 병렬 테스트 데이터에서 패리티 코드들이 제거된 N 비트 병렬 데이터들은 입출력 제어기(720)에 제공된다. CRC 체커(740)는 병렬 테스트 데이터에 포함된 시간축 방향의 N개의 테스트 비트열 중에서 적어도 하나의 테스트 비트열들에 대한 패리티 체크를 수행한다. CRC 체커(740)는 패리티 체크에서 오류가 검출되지 않을 경우에 입출력 제어기(720)에 패리티 체크에서 오류가 검출되지 않았음을 알리고, 오류가 검출된 경우에 입출력 제어기(720)에 패리티 체크에서 오류가 검출됐음을 알린다. 수신부(742)와 병렬화기(741) 및 CRC 체커(740)는 입출력 오류 발생 여부를 체크하는 입출력 오류 검출기로서의 역할을 수행한다. 수신된 직렬 테스트 데이터 중 일 부분에 오류가 발생될 수도 있다. 오류가 발생될 경우에 반도체 장치(700)는 불량으로 판정된다.The receiver 742 receives serial test data transmitted through a transmission line. The received data is provided to the parallelizer 741. The parallelizer 741 outputs parallel test data by parallelizing the received data. The parallel test data is provided to the CRC checker 740, and the N bit parallel data from which parity codes are removed from the parallel test data is provided to the input / output controller 720. The CRC checker 740 performs a parity check on at least one test bit string among N test bit strings in the time axis direction included in the parallel test data. The CRC checker 740 notifies the input / output controller 720 that no error is detected in the parity check when no error is detected in the parity check, and informs the input / output controller 720 when the error is detected in the parity check. Signals that is detected. The receiver 742, the parallelizer 741, and the CRC checker 740 serve as an input / output error detector for checking whether an input / output error occurs. An error may occur in a portion of the received serial test data. When an error occurs, the semiconductor device 700 is determined to be defective.

도 7의 CRC 계산기(730)와 CRC 체커(740)는 모두 동일한 CRC 회로 구조에 기초한다. 앞서 실시예에서 CRC 계산기(730)와 CRC 체커(740)는 1 비트 크기의 패리티 코드를 생성하는 CRC 회로에 기초하였다. 그렇지만 이는 예시적인 것으로, 더 큰 패리티 코드 사이즈를 이용하여 반도체 장치의 입출력 테스트를 수행할 수도 있다.The CRC calculator 730 and CRC checker 740 of FIG. 7 are both based on the same CRC circuit structure. In the above embodiment, the CRC calculator 730 and the CRC checker 740 are based on a CRC circuit that generates a 1-bit parity code. However, this is merely an example, and the input / output test of the semiconductor device may be performed using a larger parity code size.

이하에서는 4비트 패리티 코드를 생성하는 CRC 회로에 대해 예시적으로 설명한다.Hereinafter, a CRC circuit for generating a 4-bit parity code will be described.

도 8은 본 발명의 일 실시예에 따른 CRC 생성 및 체크 과정을 설명하기 위한 CRC 생성기를 보여주는 회로도이다.8 is a circuit diagram illustrating a CRC generator for explaining a CRC generation and check process according to an embodiment of the present invention.

CRC 생성 회로는 소정 크기의 메시지 블록(M)을 입력받고, 메시지 블록(M)에 대한 패리티 코드를 생성한다. 메시지 블록(M)은 하나의 이진수로 취급되며, CRC 생성 다항식에 의해 나누어진다. 이를 위하여 CRC 생성 회로는 XOR 게이트들(820, 821)과 D 플립플롭들(810, 811, 812, 813)로 구현될 수 있다. D 플립플롭들(810, 811, 812, 813)은 클럭에 동기되어 동작하고, 클리어 신호(CLR)에 의해 초기화된다. CRC 생성회로는 CRC 다항식에 따라 그 구성 요소의 개수와 연결이 달라질 수 있다.  The CRC generation circuit receives a message block M having a predetermined size and generates a parity code for the message block M. The message block (M) is treated as one binary number and divided by the CRC-generated polynomial. To this end, the CRC generation circuit may be implemented with XOR gates 820 and 821 and D flip-flops 810, 811, 812 and 813. The D flip-flops 810, 811, 812, and 813 operate in synchronization with a clock and are initialized by a clear signal CLR. The number and connection of CRC generation circuits may vary according to the CRC polynomial.

도 8의 CRC 생성 회로의 CRC 생성 다항식은 수학식 1과 같다.The CRC generation polynomial of the CRC generation circuit of FIG. 8 is represented by Equation 1 below.

[수학식 1][Equation 1]

Figure 112006002563466-pat00001
Figure 112006002563466-pat00001

여기서 G(X)는 CRC 생성 다항식을 의미하며, 비트열로 표현하면 10011이 된다.Here, G (X) means a CRC generation polynomial, which is 10011 when expressed as a bit string.

메시지 블록(M)이 6비트 값인 1011001이라고 가정하면, 패리티 코드는 1011001을 10011로 나눈 나머지인 1010이 된다. CRC 계산과정은 메시지 블록(M)의 값을 1011001로 하고 도 8의 CRC 생성 회로에 입력한다.Assuming that the message block M is 1011001, which is a 6-bit value, the parity code is 1010, which is the remainder of dividing 1011001 by 10011. The CRC calculation process sets the value of the message block M to 1011001 and inputs it to the CRC generation circuit of FIG. 8.

초기 단계에서 제1 내지 제4 D 플립플롭들(810, 811, 812, 813)의 값은 각각 0, 0, 0, 0이다.In the initial stage, the values of the first to fourth D flip-flops 810, 811, 812, and 813 are 0, 0, 0, and 0, respectively.

첫 번째 클럭에서 제1 내지 제4 D 플립플롭들(810, 811, 812, 813)의 값은 각각 클럭에서 1, 0, 0, 0이 된다.The values of the first to fourth D flip-flops 810, 811, 812, and 813 in the first clock are 1, 0, 0, and 0 in the clock, respectively.

두 번째 클럭에서 제1 내지 제4 D 플립플롭들(810, 811, 812, 813)의 값은 각각 클럭에서 0, 1, 0, 0이 된다.The values of the first to fourth D flip-flops 810, 811, 812, and 813 in the second clock are 0, 1, 0, and 0 in the clock, respectively.

세 번째 클럭에서 제1 내지 제4 D 플립플롭들(810, 811, 812, 813)의 값은 각각 클럭에서 1, 0, 1, 0이 된다.The values of the first to fourth D flip-flops 810, 811, 812, and 813 in the third clock are 1, 0, 1, and 0 in the clock, respectively.

네 번째 클럭에서 제1 내지 제4 D 플립플롭들(810, 811, 812, 813)의 값은 각각 클럭에서 1, 1, 0, 1이 된다.The values of the first to fourth D flip-flops 810, 811, 812, and 813 in the fourth clock are 1, 1, 0, and 1 in the clock, respectively.

다섯 번째 클럭에서 제1 내지 제4 D 플립플롭들(810, 811, 812, 813)의 값은 각각 클럭에서 1, 0, 1, 0이 된다.The values of the first to fourth D flip-flops 810, 811, 812, and 813 in the fifth clock are 1, 0, 1, and 0 in the clock, respectively.

여섯 번째 클럭에서 제1 내지 제4 D 플립플롭들(810, 811, 812, 813)의 값은 각각 클럭에서 0, 1, 0, 1이 된다. 메시지 블록(M)의 값이 모두 입력됐으므로 이후 단계에서 제1 XOR 게이트(820)의 입력 단자에는 0이 입력된다.The values of the first to fourth D flip-flops 810, 811, 812, and 813 in the sixth clock are 0, 1, 0, and 1 in the clock, respectively. Since all values of the message block M are input, 0 is input to the input terminal of the first XOR gate 820 in a later step.

일곱 번째 클럭에서 제1 내지 제4 D 플립플롭들(810, 811, 812, 813)의 값은 각각 클럭에서 0, 1, 1, 0이 된다.The values of the first through fourth D flip-flops 810, 811, 812, and 813 in the seventh clock are 0, 1, 1, and 0 in the clock, respectively.

여덟 번째 클럭에서 제1 내지 제4 D 플립플롭들(810, 811, 812, 813)의 값은 각각 클럭에서 0, 0, 1, 1이 된다.The values of the first through fourth D flip-flops 810, 811, 812, and 813 in the eighth clock are 0, 0, 1, and 1 in the clock, respectively.

아홉 번째 클럭에서 제1 내지 제4 D 플립플롭들(810, 811, 812, 813)의 값은 각각 클럭에서 1, 1, 0, 1이 된다.The values of the first to fourth D flip-flops 810, 811, 812, and 813 in the ninth clock are 1, 1, 0, and 1 in the clock, respectively.

열 번째 클럭에서 제1 내지 제4 D 플립플롭들(810, 811, 812, 813)의 값은 각각 클럭에서 1, 0, 1, 0이 된다. 이 때 1010은 1011001을 10011로 나눈 값인 패리티 코드가 된다.The values of the first to fourth D flip-flops 810, 811, 812, and 813 in the tenth clock are 1, 0, 1, and 0 in the clock, respectively. At this time, 1010 is a parity code, which is a value obtained by dividing 1011001 by 10011.

따라서 메시지 블록(M)과 패리티 코드가 결합된 테스트 비트열은 1011001과 1010이 결합된 10110011010이 된다.Therefore, the test bit string in which the message block M and the parity code are combined becomes 10110011010 in which 1011001 and 1010 are combined.

복수의 N 비트 병렬 데이터들에 대한 패리티 코드는 시간축(가로) 방향의 N개의 비트열들에 대해 각각 구해질 수 있다.Parity codes for the plurality of N-bit parallel data may be obtained for N bit strings in the time axis (horizontal) direction, respectively.

패리티 체크 과정은 다음과 같다.The parity check process is as follows.

테스트 비트열 10110011010이 입력될 때 제1 내지 제4 D 플립플롭들(810, 811, 812, 813)의 값은 모두 초기 값인 0인 상태에 있다.When the test bit string 10110011010 is input, the values of the first to fourth D flip-flops 810, 811, 812, and 813 are all in an initial state of zero.

첫 번째 클럭에서 제1 내지 제4 D 플립플롭들(810, 811, 812, 813)의 값은 각각 클럭에서 1, 0, 0, 0이 된다.The values of the first to fourth D flip-flops 810, 811, 812, and 813 in the first clock are 1, 0, 0, and 0 in the clock, respectively.

두 번째 클럭에서 제1 내지 제4 D 플립플롭들(810, 811, 812, 813)의 값은 각각 클럭에서 0, 1, 0, 0이 된다.The values of the first to fourth D flip-flops 810, 811, 812, and 813 in the second clock are 0, 1, 0, and 0 in the clock, respectively.

세 번째 클럭에서 제1 내지 제4 D 플립플롭들(810, 811, 812, 813)의 값은 각각 클럭에서 1, 0, 1, 0이 된다.The values of the first to fourth D flip-flops 810, 811, 812, and 813 in the third clock are 1, 0, 1, and 0 in the clock, respectively.

네 번째 클럭에서 제1 내지 제4 D 플립플롭들(810, 811, 812, 813)의 값은 각각 클럭에서 1, 1, 0, 1이 된다.The values of the first to fourth D flip-flops 810, 811, 812, and 813 in the fourth clock are 1, 1, 0, and 1 in the clock, respectively.

다섯 번째 클럭에서 제1 내지 제4 D 플립플롭들(810, 811, 812, 813)의 값은 각각 클럭에서 1, 0, 1, 0이 된다.The values of the first to fourth D flip-flops 810, 811, 812, and 813 in the fifth clock are 1, 0, 1, and 0 in the clock, respectively.

여섯 번째 클럭에서 제1 내지 제4 D 플립플롭들(810, 811, 812, 813)의 값은 각각 클럭에서 0, 1, 0, 1이 된다.The values of the first to fourth D flip-flops 810, 811, 812, and 813 in the sixth clock are 0, 1, 0, and 1 in the clock, respectively.

일곱 번째 클럭에서 제1 내지 제4 D 플립플롭들(810, 811, 812, 813)의 값은 각각 클럭에서 0, 1, 1, 0이 된다.The values of the first through fourth D flip-flops 810, 811, 812, and 813 in the seventh clock are 0, 1, 1, and 0 in the clock, respectively.

여덟 번째 클럭에서 제1 내지 제4 D 플립플롭들(810, 811, 812, 813)의 값은 각각 클럭에서 0, 0, 1, 1이 된다.The values of the first through fourth D flip-flops 810, 811, 812, and 813 in the eighth clock are 0, 0, 1, and 1 in the clock, respectively.

아홉 번째 클럭에서 제1 내지 제4 D 플립플롭들(810, 811, 812, 813)의 값은 각각 클럭에서 1, 1, 0, 1이 된다.The values of the first to fourth D flip-flops 810, 811, 812, and 813 in the ninth clock are 1, 1, 0, and 1 in the clock, respectively.

열 번째 클럭에서 제1 내지 제4 D 플립플롭들(810, 811, 812, 813)의 값은 모두 0이 된다. 이 경우에 전송 과정중에 테스트 비트열에 오류가 발생되지 않은 것을 의미한다. 그렇지만 테스트 비트열 10110011010에서 어느 한 비트라도 바뀌게 되면 열 번째 클럭에서 제1 내지 제4 D 플립플롭들(810, 811, 812, 813) 중 적어도 하나는 1이 된다.At the tenth clock, the values of the first to fourth D flip-flops 810, 811, 812, and 813 are all zero. In this case, it means that no error occurred in the test bit string during the transmission process. However, if any one bit is changed in the test bit string 10110011010, at least one of the first to fourth D flip-flops 810, 811, 812, and 813 is 1 in the tenth clock.

CRC 생성 회로는 시간축 방향으로 패리티 코드를 생성할 때 사용될 수 있다. 복수의 N 비트 병렬 데이터들에 대하여 N 개의 코드들을 생성하기 위해서 CRC 생성회로는 N개가 필요하다.The CRC generation circuit can be used when generating the parity code in the time axis direction. N CRC generation circuits are needed to generate N codes for the plurality of N bit parallel data.

도 9는 본 발명의 일 실시예에 따른 직렬화 과정을 설명하기 위한 블록도이다.9 is a block diagram illustrating a serialization process according to an embodiment of the present invention.

N 비트 병렬 메시지 블록(M)이 입력되면 CRC 계산기(730)는 시간축 방향으로 N 개의 패리티 코드들(C)을 생성한다. 제1 및 제2 스위치(910, 920)는 제어 신호(Ctr)에 의해 선택적으로 개폐된다. 예를 들어 제1 스위치(910)가 닫히면, 제2 스 위치(920)는 열린다. 마찬가지로 제1 스위치(910)가 열리면, 제2 스위치(920)는 닫힌다.When the N bit parallel message block M is input, the CRC calculator 730 generates N parity codes C in the time axis direction. The first and second switches 910 and 920 are selectively opened and closed by the control signal Ctr. For example, when the first switch 910 is closed, the second switch 920 is opened. Likewise, when the first switch 910 is opened, the second switch 920 is closed.

제1 스위치(910)가 먼저 닫히며, 제1 스위치(910)가 닫힐 때 N 비트 병렬 메시지 블록(M)이 직렬화기(731)에 의해 먼저 선입선출 방식으로 직렬화된다. 그리고 나서 제2 스위치(920)가 닫히게 되면 N개의 패리티 코드들이 병렬화된다.The first switch 910 is closed first, and when the first switch 910 is closed, the N bit parallel message block M is first serialized by the serializer 731 in a first-in first-out manner. Then, when the second switch 920 is closed, N parity codes are parallelized.

본 발명의 실시예에 따르면, 위상 정렬 과정 없이 반도체 장치의 입출력 테스트를 수행하기 위한 테스트 데이터를 생성할 수 있다. 또한 테스트 데이터를 이용하여 루프백 테스트 방식으로 반도체 장치의 입출력 테스트를 수행할 수 있다.According to an embodiment of the present invention, test data for performing an input / output test of a semiconductor device may be generated without a phase alignment process. In addition, the input / output test of the semiconductor device may be performed by the loopback test method using the test data.

따라서 본 발명의 실시예에 따르면, 루프백 테스트를 위하여 반도체 장치에 위상 정렬을 위한 복잡한 로직을 구현할 필요가 없게 된다. 또한 본 발명의 실시예에 따르면 위상 정렬을 위한 로직이 없는 반도체 장치에 대해서도 루프백 테스트를 통해 입출력 테스트를 수행할 수 있다.Therefore, according to the embodiment of the present invention, it is not necessary to implement complicated logic for phase alignment in the semiconductor device for the loopback test. In addition, according to an exemplary embodiment of the present invention, an input / output test may be performed through a loopback test even for a semiconductor device having no logic for phase alignment.

이상 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although described with reference to the embodiments above, those skilled in the art will understand that the present invention can be variously modified and changed without departing from the spirit and scope of the invention as set forth in the claims below. Could be.

Claims (14)

복수의 N 비트 병렬 데이터들을 선입선출로 직렬화하는 단계;Serializing a plurality of N-bit parallel data on a first in, first out basis; 상기 N 비트 병렬 데이터들에 대해 시간축 방향으로 N개의 패리티 코드들을 생성하는 단계; 및Generating N parity codes in the time axis direction for the N bit parallel data; And 상기 직렬화된 데이터의 뒤에 이어서 상기 생성된 N개의 패리티 코드들을 직렬화하는 단계를 포함하는 반도체 장치의 입출력 테스트를 위한 테스트 데이터 생성 방법.And serializing the generated N parity codes after the serialized data. 제1항에 있어서, 상기 N 비트 병렬 데이터들 각각은 슈도 랜덤 데이터인 것을 특징으로 하는 반도체 장치의 입출력 테스트를 위한 테스트 데이터 생성 방법.The test data generation method of claim 1, wherein each of the N bit parallel data is pseudo random data. 제1항에 있어서, 상기 N개의 패리티 코드들은 1 비트 사이즈를 갖는 것을 특징으로 하는 테스트 데이터 생성 방법.The method of claim 1, wherein the N parity codes have a size of 1 bit. 복수의 N 비트 병렬 데이터들로부터 직렬 테스트 데이터를 생성하는 단계;Generating serial test data from the plurality of N bit parallel data; 상기 직렬 테스트 데이터를 외부 전송 라인으로 출력하는 단계;Outputting the serial test data to an external transmission line; 상기 외부 전송 라인을 통해 전송된 상기 직렬 테스트 데이터를 입력받는 단계; 및Receiving the serial test data transmitted through the external transmission line; And 상기 직렬 테스트 데이터에 기초하여 입출력 오류 발생 여부를 체크하는 단계를 포함하며,Checking whether an input / output error occurs based on the serial test data; 상기 직렬 테스트 데이터를 생성하는 단계는:Generating the serial test data includes: 상기 N 비트 병렬 데이터들을 선입선출로 직렬화하는 단계;Serializing the N bit parallel data on a first in, first out basis; 상기 N 비트 병렬 데이터들에 대해 시간축 방향으로 N개의 패리티 코드들을 생성하는 단계; 및Generating N parity codes in the time axis direction for the N bit parallel data; And 상기 직렬화된 데이터의 뒤에 이어서 상기 생성된 N개의 패리티 코드들을 직렬화하는 단계를 포함하는 것을 특징으로 하는 반도체 장치의 입출력 테스트 방법.And serializing the generated N parity codes after the serialized data. 제4항에 있어서, 상기 N 비트 병렬 데이터들 각각은 슈도 랜덤 데이터인 것을 특징으로 하는 반도체 장치의 입출력 테스트 방법.The method of claim 4, wherein each of the N bit parallel data is pseudo random data. 제4항에 있어서, 상기 N개의 패리티 코드들은 1 비트 사이즈를 갖는 것을 특징으로 하는 반도체 장치의 입출력 테스트 방법.The method of claim 4, wherein the N parity codes have a size of 1 bit. 제4항에 있어서, 상기 입출력 오류 발생 여부를 체크하는 단계는The method of claim 4, wherein the checking of the input / output error has occurred. 상기 직렬 테스트 데이터를 병렬화하는 단계;Parallelizing the serial test data; 상기 병렬화된 테스트 데이터에 포함된 시간축 방향의 N개의 테스트 비트열들 중 적어도 하나의 테스트 비트열들에 대한 패리티를 체크하는 단계를 포함하는 것을 특징으로 하는 반도체 장치의 입출력 테스트 방법.And checking parity of at least one test bit string among N test bit strings in a time axis direction included in the parallelized test data. 복수의 N 비트 병렬 데이터들을 제공하는 데이터 제공부;A data provider for providing a plurality of N-bit parallel data; 상기 N 비트 병렬 데이터들을 수신하여 시간축 방향으로 N개의 패리티 코드들을 생성하는 패리티 코드 생성부; 및A parity code generation unit which receives the N bit parallel data and generates N parity codes in a time axis direction; And 상기 N 비트 병렬 데이터들을 선입선출로 직렬화하고, 직렬화된 데이터의 뒤에 이어서 상기 생성된 N개의 패리티 코드들을 직렬화하는 직렬화부를 포함하는 반도체 장치의 입출력 테스트를 위한 테스트 데이터 생성기.And a serializer to serialize the N-bit parallel data by first-in first-out, and serialize the generated N parity codes after the serialized data. 제8항에 있어서, 상기 데이터 제공부는 상기 N 비트 병렬 데이터들을 슈도 랜덤 데이터로 제공하는 것을 특징으로 하는 반도체 장치의 입출력 테스트를 위한 테스트 데이터 생성기.The test data generator of claim 8, wherein the data providing unit provides the N bit parallel data as pseudo random data. 제8항에 있어서, 상기 패리티 코드 생성부는 상기 N개의 패리티 코드들을 1 비트 사이즈로 제공하는 것을 특징으로 하는 반도체 장치의 입출력 테스트를 위한 테스트 데이터 생성기.The test data generator of claim 8, wherein the parity code generator provides the N parity codes in a size of 1 bit. 복수의 N 비트 병렬 데이터들에 기초하여 직렬 테스트 데이터를 생성하는 테스트 데이터 생성기;A test data generator for generating serial test data based on the plurality of N bit parallel data; 상기 직렬 테스트 데이터를 외부 전송 라인으로 출력하는 출력부;An output unit for outputting the serial test data to an external transmission line; 상기 외부 전송 라인을 통해 전송된 상기 직렬 테스트 데이터를 입력받는 입력부; 및An input unit configured to receive the serial test data transmitted through the external transmission line; And 상기 직렬 테스트 데이터에 기초하여 입출력 오류 발생 여부를 체크하는 입출력 오류 검출기를 포함하며,And an input / output error detector for checking whether an input / output error occurs based on the serial test data. 상기 테스트 데이터 생성기는:The test data generator is: 상기 복수의 N 비트 병렬 데이터들을 제공하는 데이터 제공부;A data provider for providing the plurality of N-bit parallel data; 상기 N 비트 병렬 데이터들에 대해 시간축 방향으로 N개의 패리티 코드들을 생성하는 패리티 코드 생성부; 및A parity code generation unit generating N parity codes in the time axis direction with respect to the N bit parallel data; And 상기 N 비트 병렬 데이터들을 선입선출로 직렬화하고, 직렬화된 데이터의 뒤에 이어서 상기 생성된 N개의 패리티 코드들을 직렬화하는 직렬화부를 포함하는 것을 특징으로 하는 반도체 장치의 입출력 테스트 장치.And serializing the N bit parallel data on a first-in, first-out basis, and serializing the generated N parity codes after the serialized data. 제11항에 있어서, 상기 데이터 제공부는 상기 N 비트 병렬 데이터들을 슈도 랜덤 데이터로 제공하는 것을 특징으로 하는 반도체 장치의 입출력 테스트를 위한 반도체 장치의 입출력 테스트 장치.The input / output test apparatus of claim 11, wherein the data providing unit provides the N-bit parallel data as pseudo random data. 제11항에 있어서, 상기 패리티 코드 생성부는 상기 N개의 패리티 코드들을 1 비트 사이즈로 제공하는 것을 특징으로 하는 반도체 장치의 입출력 테스트를 위한 반도체 장치의 입출력 테스트 장치.The input / output test apparatus of claim 11, wherein the parity code generator provides the N parity codes in one bit size. 제11항에 있어서, 상기 입출력 오류 검출기는The method of claim 11, wherein the input and output error detector 상기 직렬 테스트 데이터를 병렬화하는 병렬화부;A parallelizer for parallelizing the serial test data; 상기 병렬화된 테스트 데이터에 포함된 시간축 방향의 N개의 테스트 비트열들 중 적어도 하나의 테스트 비트열들에 대한 패리티를 체크하는 패리티 체크부를 포함하는 것을 특징으로 하는 반도체 장치의 입출력 테스트 장치.And a parity check unit configured to check parity of at least one test bit string among N test bit strings in the time axis direction included in the parallelized test data.
KR1020060003896A 2006-01-13 2006-01-13 Method and apparatus for io test of semiconductor device KR100735567B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060003896A KR100735567B1 (en) 2006-01-13 2006-01-13 Method and apparatus for io test of semiconductor device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060003896A KR100735567B1 (en) 2006-01-13 2006-01-13 Method and apparatus for io test of semiconductor device

Publications (1)

Publication Number Publication Date
KR100735567B1 true KR100735567B1 (en) 2007-07-04

Family

ID=38503219

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060003896A KR100735567B1 (en) 2006-01-13 2006-01-13 Method and apparatus for io test of semiconductor device

Country Status (1)

Country Link
KR (1) KR100735567B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR900001694B1 (en) * 1984-02-10 1990-03-19 가부시기 가이샤 히다찌세이사꾸쇼 Data transfer system
KR910001710B1 (en) * 1986-11-25 1991-03-19 라 텔레메카니끄 엘렉트리끄 I/o put control circuit for programmable controler
KR0170390B1 (en) * 1989-10-26 1999-03-30 존 지. 웨브 Clock distribution system and technique
KR100650588B1 (en) 2005-12-06 2006-11-30 엘지노텔 주식회사 A method and apparatus of high speed data path verification between bts' board

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR900001694B1 (en) * 1984-02-10 1990-03-19 가부시기 가이샤 히다찌세이사꾸쇼 Data transfer system
KR910001710B1 (en) * 1986-11-25 1991-03-19 라 텔레메카니끄 엘렉트리끄 I/o put control circuit for programmable controler
KR0170390B1 (en) * 1989-10-26 1999-03-30 존 지. 웨브 Clock distribution system and technique
KR100650588B1 (en) 2005-12-06 2006-11-30 엘지노텔 주식회사 A method and apparatus of high speed data path verification between bts' board

Similar Documents

Publication Publication Date Title
US7519891B2 (en) IO self test method and apparatus for memory
US7486725B2 (en) Bit error rate tester and pseudo random bit sequences generator thereof
US7788562B2 (en) Pattern controlled, full speed ATE compare capability for deterministic and non-deterministic IC data
KR100837802B1 (en) Semiconductor Memory Apparatus with Error Detection of Data Input and Output
US7984369B2 (en) Concurrent code checker and hardware efficient high-speed I/O having built-in self-test and debug features
US9094181B2 (en) Communication system, data transmitter, and data receiver capable of detecting incorrect receipt of data
CN107680634B (en) Device under test, tester and method for testing device under test
US5241549A (en) Data communications system
US7398444B2 (en) Loop-back method for measuring the interface timing of semiconductor devices with the aid of signatures and/or parity methods
US20050154953A1 (en) Multiple function pattern generator and comparator having self-seeding test function
JP5174357B2 (en) Simultaneous code checker with built-in self-test and debug functions and hardware efficient high-speed I / O
EP2965100B1 (en) Self-testing integrated circuits
US6725415B2 (en) Arithmetic unit performing cyclic redundancy check at high speed
KR100735567B1 (en) Method and apparatus for io test of semiconductor device
US8037377B1 (en) Techniques for performing built-in self-test of receiver channel having a serializer
US7075461B2 (en) Method of generating pseudo 8B/10B code and apparatus for generating the same
KR20120062247A (en) Error code generating circuit and memory device including the same
US8473831B2 (en) Semiconductor memory apparatus and data read method of the same
KR101912905B1 (en) Cas latency setting circuit and semiconductor memory apparatus including the same
KR20080007178A (en) Apparatus and method for hige speed interfacing in intergarated circuit
KR20080019078A (en) Method and apparatus for test using cyclic redundancy check
Sivaranjani et al. Design and Analysis of UART Protocol with Sec-Ded and Implementation on FPGA
US20240055067A1 (en) Semiconductor chip and sequence checking circuit
JP4575348B2 (en) Packet error measuring device
CN117827560A (en) Chip interface and testing method thereof

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
FPAY Annual fee payment

Payment date: 20100528

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee