KR20200107189A - Apparatus and method of qprbs checker for pam-4 - Google Patents

Apparatus and method of qprbs checker for pam-4 Download PDF

Info

Publication number
KR20200107189A
KR20200107189A KR1020190025931A KR20190025931A KR20200107189A KR 20200107189 A KR20200107189 A KR 20200107189A KR 1020190025931 A KR1020190025931 A KR 1020190025931A KR 20190025931 A KR20190025931 A KR 20190025931A KR 20200107189 A KR20200107189 A KR 20200107189A
Authority
KR
South Korea
Prior art keywords
prbs
signal
error
data
pattern
Prior art date
Application number
KR1020190025931A
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 KR1020190025931A priority Critical patent/KR20200107189A/en
Publication of KR20200107189A publication Critical patent/KR20200107189A/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/24Testing correct operation
    • H04L1/242Testing correct operation by comparing a transmitted test signal with a locally generated replica
    • H04L1/244Testing correct operation by comparing a transmitted test signal with a locally generated replica test sequence generators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4498Finite state machines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/38Synchronous or start-stop systems, e.g. for Baudot code
    • H04L25/40Transmitting circuits; Receiving circuits
    • H04L25/49Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems
    • H04L25/4917Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems using multilevel codes

Abstract

Embodiments may provide a technique for effectively verifying whether a test data pattern transmitted in pulse amplitude modulation-4 (PAM-4) scheme is normally operated. A quaternary pseudo random binary sequence (QPRBS) checker device for PAM-4 and a method thereof are disclosed. According to an embodiment of the present invention, a QPRBS checker device comprises: a PRBS checker which performs a check operation on a QPRBSp signal in response to an EN signal; a determiner for determining whether the output of the PRBS checker is normal, and generating an Err signal including at least one of total error information, no error information, and partial error information based on the determination result; and an error detector which detects whether an error has occurred in the QPRBSp signal in response to the Err signal.

Description

PAM-4용 QPRBS 체크기 장치 및 방법{APPARATUS AND METHOD OF QPRBS CHECKER FOR PAM-4}QPRBS checker device and method for PAM-4 {APPARATUS AND METHOD OF QPRBS CHECKER FOR PAM-4}

아래 실시예들은 PAM-4용 QPRBS 체크기 장치 및 방법에 관한 것이다.The following embodiments relate to an apparatus and method for a QPRBS checker for PAM-4.

PAM-4(Pulse Amplitude Modulation-4)는 물리계층에서 고속 전송을 위하여 사용하는 변조 방식으로 2 비트당 하나의 심볼을 매핑하고, 각 심볼은 4가지 신호 레벨(예를 들면, -3, -1, +1, +3)을 갖고 전송된다. PAM-4 방식의 변조는 기존의 데이터 전송에서 널리 사용해왔던 방식인 NRZ(Non-Return to Zero) 방식의 데이터 전송에 비해 28Gbps 이상에서도 고속 직렬 전송이 가능하다.PAM-4 (Pulse Amplitude Modulation-4) is a modulation method used for high-speed transmission in the physical layer, and maps one symbol per 2 bits, and each symbol has four signal levels (e.g., -3, -1). , +1, +3). The modulation of the PAM-4 method enables high-speed serial transmission even at 28 Gbps or more compared to the non-return to zero (NRZ) method, which is a method that has been widely used in conventional data transmission.

이때, 고속의 통신 링크에서 올바른 데이터 전송 여부를 확인하거나 검증하는 방법 중에는 이미 알고 있는 데이터열을 테스트 패턴으로 이용하여 송신단에서 테스트 패턴을 송신하고, 수신단에서 수신된 데이터 패턴과 일치 여부를 확인하여 전송이 오류 없이 올바르게 이루어졌는지 검증하는 방법이 있다. 이러한 테스트 방법은 channel loss, intersymbol interference 와 같이 에러를 발생시킬 수 있는 요인에 의한 영향을 알아볼 수 있다. 일반적으로 NRZ 데이터 전송을 위한 테스트에서 주로 사용하는 테스트 패턴은 PRBS(Pseudo Random Binary Sequence)인 반면, PAM-4 데이터 전송을 위한 테스트에서 PRBS 이외에도 추가적으로 사용하는 주요 테스트 패턴 중에 하나가 QPRBS가 있다. At this time, among the methods of checking or verifying the correct data transmission over the high-speed communication link, the transmitting end transmits the test pattern by using the already known data string as the test pattern, and transmits after checking whether it matches the data pattern received at the receiving end. There is a way to verify that it was done correctly without this error. This test method can be used to determine the influence of factors that can cause errors such as channel loss and intersymbol interference. In general, the test pattern mainly used in the test for NRZ data transmission is PRBS (Pseudo Random Binary Sequence), while one of the main test patterns additionally used in addition to PRBS in the test for PAM-4 data transmission is QPRBS.

PAM-4용 테스트 패턴 중에서 하나인 QPRBS는 IEEE에서 규정한 표준인 IEEE 802.3bj (100Gbase-KP4) 94절(Clause 94)에서 정의하고 있으며, 표준에서 ‘QPRBS13’이라고 명명하고 있다. QPRBS13은 “Quaternary PRBS13” 패턴을 일컫는 것으로, 이는 8191개의 심볼 시퀀스(sequence)를 반복하는 것이다. 각각의 테스트 패턴은 PRBS13에 해당하는 패턴 생성기로부터 인코딩되어 생성되는 패턴으로 첫번째 사이클에는 PRBS13의 비반전된(non-inverted) 데이터 패턴이 생성되고, 두번째 사이클에는 PRBS13의 반전된(inverted) 데이터 패턴이 생성된다. 여기서, PRBS13은 PRBS 데이터 패턴이 213-1의 길이를 갖고 생성되는 데이터 패턴을 의미한다.QPRBS, one of the test patterns for PAM-4, is defined in IEEE 802.3bj (100Gbase-KP4) Section 94 (Clause 94), which is a standard specified by the IEEE, and is named “QPRBS13” in the standard. QPRBS13 refers to the “Quaternary PRBS13” pattern, which repeats a sequence of 8191 symbols. Each test pattern is a pattern generated by encoding from the pattern generator corresponding to PRBS13. In the first cycle, a non-inverted data pattern of PRBS13 is generated, and in the second cycle, the inverted data pattern of PRBS13 is generated. Is created. Here, PRBS13 refers to a data pattern generated with a length of 213-1 in the PRBS data pattern.

일반적으로 NRZ 방식의 데이터 전송에서 테스트를 위해서 널리 사용되는 PRBS 데이터 패턴의 생성(generation) 및 체크(check) 방식은 두가지로 구분할 수 있다.In general, the generation and check methods of PRBS data patterns widely used for testing in NRZ data transmission can be classified into two types.

