KR20040045511A - Apparatus and method for 8B/10B code-group validity check - Google Patents
Apparatus and method for 8B/10B code-group validity check Download PDFInfo
- Publication number
- KR20040045511A KR20040045511A KR1020020073312A KR20020073312A KR20040045511A KR 20040045511 A KR20040045511 A KR 20040045511A KR 1020020073312 A KR1020020073312 A KR 1020020073312A KR 20020073312 A KR20020073312 A KR 20020073312A KR 20040045511 A KR20040045511 A KR 20040045511A
- Authority
- KR
- South Korea
- Prior art keywords
- disparity
- line code
- code group
- bit
- signal
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/20—Arrangements for detecting or preventing errors in the information received using signal quality detector
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M5/00—Conversion of the form of the representation of individual digits
- H03M5/02—Conversion to or from representation by pulses
- H03M5/04—Conversion to or from representation by pulses the pulses having two levels
- H03M5/14—Code representation, e.g. transition, for a given bit cell depending on the information in one or more adjacent bit cells, e.g. delay modulation code, double density code
- H03M5/145—Conversion to or from block codes or representations thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/38—Synchronous or start-stop systems, e.g. for Baudot code
- H04L25/40—Transmitting circuits; Receiving circuits
- H04L25/49—Transmitting 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/4906—Transmitting 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 binary codes
- H04L25/4908—Transmitting 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 binary codes using mBnB codes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Dc Digital Transmission (AREA)
Abstract
Description
본 발명은 데이터 송수신 기술에 관한 것으로, 구체적으로는 8B/10B 선로부호그룹의 적절성을 검출하는 장치 및 방법에 관한 것이다.The present invention relates to a data transmission and reception technique, and more particularly, to an apparatus and a method for detecting suitability of an 8B / 10B line code group.
기가비트 이더넷(gigabit ethernet) 외에 최근 많은 고속 통신 시스템에서, 이산 선로부호(binary line coding) 방법으로서 ANSI X3.230-1994(FC-PH)에서 규격화된 DC-Balanced 8B/10B 선로부호 기술을 채택하고 있다. DC-Balanced 8B/10B 선로부호 기술을 사용하는 이유는 송수신기 설계가 복잡하지 않고, 많은 비용을 들이지 않고도 선로상의 잡음에 대한 면역성(immunity)을 높일 수 있기 때문이다.In recent years, in addition to gigabit ethernet, in many high-speed communication systems, DC-Balanced 8B / 10B line coding technology standardized in ANSI X3.230-1994 (FC-PH) is adopted as a binary line coding method. have. The reason why DC-Balanced 8B / 10B line coding technology is used is that the transceiver design is not complicated and the immunity to noise on the line can be increased without costly.
8B/10B 선로부호를 사용하는 데이터 송수신 방법은, 송신측에서는 8 비트 단위의 데이터 열을 소정의 규칙에 의해 10 비트 단위 데이터 열로 바꾸어 선로에 직렬로 송신하고, 수신측에서는 직렬로 수신된 데이터를 10 비트 단위 데이터 열로 정렬(alignment)하여 소정의 규칙에 의해 8 비트 단위 데이터 열로 다시 되돌리는 것이다. 기가비트 이더넷과 같은 통신기술분야에서는 소정의 규칙에 의해 만들어진 10 비트 단위의 데이터를 부호그룹(code-group) 이라고 한다. 이하 본 발명에서는 부호그룹을 8B/10B 선로부호그룹(8B/10B code-group)이라고 칭한다.In the data transmission / reception method using the 8B / 10B line code, the transmission side converts the data sequence of 8 bit units into a 10-bit unit of data sequence according to a predetermined rule, and transmits the data serially to the line, and the receiving side transmits the serially received data 10 bits. It is aligned with the unit data column and returns to the 8 bit unit data column according to a predetermined rule. In the field of communication technologies such as Gigabit Ethernet, data in 10-bit units generated by a predetermined rule is called a code-group. In the present invention, the code group is referred to as an 8B / 10B line code group.
종래의 running disparity 검출방법으로서 니블클럭(nibble clock)과 비트 클럭(bit clock)을 사용하는 방법이 있다. 이 방법은 각 8B/10B 선로부호그룹의 경계를 찾아 10 비트 단위로 직렬/병렬 변환 과정을 거친 데이터를 다시 직렬 데이터로 만들어야 하는 이중작업을 필요로 할 뿐만 아니라 니블 클럭을 생성하기 위해 부가적인 장치가 필요하다.As a conventional running disparity detection method, there is a method using a nibble clock and a bit clock. This method requires not only the duplication of finding the boundary of each 8B / 10B line code group, but also serializing the data which has been serialized / parallel converted into 10-bit units, as well as an additional device for generating a nibble clock. Is needed.
또 다른 종래의 running disparity 검출방법으로서, 현재 수신된 8B/10B 선로부호그룹을 기준으로 이전에 수신된 8B/10B 선로부호그룹의 10 비트 데이터에서 비트의 값이 1인 비트들의 수를 구하고, 다시 10 비트 데이터의 상위 4 비트 니블에서 비트의 값이 1인 비트들의 수를 구한 다음, 이 두 값을 이용하여 이전 running disparity를 구하고, 현재 수신된 8B/10B 선로부호그룹의 하위 6 비트 니블과 상위 4 비트 니블에 대해 각각 비트의 값이 1인 비트들의 수를 구한 다음, 이 세 값 즉, 이전 running disparity, 현재 수신된 8B/10B 선로부호그룹의 하위 6 비트 니블에 대한 디스패리티 및 현재 수신된 8B/10B 선로부호그룹의 상위 4 비트 니블의 디스패리티값을 이용하여 현재 running disparity를 검출하는 방법이 있다.In another conventional running disparity detection method, the number of bits having a bit value of 1 is obtained from 10-bit data of a previously received 8B / 10B line code group based on the currently received 8B / 10B line code group. Find the number of bits with a bit value of 1 in the upper 4 bit nibbles of 10-bit data, and then use these two values to find the previous running disparity, and the lower 6-bit nibbles and upper bits of the currently received 8B / 10B line code group. For each 4-bit nibble, we get the number of bits with a bit value of 1, then these three values: the previous running disparity, the disparity for the lower 6-bit nibbles of the currently received 8B / 10B line code group, and the currently received There is a method of detecting the current running disparity using the disparity value of the upper 4 bit nibbles of the 8B / 10B line code group.
이 방법도 10 비트 데이터를 6 비트 니블과 4 비트 니블로 나누어 각 니블에서 비트의 값이 1인 비트들의 수를 구한 다음 이전에 검출된 running disparity를 이용해 현재 running disparity를 구하는 방법에 비해 구현이 간단하지도 않고, 수행시간도 단축되지 않는다.This method is also easier to implement than dividing 10-bit data into 6-bit nibbles and 4-bit nibbles to obtain the number of bits with a bit value of 1 in each nibble, and then to obtain the current running disparity using the previously detected running disparity. Nor does it shorten the execution time.
이와 같은 종래의 8B/10B 선로부호그룹 적절성 검출장치는 기가비트 시스템과 같은 고속 시스템에 적용하기에는 단위 시간 내에 처리해야 되는 조합논리 회로(combinational logic circuit)의 수를 나타내는 크리티컬 경로(critical path)가 상대적으로 길어서 고속 시스템에 적용할 때 데이터 처리시간 위반을 초래할 수 있다.Such a conventional 8B / 10B line code group suitability detection device has a relatively critical path indicating the number of combinational logic circuits to be processed within a unit time in order to be applied to a high speed system such as a gigabit system. It is long and can lead to data processing time violations when applied to high speed systems.
본 발명이 이루고자 하는 기술적 과제는 니블 클럭 및 비트 클럭을 사용하지 않고 직렬/병렬(serial-to-parallel) 변환장치에 사용된 바이트 클럭만을 사용하여, 복잡도를 줄이고 계산시간을 단축시킨 running disparity 검출방법 및 장치를 제공하며, 종래 8B/10B 선로부호그룹 적절성 검출장치의 크리티컬 경로(criticalpath)를 줄여 기가비트 이더넷 시스템과 같은 고속 시스템에 적용하기에 적합한 구조를 갖는 8B/10B 선로부호그룹 적절성 검출장치 및 방법을 제공하는데 있다.The technical problem to be achieved by the present invention is to use a byte clock used in a serial-to-parallel converter without using a nibble clock and a bit clock, reducing the complexity and the calculation time of the running disparity detection method And an apparatus, and an apparatus and method for detecting an 8B / 10B line code group suitability having a structure suitable for application to a high speed system such as a gigabit Ethernet system by reducing a critical path of a conventional 8B / 10B line code group suitability detecting device. To provide.
도 1은 수신된 8B/10B 선로부호그룹의 6B/5B 디코딩 테이블이다.1 is a 6B / 5B decoding table of a received 8B / 10B line code group.
도 2는 수신된 8B/10B 선로부호그룹의 4B/3B 디코딩 테이블이다.2 is a 4B / 3B decoding table of a received 8B / 10B line code group.
도 3은 본 발명의 8B/10B 선로부호그룹 적절성 검출 장치의 블록도이다.3 is a block diagram of an 8B / 10B line code group suitability detection apparatus of the present invention.
도 4는 6B/5B 디스패리티 분류식을 도시한 도표이다.4 is a diagram illustrating the 6B / 5B disparity classification equation.
도 5는 4B/3B 디스패리티 분류식을 도시한 도표이다.5 is a diagram illustrating a 4B / 3B disparity classification formula.
도 6a는 본 발명의 RD6 검출부(330)의 상세 블록도이다.6A is a detailed block diagram of the RD6 detection unit 330 of the present invention.
도 6b는 본 발명의 RD4 검출부(335)의 상세 블록도이다.6B is a detailed block diagram of the RD4 detection unit 335 of the present invention.
도 7은 running disparity 오류의 8가지 유형을 도시한 도표이다.7 is a diagram illustrating eight types of running disparity errors.
도 8은 8B/10B 선로부호규칙 오류의 9가지 유형을 도시한 도표이다.8 is a diagram illustrating nine types of 8B / 10B line code rule errors.
도 9는 본 발명의 8B/10B 선로부호그룹 적절성 검출 방법의 플로우차트이다.9 is a flowchart of the 8B / 10B line code group suitability detection method of the present invention.
상기의 과제를 이루기 위하여 본 발명에 의한 선로부호그룹 적절성 검출장치는, 8B/10B 선로부호그룹을 입력받아, 입력받은 8B/10B 선로부호그룹의 하위 6 비트 니블의 디스패리티를 분류하여 그 특성정보를 출력하는 6B/5B 디스패리티 분류부; 상기 입력받은 8B/10B 선로부호그룹의 상위 4 비트 니블의 디스패리티를 분류하여 그 특성정보를 출력하는 4B/3B 디스패리티 분류부; 이전에 수신된 8B/10B 선로부호그룹의 running disparity와 상기 하위 6 비트 니블의 디스패리티 분류 특성정보를 입력받아, 상기 8B/10B 선로부호그룹 하위 6비트 니블에 대한 running disparity를 생성하는 RD6 검출부; 상기 RD6 검출부에서 출력된 하위 6비트 니블에 대한 running disparity와 상기 상위 4 비트 니블의 디스패리티 분류 특성정보를 입력받아, 상기 8B/10B 선로부호그룹 상위 4비트 니블에 대한 running disparity를 생성하는 RD4 검출부; 상기 입력받은 8B/10B 선로부호그룹이 소정의 선로부호규칙을 위배하였는가를 검출하는 8B/10B 선로부호규칙 위배 검출부; 상기 하위 6 비트 니블의 디스패리티 분류 특성정보, 상기 상위 4 비트 니블의 디스패리티 분류 특성정보, 이전에 수신된 8B/10B 선로부호그룹의 running disparity 및 상기 RD6 검출부에서 출력된 하위 6비트 니블에 대한 running disparity를 입력받아, 상기 8B/10B 선로부호그룹의 하위 6 비트 니블에 대한 running disparity 오류와 상위 4 비트 니블에 대한 오류를 검출하는 RD 오류 검출부; 및 상기 8B/10B 선로부호규칙위배 검출부의 출력신호와 상기 RD 오류 검출부의 오류신호를 입력받아 조합하여 상기 입력받은 8B/10B 선로부호그룹의 적절성 여부를 출력하는 수단을 구비한다.In order to achieve the above object, the apparatus for detecting a line code group suitability according to the present invention receives an 8B / 10B line code group, classifies the disparity of the lower 6 bit nibbles of the received 8B / 10B line code group, and displays its characteristic information. 6B / 5B disparity classification unit for outputting the; A 4B / 3B disparity classification unit for classifying the disparity of the upper 4-bit nibbles of the received 8B / 10B line code group and outputting characteristic information; An RD6 detector configured to receive a previously received running disparity of the 8B / 10B line code group and disparity classification characteristic information of the lower 6-bit nibble, and to generate a running disparity for the lower 6-bit nibble of the 8B / 10B line code group; An RD4 detector configured to receive the running disparity of the lower 6-bit nibble and the disparity classification characteristic information of the upper 4-bit nibble output from the RD6 detector and to generate a running disparity of the upper 4-bit nibble of the 8B / 10B line code group ; An 8B / 10B line code rule violation detector for detecting whether the received 8B / 10B line code group violates a predetermined line code rule; Disparity classification characteristic information of the lower 6 bit nibble, disparity classification characteristic information of the upper 4 bit nibble, running disparity of a previously received 8B / 10B line code group, and the lower 6 bit nibble outputted from the RD6 detection unit an RD error detection unit configured to receive a running disparity and detect a running disparity error for a lower 6 bit nibble and an error for an upper 4 bit nibble of the 8B / 10B line code group; And an output signal of the 8B / 10B line code violation rule detection unit and an error signal of the RD error detection unit to combine and output the appropriateness of the received 8B / 10B line code group.
상기의 과제를 이루기 위하여 본 발명에 의한 선로부호그룹 적절성 검출방법은, 8B/10B 선로부호그룹을 입력받아, 입력받은 8B/10B 선로부호그룹의 하위 6 비트 니블의 디스패리티를 분류하여 그 특성정보를 출력하는 단계; 상기 입력받은 8B/10B 선로부호그룹의 상위 4 비트 니블의 디스패리티를 분류하여 그 특성정보를 출력하는 단계; 이전에 수신된 8B/10B 선로부호그룹의 running disparity와 상기 하위 6 비트 니블의 디스패리티 분류 특성정보를 입력받아, 상기 8B/10B 선로부호그룹 하위 6비트 니블에 대한 running disparity를 생성하는 단계; 상기 출력된 하위 6비트 니블에 대한 running disparity와 상기 상위 4 비트 니블의 디스패리티 분류 특성정보를 입력받아, 상기 8B/10B 선로부호그룹 상위 4비트 니블에 대한 running disparity를 생성하는 단계; 상기 입력받은 8B/10B 선로부호그룹이 소정의 선로부호규칙을 위배하였는가를 검출하는 단계; 상기 하위 6 비트 니블의 디스패리티 분류 특성정보, 상기 상위 4 비트 니블의 디스패리티 분류 특성정보, 이전에 수신된 8B/10B 선로부호그룹의 running disparity 및 상기 출력된 하위 6비트 니블에 대한 running disparity를 입력받아, 상기 8B/10B 선로부호그룹의 하위 6 비트 니블에 대한 running disparity 오류와 상위 4 비트 니블에 대한 오류를 검출하는 단계; 및 상기 선로부호규칙 위배 출력신호와 상기 오류신호를 입력받아 조합하여 상기 입력받은 8B/10B 선로부호그룹의 적절성 여부를 출력하는 단계를 구비한다.In order to achieve the above object, according to the present invention, the method for detecting a track code group suitability according to the present invention receives an 8B / 10B line code group, classifies the disparity of the lower 6-bit nibbles of the received 8B / 10B line code group, and displays the characteristic information Outputting; Classifying the disparity of the upper 4 bit nibbles of the received 8B / 10B line code group and outputting characteristic information thereof; Generating a running disparity for the lower 6-bit nibble of the 8B / 10B line code group by receiving the previously received running disparity of the 8B / 10B line code group and the disparity classification characteristic information of the lower 6-bit nibble; Receiving running disparity of the output lower 6-bit nibble and disparity classification characteristic information of the upper 4-bit nibble, and generating a running disparity of the upper 4-bit nibble of the 8B / 10B line code group; Detecting whether the received 8B / 10B line code group violates a predetermined line code rule; Disparity classification characteristic information of the lower 6 bit nibble, disparity classification characteristic information of the upper 4 bit nibble, running disparity of a previously received 8B / 10B line code group, and running disparity of the outputted lower 6 bit nibble Receiving an input, detecting a running disparity error for a lower 6 bit nibble and an error for a higher 4 bit nibble of the 8B / 10B line code group; And outputting whether or not the received 8B / 10B line code group is appropriate by combining and receiving the line code violation signal and the error signal.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
8B/10B 선로부호 기술을 사용하는 데이터 송수신 방법에서, 디스패리티(disparity)는 8B/10B 선로부호그룹에서 비트의 값이 0인 비트들의 수와 1인 비트들의 수의 차이를 의미하며, 러닝 디스패리티(running disparity)는 연속되는 8B/10B 선로부호그룹 열의 디스패리티의 합을 의미한다. 그리고, 8B/10B 선로부호 기술을 사용하는 데이터 송수신 방법에서 run length 는 선로상의 직렬 데이터 또는 8B/10B 선로부호그룹 내에서, 연속되는 0 또는 1인 비트의 수를 의미한다.In the data transmission / reception method using the 8B / 10B line coding technique, disparity means a difference between the number of bits having a value of 0 and the number of bits having 1 in the 8B / 10B line code group. Parity (running disparity) means the sum of disparities of consecutive 8B / 10B line code group strings. In the data transmission / reception method using the 8B / 10B line coding technology, run length means the number of consecutive zero or one bits in the 8B / 10B line code group on the line.
8B/10B 선로부호그룹으로 변환되기 전 8 비트 단위 데이터의 각 비트를 하위 비트부터 차례로 "ABCDEFGH"라고 표시하고, 10 비트로 변환된 후의 8B/10B 선로부호그룹의 각 비트를 하위 비트부터 차례로 "abcdeifghj"라고 표시하면, 8B/10B 선로부호를 사용하는 데이터 송수신 방법에서는 "abcdei"와 "fghj"의 run length를 각각 4와 3 이하로 제한하고 있으며, 따라서 각 니블(nibble)의 디스패리티는 +2, -2, 0 중에 하나가 된다.Each bit of the 8-bit unit data before the conversion to the 8B / 10B line code group is designated as "ABCDEFGH" in order from the lower bit, and each bit of the 8B / 10B line code group after the conversion to 10 bit is made in order from the lower bit to "abcdeifghj ", The data transmission / reception method using the 8B / 10B line code limits the run lengths of" abcdei "and" fghj "to 4 and 3 or less, so that the disparity of each nibble is +2. , -2, 0.
이를 상세히 설명하면, "abcdei" 의 경우 최대 4개의 비트가 0 또는 1이 될 수 있으므로, (0의 갯수, 1의 갯수) 의 가능한 갯수의 쌍은 (2개, 4개), (3개, 3개), (4개, 2개) 외에는 될 수 없어 디스패리티는 +2, -2, 0 중에 하나가 된다. "fghj" 의 경우에는 최대 3개의 비트가 0 또는 1이 될 수 있으므로, (0의 갯수, 1의 갯수) 의 가능한 갯수의 쌍은 (1개, 3개), (2개, 2개), (3개, 1개) 외에는 될 수 없어 디스패리티는 +2, -2, 0 중에 하나가 된다.In detail, in the case of "abcdei", a maximum of four bits may be 0 or 1, so that the number of possible pairs of (number of 0, number of 1) is (2, 4), (3, 3), (4, 2) can not be, so the disparity is one of +2, -2, 0. In the case of "fghj", the maximum number of three bits can be zero or one, so the possible pairs of (number of zeros, number of ones) are (1, 3), (2, 2), It can only be 3 or 1, and the disparity is one of +2, -2, and 0.
8B/10B 선로부호 기술을 사용하는 데이터 송수신 방법에서는, 송신측에서 8비트 데이터 열을 8B/10B 선로부호그룹으로 변환할 때 +2 또는 -2의 동일한 디스패리티를 갖는 8B/10B 선로부호그룹이 연속되지 않도록 하는 소정의 규칙을 적용하기 때문에 수신측에서는 수신된 8B/10B 선로부호그룹 열이 그러한 소정의 규칙을 위반하고 있는지 여부를 판단하고 이를 알릴 필요가 있다.In the data transmission / reception method using the 8B / 10B line coding technique, when the transmitting side converts an 8-bit data string to an 8B / 10B line code group, an 8B / 10B line code group having the same disparity of +2 or -2 Since a predetermined rule is applied so as not to be continuous, the receiving side needs to determine whether the received 8B / 10B line code group string violates such predetermined rule and inform it.
일반적으로 8B/10B 선로부호 기술을 사용하는 데이터 송수신 방법에서 수신측에 수신된 8B/10B 선로부호그룹을 8 비트 단위 데이터 열로 변환하는 규칙은 도 1과 도 2를 따른다.In general, in the data transmission / reception method using the 8B / 10B line coding technique, a rule for converting an 8B / 10B line code group received at a receiver into an 8-bit unit of data stream is described with reference to FIGS. 1 and 2.
도 1은 수신된 8B/10B 선로부호그룹의 6B/5B 디코딩 테이블이다.1 is a 6B / 5B decoding table of a received 8B / 10B line code group.
즉, 수신된 8B/10B 선로부호그룹의 각 비트를 하위 비트부터 차례로 "abcdeifghj"라고 표시하고 변환된 8 비트 단위 데이터의 각 비트를 하위 비트부터 차례로 "ABCDEFGH"라고 표시하면, 도 1은 수신된 8B/10B 선로부호그룹의 하위 6 비트 니블인 "abcdei" 를 "ABCDE" 로 변환하는 6B/5B 디코딩 규칙을 도시한 것이다.That is, when each bit of the received 8B / 10B line code group is indicated as "abcdeifghj" in order from the lower bits and each bit of the converted 8-bit unit data is indicated as "ABCDEFGH" in order from the lower bits, FIG. 6B / 5B decoding rules for converting the lower 6 bit nibble of the 8B / 10B line code group "abcdei" into "ABCDE".
도 2는 수신된 8B/10B 선로부호그룹의 4B/3B 디코딩 테이블이다.2 is a 4B / 3B decoding table of a received 8B / 10B line code group.
즉, 수신된 8B/10B 선로부호그룹의 상위 4 비트 니블인 "fghj"를 "FGH"로 변환하는 4B/3B 디코딩 규칙을 도시한 것이다. 도 1과 도 2에서 D0은 8B/10B 선로부호그룹의 각 니블이 갖는 디스패리티를 의미하며, D-1은 현재 수신된 니블에 대해 이전에 수신된 니블이 소정의 러닝 디스패리티 규칙에 따라 가지고 있어야 하는 디스패리티를 의미한다.That is, a 4B / 3B decoding rule for converting the high four-bit nibble "fghj" of the received 8B / 10B line code group into "FGH" is shown. In FIG. 1 and FIG. 2, D0 means disparity of each nibble of the 8B / 10B line code group, and D-1 means that the previously received nibble for the currently received nibble has a predetermined running disparity rule. It means disparity that should be.
그리고, 도 1과 도 2에서 각 니블이 갖는 디스패리티가 +2이면 + 로 표시하고 -2이면 - 로 표시하며 0이면 0으로 표시한다. x 는 디스패리티인 경우에는 D-1이 - 또는 + 임을 의미하고, 임의의 비트 값인 경우에는 1 또는 0임을 의미한다.In addition, in FIG. 1 and FIG. 2, if the disparity of each nibble is +2, + is displayed, -2 is-, and 0 is 0. x means that D-1 is-or + for disparity, and 1 or 0 for any bit value.
도 1의 처음으로 수신된 8B/10B 선로부호그룹인 D.0의 "abcdei" 값은 "011000" 이므로 0의 갯수는 4개, 1의 갯수는 2개로 디스패리티 D0는 -2가 되므로 - 로 표시된다. 다음에 수신된 D.0 의 "abcdei" 값은 "100111" 이므로 0의 갯수는 2개, 1의 갯수는 4개로 디스패리티 D0는 +2가 되므로 + 로 표시된다.Since the "abcdei" value of the first 8B / 10B line code group of FIG. 1 is "011000", the number of zeros is four and the number of ones is two, and the disparity D0 becomes -2. Is displayed. Since the "abcdei" value of D.0 received is "100111", the number of zeros is two and the number of ones is four, and the disparity D0 becomes +2.
D-1 에 대하여 상세히 설명하면, 8B/10B 인코더가 8 비트 데이터를 10 비트 선로부호그룹으로 변환할 때 이전에 송신된 선로부호그룹에서의 running disparity를 고려한다. 즉, 이전의 running disparity가 + (positive) 이면 현재 송신할 선로부호그룹은 - 의 디스패리티(negative disparity) 또는 중립 디스패리티(neutral disparity)를 갖고, 이전의 running disparity가 - (negative) 이면 현재 송신할 선로부호그룹은 + 의 디스패리티(positive disparity) 또는 중립 디스패리티(neutral disparity)를 갖는다.In detail with respect to D-1, when the 8B / 10B encoder converts 8-bit data into a 10-bit line code group, the running disparity in the previously transmitted line code group is considered. That is, if the previous running disparity is + (positive), the currently transmitted line code group has a negative or neutral disparity of-and the current transmission if the previous running disparity is-(negative) A group of track symbols has a positive disparity or a neutral disparity.
또한, 선로부호그룹은 6 비트 니블과 4 비트 니블로 구성되는데 각 니블에 대해서도 동일한 규칙이 적용된다. 현재 시점을 기준으로, D0은 현재 수신된 니블의 디스패리티 값이고, D-1은 이전에 수신된 니블까지의 running disparity이다. 따라서, D0가 + 이면 D-1은 - 이어야 하고, D0가 - 이면 D-1은 + 이어야 하며, D0가 0(neutral)이면 D-1의 값은 돈 캐어(Don't Care)이다. 다만, 예외적으로 D.7과 D/K.x.3은 D0가 0 인 데도 불구하고, D-1이 + 또는 - 인 경우가 존재한다. 이 경우에는 도 1과 도 2에서 보는 바와 같이 D0의 니블이 소정의 규칙과 다르게 코딩되어 있음을 알 수 있다.In addition, the line code group is composed of 6-bit nibbles and 4-bit nibbles. The same rule applies to each nibble. Based on the current time point, D0 is a disparity value of a currently received nibble, and D-1 is a running disparity up to a previously received nibble. Therefore, if D0 is +, D-1 must be-; if D0 is-, D-1 must be +; if D0 is 0 (neutral), the value of D-1 is Don't Care. The only exceptions to D.7 and D / K.x.3 are that D-1 is + or-even though D0 is 0. In this case, as shown in FIGS. 1 and 2, it can be seen that the nibble of D0 is coded differently from a predetermined rule.
K는 특별 선로부호그룹(special code group)의 사용을 의미한다. 특별 선로부호그룹(special code group)은 전송 프레임의 경계(시작과 끝)를 알리고, 선로부호그룹에 대한 동기(synchronization)를 맞추기 위한 것으로 기가비트 이더넷 규격에 상세히 설명되어 있다.K means the use of a special code group. A special code group is used to inform the boundary (start and end) of a transmission frame and to synchronize synchronization with the line code group, which is described in detail in the Gigabit Ethernet specification.
도 3은 본 발명의 8B/10B 선로부호그룹 적절성 검출 장치의 블록도이다.3 is a block diagram of an 8B / 10B line code group suitability detection apparatus of the present invention.
본 발명의 8B/10B 선로부호그룹 적절성 검출 장치는 입력버퍼(305), 6B/5B 디스패리티 분류부(310), 4B/3B 디스패리티 분류부(315), D6B 버퍼(320), D4B 버퍼(325), RD6 검출부(330), RD4 검출부(335), RDP 버퍼(340), RD 오류 검출부(345), 8B/10B 선로부호규칙 위배 검출부(350), CRVB 버퍼(355), 제1 OR 게이트(360), RDV 버퍼(365), CRV 버퍼(370) 및 제2 OR 게이트(375)로 구성된다.The 8B / 10B line code group suitability detection apparatus of the present invention includes an input buffer 305, a 6B / 5B disparity classification unit 310, a 4B / 3B disparity classification unit 315, a D6B buffer 320, and a D4B buffer ( 325, RD6 detector 330, RD4 detector 335, RDP buffer 340, RD error detector 345, 8B / 10B line code violation rule detector 350, CRVB buffer 355, first OR gate 360, an RDV buffer 365, a CRV buffer 370, and a second OR gate 375.
입력버퍼(305)는 수신된 직렬 데이터를 10 비트 병렬 데이터로 만들 때 사용된 바이트 클럭(Byte Clock) RCLK의 상승 또는 하강 에지 순간에 8B/10B 선로부호그룹(CG_RD[9:0])을 입력받아 버퍼링하여 출력한다.The input buffer 305 inputs the 8B / 10B line code group (CG_RD [9: 0]) at the rising or falling edge of the byte clock RCLK used to convert the received serial data into 10-bit parallel data. It receives and buffers the output.
바이트 클럭 RCLK는 전송 선로를 통해 수신측에 직렬로 수신된 데이터 열에서 복원된 비트 클럭(bit clock)을 10 분주하여 얻은 클럭으로서, 8B/10B 선로부호그룹 형태를 갖는 10 비트 병렬 데이터로 정렬하는데 사용되며, 이후 8B/10B 선로부호그룹을 처리하는 모든 기능부에 사용된다.The byte clock RCLK is a clock obtained by dividing a bit clock recovered from a series of data received serially to a receiver through a transmission line and arranged into 10-bit parallel data having an 8B / 10B line code group type. It is then used for all functional units handling the 8B / 10B line code group.
6B/5B 디스패리티 분류부(310)는 8B/10B 선로부호그룹의 하위 6 비트 니블인 abcdei가 갖는 디스패리티 특성을 도 1을 참조하여 4가지(P2ND6, N2PD6, P2LD6, N2LD6)로 분류하여 출력한다. 도 1을 참조하여 상세히 설명하면, D-1이 +이고 D0이-인 경우와, D-1이 -이고 D0이 +인 경우와, D-1이 +이고 D0이 0인 경우와, D-1이 -이고 D0이 0인 경우의 모두 4가지 유형으로 나누는 것이다.The 6B / 5B disparity classification unit 310 classifies and outputs the disparity characteristics of the lower 6-bit nibble abcdei of the 8B / 10B line code group into four types (P2ND6, N2PD6, P2LD6, and N2LD6) with reference to FIG. do. Referring to FIG. 1 in detail, when D-1 is + and D0 is-, when D-1 is-and D0 is +, when D-1 is + and D0 is 0, and D- When 1 is-and D0 is 0, all four types are divided.
입력버퍼(305)에서 출력된 CG_RD[9:0] 와 동일한 값을 갖는 8B/10B 선로부호그룹의 하위 6 비트 니블을 최하위 비트부터 각각 a, b, c, d, e, i로 표시하고, 도 1과 도 3을 참조하여 상기 4가지 유형을 각각 P2ND6, N2PD6, P2LD6, N2LD6으로 표시하는 경우, 상기 4가지 유형을 조합논리수식으로 표현하면 도 4에 도시한 바와 같다.The lower 6 bit nibbles of the 8B / 10B line code group having the same value as the CG_RD [9: 0] output from the input buffer 305 are represented by a, b, c, d, e, and i from the least significant bit, respectively. Referring to FIGS. 1 and 3, the four types are represented as P2ND6, N2PD6, P2LD6, and N2LD6, respectively.
도 4는 6B/5B 디스패리티 분류식을 도시한 도표이다.4 is a diagram illustrating the 6B / 5B disparity classification equation.
도 4를 참조하면, P2ND6은 하위 6 비트 니블의 디스패리티가 - 임을 의미하고, N2PD6은 하위 6 비트 니블의 디스패리티가 + 임을 의미하고, P2LD6은 하위 6 비트 니블의 abcdei가 "000111" 임을 의미하고, N2LD6은 하위 6 비트 니블의 abcdei가 "111000" 임을 의미한다.4, P2ND6 means that the disparity of the lower 6 bit nibbles is-, N2PD6 means that the disparity of the lower 6 bit nibbles is +, and P2LD6 means that the abcdei of the lower 6 bit nibbles is "000111". N2LD6 means that the abcdei of the lower 6 bit nibble is “111000”.
4B/3B 디스패리티 분류부(315)는 8B/10B 선로부호그룹의 상위 4 비트 니블인 fghj가 갖는 디스패리티 특성을 도 2를 참조하여 4가지(P2ND4, N2PD4, P2LD4, N2LD4)로 분류하여 출력한다. 도 2를 참조하여 상세히 설명하면, D-1이 +이고 D0이 - 인 경우와, D-1이 - 이고 D0이 +인 경우와, D-1이 +이고 D0이 0인 경우와, D-1이 - 이고 D0이 0인 경우의 모두 4가지 유형으로 나누는 것이다. 입력버퍼(305)에서 출력된 CG_RD[9:0]와 동일한 값을 갖는 8B/10B 선로부호그룹의 상위 4 비트 니블을 최하위 비트부터 각각 f, g, h, j로 표시하고 도 2와 도3을 참조하여 상기 4가지 유형을 각각 P2ND4, N2PD4, P2LD4, N2LD4로 표시하는 경우, 상기 4가지 유형을 조합논리수식으로 표현하면 도 5에 도시한 바와 같다.The 4B / 3B disparity classification unit 315 classifies and outputs the disparity characteristics of the high 4 bit nibble of the 8B / 10B line code group into 4 types (P2ND4, N2PD4, P2LD4, and N2LD4) with reference to FIG. do. Referring to FIG. 2, when D-1 is + and D0 is-, when D-1 is-and D0 is +, when D-1 is + and D0 is 0, and D- When 1 is-and D0 is 0, all four types are divided. The upper four bit nibbles of the 8B / 10B line code group having the same value as the CG_RD [9: 0] output from the input buffer 305 are represented by f, g, h, and j, respectively, from the least significant bit, respectively. When the four types are represented by P2ND4, N2PD4, P2LD4, and N2LD4 with reference to FIG. 5, the four types may be expressed by a combinational logic equation as shown in FIG.
도 5는 4B/3B 디스패리티 분류식을 도시한 도표이다.5 is a diagram illustrating a 4B / 3B disparity classification formula.
도 5를 참조하면, P2ND4는 상위 4 비트 니블의 디스패리티가 -임을 의미하고, N2PD4는 상위 4 비트 니블의 디스패리티가 +임을 의미하고, P2LD4는 상위 4 비트 니블의 fghj가 "0011"임을 의미하고, N2LD4는 상위 4 비트 니블의 fghj가 "1100"임을 의미한다.Referring to FIG. 5, P2ND4 means that the disparity of the upper 4 bit nibbles is-, N2PD4 means that the disparity of the upper 4 bit nibbles is +, and P2LD4 means that fghj of the upper 4 bit nibbles is "0011". And, N2LD4 means that the fghj of the upper 4 bit nibble is "1100".
D6B 버퍼(320)는 바이트 클럭 RCLK의 상승 또는 하강 에지에 동기하여 P2ND6, N2PD6, P2LD6, N2LD6 를 입력받아 버퍼링하여 P2ND6B, N2PD6B, P2LD6B, N2LD6B를 출력한다.The D6B buffer 320 receives and buffers P2ND6, N2PD6, P2LD6, and N2LD6 in synchronization with the rising or falling edge of the byte clock RCLK to output P2ND6B, N2PD6B, P2LD6B, and N2LD6B.
D4B 버퍼(325)는 바이트 클럭 RCLK의 상승 또는 하강 에지에 동기하여 P2ND4, N2PD4, P2LD4, N2LD4 를 입력받아 버퍼링하여 P2ND4B, N2PD4B, P2LD4B, N2LD4B를 출력한다.The D4B buffer 325 receives and buffers P2ND4, N2PD4, P2LD4, and N2LD4 in synchronization with the rising or falling edge of the byte clock RCLK to output P2ND4B, N2PD4B, P2LD4B, and N2LD4B.
RD6 검출부(330)는 현재 running disparity 검출과정에 있는 8B/10B 선로부호그룹에 대해 이전에 수신된 8B/10B 선로부호그룹의 running disparity인 RDP와 D6B 버퍼(320)에서 출력된 버퍼링된 신호 P2ND6B, N2PD6B 를 입력받아 8B/10B 선로부호그룹의 하위 6 비트 니블에 대한 running disparity를 출력한다.The RD6 detection unit 330 is a buffered signal P2ND6B, which is output from the RDP and D6B buffer 320 that are the running disparity of the 8B / 10B line code group previously received for the 8B / 10B line code group currently in the process of running disparity detection. It receives N2PD6B and outputs running disparity for the lower 6 bits of the 8B / 10B line code group.
도 6a는 본 발명의 RD6 검출부(330)의 상세 블록도이다.6A is a detailed block diagram of the RD6 detection unit 330 of the present invention.
도 6a를 참조하여 출력값 RD6를 상세히 설명하면, 만일 P2ND6B가 1이면 다른 입력값에 관계없이 RD6는 0이 되고, N2PD6B가 1이면 RD6는 1이 되며, P2ND6B가 0이고 N2PD6B가 0이면 RD6는 RDP 값을 그대로 출력한다. P2ND6, N2PD6, P2LD6, N2LD6는 서로 배타적이므로 하나의 값이 '1'이면, 나머지 세 개의 값은 모두 '0'이 되기 때문에 상술한 것과 같은 결과가 얻어진다.Referring to FIG. 6A, the output value RD6 will be described in detail. If P2ND6B is 1, RD6 becomes 0 regardless of other input values. If N2PD6B is 1, RD6 becomes 1. If P2ND6B is 0 and N2PD6B is 0, RD6 is RDP. Print the value as it is. Since P2ND6, N2PD6, P2LD6, and N2LD6 are mutually exclusive, when one value is '1', all three values become '0', and thus the same result as described above is obtained.
RD4 검출부(335)는 RD6 검출부(330)에서 출력된 RD6와 D4B 버퍼(325)에서 출력된 버퍼링된 신호 P2ND4B, N2PD4B 를 입력받아 8B/10B 선로부호그룹의 상위 4 비트 니블에 대한 running disparity를 출력한다.The RD4 detector 335 receives the RD6 output from the RD6 detector 330 and the buffered signals P2ND4B and N2PD4B output from the D4B buffer 325 and outputs the running disparity for the upper 4 bit nibbles of the 8B / 10B line code group. do.
도 6b는 본 발명의 RD4 검출부(335)의 상세 블록도이다.6B is a detailed block diagram of the RD4 detection unit 335 of the present invention.
도 6b를 참조하여 출력값 RD4를 상세히 설명하면, 만일 P2ND4B가 1이면 RD4는 0이 되고, N2PD4B가 1이면 RD4는 1이 되고, P2ND4B가 0이고 N2PD4B가 0이면 RD4는 RD6 값을 그대로 출력한다. P2ND6, N2PD6, P2LD6, N2LD6와 마찬가지로 P2ND4, N2PD4, P2LD4, N2LD4도 서로 배타적이므로 하나의 값이 '1'이면, 나머지 세 개의 값은 모두 '0'이 되기 때문에 상술한 것과 같은 결과가 얻어진다.Referring to FIG. 6B, the output value RD4 is described in detail. If P2ND4B is 1, RD4 becomes 0. If N2PD4B is 1, RD4 becomes 1, and if P2ND4B is 0 and N2PD4B is 0, RD4 outputs the RD6 value as it is. Like P2ND6, N2PD6, P2LD6, and N2LD6, P2ND4, N2PD4, P2LD4, and N2LD4 are mutually exclusive, so if one value is '1', all three values become '0', and thus the same result as described above is obtained.
RDP 버퍼(340)는 다음 8B/10B 선로부호그룹의 running disparity를 검출하기 위해 RCLK의 상승 또는 하강 에지 순간에 RD4 검출부(335)에서 출력된 RD4를 입력받아 RD4와 동일한 값을 갖는 RDP를 출력한다. 따라서, RDP 버퍼(340)에서 출력되는 running disparity RDP는 현재 시점을 기준으로 이전 running disparity이다.The RDP buffer 340 receives the RD4 output from the RD4 detector 335 at the rising or falling edge of RCLK to output the RDP having the same value as the RD4 to detect the running disparity of the next 8B / 10B line code group. . Therefore, the running disparity RDP output from the RDP buffer 340 is a previous running disparity based on the current time.
RD 오류 검출부(345)는 RDP, P2ND6B, N2PD6B, P2LD6B, N2LD6B 를 입력받아 8B/10B 선로부호그룹의 하위 6 비트 니블에 대한 running disparity 오류를 검출하고, RD6, P2ND4B, N2PD4B, P2LD4B, N2LD4B 를 입력받아 8B/10B 선로부호그룹의 상위 4 비트 니블에 대한 running disparity 오류를 검출한다.The RD error detection unit 345 receives RDP, P2ND6B, N2PD6B, P2LD6B, and N2LD6B to detect running disparity errors for the lower 6 bit nibbles of the 8B / 10B line code group, and inputs RD6, P2ND4B, N2PD4B, P2LD4B, and N2LD4B. Detects a running disparity error for the upper 4 bits of the 8B / 10B line code group.
running disparity 오류는 모두 8가지 유형으로 분류되며, 그 유형 각각을RDV1, RDV2, RDV3, RDV4, RDV5, RDV6, RDV7, RDV8이라 하는 경우, 조합논리 수식으로 표현하면 도 7에 도시한 바와 같다.Running disparity errors are classified into eight types, and each of the types is RDV1, RDV2, RDV3, RDV4, RDV5, RDV6, RDV7, and RDV8.
도 7은 running disparity 오류의 8가지 유형을 도시한 도표이다.7 is a diagram illustrating eight types of running disparity errors.
도 7을 참조하면, RD 오류 검출부(345)는 입력된 신호로부터 running disparity 오류의 8가지 유형에 해당되는 경우가 하나라도 발생하면 running disparity 오류임을 나타내는 신호를 발생시켜 출력한다.Referring to FIG. 7, the RD error detection unit 345 generates and outputs a signal indicating that a running disparity error occurs even if any one of eight types of running disparity errors occurs from the input signal.
8B/10B 선로부호규칙 위배 검출부(350)는 8B/10B 선로부호그룹에 대해 소정의 8B/10B 선로부호규칙을 위배하는 경우를 9가지(CRV1, CRV2, CRV3, CRV4, CRV5, CRV6, CRV7, CRV8, CRV9)로 분류하여 입력버퍼(305)에서 출력된 8B/10B 선로부호그룹에 대해 각각의 경우에 대한 위배 여부를 판별한다.The 8B / 10B line code rule violation detection unit 350 detects nine cases of violation of the predetermined 8B / 10B line code rule for the 8B / 10B line code group (CRV1, CRV2, CRV3, CRV4, CRV5, CRV6, CRV7, CRV8, CRV9) are used to determine whether the 8B / 10B line code group output from the input buffer 305 is in violation of each case.
이제, 소정의 8B/10B 선로부호규칙을 위배하는 경우에 대해서 좀 더 구체적으로 설명한다. 8B/10B 인코더는 8 비트 데이터를 10 비트의 선로부호그룹으로 1:1 맵핑(mapping)하기 때문에, 만들어질 수 있는 10 비트의 선로부호그룹은 10 비트를 조합해 만들 수 있는 선로부호그룹의 극히 일부만 될 수 있다.Now, a case of violating a predetermined 8B / 10B line code rule will be described in more detail. Since the 8B / 10B encoder maps 8-bit data into a 10-bit line code group 1: 1, a 10-bit line code group that can be created is a very small group of line code groups that can be made by combining 10 bits. Only part can be.
즉, 8B/10B 인코더에 의해 만들어질 수 있는 10 비트의 선로부호그룹은 인코더의 8 비트 입력데이터에 따라 이미 그 결과가 정해진다. 물론 이전 running disparity가 + 이었는지 - 이었는지에 따라서 두 가지의 결과가 나오지만 이것 또한 미리 정해져 있는 것이다. 도 1의 6B/5B 디코딩 테이블과 도 2의 4B/3B 디코딩 테이블을 참조하면 각각 6 비트 니블과 4 비트 니블에 따라서 디코더의 출력이 1:1로 맵핑되어 있는 것을 알 수 있다.That is, the 10-bit line code group that can be produced by the 8B / 10B encoder is already determined according to the 8-bit input data of the encoder. Of course, there are two results depending on whether the previous running disparity was + or-but this is also predetermined. Referring to the 6B / 5B decoding table of FIG. 1 and the 4B / 3B decoding table of FIG. 2, it can be seen that the outputs of the decoders are mapped 1: 1 according to 6-bit nibbles and 4-bit nibbles, respectively.
따라서, 소정의 8B/10B 선로부호규칙을 위배하는 경우라는 것은 이러한 변환 규칙상에 존재하지 않는 선로부호그룹을 말한다. 다시 말해 매핑 테이블 상에 존재하지 않는 선로부호그룹을 수신하게 되면, 이 경우가 곧 선로부호규칙을 위배하는 경우가 된다. 예를 들어, a=b=c=d 인 경우(즉, a, b, c, d가 동일한 값을 갖는 경우)는 도 1의 6B/5B 디코딩 테이블에서 찾을 수 없다.Therefore, a case of violating a predetermined 8B / 10B line code rule refers to a line code group that does not exist in such a conversion rule. In other words, if a line code group that does not exist in the mapping table is received, this case violates the line code rule. For example, the case where a = b = c = d (ie, a, b, c, d have the same value) cannot be found in the 6B / 5B decoding table of FIG. 1.
도 8은 8B/10B 선로부호규칙 오류의 9가지 유형을 도시한 도표이다.8 is a diagram illustrating nine types of 8B / 10B line code rule errors.
즉, 유형 각각을 CRV1, CRV2, CRV3, CRV4, CRV5, CRV6, CRV7, CRV8, CRV9라 하는 경우, 출력되는 값 각각을 조합논리 수식으로 표현한 것이다. 다시 말하면, 상술한 바와 같이 8B/10B 인코더에 의해 만들어질 수 없는, 또는 만들어져서는 안되는 10 비트 선로부호그룹의 조합을 논리식으로 표현한 것이다.That is, when each type is called CRV1, CRV2, CRV3, CRV4, CRV5, CRV6, CRV7, CRV8, and CRV9, each output value is expressed by a combinational logic formula. In other words, as described above, a combination of 10-bit line code groups that cannot or cannot be made by the 8B / 10B encoder is expressed logically.
CRVB 버퍼(355)는 RCLK의 상승 또는 하강 에지 순간에 CRV1, CRV2, CRV3, CRV4, CRV5, CRV6, CRV7, CRV8, CRV9 를 입력받아 버퍼링된 신호 CRV1B, CRV2B, CRV3B, CRV4B, CRV5B, CRV6B, CRV7B, CRV8B, CRV9B를 출력한다.The CRVB buffer 355 receives CRV1, CRV2, CRV3, CRV4, CRV5, CRV6, CRV7, CRV8, and CRV9 at the rising or falling edge of RCLK and receives the buffered signals CRV1B, CRV2B, CRV3B, CRV4B, CRV5B, CRV6B, and CRV7B. Outputs CRV8B and CRV9B.
제1 OR 게이트(360)는 CRVB 버퍼(355)에서 출력된 CRV1B, CRV2B, CRV3B, CRV4B, CRV5B, CRV6B, CRV7B, CRV8B, CRV9B 각각의 값 중에 하나라도 1이면 1을 출력하고 그 외에는 0을 출력하는 조합논리 게이트이다.The first OR gate 360 outputs 1 when any one of the values of CRV1B, CRV2B, CRV3B, CRV4B, CRV5B, CRV6B, CRV7B, CRV8B, and CRV9B output from the CRVB buffer 355 is 0, and otherwise, 0 is output. It is a combinational logic gate.
RDV 버퍼(365)는 RCLK의 상승 또는 하강 에지 순간에 RD 오류 검출부(345)에서 출력된 신호를 버퍼링하여 출력하고, CRV 버퍼(370)는 RCLK의 상승 또는 하강 에지 순간에 OR 게이트(360)에서 출력된 값을 입력받아 버퍼링하여 출력한다.The RDV buffer 365 buffers and outputs a signal output from the RD error detection unit 345 at the rising or falling edge of RCLK, and the CRV buffer 370 at the OR gate 360 at the rising or falling edge of RCLK. It receives the output value and buffers it and outputs it.
그리고, 제2 OR 게이트(375)는 CRV 버퍼(370)와 RDV 버퍼(375)에서 출력된값 중에 하나라도 1이면 1을 출력하고 그 외에는 0을 출력하는 조합논리 게이트이다. 따라서 출력신호 INVALID 가 1이면 수신된 선로부호그룹이 부적절한 선로부호그룹, 즉 수신중에 에러가 발생하였다는 것을 의미하고, INVALID가 0이면 수신된 선로부호그룹이 적절한 선로부호그룹, 즉 아무 에러없이 잘 수신되었다는 것을 의미한다.The second OR gate 375 is a combinational logic gate that outputs 1 if any one of the values output from the CRV buffer 370 and the RDV buffer 375 is 1, and 0 otherwise. Therefore, if the output signal INVALID is 1, it means that the received line code group is an inappropriate line code group, that is, an error occurred while receiving. If INVALID is 0, the received line code group is a proper line code group, i.e. without any error. It means that it was received.
도 9는 본 발명의 8B/10B 선로부호그룹 적절성 검출 방법의 플로우차트를 도시한 것이다.9 is a flowchart of the 8B / 10B line code group suitability detection method of the present invention.
우선 8B/10B 선로부호그룹을 입력받아, 입력받은 8B/10B 선로부호그룹의 하위 6 비트 니블의 디스패리티를 분류하여 그 특성정보를 출력한다(S910). 그리고, 이와 함께 입력받은 8B/10B 선로부호그룹의 상위 4 비트 니블의 디스패리티를 분류하여 그 특성정보를 출력한다(S920). 상술한 S910 단계와 S920 단계는 동시에 수행될 수 있다.First, the 8B / 10B line code group is received, the disparity of the lower 6 bit nibbles of the received 8B / 10B line code group is classified, and the characteristic information is output (S910). Then, the disparity of the upper 4-bit nibble of the 8B / 10B line code group received together is classified and output the characteristic information (S920). The above-described step S910 and step S920 may be performed at the same time.
다음으로, 이전에 수신된 8B/10B 선로부호그룹의 running disparity와 (S910) 단계에서 출력된 하위 6 비트 니블의 디스패리티 분류 특성정보를 입력받아, 8B/10B 선로부호그룹 하위 6비트 니블에 대한 running disparity를 생성한다(S930). 그리고 (S930) 단계에서 출력된 하위 6비트 니블에 대한 running disparity와 상위 4 비트 니블의 디스패리티 분류 특성정보를 입력받아, 8B/10B 선로부호그룹 상위 4비트 니블에 대한 running disparity를 생성한다(S940). 상술한 S930 단계와 S940 단계도 동시에 수행될 수 있다.Next, the disparity classification characteristics of the lower 6-bit nibble output in step S910 and the previously received running disparity of the 8B / 10B line code group are received, and the lower 6-bit nibble of the 8B / 10B line code group is received. A running disparity is generated (S930). In operation S930, the disparity classification characteristics of the lower 6-bit nibble and the disparity classification characteristic information of the upper 4-bit nibble are output, and a running disparity is generated for the upper 4-bit nibble of the 8B / 10B line code group (S940). ). Steps S930 and S940 described above may also be performed at the same time.
그리고, 상술한 S910 내지 S940 단계와는 별개로, 입력받은 8B/10B 선로부호그룹이 소정의 선로부호규칙을 위배하였는가를 검출한다(S950). 다음으로, 하위 6 비트 니블의 디스패리티 분류 특성정보, 상위 4 비트 니블의 디스패리티 분류 특성정보, 이전에 수신된 8B/10B 선로부호그룹의 running disparity 및 (S930) 단계에서 출력된 하위 6비트 니블에 대한 running disparity를 입력받아, 8B/10B 선로부호그룹의 하위 6 비트 니블에 대한 running disparity 오류와 상위 4 비트 니블에 대한 오류를 검출한다(S960). 마지막으로 (S950) 단계의 출력신호와 (S960) 단계의 오류신호를 입력받아 조합하여 입력된 8B/10B 선로부호그룹의 적절여부를 출력한다(S970).In addition to the above-described steps S910 to S940, it is detected whether the received 8B / 10B line code group violates a predetermined line code rule (S950). Next, the disparity classification characteristic information of the lower 6 bit nibbles, the disparity classification characteristic information of the upper 4 bit nibbles, the running disparity of the previously received 8B / 10B line code group, and the lower 6 bit nibbles output in step S930. In response to the running disparity of the 8B / 10B line code group, a 6-bit nibble running disparity error and a 4-bit nibble error are detected (S960). Finally, the output signal of the step S950 and the error signal of the step S960 are input and combined to output the appropriateness of the input 8B / 10B line code group (S970).
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.So far I looked at the center of the preferred embodiment for the present invention. Those skilled in the art will appreciate that the present invention can be implemented in a modified form without departing from the essential features of the present invention. Therefore, the disclosed embodiments should be considered in descriptive sense only and not for purposes of limitation. The scope of the present invention is shown in the claims rather than the foregoing description, and all differences within the scope will be construed as being included in the present invention.
상술한 바와 같이 본 발명의 선로부호그룹 적절성 검출장치는, 바이트 클럭인 RCLK 만을 사용함으로써, 종래 니블 클럭과 비트 클럭을 사용하는 running disparity 검출 방법에서 8B/10B 선로부호그룹의 경계를 찾아 10 비트 단위로 직렬/병렬 변환 과정을 거친 데이터를 다시 직렬 데이터로 만들어야 하는 이중작업이 필요하지 않고, 또한 니블 클럭을 만들기 위한 부가적 장치가 필요하지 않은 장점이 있다.As described above, the apparatus for detecting a line code group suitability according to the present invention uses only RCLK as a byte clock to find the boundary of the 8B / 10B line code group in a 10-bit unit in a conventional running disparity detection method using a nibble clock and a bit clock. This does not require the duplication of re-serial data from serial / parallel conversion, and does not require additional devices to make nibble clocks.
그리고, D6B 버퍼, D4B 버퍼, CRVB 버퍼, RDV 버퍼, CRV 버퍼 등을 사용함으로써 종래 기술에 비해 단위 시간 내에 처리해야 되는 조합논리 회로의 수를 나타내는 크리티컬 경로(critical path)가 상대적으로 짧아져서, 기가비트 이더넷 시스템과 같은 고속 시스템에 적용하기에 적합하다. 또한, D6B 버퍼, D4B 버퍼, CRVB 버퍼, RDV 버퍼, CRV 버퍼 등을 사용하고, 6B/5B Disparity 분류부, 4B/3B Disparity 분류부, RD6 검출부, RD4 검출부, RD 오류 검출부 등을 사용함으로써 종래의 running disparity 오류검출방법에 비해 구현상 간단하고, 계산시간을 단축시킬 수 있는 효과가 있다.In addition, by using the D6B buffer, the D4B buffer, the CRVB buffer, the RDV buffer, the CRV buffer, and the like, the critical path representing the number of combinational logic circuits to be processed within a unit time is relatively shorter than that of the prior art, thereby providing a gigabit. It is suitable for high speed system such as Ethernet system. In addition, by using a D6B buffer, a D4B buffer, a CRVB buffer, an RDV buffer, a CRV buffer, and the like, and using a 6B / 5B Disparity classifier, a 4B / 3B Disparity classifier, an RD6 detector, an RD4 detector, an RD error detector, and the like, Compared with the running disparity error detection method, it is simpler to implement and has the effect of reducing the computation time.
Claims (12)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2002-0073312A KR100520302B1 (en) | 2002-11-23 | 2002-11-23 | Apparatus and method for 8B/10B code-group validity check |
US10/718,759 US7205911B2 (en) | 2002-11-23 | 2003-11-21 | Apparatus and method for 8B/10B code-group validity check |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2002-0073312A KR100520302B1 (en) | 2002-11-23 | 2002-11-23 | Apparatus and method for 8B/10B code-group validity check |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20040045511A true KR20040045511A (en) | 2004-06-02 |
KR100520302B1 KR100520302B1 (en) | 2005-10-13 |
Family
ID=32322303
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2002-0073312A KR100520302B1 (en) | 2002-11-23 | 2002-11-23 | Apparatus and method for 8B/10B code-group validity check |
Country Status (2)
Country | Link |
---|---|
US (1) | US7205911B2 (en) |
KR (1) | KR100520302B1 (en) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9059866B2 (en) * | 2005-12-30 | 2015-06-16 | Remec Broadband Wireless Holdings, Inc. | Digital microwave radio system and method with encryption |
US8711888B2 (en) * | 2005-12-30 | 2014-04-29 | Remec Broadband Wireless Llc | Digital microwave radio link with adaptive data rate |
US8731007B2 (en) | 2005-12-30 | 2014-05-20 | Remec Broadband Wireless, Llc | Digital microwave radio link with a variety of ports |
US7327293B2 (en) * | 2006-03-03 | 2008-02-05 | Honeywell International Inc. | Compression and data encoding for transmission over a character-based protocol |
US7518534B2 (en) * | 2006-07-28 | 2009-04-14 | Cypress Semiconductor Corporation | 8-bit to 10-bit encoding method and apparatus |
US20090235130A1 (en) * | 2008-03-14 | 2009-09-17 | International Business Machines Corporation | Test pattern customization of high speed sas networks in a manufacturing test system |
US8228911B2 (en) | 2008-09-19 | 2012-07-24 | Honeywell International Inc. | Enhanced data link communication over iridium |
US8750176B2 (en) * | 2010-12-22 | 2014-06-10 | Apple Inc. | Methods and apparatus for the intelligent association of control symbols |
JP2013075100A (en) * | 2011-09-30 | 2013-04-25 | Fujifilm Corp | Endoscope system and external control device of endoscope |
US8897398B2 (en) | 2012-01-27 | 2014-11-25 | Apple Inc. | Methods and apparatus for error rate estimation |
US8990645B2 (en) | 2012-01-27 | 2015-03-24 | Apple Inc. | Methods and apparatus for error rate estimation |
US9838226B2 (en) | 2012-01-27 | 2017-12-05 | Apple Inc. | Methods and apparatus for the intelligent scrambling of control symbols |
US9450790B2 (en) | 2013-01-31 | 2016-09-20 | Apple Inc. | Methods and apparatus for enabling and disabling scrambling of control symbols |
US8917194B2 (en) | 2013-03-15 | 2014-12-23 | Apple, Inc. | Methods and apparatus for context based line coding |
US9210010B2 (en) | 2013-03-15 | 2015-12-08 | Apple, Inc. | Methods and apparatus for scrambling symbols over multi-lane serial interfaces |
US9614546B2 (en) * | 2015-08-09 | 2017-04-04 | Armoya Yuksek Teknoloji Arastirmalari Elektronik Sanayi Ve Ticaret Anonim Sirketi | Data compression and decompression method |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4486739A (en) * | 1982-06-30 | 1984-12-04 | International Business Machines Corporation | Byte oriented DC balanced (0,4) 8B/10B partitioned block transmission code |
US4975916A (en) * | 1988-07-26 | 1990-12-04 | International Business Machines Corporation | Character snychronization |
US5229769A (en) * | 1992-02-21 | 1993-07-20 | Advanced Micro Devices, Inc. | Method and circuit for performing running disparity measurements |
US5387911A (en) * | 1992-02-21 | 1995-02-07 | Gleichert; Marc C. | Method and apparatus for transmitting and receiving both 8B/10B code and 10B/12B code in a switchable 8B/10B transmitter and receiver |
US5304996A (en) * | 1992-02-21 | 1994-04-19 | Advanced Micro Devices, Inc. | 8B/10B encoder providing one of pair of noncomplementary, opposite disparity codes responsive to running disparity and selected commands |
US6295010B1 (en) * | 1998-07-02 | 2001-09-25 | Seagate Technology, Llc | 8B/10B encoder system and method |
KR100358353B1 (en) * | 1999-12-27 | 2002-10-25 | 한국전자통신연구원 | Running disparity error detecting apparatus and method |
US6392570B1 (en) * | 2000-05-08 | 2002-05-21 | Crossroads Systems, Inc. | Method and system for decoding 8-bit/10-bit data using limited width decoders |
-
2002
- 2002-11-23 KR KR10-2002-0073312A patent/KR100520302B1/en not_active IP Right Cessation
-
2003
- 2003-11-21 US US10/718,759 patent/US7205911B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20040103363A1 (en) | 2004-05-27 |
KR100520302B1 (en) | 2005-10-13 |
US7205911B2 (en) | 2007-04-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100520302B1 (en) | Apparatus and method for 8B/10B code-group validity check | |
US4486739A (en) | Byte oriented DC balanced (0,4) 8B/10B partitioned block transmission code | |
US4910750A (en) | Data transmission system | |
US6425107B1 (en) | Data encoder/decoder for a high speed serial link | |
US7180957B2 (en) | Technique for utilizing spare bandwidth resulting from the use of a transition-limiting code in a multi-level signaling system | |
JPH02172327A (en) | Coding, decoding and transmission method and coding and decoding device | |
EP0471130B1 (en) | Coding method and apparatus for pipelined and parallel processing | |
US6333704B1 (en) | Coding/decoding system of bit insertion/manipulation line code for high-speed optical transmission system | |
US5699062A (en) | Transmission code having local parity | |
US5663724A (en) | 16B/20B encoder | |
JPH0744570B2 (en) | Method for transmitting digital data and apparatus therefor | |
US5245339A (en) | Flexible encoding method and architecture for high speed data transmission and storage | |
US6366223B1 (en) | Methods for coding and decoding nibble inversion codes and block inversion codes and coding and decoding apparatus for the same | |
JPS59183559A (en) | Digital transmitter | |
US6911921B2 (en) | 5B/6B-T, 3B/4B-T and partitioned 8B/10B-T and 10B/12B transmission codes, and their implementation for high operating rates | |
US7302631B2 (en) | Low overhead coding techniques | |
KR20230050256A (en) | Data encoding method, encoder, and data decoding method | |
US6806817B2 (en) | Means and method of data encoding and communication at rates above the channel bandwidth | |
JP3014309B2 (en) | Coding device and method | |
JP2006074075A (en) | Differential serial digital output a/d conversion means and imaging apparatus | |
US6839006B1 (en) | Communication device | |
JP2005142615A (en) | Manchester code data receiver | |
KR0166889B1 (en) | Signal detector of partial response class-iv | |
JPS6340384B2 (en) | ||
KR0145587B1 (en) | Method and system for coding capable of controlling transmitted data and dc-balance |
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: 20101001 Year of fee payment: 6 |
|
LAPS | Lapse due to unpaid annual fee |