하나는 데이터 패턴을 생성 및 체크하기 위하여 초기 값을 송신과 수신할 때 미리 설정하는 경우이다. 이때 초기 값에 해당하는 테스트 패턴을 시드(Seed)라고 하는데, 정해진 시드에 의해서 다음 데이터 패턴의 시퀀스가 정해지게 된다. 따라서, 다양한 시드에 의해서 송신을 위한 여러가지 데이터 패턴 방식이 존재하며, 수신한 데이터에 대해서도 정해진 시드를 찾고, 찾은 시점의 수신 데이터로부터 시퀀스가 순차적으로 예정된 데이터 패턴으로 수신되는지 여부를 확인하여 오류 없는 데이터 전송 여부를 체크하는 방식이 있다. One is the case of setting in advance when transmitting and receiving an initial value to generate and check a data pattern. At this time, the test pattern corresponding to the initial value is called a seed, and the sequence of the next data pattern is determined by the determined seed. Therefore, there are various data pattern methods for transmission by various seeds, and error-free data by searching for a predetermined seed for the received data, and checking whether the sequence is sequentially received in a predetermined data pattern from the received data at the time of the search. There is a method of checking whether to transmit.

또 다른 방식으로는 수신단이 시드를 알지 못하더라도 연속되어 수신한 데이터 패턴의 순차적인 연관성을 따져서 올바른 시퀀스를 갖고 데이터가 전송되었는지를 확인하는 방식이다.Another method is to check whether the data has been transmitted with the correct sequence by considering the sequential association of consecutively received data patterns even if the receiving end does not know the seed.

실시예들은 PAM-4 변조 방식에서 전송되는 테스트 데이터 패턴에 대한 정상 동작 여부를 효과적으로 검증하기 위힌 기술을 제공할 수 있다.Embodiments may provide a technique for effectively verifying whether a test data pattern transmitted in a PAM-4 modulation scheme is normally operated.

실시예들은 seed 없이도 QPRBS 데이터 패턴에 대한 체크 기능을 수행하는 기술을 제공할 수 있다.Embodiments may provide a technique for performing a function of checking a QPRBS data pattern without a seed.

일 실시예에 따른 QPRBS 체크기는 EN 신호에 응답하여 QPRBSp 신호에 대해 체크 동작을 수행하는 PRBS 체크기와, 상기 PRBS 체크기의 출력이 정산인지 여부를 판단하고, 판단 결과에 기초하여 Total Error 정보, No Error 정보, 및 Partial Error 정보 중에서 적어도 하나를 포함하는 Err 신호를 생성하는 판단기와, 상기 Err 신호에 응답하여 상기 QPRBSp 신호에 오류 발생 여부를 검출하는 Error 검출기를 포함한다.A QPRBS checker according to an embodiment is a PRBS checker that performs a check operation on a QPRBSp signal in response to an EN signal, and determines whether the output of the PRBS checker is a settlement, and based on the determination result, Total Error information, No Error And a determiner for generating an Err signal including at least one of information and partial error information, and an error detector for detecting whether an error has occurred in the QPRBSp signal in response to the Err signal.

도 1a는 PRBS 데이터 패턴의 생성 및 체크 방식의 일 예를 설명하기 위한 도면이다.
도 1b는 PRBS 데이터 패턴의 생성 및 체크 방식의 다른 예를 설명하기 위한 도면이다.
도 2a는 QPRBS 생성기의 일 예를 나타낸다.
도 2b는 QPRBS 체크기의 일 예를 나타낸다.
도 3은 일 실시예에 따른 통신 시스템을 나타낸다.
도 4a는 도 3에 도시된 QPRBS 생성기의 개략적인 블록도를 나타낸다.
도 4b는 도 3에 도시된 QPRBS 생성기의 타이밍도를 나타낸다.
도 5a는 도 3에 도시된 QPRBS 체크기의 개략적인 블록도를 나타낸다.
도 5b는 도 3에 도시된 QPRBS 체크기의 타이밍도를 나타내다.
도 6은 도 5a에 도시된 연산기의 동작을 설명하기 위한 도면이다.
도 7은 도 5a에 도시된 PRBS 제어기가 polarity 신호 생성을 위한 로직을 설명하기 위한 도면이다.
도 8은 도 5a에 도시된 판단기의 err 신호 생성 동작을 설명하기 위한 도면이다.
도 9는 Err 신호의 생성 타이밍도를 설명하기 위한 도면이다.
도 10은 도 5a에 도시된 Error 검출기의 FSM(Finite State Machine)에 대해서 동작 순서도를 나타낸다.
도 11은 QPRBS 데이터 패턴에서 일부 비트열에서 에러가 발생하는 경우를 설명하기 위한 도면이다.
1A is a diagram for describing an example of a method of generating and checking a PRBS data pattern.
1B is a diagram illustrating another example of a method of generating and checking a PRBS data pattern.
2A shows an example of a QPRBS generator.
2B shows an example of a QPRBS checker.
3 shows a communication system according to an embodiment.
4A shows a schematic block diagram of the QPRBS generator shown in FIG. 3.
4B shows a timing diagram of the QPRBS generator shown in FIG. 3.
5A shows a schematic block diagram of the QPRBS checker shown in FIG. 3.
5B shows a timing diagram of the QPRBS checker shown in FIG. 3.
6 is a view for explaining the operation of the operator shown in FIG. 5A.
7 is a diagram for explaining logic for generating a polarity signal by the PRBS controller shown in FIG. 5A.
FIG. 8 is a diagram illustrating an operation of generating an err signal by the determiner shown in FIG. 5A.
9 is a diagram for explaining a timing diagram of generating an Err signal.
FIG. 10 is a flowchart illustrating an operation of the FSM (Finite State Machine) of the error detector shown in FIG. 5A.
11 is a diagram for describing a case in which an error occurs in some bit strings in a QPRBS data pattern.

이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.Hereinafter, exemplary embodiments will be described in detail with reference to the accompanying drawings. However, since various changes may be made to the embodiments, the scope of the rights of the patent application is not limited or limited by these embodiments. It should be understood that all changes, equivalents, or substitutes to the embodiments are included in the scope of the rights.

실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the examples are used for illustrative purposes only and should not be interpreted as limiting. Singular expressions include plural expressions unless the context clearly indicates otherwise. In the present specification, terms such as "comprise" or "have" are intended to designate the presence of features, numbers, steps, actions, components, parts, or combinations thereof described in the specification, but one or more other features. It is to be understood that the presence or addition of elements or numbers, steps, actions, components, parts, or combinations thereof, does not preclude in advance.

제1 또는 제2등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 용어들에 의해서 한정되어서는 안 된다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만, 예를 들어 실시예의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.Terms such as first or second may be used to describe various components, but the components should not be limited by terms. The terms are only for the purpose of distinguishing one component from other components, for example, without departing from the scope of rights according to the concept of the embodiment, the first component may be named as the second component, and similarly The second component may also be referred to as a first component.

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

또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.In addition, in the description with reference to the accompanying drawings, the same reference numerals are assigned to the same components regardless of the reference numerals, and redundant descriptions thereof will be omitted. In describing the embodiments, when it is determined that a detailed description of related known technologies may unnecessarily obscure the subject matter of the embodiments, the detailed description thereof will be omitted.

도 1a는 PRBS 데이터 패턴의 생성 및 체크 방식의 일 예를 설명하기 위한 도면이다.1A is a diagram for describing an example of a method of generating and checking a PRBS data pattern.

도 1a는 PRBS 데이터 패턴의 생성 및 체크 방식 중에서 Synchronous PRBS에 해당한다. 이를 “additive” 스크램블러 방식이라고 불리는 형태의 PRBS이라고도 한다. 또는 Synchronous PRBS 방식을 나타낸다. 이는 PN(Pseudo-random Noise) 시퀀스가 입력 신호에 modulo-2 연산 처리되면서 첨가(added)되어지기 때문이다. 따라서, PN 시퀀스를 생성하는데 있어서 송신부(transmitter)와 수신부(receiver)의 시퀀스가 동기되어야만 한다. 해당 방식에서에서 PN 시퀀스의 시드는 이미 송신부와 수신부가 동일한 값을 공유하고 있어야 한다는 전제 조건이 있다.1A corresponds to Synchronous PRBS among methods of generating and checking a PRBS data pattern. This is also referred to as PRBS in a form called “additive” scrambler method. Or, it represents the Synchronous PRBS method. This is because a pseudo-random noise (PN) sequence is added to the input signal while modulo-2 is processed. Therefore, in generating the PN sequence, the sequence of the transmitter and the receiver must be synchronized. In this method, there is a precondition that the seed of the PN sequence must already share the same value between the transmitter and receiver.

도 1b는 PRBS 데이터 패턴의 생성 및 체크 방식의 다른 예를 설명하기 위한 도면이다. 어떤 경우에는 송신단에서 생성하는 데이터 패턴의 시드를 수신단이 알지 못하거나 공유하지 못해서, 연속하여 수신되는 PN 시퀀스의 입력에 따라서 동작해야 하는 경우가 있는데, 이러한 경우 외부 정보 또는 이미 정해진 시드없이도 수신부의 PRBS 체크기는 PN 시퀀스에 동기되어야 할 필요가 있다. 도 2은 PRBS 데이터 패턴의 생성 및 체크 방식 중에서 Self-Synchronous PRBS에 해당한다. Self-Synchronous PRBS 방식은 자체 동기화(Self-Synchronous) 방식을 이용하여 PRBS를 생성하고 체크하는 방식으로, multiplicative 방식이라고도 불린다. 이는 특히 입력 신호가 다항식의 곱하기(multiplication) 또는 나누기(division)에 의해서 동작하기 때문이다.1B is a diagram illustrating another example of a method of generating and checking a PRBS data pattern. In some cases, the receiving end does not know or shares the seed of the data pattern generated by the transmitting end, so it is necessary to operate according to the input of the continuously received PN sequence.In this case, the PRBS of the receiving unit without external information or a previously determined seed The checker needs to be synchronized to the PN sequence. 2 corresponds to Self-Synchronous PRBS among the methods of generating and checking a PRBS data pattern. The Self-Synchronous PRBS method creates and checks PRBS using a self-synchronous method, and is also called a multiplicative method. This is especially because the input signal operates by multiplication or division of polynomials.

도 2a는 QPRBS 생성기의 일 예를 나타내고, 도 2b는 QPRBS 체크기의 일 예를 나타낸다.2A shows an example of a QPRBS generator, and FIG. 2B shows an example of a QPRBS checker.

도 2a에 도시한 바와 같이, QPRBS 생성기(100)는 PRBS 생성기(10)에서 생성된 PRBS 패턴과 Mask 생성기(110)에서 생성된 Mask 값을 Bitwise XOR 연산을 수행하여 QPRBS 패턴을 만들어내는 방식을 수행한다.2A, the QPRBS generator 100 performs a method of generating a QPRBS pattern by performing Bitwise XOR operation on the PRBS pattern generated by the PRBS generator 10 and the Mask value generated by the Mask generator 110. do.

도 2b에 도시한 바와 같이, QPRBS 체크기(200)는 QPRBS 생성기(100), Error Masking Circuit(217), 및 로직 제어를 위한 FSM controller(220) 등으로 구성된다. QPRBS 체크기(200)는 시드를 포함한 QPRBS 생성기(100)에서 생성한 패턴과 수신한 데이터를 비교하되, 일정 패턴 길이가 되면 수신된 데이터의 비반전 또는 반전된 값을 시드로 초기 값으로 설정하고, QPRBS 생성기(100)에서 비반전된 PRBS 데이터 패턴과 반전된 PRBS 데이터 패턴을 출력하여 수신된 데이터와 비교한다. As shown in FIG. 2B, the QPRBS checker 200 includes a QPRBS generator 100, an error masking circuit 217, and an FSM controller 220 for logic control. The QPRBS checker 200 compares the pattern generated by the QPRBS generator 100 including the seed and the received data, but when it reaches a certain pattern length, sets a non-inverted or inverted value of the received data as an initial value as a seed, The QPRBS generator 100 outputs the non-inverted PRBS data pattern and the inverted PRBS data pattern, and compares it with the received data.

상술한 기술은 시드를 필요로 하는 synchronous 방식의 패턴 생성 및 체크 방식을 채용하여 서술한 것이다.The above-described technique has been described by employing a synchronous pattern generation and check method requiring a seed.

self-synchronous 방식의 경우에는 시드를 사용하지 않기 때문에, 기존의 기술로는 체크기를 정상적으로 동작시키기 힘들다. 이하에서는 실시예에 따른 Self-Synchronous 방식에 기반하여 QPRBS 데이터 패턴을 수신하였을 때 올바르게 수신하였는지 여부를 판정하는 QPRBS 검증 장치 및 방법을 설명하도록 한다.In the case of the self-synchronous method, since the seed is not used, it is difficult to operate the checker normally with the existing technology. Hereinafter, a QPRBS verification apparatus and method for determining whether a QPRBS data pattern is correctly received when a QPRBS data pattern is received based on the Self-Synchronous method according to an embodiment will be described.

도 3은 일 실시예에 따른 통신 시스템을 나타낸다.3 shows a communication system according to an embodiment.

통신 시스템(30)은 송신 장치(300A) 및 수신 장치(300B)를 포함한다. 송신 장치(300A)는 QPRBS 생성기(400) 및 송신기(310)를 포함하고, 수신 장치(300B)는 수신기(330) 및 QPRBS 체크기(500)를 포함한다.The communication system 30 includes a transmitting device 300A and a receiving device 300B. The transmitting device 300A includes a QPRBS generator 400 and a transmitter 310, and the receiving device 300B includes a receiver 330 and a QPRBS checker 500.

송신 장치(300A)의 QPRBS 생성기(400)는 QPRBS 테스트 패턴(예를 들어, PAM-4용 QPRBS 테스트 패턴)을 생성할 수 있다. 송신 장치(300A)의 송신기(310)는 통신 링크를 통해 QPRBS 테스트 패턴을 수신 장치(300B)로 전송할 수 있다.The QPRBS generator 400 of the transmission device 300A may generate a QPRBS test pattern (eg, a QPRBS test pattern for PAM-4). The transmitter 310 of the transmitting device 300A may transmit the QPRBS test pattern to the receiving device 300B through a communication link.

수신 장치(300B)의 수신기(330)는 통신 링크를 통해 QPRBS 테스트 패턴을 수신할 수 있다. Self-Synchronous 방식(또는 multicative 방식)의 PRBS 체크기(500)는 QPRBS 테스트 패턴의 정상적인 수신 여부를 확인하고 오류를 검출할 수 있다.The receiver 330 of the receiving device 300B may receive the QPRBS test pattern through a communication link. The self-synchronous (or multicative) PRBS checker 500 may check whether a QPRBS test pattern is normally received and detect an error.

도 4a는 도 3에 도시된 QPRBS 생성기의 개략적인 블록도를 나타내고, 도 4b는 도 3에 도시된 QPRBS 생성기의 타이밍도를 나타낸다.4A shows a schematic block diagram of the QPRBS generator shown in FIG. 3, and FIG. 4B shows a timing diagram of the QPRBS generator shown in FIG. 3.

QPRBS 생성기(400)는 PRBS 생성기(410), PRBS 제어기(430), 및 XOR 연산기(450)를 포함한다.The QPRBS generator 400 includes a PRBS generator 410, a PRBS controller 430, and an XOR operator 450.

PRBS 생성기(410)는 Self-Synchronous 방식으로 구동될 수 있다. PRBS 생성기(410)는 EN 신호에 응답하여 PN 시퀀스 생성을 시작할 수 있다. 예를 들어, EN 신호가 ‘1’로 활성화되면, PRBS 생성기(410)는 PN 시퀀스를 성할 수 있다. PRBS 생성기(410)는 생성된 PN 시퀀스를 XOR 연산기(450)로 출력할 수 있다. 생성된 PN 시퀀스의 출력 값은 PRBSn에 해당한다. 여기서, PRBSn은 2n-1 길이의 PN 시퀀스를 의미할 수 있다.The PRBS generator 410 may be driven in a Self-Synchronous manner. The PRBS generator 410 may start generating the PN sequence in response to the EN signal. For example, when the EN signal is activated to '1', the PRBS generator 410 may generate a PN sequence. The PRBS generator 410 may output the generated PN sequence to the XOR operator 450. The output value of the generated PN sequence corresponds to PRBSn. Here, PRBSn may mean a PN sequence of 2n-1 length.

PRBS 제어기(430)는 카운터(435)를 포함할 수 있다. PRBS 제어기(430)는 카운터(435)를 동작시킬 수 있다. 동작하는 카운터(435)는 polarity를 2n-1 길이의 주기마다 ‘1’과 ‘0’의 값을 반복적으로 생성하고, 생성된 polarity 값을 XOR 연산기(450)로 출력할 수 있다.The PRBS controller 430 may include a counter 435. The PRBS controller 430 may operate the counter 435. The operating counter 435 may repeatedly generate values of '1' and '0' for every 2n-1 period of polarity, and may output the generated polarity value to the XOR operator 450.

XOR 연산기(450)는 polarity 값 및 PN 시퀀스(PRBSn)를 XOR 연산을 통해 QPRBS 출력 패턴을 생성할 수 있다.The XOR operator 450 may generate a QPRBS output pattern through an XOR operation on the polarity value and the PN sequence PRBSn.

XOR 연산기(450)는 주기적으로 PRBSn 또는 PRBSn# 패턴을 반복하게 생성할 수 있다. 여기서, PRBSn#은 2n-1 길이의 PN 시퀀스의 각 비트가 반전된 값을 갖는 것을 의미할 수 있다. 예를 들면, PRBSn이 ‘010010…’의 데이터 패턴을 갖는다면, PRBSn#은 각 비트들이 반전된 값을 가져서 ‘101101…’의 데이터 패턴을 갖을 수 있다.The XOR operator 450 may periodically generate a PRBSn or PRBSn# pattern repeatedly. Here, PRBSn# may mean that each bit of a 2n-1 length PN sequence has an inverted value. For example, PRBSn is '010010... If it has a data pattern of', PRBSn# has a value in which each bit is inverted, so that '101101... It can have a data pattern of'.

도 5a는 도 3에 도시된 QPRBS 체크기의 개략적인 블록도를 나타내고, 도 5b는 도 3에 도시된 QPRBS 체크기의 타이밍도를 나타내다.FIG. 5A shows a schematic block diagram of the QPRBS checker shown in FIG. 3, and FIG. 5B shows a timing diagram of the QPRBS checker shown in FIG. 3.

QPRBS 체크기(500)는 연산기(505), PRBS 체크기(510), PRBS 제어기(530), 판단기(550), 및 Error 검출기(570)를 포함한다.The QPRBS checker 500 includes a calculator 505, a PRBS checker 510, a PRBS controller 530, a determiner 550, and an error detector 570.

PRBS 체크기(510)는 PRBS 생성기(410)와 마찬가지로 Self-Synchronous 방식으로 구동될 수 있다. PRBS 체크기(510)는 EN 신호에 응답하여 체크 동작을 시작할 수 있다.Like the PRBS generator 410, the PRBS checker 510 may be driven in a Self-Synchronous manner. The PRBS checker 510 may start a check operation in response to an EN signal.

PRBS 제어기(530)는 클럭 신호에 응답하여 EN 신호와 함께 polarity 값을 매 클럭마다 주기적으로 ‘1’과 ‘0’의 값을 반복적으로 생성할 수 있다.In response to the clock signal, the PRBS controller 530 may repeatedly generate values of '1' and '0' periodically for each clock with a polarity value together with the EN signal.

연산기(505)는 PRBS 제어기(530)에서 생성된 polarity 값을 입력 데이터인 QPRBS 신호와 XOR 연산을 수행하여 QPRBSp 신호를 생성할 수 있다. QPRBS 신호는 2n-1의 길이를 갖는 PRBSn 신호와 2n-1의 길이를 갖는 PRBSn#신호가 주기적으로 반복되는 데이터 패턴일 수 있다. PRBSn#신호는 PRBSn 신호의 반전(inverted)된 PRBSn 데이터 패턴을 나타낸다. 클럭마다 주기적으로 값이 변경되는 polarity 신호와 XOR 연산을 수행한 출력 값인 QPRBSp 신호는 클럭마다 주기적으로 prbs 데이터 패턴과 prbs# 데이터 패턴을 반복하게 될 수 있다. 여기서, prbs는 PRBSn 데이터 패턴 중에서 한 클럭 사이클 동안 발생하는 패턴으로 2n-1의 길이의 패턴들 중에 하나에 해당할 수 있다. 또한, prbs#은 prbs의 각 비트에 대한 반전된 값에 해당할 수 있다. The operator 505 may generate a QPRBSp signal by performing an XOR operation on the polarity value generated by the PRBS controller 530 with a QPRBS signal as input data. The QPRBS signal may be a data pattern in which a PRBSn signal having a length of 2n-1 and a PRBSn# signal having a length of 2n-1 are periodically repeated. The PRBSn# signal represents an inverted PRBSn data pattern of the PRBSn signal. A polarity signal whose value is periodically changed for each clock and a QPRBSp signal, which is an output value obtained by performing an XOR operation, may periodically repeat the prbs data pattern and the prbs# data pattern for each clock. Here, prbs is a pattern that occurs during one clock cycle among the PRBSn data patterns, and may correspond to one of patterns having a length of 2n-1. Also, prbs# may correspond to an inverted value for each bit of prbs.

PRBS 체크기(510)는 PRBS 생성기(410)와 마찬가지로 Self-Synchronous 방식으로 구동될 수 있다. PRBS 체크기(510)는 EN 신호에 응답하여 체크 동작을 시작할 수 있다. QPRBSp 신호를 입력받은 PRBS 체크기(510)는 prbs 데이터와 prbs# 데이터가 주기적으로 반복하기 때문에 데이터 시퀀스가 연속으로 모든 비트열에 대해서 오류(error)를 발생시킬 수 있다. Self-Synchronous 방식의 PRBS 체크기(510)의 경우에는 이전 입력 데이터와 현재 입력 데이터 패턴이 정상적인 입력 시퀀스를 갖는 경우 오류가 없지만, 이전 입력 데이터와 현재 입력 데이터가 반전 관계를 갖는 경우에는 오류가 발생하게 된다. 따라서, 2n-1의 길이동안 지속적으로 오류가 발생할 수 있다. 하지만, QPRBS 신호에서 PRBSn#의 처음 시작 데이터 패턴에서는 이전 입력 데이터와 현재 입력 데이터가 비반전(non-inverted) 관계이기 때문에 오류가 발생하지 않고 정상적인 입력 시퀀스로 인식될 수 있다.Like the PRBS generator 410, the PRBS checker 510 may be driven in a Self-Synchronous manner. The PRBS checker 510 may start a check operation in response to an EN signal. The PRBS checker 510 receiving the QPRBSp signal may generate an error for all bit strings in succession because the prbs data and the prbs# data are periodically repeated. In the case of the self-synchronous PRBS checker 510, if the previous input data and the current input data pattern have a normal input sequence, there is no error, but if the previous input data and the current input data have an inversion relationship, an error occurs. do. Therefore, errors may occur continuously for a length of 2n-1. However, in the first start data pattern of PRBSn# in the QPRBS signal, since the previous input data and the current input data have a non-inverted relationship, an error does not occur and can be recognized as a normal input sequence.

판단기(550)는 PRBS 체크기(510)의 출력이 정상인지 여부를 판단하고, Err 신호를 생성할 수 있다. 판단기(550)는 Err 신호를 Error 검출기(570)로 출력할 수 있다. 예를 들어, Err 신호는 Total Error, No Error, 또는 Partial Error를 포함할 수 있다.The determiner 550 may determine whether the output of the PRBS checker 510 is normal, and may generate an Err signal. The determiner 550 may output an Err signal to the error detector 570. For example, the Err signal may include Total Error, No Error, or Partial Error.

Err 신호에 대한 정보는 PRBS 체크기(510)의 입력에 대해서 전체 비트열이 모두 에러인 경우를 “Total Error”로 정의하고, 일부 비트열이 에러인 경우를 “Partial Error”로 정의하며, 모든 비트열이 에러 없이 정상인 경우를 “No Error”로 정의할 수 있다.The information on the Err signal is defined as "Total Error" when all bit strings are errors for the input of the PRBS checker 510, and "Partial Error" when some bit strings are errors, and all bits are The case where the heat is normal without error can be defined as “No Error”.

도 5a에서는 판단기(550)가 PRBS 체크기(510)의 외부에 구현된 것으로 도시하고 있지만, 반드시 이에 한정되는 것은 아니며, 실시예에 따라 판단기(550)는 PRBS 체크기(510)의 내부에 구현될 수 있다.5A shows that the determiner 550 is implemented outside the PRBS checker 510, but is not limited thereto, and the determiner 550 is implemented inside the PRBS checker 510 according to an embodiment Can be.

Error 검출기(570)는 Err 신호를 입력 받아서, ‘Total Error’ 인 경우 및 ‘No Error’ 인 경우에는 정상 동작 중이라고 판단하며, ‘Partial Error’에 대해서는 오류가 발생하였다고 판단할 수 있다.The error detector 570 may receive an Err signal and determine that it is in normal operation in the case of “Total Error” and in the case of “No Error”, and may determine that an error has occurred with respect to “Partial Error”.

도 6은 도 5a에 도시된 연산기의 동작을 설명하기 위한 도면이다.6 is a view for explaining the operation of the operator shown in FIG. 5A.

연산기(505)는 QPRBS 신호를 QPRBSp 신호로 생성할 수 있다. QPRBS 신호는 데이터 폭이 W인 신호인데, 연산기(505)는 각 데이터 비트 별로 polarity에 해당되는 신호를 입력 받아서 한번에 QPRBS 신호 데이터를 비트별로 반전 또는 비반전시키는 기능을 수행할 수 있다.The operator 505 may generate a QPRBS signal as a QPRBSp signal. The QPRBS signal is a signal having a data width of W, and the operator 505 may perform a function of inverting or non-inverting the QPRBS signal data bit by bit by receiving a signal corresponding to polarity for each data bit.

예를 들어, polarity 신호가 ‘1’인 경우, 연산기(505)는 QPRBS 데이터 비트 열에 해당되는 신호 값들에 반전되는 값들을 출력할 수 있다. polarity 신호가 ‘0’인 경우, 연산기(505)는 QPRBS 데이터 비트열에 해당되는 신호 값과 동일한 값을 출력할 수 있다.For example, when the polarity signal is '1', the operator 505 may output inverted values to signal values corresponding to the QPRBS data bit sequence. When the polarity signal is '0', the operator 505 may output the same value as the signal value corresponding to the QPRBS data bit string.

도 7은 도 5a에 도시된 PRBS 제어기가 polarity 신호 생성을 위한 로직을 설명하기 위한 도면이다.7 is a diagram for explaining logic for generating a polarity signal by the PRBS controller shown in FIG. 5A.

PRBS 제어기(530)은 플리플롭(533) 및 인버터(535)를 포함할 수 있다. polarity 신호는 PRBS 체크기(510)가 enable 되기 위한 EN 신호가 active된 후에 주기적으로 매 클럭마다 polarity 신호가 반전되는 기능을 수행할 수 있다. 결국, 이는 클럭 신호 주기를 1/2 분주하는 신호와 같이 동작한다.The PRBS controller 530 may include a flip-flop 533 and an inverter 535. The polarity signal may perform a function of periodically inverting the polarity signal every clock after the EN signal for enabling the PRBS checker 510 is activated. After all, it operates like a signal that divides the clock signal period by 1/2.

도 8은 도 5a에 도시된 판단기의 err 신호 생성 동작을 설명하기 위한 도면이다.FIG. 8 is a diagram illustrating an operation of generating an err signal by the determiner shown in FIG. 5A.

판단기(550)는 PRBS 체크기(510)의 출력이 정상인지 여부를 판단하고, Err 신호를 생성할 수 있다. PRBS 체크기(510)는 입력 데이터 폭 W를 갖고 입력되는 시퀀스들의 오류 여부에 따라서 정상일 경우 ‘0’의 값을 갖고 오류가 있는 경우 해당 비트의 위치에 ‘1’의 값을 출력할 수 있다. The determiner 550 may determine whether the output of the PRBS checker 510 is normal, and may generate an Err signal. The PRBS checker 510 may have an input data width W and output a value of '0' when it is normal and output a value of '1' at the position of a corresponding bit when there is an error depending on whether or not the input sequences are in error.

QPRBSp로 입력되는 데이터 폭 W를 갖는 시퀀스에 대해서, 도 5b에 도시된 바와 같이, prbs 패턴과 prbs# 패턴이 매 클럭마다 반복되는 경우에는 PRBS 체크기(510)의 출력 값(또는 결과 값)은 W 폭의 비트열에 대해서 모든 비트열이 오류이기 때문에 모두 ‘1’의 값을 갖는다. 이 경우, W 폭의 데이터에 대해서, 판단기(550)는 모든 비트가 에러 상태(‘1’)이기 때문에 W 폭의 결과 값에 대해서 AND 연산을 수행하여 ‘Total Error’를 포함하는 Err 신호를 생성할 수 있다.For a sequence having a data width W input to QPRBSp, as shown in FIG. 5B, when the prbs pattern and the prbs# pattern are repeated every clock, the output value (or result value) of the PRBS checker 510 is W For a bit string of width, all bit strings have a value of '1' because all bit strings are errors. In this case, for data of W width, the determiner 550 performs an AND operation on the result value of W width because all bits are in an error state ('1') to generate an Err signal including'Total Error'. Can be generated.

반면, PRBSn 과 PRBSn#의 경계면에서는 QPRBSp 신호가 prbs 패턴 또는 prbs# 패턴이 연속적인 경우에 해당되어 오류가 없기 때문에 W 폭의 체크기 결과 값이 모두 ‘0’의 값을 갖는다. 이 경우, W 폭의 데이터에 대해서, 판단기(550)는 Err 신호를 모든 비트가 정상 상태(‘0’)이기 때문에 NOR 연산을 수행하여 ‘No Error’를 포함하는 Err 신호를 생성할 수 있다.On the other hand, at the interface between PRBSn and PRBSn#, the QPRBSp signal corresponds to the case where the prbs pattern or the prbs# pattern is continuous and there is no error, so all the W-width checker result values have a value of '0'. In this case, for data of W width, the determiner 550 may generate an Err signal including'No Error' by performing a NOR operation because all bits of the Err signal are in a normal state ('0'). .

그리고, 전송 중에 prbs 패턴 또는 prbs# 패턴 중에서 일부 비트에서 오류가 발생하는 경우에는 해당 비트에서 오류(‘1’)가 발생하고, 따라서, Total Error 및 No Error 모두 ‘0’의 값을 갖는다. 이 경우, W 폭의 데이터에 대해서, 판단기(550)는 Total Error 및 No Error 값의 NOR 연산을 수행하여 ‘Partial Error’를 포함하는 Err 신호를 생성할 수 있다.In addition, when an error occurs in some bits of the prbs pattern or prbs# pattern during transmission, an error ('1') occurs in the corresponding bit, and therefore, both Total Error and No Error have a value of '0'. In this case, for data having a width of W, the determiner 550 may generate an Err signal including'Partial Error' by performing a NOR operation of total error and no error values.

도 9는 Err 신호의 생성 타이밍도를 설명하기 위한 도면이다.9 is a diagram for explaining a timing diagram of generating an Err signal.

PRBS 신호 데이터가 PRBS 체크기(510)에 입력되는 매 클럭마다 PRBS 체크기(510)는 이전 입력 데이터와 현재 입력 데이터를 처리하여 유효한 정상적인 순서의 PRBS 패턴인 경우 Err 신호를 ‘0’으로 출력하고, 이전 데이터에 대해서 현재 입력 데이터가 유효하지 않은 비정상적인 순서 또는 비정상적인 데이터 패턴 값을 갖는 경우 Err 신호를 ‘1’로 출력할 수 있다.For each clock in which the PRBS signal data is input to the PRBS checker 510, the PRBS checker 510 processes the previous input data and the current input data, and outputs an Err signal as '0' in the case of a valid PRBS pattern in a normal order, and For data, when the current input data has an abnormal sequence that is not valid or has an abnormal data pattern value, an Err signal can be output as '1'.

도 9의 (a)에서 도시한 바와 같이 PRBS 신호 데이터의 각 클럭마다 생성되는 패턴을 prbs 및 비트 단위로 반전된 패턴을 prbs#이라고 표시할 경우, prbs 값이 매 클럭 지속되는 경우에는 정상적인 데이터 패턴이기 때문에 Err 신호가 ‘0’ 값을 유지한다. As shown in (a) of FIG. 9, when the pattern generated for each clock of the PRBS signal data is indicated as prbs and the inverted pattern in bit units is indicated as prbs#, when the prbs value continues every clock, the normal data pattern Because of this, the Err signal maintains the '0' value.

하지만, 도 9의 (b)에 도시된 바와 같이, prbs 값을 유지하다가 prbs# 값으로 변환되는 경우 및 prbs# 값을 유지하다가 prbs 값으로 변환되는 경우에는 Err 신호가 ‘1’의 값으로 천이하게 된다. However, as shown in (b) of FIG. 9, when the value of prbs is maintained and then converted to the value of prbs#, and when the value of prbs# is maintained and then converted to the value of prbs, the Err signal transitions to a value of '1'. Is done.

이러한 동작 상황에서, 도 9의 (c)에 도시된 바와 같이, QPRBSp 신호 데이터가 입력되는 경우 QPRBSp 신호 데이터는 매 클럭마다 주기적으로 prbs 데이터 패턴과 prbs# 데이터 패턴을 반복하게 되는데, 이 경우 PRBS 체크기(510)는 이전 입력 데이터에 대해서 현재 입력 데이터 패턴이 매번 비정상적인 패턴으로 Err 신호 결과 값은 ‘1’을 출력하게 된다. In this operating situation, as shown in (c) of FIG. 9, when the QPRBSp signal data is input, the QPRBSp signal data periodically repeats the prbs data pattern and the prbs# data pattern every clock. In this case, the PRBS checker Reference numeral 510 outputs '1' as a result of the Err signal as the current input data pattern is an abnormal pattern every time with respect to the previous input data.

QPRBS 신호 데이터는 전체 PRBS 데이터 패턴이 모두 입력된 후, prbs# 데이터 패턴이 입력되기 때문에 경계 부분 시점에서는 prbs 데이터 패턴에서 prbs# 데이터 패턴으로 변경되게 된다. PRBS 패턴의 길이는 2^N-1 이고, 매 클럭마다 polarity 신호는 반전되기 때문에 경계 부분 시점에는 도 9에서 설명하는 바와 같이 prbs# 데이터 패턴이 연속적으로 입력되게 된다. 따라서, 이 경우 Err 신호는 정상적인 순서를 갖게 되어 ‘0’의 값을 출력하게 된다. The QPRBS signal data is changed from the prbs data pattern to the prbs# data pattern at the boundary point because the prbs# data pattern is input after all the PRBS data patterns are input. The length of the PRBS pattern is 2^N-1, and since the polarity signal is inverted every clock, the prbs# data pattern is continuously input as described in FIG. 9 at the boundary point. Therefore, in this case, the Err signal has a normal order and a value of '0' is output.

도 10은 도 5a에 도시된 Error 검출기의 FSM(Finite State Machine)에 대해서 동작 순서도를 나타낸다. FIG. 10 is a flowchart illustrating an operation of the FSM (Finite State Machine) of the error detector shown in FIG. 5A.

Err 신호에 대한 정보는 PRBS 체크기(510)의 입력에 대해서 전체 비트열이 모두 에러인 경우를 “Total Error”로 정의하고, 일부 비트열이 에러인 경우를 “Partial Error”로 정의하며, 모든 비트열이 에러 없이 정상인 경우를 “No Error”로 정의할 수 있다.The information on the Err signal is defined as "Total Error" when all bit strings are errors for the input of the PRBS checker 510, and "Partial Error" when some bit strings are errors, and all bits are The case where the heat is normal without error can be defined as “No Error”.

Error 검출기(570)는 초기에 데이터 패턴의 입력을 기다리면서 WAIT 상태에서 대기한다. 이후 데이터가 입력되면 초기 데이터는 기존의 입력된 PRBS 데이터 패턴이 없기 때문에 전체 비트열이 Error가 발생하는 ‘Total Error’ 가 판단기(550)에서 출력되고, 이때 Error 검출기(570)의 상태는 DATA_Compare 상태로 천이한다. 반면, ‘Partial Error’ 또는 ‘No Error’가 입력되는 경우, Error 검출기(570)의 상태는 WAIT 상태를 유지한다.The error detector 570 initially waits in the WAIT state while waiting for input of the data pattern. After the data is input, the initial data is'Total Error' in which an error occurs in the entire bit string because there is no existing input PRBS data pattern, and at this time, the status of the error detector 570 is DATA_Compare. Transition to state. On the other hand, when'Partial Error' or'No Error' is input, the state of the error detector 570 maintains the WAIT state.

DATA_compare 상태에서는 입력되는 현재 데이터 패턴과 이전 데이터 패턴을 비교하여 ‘Total Error’가 출력되는 경우 Error 검출기(570)의 상태는 현재 상태를 유지하고, ‘No Error’가 출력되는 경우 Error 검출기(570)의 상태는 Inversion 상태로 천이하며, ‘Partial Error’가 출력되는 경우 Error 검출기(570)의 상태는 다시 WAIT 상태로 천이한다. 따라서, 현재 입력 데이터 패턴과 이전 입력 데이터 패턴을 비교하여 prbs 패턴과 prbs# 패턴이 각각 입력되면 ‘Total Error’가 발생하여 정상적인 패턴이 입력되는 상태이므로, Error 검출기(570)의 상태는 계속 DATA_compare 상태를 유지한다.In the DATA_compare state, when'Total Error' is output by comparing the current data pattern input to the previous data pattern, the state of the error detector 570 maintains the current state, and when'No Error' is output, the error detector 570 The state of is transitioned to the Inversion state, and when'Partial Error' is output, the state of the error detector 570 transitions back to the WAIT state. Therefore, when the current input data pattern and the previous input data pattern are compared and the prbs pattern and the prbs# pattern are respectively input, a'Total Error' occurs and a normal pattern is input, so the status of the error detector 570 continues to be in the DATA_compare state. Keep it.

반면, 현재 입력 데이터 패턴과 이전 입력 데이터 패턴을 비교하여 prbs 패턴과 prbs 패턴이 각각 입력되면 ‘No Error’가 발생하고, QPRBS 데이터 패턴에서 PRBS 패턴과 PRBS# 패턴이 변경되는 시점이기 때문에 Error 검출기(570)의 상태는 Inversion 상태로 천이하게 된다.On the other hand, when the current input data pattern and the previous input data pattern are compared and the prbs pattern and the prbs pattern are respectively input,'No Error' occurs, and it is the time when the PRBS pattern and PRBS# pattern are changed in the QPRBS data pattern. 570) transitions to the Inversion state.

QPRBS 데이터 패턴에서 PRBS 패턴에서 PRBS# 패턴으로 변경되거나 PRBS# 패턴에서 PRBS 패턴으로 변경되는 시점인 Inversion 상태는 한 클럭 사이클동안만 존재한다. 따라서, ‘Total Error’ 가 출력되면 Error 검출기(570)의 상태는 다시 DATA_compare 상태로 천이하는 반면, ‘No Error’ 또는 ‘Partial Error’가 발생하는 경우 Error 검출기(570)의 상태는 다시 WAIT 상태로 천이하게 된다.The Inversion state, which is the time when the QPRBS data pattern is changed from the PRBS pattern to the PRBS# pattern or from the PRBS# pattern to the PRBS pattern, exists only for one clock cycle. Therefore, when'Total Error' is output, the state of the error detector 570 transitions back to the DATA_compare state, whereas when'No Error' or'Partial Error' occurs, the state of the error detector 570 returns to the WAIT state. It makes a transition.

도 11은 QPRBS 데이터 패턴에서 일부 비트열에서 에러가 발생하는 경우를 설명하기 위한 도면이다.11 is a diagram for describing a case in which an error occurs in some bit strings in a QPRBS data pattern.

QPRBSp 데이터는 매 클럭마다 비반전된 prbs 패턴과 반전된 prbs# 패턴을 반복하게 되는데, 중간에 prbs# 패턴(1120)과 같이 데이터 비트열 중에서 일부분의 비트가 오류가 발생하여 전송되는 경우 prbs# 패턴(1120)과 이전 prbs 패턴(1110) 사이에는 판단기(550)에서 Err 신호에서 일부 오류에 해당되는 ‘Partial Error’ 신호(1140)가 발생한다. QPRBSp data repeats the non-inverted prbs pattern and the inverted prbs# pattern every clock. In the case of transmission due to an error in some of the data bit strings, like the prbs# pattern (1120) in the middle, the prbs# pattern A'Partial Error' signal 1140 corresponding to some errors in the Err signal is generated by the determiner 550 between the 1120 and the previous prbs pattern 1110.

또한, prbs# 패턴(1120)과 다음 prbs 패턴(1130) 사이에는 판단기(550)에서 Err 신호에서 일부 오류에 해당되는 ‘Partial Error’ 신호(1140)가 발생한다. In addition, between the prbs# pattern 1120 and the next prbs pattern 1130, a'Partial Error' signal 1140 corresponding to a partial error in the Err signal is generated by the determiner 550.

따라서, 2 클럭 사이클동안 ‘Partial Error’ 신호(1140)가 생성되어, 도 10에 도시한 바와 같이 2 클럭 사이클동안 WAIT 상태(1150)를 유지하게 된다. 따라서, WAIT 상태(1150)에서 ‘Partial Error’ 신호(1140)가 발생하는 경우에는 일부분의 데이터 패턴에서 오류가 발생하게 되고, 이를 Error 검출기(570)에서 오류로 감지하게 된다.Accordingly, a'Partial Error' signal 1140 is generated during two clock cycles, and the WAIT state 1150 is maintained for two clock cycles as shown in FIG. 10. Accordingly, when the'Partial Error' signal 1140 occurs in the WAIT state 1150, an error occurs in a part of the data pattern, and the error detector 570 detects this as an error.

도 10과 도 11에서 나타내는 ‘Total Error’ 및 ‘Partial Error’는 다음과 같이 설명될 수 있다. 예를 들어, 판단기(550)에 수신된 데이터의 4비트열들에 대해서 현재 데이터 패턴이 ‘0101’이고, 이전 데이터 패턴이 ‘1010’이면 이 둘에 의한 판단기(550)의 동작 결과는 이전 비트열과 현재 비트열이 모두 bitwise XOR 연산으로 ‘1’을 갖기 때문에 ‘Total Error’에 해당된다. 반면, 현재 데이터 패턴이 ‘0101’이고, 이전 데이터 패턴이 ‘1011’이면 이 둘에 의한 판단기(550)의 동작 결과는 bitwise XOR 연산 결과 앞의 3개는 ‘1’을 갖고 마지막은 ‘0’이되어 결과는 ‘1110’이 된다. 따라서 이때는 ‘Partial Error’에 해당된다.'Total Error' and'Partial Error' shown in FIGS. 10 and 11 may be described as follows. For example, if the current data pattern is '0101' and the previous data pattern is '1010' for 4-bit columns of data received by the determiner 550, the operation result of the determiner 550 by the two is Since both the previous bit stream and the current bit stream have '1' by bitwise XOR operation, they are equivalent to'Total Error'. On the other hand, if the current data pattern is '0101' and the previous data pattern is '1011', the operation result of the determiner 550 by the two is bitwise XOR operation result, the first three have '1' and the last is '0. Becomes'and the result is '1110'. Therefore, in this case, it corresponds to'Partial Error'.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like alone or in combination. The program instructions recorded on the medium may be specially designed and configured for the embodiment, or may be known and usable to those skilled in computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks. -A hardware device specially configured to store and execute program instructions such as magneto-optical media, and ROM, RAM, flash memory, and the like. Examples of the program instructions include not only machine language codes such as those produced by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like. The hardware device described above may be configured to operate as one or more software modules to perform the operation of the embodiment, and vice versa.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of these, configuring the processing unit to behave as desired or processed independently or collectively. You can command the device. Software and/or data may be interpreted by a processing device or to provide instructions or data to a processing device, of any type of machine, component, physical device, virtual equipment, computer storage medium or device. , Or may be permanently or temporarily embodyed in a transmitted signal wave. The software may be distributed over networked computer systems and stored or executed in a distributed manner. Software and data may be stored on one or more computer-readable recording media.

이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described by the limited drawings, a person of ordinary skill in the art can apply various technical modifications and variations based on the above. For example, the described techniques are performed in a different order from the described method, and/or components such as a system, structure, device, circuit, etc. described are combined or combined in a form different from the described method, or other components Alternatively, even if substituted or substituted by an equivalent, an appropriate result can be achieved.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.Therefore, other implementations, other embodiments and claims and equivalents fall within the scope of the following claims.

Claims (1)

EN 신호에 응답하여 QPRBSp 신호에 대해 체크 동작을 수행하는 PRBS 체크기;
상기 PRBS 체크기의 출력이 정산인지 여부를 판단하고, 판단 결과에 기초하여 Total Error 정보, No Error 정보, 및 Partial Error 정보 중에서 적어도 하나를 포함하는 Err 신호를 생성하는 판단기; 및
상기 Err 신호에 응답하여 상기 QPRBSp 신호에 오류 발생 여부를 검출하는 Error 검출기
를 포함하는 QPRBS 체크기.
A PRBS checker for performing a check operation on a QPRBSp signal in response to an EN signal;
A determiner for determining whether an output of the PRBS checker is a settlement, and generating an Err signal including at least one of total error information, no error information, and partial error information based on the determination result; And
Error detector that detects whether an error has occurred in the QPRBSp signal in response to the Err signal
QPRBS checker comprising a.
KR1020190025931A 2019-03-06 2019-03-06 Apparatus and method of qprbs checker for pam-4 KR20200107189A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190025931A KR20200107189A (en) 2019-03-06 2019-03-06 Apparatus and method of qprbs checker for pam-4

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190025931A KR20200107189A (en) 2019-03-06 2019-03-06 Apparatus and method of qprbs checker for pam-4

Publications (1)

Publication Number Publication Date
KR20200107189A true KR20200107189A (en) 2020-09-16

Family

ID=72669847

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190025931A KR20200107189A (en) 2019-03-06 2019-03-06 Apparatus and method of qprbs checker for pam-4

Country Status (1)

Country Link
KR (1) KR20200107189A (en)

Similar Documents

Publication Publication Date Title
US8832513B2 (en) Characterization and validation of processor links
US8468398B2 (en) Loopback testing with phase alignment of a sampling clock at a test receiver apparatus
KR102396212B1 (en) Hardware transmit equalization for high speed
US9092312B2 (en) System and method to inject a bit error on a bus lane
JP5536298B2 (en) Offset test pattern apparatus and method
US9565014B2 (en) Initializing a descrambler
US9703563B2 (en) Detecting cross-talk on processor links
EP1814234B1 (en) Concurrent code checker and hardware efficient high- speed I/O having built- in self- test and debug features
US20140376603A1 (en) Testing a decision feedback equalizer ('dfe')
KR20070070162A (en) An apparatus and method for adaptive digital locking and soft evaluation of data symbols in a wireless digital communication system
US5724370A (en) CRC generation and detection method
KR20200107189A (en) Apparatus and method of qprbs checker for pam-4
US7913150B2 (en) Error detection in a communications link
US10608763B2 (en) Built-in self-test for receiver channel
US9548857B2 (en) Initializing a descrambler
CN113516896B (en) Method for generating anti-interference and pulse-missing advanced synchronous laser pulse signal
US8261156B2 (en) Methods and apparatuses for correcting errors in data streams
KR20190096728A (en) Apparatus and Method for Synchronization and Alignment Using Scrambler and Descrambler
US9177087B1 (en) Methods and apparatus for generating short length patterns that induce inter-symbol interference
JP5116567B2 (en) Optical receiver
JP2012010108A (en) Data processing circuit and data processing method
KR100735567B1 (en) Method and apparatus for io test of semiconductor device
JP2010161630A (en) Error addition apparatus
JP2005286393A (en) Communication apparatus and method thereof
JP2016010029A (en) Data transmitter receiver and data transmission reception method

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal