Nothing Special   »   [go: up one dir, main page]

KR20190096728A - Apparatus and Method for Synchronization and Alignment Using Scrambler and Descrambler - Google Patents

Apparatus and Method for Synchronization and Alignment Using Scrambler and Descrambler Download PDF

Info

Publication number
KR20190096728A
KR20190096728A KR1020180016517A KR20180016517A KR20190096728A KR 20190096728 A KR20190096728 A KR 20190096728A KR 1020180016517 A KR1020180016517 A KR 1020180016517A KR 20180016517 A KR20180016517 A KR 20180016517A KR 20190096728 A KR20190096728 A KR 20190096728A
Authority
KR
South Korea
Prior art keywords
signal
data
control signal
pattern
output
Prior art date
Application number
KR1020180016517A
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 KR1020180016517A priority Critical patent/KR20190096728A/en
Publication of KR20190096728A publication Critical patent/KR20190096728A/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/03Shaping networks in transmitter or receiver, e.g. adaptive shaping networks
    • H04L25/03828Arrangements for spectral shaping; Arrangements for providing signals with specified spectral properties
    • H04L25/03866Arrangements for spectral shaping; Arrangements for providing signals with specified spectral properties using scrambling
    • H04L25/03872Parallel scrambling or descrambling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/04Speed or phase control by synchronisation signals
    • H04L7/048Speed or phase control by synchronisation signals using the properties of error detecting or error correcting codes, e.g. parity as synchronisation signal

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Power Engineering (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

Disclosed are a method and apparatus for synchronization and data alignment using a scrambler and a descrambler. According to an embodiment of the present invention, a transmitter receives a SYNC2 signal which is activated by corresponding to a width of data, receives SYNC1 signal which is activated before the SYNC2 signal is activated and activated before the SYNC2 signal is inactivated, and scrambles a predetermined pattern based on the SYNC1 signal and the SYNC2 signal, thereby generating and transmitting an output signal including synchronization information.

Description

스크램블러와 디스크램블러를 이용한 동기화 및 정렬 방법 및 장치{Apparatus and Method for Synchronization and Alignment Using Scrambler and Descrambler}Apparatus and Method for Synchronization and Alignment Using Scrambler and Descrambler}

아래 실시예들은 스크램블러와 디스크램블러를 이용한 데이터 비트 동기화 및 다중 채널에서의 데이터 정렬 과정에 대한 방법 및 장치에 관한 것이다.The following embodiments are directed to a method and apparatus for data bit synchronization and data alignment in multiple channels using scrambler and descrambler.

광 또는 전기적 네트워크를 구성하는 광송수신기의 채널 별 데이터 전송이 증가하고 있다. 예를 들면, 100G 이더넷 또는 400G 이더넷에서는 각 채널당 약 25Gbps 및 50Gbps의 데이터를 다중 채널을 통해서 전송해야 한다. 또한, 처리 용량도 점차적으로 증가하여 FPGA와 같은 단일 디바이스 당 수백 Gbps(gigabit per second)에 해당하는 데이터를 처리 할 수 있어야 한다. 이러한 시스템에서 고속 및 대용량의 데이터를 전송하기 위하여, 기본적으로 고속의 데이터로부터 클럭과 데이터를 복원하고, 병렬 데이터를 고속의 직렬 데이터로 변환하여 전송하는 직렬-병렬 변환기(또는 병렬-직렬 변환기)라고 불리는 SerDes (Serializer/Deserializer) 가 제공되어야 한다. 우선, SerDes는 병렬 데이터와 직렬 데이터를 변환하는 기능을 수행하는데, 송신기에서는 병렬 데이터를 직렬로 변환하게 되고, 수신기에서는 직렬 데이터를 병렬 데이터로 변환하게 된다. 이때 송신기와 수신기가 동일하게 리셋되어 데이터 송수신이 진행되지 않으면, 클럭의 위상이 서로 상이하게 되기 때문에 비트 동기화가 필수적으로 제공되어야 한다. 또한, 다중의 SerDes를 이용한 다중 채널 시스템에서는 여러 가지 요인에 의해서 각 채널(또는 레인) 별로 데이터가 전송되는 지연 시간의 차이가 발생하는데, 채널 별로 발생하는 지연 시간의 오차(skew)를 해결하기 위하여 다중 채널의 워드 단위 데이터 정렬(word alignment)도 필수적으로 제공되어야 하는 기능이다.Increasingly, data transmission for each channel of an optical transceiver constituting an optical or electrical network is increasing. For example, in 100G Ethernet or 400G Ethernet, approximately 25 Gbps and 50 Gbps of data must be transmitted over multiple channels per channel. In addition, processing capacity must increase gradually to handle hundreds of gigabytes per second (Gbps) of data per single device, such as an FPGA. In order to transfer high-speed and large-capacity data in such a system, it is basically called a serial-to-parallel converter (or parallel-to-serial converter) that recovers clocks and data from high-speed data, and converts and converts parallel data into high-speed serial data. SerDes (Serializer / Deserializer) should be provided. First, SerDes performs the function of converting parallel data and serial data. The transmitter converts parallel data to serial, and the receiver converts serial data to parallel data. In this case, if the transmitter and the receiver are identically reset and data transmission and reception do not proceed, bit synchronization must be provided since the clock phases are different from each other. In addition, in a multi-channel system using multiple SerDes, there is a difference in the delay time for transmitting data for each channel (or lane) due to various factors. In order to solve the skew of the delay time for each channel, Word alignment of multiple channels is also an essential feature.

이러한 기능을 제공하기 위하여, 종래의 기술은 송수신기 사이에 비트 동기화를 위하여 고정된 패턴의 데이터를 송신하면, 수신기에서는 이미 알려진 패턴이 직렬 데이터에서 병렬 데이터로 변환되어 동기 될 수 있도록 수신기의 직렬 데이터를 입력 FIFO에서 비트 단위로 쉬프트하여 비트 동기화를 수행한다. 또한, 워드 단위 정렬의 경우에는 모든 레인에 데이터 열의 시작점을 알 수 있는 특정 비트열을 구성하여 채널 별로 수신된 모든 데이터로부터 특정 비트열이 수신되는 시점에 각 채널 별로 저장된 Elastic FIFO 등에서 동시에 데이터를 읽어냄으로써 다중 채널에 대한 워드 단위 정렬을 수행한다. In order to provide such a function, the conventional technology transmits a fixed pattern of data for bit synchronization between a transceiver and the receiver to convert the serial data of the receiver so that a known pattern is converted from serial data to parallel data and synchronized. Perform bit synchronization by shifting bit by bit at the input FIFO. In the case of word-by-word alignment, a specific bit string is formed in every lane to know the starting point of the data string, and data is simultaneously read from the elastic FIFO stored for each channel when a specific bit string is received from all data received for each channel. By performing the word-by-word alignment for multiple channels.

또 다른 종래의 기술은 64B/66B인코딩 및 디코딩 기술이 있다. 이는 64비트 단위 데이터에 오버헤드 비트를 2비트를 추가하여 데이터와 구분되는 제어 비트를 제공한다. 제어 비트가 동기화를 위한 헤더 비트에 해당하고, 수신 블록에서는 수신된 데이터들로부터 동기 헤더 비트(sync header bit)를 찾아서 64비트 단위로 비트 동기화 및 워드 정렬을 수행하는 방법을 사용한다. 하지만, 이는 데이터 전송을 위해 제어 신호로 데이터에 대해 오버헤드가 발생하고 동일한 데이터 전송량을 유지하기 위하여 속도를 증가시켜야 하는 문제점을 안고 있다. 또한, 전송하는 데이터의 연속적인 '0' 또는 '1'의 값이 계속 유지될 경우 DC balance가 맞지 않아서 클럭 및 데이터 복원을 위한 클럭 위상이 틀어지는 문제도 발생하여 일반적으로 스크램블된 데이터를 전송하게 된다. 64B/66B 방식에서는 스크램블러와 디스크램블러를 이용하여 데이터를 스트램블링하고, 이 데이터에 앞서 설명한 2비트의 동기화 비트를 추가하여 전송함으로써 DC balance 문제를 해결하게 된다. 하지만, 종래 기술의 스크램블러의 경우에는 입력 데이터에서 에러 비트가 발생하면, 디스크램블러(de-scrambler)에 입력된 데이터의 에러가 디스크램블러를 이루는 다항식에 전파되어서 다수의 에러를 발생시키는 문제점이 있다.Another conventional technique is the 64B / 66B encoding and decoding technique. This adds two bits of overhead bits to 64-bit data to provide control bits that are separate from the data. The control bit corresponds to a header bit for synchronization, and the reception block uses a method of searching for a sync header bit from received data and performing bit synchronization and word alignment on a 64-bit basis. However, this has a problem in that an overhead occurs for data as a control signal for data transmission and the speed must be increased to maintain the same data transmission amount. In addition, if a continuous value of '0' or '1' of data to be transmitted is maintained continuously, the DC balance is not corrected, which causes a problem that the clock phase for clock and data recovery is shifted, and thus scrambled data is generally transmitted. . In the 64B / 66B scheme, the scrambler and the descrambler are used to scramble data, and the DC balance problem is solved by adding and transmitting the two-bit synchronization bit described above. However, in the case of the scrambler of the prior art, when an error bit occurs in the input data, an error of the data input to the de-scrambler is propagated to the polynomial forming the descrambler, thereby generating a plurality of errors.

아래에서 설명할 실시예들은 다중 채널 상에서 변형된 스크램블러 및 변형된 디스크램블러를 이용하여 다중 채널의 비트 동기화를 수행하는 기술을 제공한다.Embodiments to be described below provide a technique for performing bit synchronization of multiple channels using a modified scrambler and a modified descrambler on multiple channels.

또한, 실시예들은 다중 채널 상에서 변형된 스크램블러 및 변형된 디스크램블러를 이용하여 워드 정렬을 수행하는 기술을 제공한다.Embodiments also provide a technique for performing word alignment using a modified scrambler and a modified descrambler on multiple channels.

일 실시예에 따른 송신기의 동작 방법은 미리 정해진 패턴을 수신하는 단계; 데이터의 폭에 대응하는 비트열들 동안 활성화되고, 나머지 비트열들 동안 비활성화되는 제어 신호인 SYNC2 신호를 수신하는 단계; 상기 SYNC2 신호가 활성화되기 전에 미리 정해진 수의 비트열 동안 활성화되고, 상기 SYNC2 신호가 비활성화 되기 전에 미리 정해진 수의 비트열 동안 활성화되며, 나머지 비트열들 동안 비활성화되는 제어 신호인 SYNC1 신호를 수신하는 단계; 상기 SYNC1 신호 및 상기 SYNC2 신호에 기초하여 상기 패턴을 스크램블 함으로써, 동기화 정보를 포함하는 출력 신호를 생성하는 단계; 및 상기 출력 신호를 전송하는 단계를 포함한다.In one embodiment, a method of operating a transmitter includes: receiving a predetermined pattern; Receiving a SYNC2 signal, which is a control signal that is activated for bit strings corresponding to the width of data and is inactive for the remaining bit strings; Receiving a SYNC1 signal, which is a control signal that is activated for a predetermined number of bit strings before the SYNC2 signal is activated, is activated for a predetermined number of bit strings before the SYNC2 signal is inactivated, and is inactivated for the remaining bit strings. ; Scrambled the pattern based on the SYNC1 signal and the SYNC2 signal to generate an output signal comprising synchronization information; And transmitting the output signal.

또한, 상기 동기화 정보는 동기화의 시점에 대한 제1 정보 및 상기 데이터의 폭에 대한 제2 정보를 포함할 수 있다.In addition, the synchronization information may include first information on the timing of synchronization and second information on the width of the data.

또한, 상기 출력 신호를 생성하는 단계는 상기 SYNC2 신호에 기초하여, 스크램블을 위한 다항식 모듈의 출력, 또는 상기 패턴과 상기 출력 신호를 연산한 임시 출력 신호를 상기 다항식 모듈의 입력으로 선택하는 단계를 포함할 수 있다.The generating of the output signal may include selecting, based on the SYNC2 signal, an output of the polynomial module for scramble, or a temporary output signal obtained by calculating the pattern and the output signal as an input of the polynomial module. can do.

또한, 상기 출력 신호를 생성하는 단계는 상기 패턴과 스크램블을 위한 다항식 모듈의 출력에 기초하여, 임시 출력 신호를 생성하는 단계; 및 상기 임시 출력 신호와 상기 SYNC1 신호에 기초하여, 상기 출력 신호를 생성하는 단계를 포함할 수 있다.The generating of the output signal may include: generating a temporary output signal based on the output of the polynomial module for scramble and the pattern; And generating the output signal based on the temporary output signal and the SYNC1 signal.

또한, 일 실시예에 따른 송신기의 동작 방법은 전송 데이터를 수신하는 단계; 상기 전송 데이터를 스크램블 하는 단계; 및 상기 SYNC2신호가 활성화 상태에서 비활성화 상태로 천이한 이후, 상기 스크램블 된 전송 데이터를 전송하는 단계를 더 포함할 수 있다.In addition, a method of operating a transmitter according to an embodiment may include receiving transmission data; Scrambled the transmission data; And after the SYNC2 signal transitions from an active state to an inactive state, transmitting the scrambled transmission data.

또한, 상기 미리 정해진 패턴은PRBS(pseudorandom binary sequence) 패턴을 포함할 수 있다.In addition, the predetermined pattern may include a pseudorandom binary sequence (PRBS) pattern.

일 실시예에 따른 수신기의 동작 방법은 송신기로부터 수신된 신호를 디스크램블 함으로써, 동기화 정보를 포함하는 출력 신호를 생성하는 단계; 상기 출력 신호에 포함된 비트열들의 오류 여부를 판단함으로써, 상기 동기화 정보를 추출하는 단계; 상기 동기화 정보에 기초하여, 정상 비트열에 반응하여 비활성화되고 오류 비트열에 반응하여 활성화되는 제1 제어 신호를 생성하는 단계; 상기 오류 비트열의 다음 비트열부터 다음 오류 비트열 사이의 비트열들 동안 활성화되는 제2 제어 신호를 생성하는 단계; 상기 송신기로부터, 전송 데이터를 수신하는 단계; 및 상기 제1 제어 신호 및 상기 제2 제어 신호에 기초하여, 상기 전송 데이터를 처리하는 단계를 포함한다.According to an exemplary embodiment, a method of operating a receiver includes: descrambling a signal received from a transmitter, thereby generating an output signal including synchronization information; Extracting the synchronization information by determining whether the bit strings included in the output signal are in error; Generating a first control signal based on the synchronization information, the first control signal being deactivated in response to a normal bit string and activated in response to an error bit string; Generating a second control signal that is activated during bit strings between a next bit string and a next error bit string of the error bit string; Receiving transmission data from the transmitter; And processing the transmission data based on the first control signal and the second control signal.

또한, 상기 동기화 정보는 동기화의 시점에 대한 제1 정보 및 데이터의 폭에 대한 제2 정보를 포함할 수 있다.In addition, the synchronization information may include first information on the timing of synchronization and second information on the width of data.

또한, 상기 출력 신호를 생성하는 단계는 상기 제2 제어 신호에 기초하여, 상기 신호 또는 디스크램블을 위한 다항식 모듈의 출력을 임시 출력 신호로 선택하는 단계; 및 상기 임시 출력 신호 및 상기 제1 제어 신호에 기초하여, 상기 다항식 모듈의 입력 신호를 생성하는 단계를 포함할 수 있다.The generating of the output signal may include selecting an output of the polynomial module for the signal or the descramble as a temporary output signal based on the second control signal; And generating an input signal of the polynomial module based on the temporary output signal and the first control signal.

또한, 상기 출력 신호를 생성하는 단계는 상기 신호와 상기 디스크램블을 위한 다항식 모듈의 출력에 기초하여, 상기 출력 신호를 생성하는 단계를 포함할 수 있다.The generating of the output signal may include generating the output signal based on the signal and an output of the polynomial module for the descramble.

또한, 상기 전송 데이터를 처리하는 단계는 상기 전송 데이터를 디스크램블 하는 단계; 및 상기 제2 제어 신호가 활성화 상태에서 비활성화 상태로 천이한 이후, 상기 디스크램블 된 전송 데이터를 상기 제2 제어 신호의 길이에 맞춰 수신하는 단계를 포함할 수 있다. The processing of the transmission data may further include descrambling the transmission data; And after the second control signal transitions from an active state to an inactive state, receiving the descrambled transmission data according to a length of the second control signal.

일 실시예에 따른 송신기는 미리 정해진 패턴을 생성하는 패턴 생성기; 데이터의 폭에 대응하는 비트열들 동안 활성화되고, 나머지 비트열들 동안 비활성화되는 제어 신호인 SYNC2 신호와 상기 SYNC2 신호가 활성화되기 전에 미리 정해진 수의 비트열 동안 활성화되고, 상기 SYNC2 신호가 비활성화 되기 전에 미리 정해진 수의 비트열 동안 활성화되며, 나머지 비트열들 동안 비활성화되는 제어 신호인 SYNC1 신호를 생성하는 신호 생성기; 및 상기 SYNC1 신호 및 상기 SYNC2 신호에 기초하여 상기 패턴을 스크램블 함으로써, 동기화 정보를 포함하는 출력 신호를 생성하는 스크램블러를 포함한다.In one embodiment, a transmitter includes a pattern generator for generating a predetermined pattern; Before the SYNC2 signal and the SYNC2 signal, which are control signals that are activated for bit strings corresponding to the width of the data, and are deactivated for the remaining bit strings, are activated for a predetermined number of bit strings, and before the SYNC2 signal is deactivated. A signal generator that is activated for a predetermined number of bit strings and generates a SYNC1 signal that is a control signal that is inactive for the remaining bit strings; And a scrambler that scrambles the pattern based on the SYNC1 signal and the SYNC2 signal to generate an output signal including synchronization information.

또한, 상기 동기화 정보는 동기화의 시점에 대한 제1 정보 및 상기 데이터의 폭에 대한 제2 정보를 포함 할 수 있다.In addition, the synchronization information may include first information on the timing of synchronization and second information on the width of the data.

또한, 상기 스크램블러는 상기 SYNC2 신호에 기초하여, 스크램블을 위한 다항식 모듈의 출력 또는 상기 패턴과 상기 출력 신호를 연산한 임시 출력 신호를 상기 다항식 모듈의 입력으로 선택하는 선택기를 포함할 수 있다.The scrambler may include a selector for selecting an output of the polynomial module for scramble or a temporary output signal for calculating the pattern and the output signal as an input of the polynomial module based on the SYNC2 signal.

또한, 상기 스크램블러는 상기 패턴과 스크램블을 위한 다항식 모듈의 출력을 XOR 연산하는 XOR 게이트와, 상기 임시 출력 신호와 상기 SYNC1 신호를 XOR 연산하는 XOR 게이트를 포함할 수 있다.The scrambler may include an XOR gate for performing an XOR operation on the output of the polynomial module for the pattern and scramble, and an XOR gate for performing the XOR operation on the temporary output signal and the SYNC1 signal.

또한, 일 실시예에 따른 송신기는 전송 데이터를 생성하는 데이터 생성기를 더 포함하고, 상기 스크램블러는 상기 전송 데이터를 스크램블 하고, 상기 SYNC2 신호가 활성화 상태에서 비활성화 상태로 천이한 이후, 상기 스크램블 된 전송 데이터를 전송할 수 있다.The transmitter further includes a data generator for generating transmission data, wherein the scrambler scrambles the transmission data, and after the SYNC2 signal transitions from an active state to an inactive state, the scrambled transmission data Can be transmitted.

또한, 일 실시예에 따른 송신기는 상기 전송 데이터 또는 상기 패턴을 상기 스크램블러의 입력으로 선택하기 위한 선택기를 더 포함할 수 있다.In addition, the transmitter according to an embodiment may further include a selector for selecting the transmission data or the pattern as an input of the scrambler.

또한, 일 실시예에 따른 송신기는 상기 스크램블 된 전송 데이터가 병렬 데이터인 경우, 상기 스크램블 된 전송 데이터를 수신하여 직렬 데이터로 변환하는 병렬-직렬 변환 송신기를 더 포함할 수 있다.In addition, the transmitter according to an embodiment may further include a parallel-serial conversion transmitter that receives the scrambled transmission data and converts it into serial data when the scrambled transmission data is parallel data.

또한, 상기 미리 정해진 패턴은 PRBS(pseudorandom binary sequence) 패턴을 포함할 수 있다.In addition, the predetermined pattern may include a pseudorandom binary sequence (PRBS) pattern.

일 실시예에 따른 수신기는 송신기로부터 수신된 신호를 디스크램블 함으로써, 동기화 정보를 포함하는 출력 신호를 생성하는 디스크램블러; 상기 출력 신호에 포함된 오류 비트열을 판단하여, 상기 동기화 정보를 추출하고, 상기 동기화 정보에 기초하여 정상 비트열에 반응하여 비활성화되고, 오류 비트열에 반응하여 활성화되는 제1 제어 신호와 상기 오류 비트열의 다음 비트열부터 다음 오류 비트열 사이의 비트열들 동안 활성화되는 제2 제어 신호를 생성하는 패턴 체크기; 및 상기 제 1 제어 신호 및 상기 제 2 제어 신호에 기초하여, 상기 전송 데이터를 처리하는 동기 및 데이터 정렬기를 포함한다.In an embodiment, a receiver may include a descrambler configured to generate an output signal including synchronization information by descrambled a signal received from a transmitter; Determining the error bit string included in the output signal, extracting the synchronization information, the first control signal and the error bit string of the first control signal is deactivated in response to a normal bit string based on the synchronization information, and is activated in response to an error bit string. A pattern checker for generating a second control signal that is activated during bit strings between a next bit string and a next error bit string; And a synchronizer and a data aligner for processing the transmission data based on the first control signal and the second control signal.

또한, 일 실시예에 따른 수신기는 상기 디스크램블러는 상기 제2 제어 신호에 기초하여, 상기 신호 또는 디스크램블을 위한 다항식 모듈의 출력 중 어느 하나를 임시 출력 신호로 선택하는 선택기를 포함하고, 상기 임시 출력 신호 및 상기 제 1 제어 신호에 기초하여, 상기 다항식 모듈의 입력 신호를 생성할 수 있다.In addition, the receiver according to an embodiment, the descrambler includes a selector for selecting any one of the signal or the output of the polynomial module for descrambling as a temporary output signal based on the second control signal, the temporary An input signal of the polynomial module may be generated based on an output signal and the first control signal.

또한, 상기 디스크램블러는 상기 선택기의 출력 신호와 제1 제어 신호를 연산하는 XOR 게이트와, 상기 다항식 모듈의 출력과 상기 신호를 XOR 연산하는 XOR 게이트를 포함할 수 있다.The descrambler may include an XOR gate that calculates an output signal and a first control signal of the selector, and an XOR gate that performs an XOR operation on the output of the polynomial module and the signal.

또한, 상기 동기 및 데이터 정렬기는 상기 제2 제어 신호가 활성화 상태에서 비활성화 상태로 천이한 이후, 디스크램블된 전송 데이터를 상기 제2 제어 신호의 길이에 맞춰 수신하여 동기화 하고 데이터 정렬할 수 있다.The synchronization and data aligner may receive, synchronize and align the descrambled transmission data to the length of the second control signal after the second control signal transitions from an active state to an inactive state.

또한, 일 실시예에 따른 수신기는 상기 신호가 직렬 데이터인 경우, 상기 신호를 병렬 데이터로 변환하여 상기 디스크램블러에 전송하는 직렬-병렬 변환 수신기를 더 포함할 수 있다.In addition, the receiver according to an embodiment may further include a serial-to-parallel conversion receiver for converting the signal into parallel data and transmitting it to the descrambler when the signal is serial data.

또한, 상기 패턴 체크기는, PRBS(pseudorandom binary sequence) 패턴 체크기를 포함할 수 있다.The pattern checker may include a pseudorandom binary sequence (PRBS) pattern checker.

실시예들에 따른 스크램블러 및 디스크램블러를 이용한 비트 동기화 및 정렬 방법 및 장치는 동기화를 위해 스크램블된 패턴을 전송하고, 디스크램블된 패턴의 오류 여부를 검사할 수 있다. 또한 실시예들에 따른 스크램블러 및 디스크램블러는 다중 채널에 대한 데이터 정렬을 수행함으로써, 동기화를 위한 오버헤드 비트 없이 용이하게 비트 단위 동기화 및 다중 채널에 대한 데이터 정렬이 가능하다.A method and apparatus for synchronizing and aligning bits using a scrambler and a descrambler according to embodiments may transmit a scrambled pattern for synchronization and check whether an error of the descrambled pattern occurs. In addition, the scrambler and the descrambler according to the embodiments perform data alignment for multiple channels, thereby enabling easy bit-by-bit synchronization and data alignment for multiple channels without overhead bits for synchronization.

도 1은 일 실시예에 따른 스크램블러 및 디스크램블러를 이용한 동기화 및 데이터 정렬 방법을 나타낸 동작 흐름도.
도 2는 일 실시예에 따른 송신기의 동작 방법을 나타낸 동작 흐름도.
도 3은 일 실시예에 따른 수신기의 동작 방법을 나타낸 동작 흐름도.
도 4는 일 실시예에 따른 스크램블러를 나타낸 도면.
도 5는 일 실시예에 따른 디스크램블러를 나타낸 도면.
도 6a는 일 실시예에 따른 스크램블러의 입력 및 출력 신호와 각각의 제어 신호의 타이밍도.
도 6b는 일 실시예에 따른 디스크램블러의 입력 및 출력 신호와 각각의 제어 신호의 타이밍도.
도 7은 일 실시예에 따른 제2 제어 신호를 이용한 동기화 방법을 나타낸 도면.
도 8은 일 실시예에 따른 제 2 제어 신호를 이용한 데이터 정렬 방법을 나타낸 도면.
1 is a flowchart illustrating a synchronization and data alignment method using a scrambler and a descrambler according to an embodiment.
2 is an operation flowchart illustrating a method of operating a transmitter according to an embodiment.
3 is a flowchart illustrating a method of operating a receiver according to an exemplary embodiment.
4 illustrates a scrambler according to an embodiment.
5 illustrates a descrambler according to an embodiment.
6A is a timing diagram of input and output signals and respective control signals of a scrambler according to one embodiment.
6B is a timing diagram of input and output signals and respective control signals of a descrambler according to one embodiment.
7 illustrates a synchronization method using a second control signal according to an embodiment.
8 illustrates a data alignment method using a second control signal according to an embodiment.

본 명세서에서 개시되어 있는 특정한 구조적 또는 기능적 설명들은 단지 기술적 개념에 따른 실시예들을 설명하기 위한 목적으로 예시된 것으로서, 실시예들은 다양한 다른 형태로 실시될 수 있으며 본 명세서에 설명된 실시예들에 한정되지 않는다.Specific structural or functional descriptions disclosed herein are illustrated for the purpose of describing embodiments only in accordance with a technical concept, and the embodiments may be embodied in various other forms and limited to the embodiments described herein. It doesn't work.

제1 또는 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 이해되어야 한다. 예를 들어 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.Terms such as first or second may be used to describe various components, but these terms should be understood only for the purpose of distinguishing one component from another. For example, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 표현들, 예를 들어 "~간의에"와 "바로~간의에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.When a component is referred to as being "connected" or "connected" to another component, it may be directly connected to or connected to that other component, but it may be understood that other components may be present in between. Should be. On the other hand, when a component is said to be "directly connected" or "directly connected" to another component, it should be understood that there is no other component in between. Expressions describing the relationship between the components, such as "between liver" and "immediately between" or "neighboring to" and "direct neighboring to" should be interpreted as well.

단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설시 된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Singular expressions include plural expressions unless the context clearly indicates otherwise. As used herein, the terms "comprise" or "have" are intended to designate that the stated feature, number, step, action, component, part, or combination thereof is present, but one or more other features or numbers, It is to be understood that it does not exclude in advance the possibility of the presence or addition of steps, actions, components, parts or combinations thereof.

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

이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, exemplary embodiments will be described in detail with reference to the accompanying drawings.

도 1은 일 실시예에 따른 스크램블러 및 디스크램블러를 이용한 동기화 및 데이터 정렬 방법을 나타낸 동작 흐름도이다. 도 1을 참조하면, 일 실시예에 따른 시스템은 송신기(100), 수신기(150) 및 데이터 채널(140)을 포함한다. 송신기(100) 및 수신기(150)는 데이터 채널(140)을 통하여 서로 통신할 수 있다.1 is a flowchart illustrating a synchronization and data alignment method using a scrambler and a descrambler according to an embodiment. Referring to FIG. 1, a system according to an embodiment includes a transmitter 100, a receiver 150, and a data channel 140. The transmitter 100 and the receiver 150 may communicate with each other via the data channel 140.

송신기(100)는 미리 정해진 패턴을 이용하여 동기화 정보를 포함하는 출력 신호를 생성하고, 생성된 출력 신호를 수신기(150)로 전송한다. 송신기(100)는 동기화 정보에 기초하여, 전송 데이터를 수신기(150)로 전송한다.The transmitter 100 generates an output signal including synchronization information by using a predetermined pattern and transmits the generated output signal to the receiver 150. The transmitter 100 transmits transmission data to the receiver 150 based on the synchronization information.

일 실시예에 따른 동기화 정보는 동기화의 시점에 대한 제1 정보 및 데이터의 폭에 대한 제2 정보를 포함할 수 있다. 예를 들어, 동기화 정보는 동기화의 시점을 지시하는 제1 비트열을 포함할 수 있다. 또한, 동기화 정보는 제1 비트열과의 조합으로 데이터의 폭을 지시하는 제2 비트열을 더 포함할 수 있다. 제1 비트열과 제2 비트열은 미리 정해진 패턴에 기초하여 생성될 수 있다. 아래에서 설명하겠으나, 수신기(150)는 미리 정해진 패턴에 기초하여 비트열의 오류 여부를 판단할 수 있다. 송신기(100)는 제1 비트열 및 제2 비트열을 지시하기 위하여, 미리 정해진 패턴을 변형할 수 있다. 송신기(100)는 제2 비트열에 대응하는 시점 이후에 전송 데이터를 수신기(150)로 전송할 수 있다.According to an embodiment, the synchronization information may include first information about a timing of synchronization and second information about a width of data. For example, the synchronization information may include a first bit string indicating a time point of synchronization. The synchronization information may further include a second bit string indicating the width of data in combination with the first bit string. The first bit string and the second bit string may be generated based on a predetermined pattern. As will be described below, the receiver 150 may determine whether an error occurs in the bit string based on a predetermined pattern. The transmitter 100 may modify a predetermined pattern to indicate the first bit string and the second bit string. The transmitter 100 may transmit the transmission data to the receiver 150 after a time point corresponding to the second bit string.

수신기(150)는 송신기(100)로부터 신호를 수신하고, 수신된 신호로부터 동기화 정보를 추출한다. 수신기(150)는 동기화 정보에 기초하여, 송신기(100)로부터 전송 데이터를 수신한다.The receiver 150 receives a signal from the transmitter 100 and extracts synchronization information from the received signal. The receiver 150 receives transmission data from the transmitter 100 based on the synchronization information.

예를 들어, 수신기(150)는 수신된 신호에 포함된 비트열들의 오류 여부를 판단함으로써, 동기화 정보를 추출할 수 있다. 수신기(150)는 미리 정해진 패턴의 변형 여부를 확인하고, 미리 정해진 패턴이 변형된 경우 해당하는 비트열에 오류가 발생하였다고 판단할 수 있다. 수신기(150)는 수신된 신호로부터 제1 비트열 및 제2 비트열을 추출하고, 제1 비트열 및 제2 비트열에 기초하여 동기화 정보를 추출할 수 있다. 수신기(150)는 제2 비트열에 대응하는 시점 이후에 수신되는 신호를 전송 데이터로 판단하고, 전송 데이터를 수신할 수 있다.For example, the receiver 150 may extract synchronization information by determining whether the bit strings included in the received signal are in error. The receiver 150 may determine whether the predetermined pattern is deformed, and may determine that an error occurs in the corresponding bit string when the predetermined pattern is deformed. The receiver 150 may extract the first bit string and the second bit string from the received signal, and extract synchronization information based on the first bit string and the second bit string. The receiver 150 may determine a signal received after a time point corresponding to the second bit string as transmission data and receive the transmission data.

송신기(100)는 패턴 생성기(110), 신호 생성기(120) 및 스크램블러(125)를 포함한다. 또한, 송신기(100)는 선택기(115), 데이터 생성기(115), 직렬-병렬 변환(Serializer/Deserializer; SerDes) 송신기(130) 또는 이들의 조합을 더 포함할 수 있다. 수신기(150)는 디스크램블러(160), 패턴 체크기(165), 비트 동기 및 데이터 정렬기(170)를 포함한다. 또한, 수신기(150)는 SerDes 수신기(155)가 더 포함할 수 있다. The transmitter 100 includes a pattern generator 110, a signal generator 120, and a scrambler 125. In addition, the transmitter 100 may further include a selector 115, a data generator 115, a serializer / deserializer (SerDes) transmitter 130, or a combination thereof. Receiver 150 includes descrambler 160, pattern checker 165, bit sync and data aligner 170. In addition, the receiver 150 may further include a SerDes receiver 155.

미리 정해진 패턴은 PRBS(pseudorandom binary sequence) 패턴을 포함할 수 있다. PRBS 패턴은 의사적으로 랜덤하게 만들어진 패턴을 갖는 비트열로, PRBS 생성기는 길이 L의 데이터가 2L-1의 최대 시퀀스(sequence)에 해당되는 패턴을 반복하는 데이터를 생성할 수 있다. PRBS 패턴은 정해진 다항식(polynomial)을 이용하여 표현될 수 있고, 일반적으로 LFSR(Linear Feedback Shifter Register)로 구현할 수 있으며, L 값은 7, 9, 15, 23, 31 등이 사용되는데, 각각 PRBS7, PRBS9, PRBS15, PRBS23, PRBS31로 표시할 수 있다. The predetermined pattern may include a pseudorandom binary sequence (PRBS) pattern. The PRBS pattern is a bit string having a pseudorandomly generated pattern, and the PRBS generator may generate data in which data of length L repeats a pattern corresponding to a maximum sequence of 2 L −1. The PRBS pattern can be expressed using a predetermined polynomial, and can be generally implemented as a linear feedback shifter register (LFSR), and L values of 7, 9, 15, 23, 31, etc. are used, respectively, PRBS7, PRBS9, PRBS15, PRBS23, PRBS31 can be represented.

예를 들어, 해당되는 다항식을 이용한 PRBS 패턴은 아래와 같은 다항식으로 표현된다.For example, the PRBS pattern using the corresponding polynomial is represented by the following polynomial.

- PRBS7 : G(x) = 1+X^6+X^7PRBS7: G (x) = 1 + X ^ 6 + X ^ 7

- PRBS9 : G(x) = 1+X^5+X^9PRBS9: G (x) = 1 + X ^ 5 + X ^ 9

- PRBS15 : G(x) = 1+X^14+X^15PRBS15: G (x) = 1 + X ^ 14 + X ^ 15

- PRBS23 : G(x) = 1+X^18+X^23PRBS23: G (x) = 1 + X ^ 18 + X ^ 23

- PRBS31 : G(x) = 1+X^28+X^31PRBS31: G (x) = 1 + X ^ 28 + X ^ 31

단, 위에서 G(x)는 생성된 PRBS 패턴 출력을 의미한다.However, in the above, G (x) means the generated PRBS pattern output.

도 2는 일 실시예에 따른 송신기(100)의 동작 방법을 나타낸 동작 흐름도를 나타낸다. 도 2를 참조하면, 송신기(100)는 패턴 및 전송데이터를 수신(210)하고, 제어 신호인 SYNC1, 2 신호를 수신(230)한다. 수신한 제어 신호에 기초하여 수신한 패턴을 스크램블(220) 하여 동기화 정보를 포함하는 출력 신호를 생성하여 수신기(150)에 전송(240)한다.2 is an operation flowchart illustrating a method of operating the transmitter 100 according to an embodiment. Referring to FIG. 2, the transmitter 100 receives 210 a pattern and transmission data and receives 230 a SYNC1, 2 signal, which is a control signal. The received pattern is scrambled 220 based on the received control signal to generate an output signal including the synchronization information, and is transmitted to the receiver 150.

도 3은 일 실시예에 따른 수신기(150)의 동작 방법을 나타낸 동작 흐름도를 나타낸다. 도 3을 참조하면, 수신기(150)는 송신기로부터 신호 및 전송데이터를 수신(310)한다. 수신된 신호를 디스크램블(320) 하여 동기화 정보를 포함하는 출력 신호를 생성하고, 동기화 정보를 추출(330)한다. 동기화 정보에 기초하여, 제어 신호인 제 1 제어 신호 및 제 2 제어신호를 생성(340)한다. 제어 신호에 기초하여 디스크램블된 전송 데이터를 처리(350)한다.3 is an operation flowchart illustrating a method of operating the receiver 150 according to an embodiment. Referring to FIG. 3, the receiver 150 receives 310 a signal and transmission data from a transmitter. The received signal is descrambled 320 to generate an output signal including the synchronization information, and the synchronization information is extracted 330. Based on the synchronization information, a first control signal and a second control signal, which are control signals, are generated 340. The descrambled transmission data is processed 350 based on the control signal.

각각의 구성 요소를 설명하면 다음과 같다. 패턴 생성기(110)는 미리 정해진 패턴을 생성한다. 예를 들어, 데이터 폭이 L인 경우 PRBS 생성기를 이용하면 15가지 상태가 반복되는 패턴이 생성될 수 있다. 패턴 생성기(110)에서 생성된 패턴은 스크램블러(125)로 인가될 수 있다. Each component is described as follows. The pattern generator 110 generates a predetermined pattern. For example, when the data width is L, a pattern in which 15 states are repeated may be generated using the PRBS generator. The pattern generated by the pattern generator 110 may be applied to the scrambler 125.

일 실시예에 따르면, 신호 생성기(120)에서는 스크램블러(125)의 다항식 모듈의 입력을 선택하기 위한 제어 신호인 SYNC2 신호와, SYNC2 신호가 활성화되기 전에 미리 정해진 수의 비트열 동안 활성화되고, 상기 SYNC2 신호가 비활성화 되기 전에 미리 정해진 수의 비트열 동안 활성화되며, 나머지 비트열들 동안 비활성화되는 제어 신호인 SYNC1 신호를 생성할 수 있다.According to an embodiment, the signal generator 120 is activated for a predetermined number of bit strings before the SYNC2 signal, which is a control signal for selecting an input of the polynomial module of the scrambler 125, and the SYNC2 signal, is activated. Before the signal is deactivated, it is possible to generate a SYNC1 signal, which is a control signal that is activated for a predetermined number of bit strings and deactivated for the remaining bit strings.

일 실시예에 따르면, 스크램블러(125)도 LFSR로 구현될 수 있고, PRBS 생성기와 유사한 다항식으로 구성될 수 있다. 스크램블러(125)에서는 상기 SYNC1 신호 및 상기 SYNC2 신호에 기초하여 패턴 생성기(110)로부터 전달받은 패턴을 스크램블 함으로써, 동기화 정보를 포함하는 출력 신호를 생성할 수 있다. 출력 신호가 병렬 신호일 경우, SerDes 송신기(130)를 통해서 병렬 데이터가 직렬 데이터로 변환되어 데이터 채널(140)을 통해 SerDes 수신기(155)로 전달될 수 있고, SerDes 수신기(155)는 전달받은 직렬 데이터를 병렬 데이터로 변환하여 디스크램블러(160)로 전달할 수 있다. 예를 들어 단말기에서 데이터들은 병렬로 처리된다. 그런데 이를 광송신기를 통해 데이터를 보내려면 병렬 데이터를 직렬로 바꿔줘야 한다. 마찬가지로, 광수신기를 통해 데이터를 받으려면 직렬데이터를 병렬 데이터로 바꿔줘야 한다. 이때 SerDes 송신기(130)와 SerDes 수신기(155)가 사용될 수 있다.According to an embodiment, the scrambler 125 may also be implemented with LFSR and may be configured with a polynomial similar to the PRBS generator. The scrambler 125 may generate an output signal including synchronization information by scrambled the pattern received from the pattern generator 110 based on the SYNC1 signal and the SYNC2 signal. When the output signal is a parallel signal, parallel data may be converted into serial data through the SerDes transmitter 130 and transmitted to the SerDes receiver 155 through the data channel 140, and the SerDes receiver 155 may receive the serial data. May be converted into parallel data and transmitted to the descrambler 160. At the terminal, for example, the data are processed in parallel. However, in order to send data through an optical transmitter, parallel data must be serially converted. Likewise, serial data must be converted to parallel data in order to receive data through the optical receiver. In this case, the SerDes transmitter 130 and the SerDes receiver 155 may be used.

일 실시예에 따르면, 디스크램블러(160)도 LFSR로 구현될 수 있고, 스크램블러(125)에서 사용한 다항식을 이용하여 동일하게 구현될 수 있다. 디스크램블러(160)에서 송신기(100)로부터 수신된 신호를 디스크램블 함으로써, 동기화 정보를 포함하는 출력 신호를 생성할 수 있다.According to an embodiment, the descrambler 160 may also be implemented as an LFSR, and may be implemented in the same manner using the polynomial used in the scrambler 125. The descrambler 160 descrambles the signal received from the transmitter 100, thereby generating an output signal including synchronization information.

디스크램블러의 출력 신호는 패턴 체크기(165)로 입력되고, 패턴 체크기(165)는 디스크램블러의 출력 신호에 포함된 비트열들의 반전 여부를 판단할 수 있다. 일 실시예로, 패턴 체크기(165)는 데이터가 반전된 경우 오류로 인식 할 수 있다. 또한, 패턴 체크기(165)는 오류 여부를 판단함으로써, 상기 동기화 정보를 추출할 수 있고, 상기 동기화 정보에 기초하여, 오류 비트열이 발생시 그 시점을 알려주는 신호인 제1 제어 신호를 생성하고, 오류 비트열의 다음 비트열부터 다음 오류 비트열 사이의 비트열들 동안 활성화되는 제2 제어 신호를 생성할 수 있다. 그리고 제2 제어 신호를 이용하여 디스크램블러(160)를 제어할 수 있다.The output signal of the descrambler is input to the pattern checker 165, and the pattern checker 165 may determine whether the bit strings included in the output signal of the descrambler are reversed. In one embodiment, the pattern checker 165 may recognize an error when the data is inverted. In addition, the pattern checker 165 may extract the synchronization information by determining whether an error is generated, and based on the synchronization information, the pattern checker 165 generates a first control signal that is a signal indicating a time point when an error bit string occurs. A second control signal may be generated that is activated during bit strings between the next bit string of the error bit string and the next error bit string. The descrambler 160 may be controlled using the second control signal.

동기화 및 데이터 정렬 기간이 끝난 후에는 전송하고자 하는 실제 데이터를 전송하기 위해 송신기 선택기(115)를 사용하여 제어모드를 패턴 생성기(110)에서 데이터 생성기(105)로 변경할 수 있다. 데이터 생성기(105)에서 생성된 데이터는 스크램블 되고, SYNC2 신호가 활성화 상태에서 비활성화 상태로 천이한 이후에 수신기로 전송되고, 수신기에서 스크램블된 데이터를 디스크램블 하여 비트 동기 및 데이터 정렬기(170)로 전송한다. 비트 동기 및 데이터 정렬기(170)에서는 전송 받은 데이터를 제 2 제어 신호의 길이에 맞춰 수신하여 동기화 및 데이터 정렬을 할 수 있다.After the synchronization and data alignment period ends, the control mode may be changed from the pattern generator 110 to the data generator 105 using the transmitter selector 115 to transmit the actual data to be transmitted. The data generated by the data generator 105 is scrambled, transmitted to the receiver after the SYNC2 signal transitions from the active state to the inactive state, and descrambled scrambled data at the receiver to the bit sync and data aligner 170. send. The bit synchronization and data aligner 170 may receive the data according to the length of the second control signal to perform synchronization and data alignment.

도 4는 일 실시예에 따른 스크램블러를 나타낸 도면이다.4 is a diagram illustrating a scrambler according to one embodiment.

도 4를 참조하면, 스크램블러(125)는 기존의 스크램블러와 유사하게 LFSR을 이용하여 구현될 수 있다. 다만, 기존의 64B/66B에서 사용하는 스크램블러와 차이점은 스크램블러 선택기(430)를 사용하여 두 가지 경로 중에 하나를 선택하여 스크램블러의 다항식 모듈의 입력을 받는데, 일 실시예로 두 가지 경로는 다음과 같을 수 있다. 첫 번째 경로(path 1)는 스크램블러의 입력 신호인 패턴과 스크램블러의 다항식 모듈의 출력을 미리 정해놓은 논리 회로를 통해 연산을 취하여 나온 신호를 스크램블러의 다항식 모듈의 입력으로 갖는 경로이다. 이 때, 미리 정해진 논리 회로는 XOR 게이트를 포함할 수 있다. 두번째 경로(path 2)는 스크램블러의 다항식 모듈의 출력을 직접 스크램블러의 다항식 모듈의 입력으로 받는 경로다. 이 두 가지 경로는 SYNC2 신호에 의해 제어되는 스크램블러 선택기(430)에 의해 선택될 수 있다. 다항식 모듈의 출력과 패턴을 미리 정해놓은 논리 회로를 통해 연산한 결과를 송신기(100)의 임시 출력 신호라 할 때, 스크램블러의 출력 신호는 상기 송신기의 임시 출력 신호와 SYNC1 신호를 미리 정해놓은 논리 회로를 통해 연산한 값이다. 이 때, 미리 정해진 논리 회로는 XOR 게이트를 포함할 수 있다. 도 4를 참조하면, 스크램블러의 출력 신호는 다항식 모듈의 출력과 패턴을 XOR 게이트(410)를 통해 연산한 결과인 송신기(100)의 임시 출력 신호와 SYNC1 신호를 XOR 게이트(420)를 통해 연산한 값이다. 제어 신호인 SYNC1 신호와 SYNC2 신호에 대한 자세한 설명은 후술할 예정이다.Referring to FIG. 4, the scrambler 125 may be implemented using the LFSR similarly to the existing scrambler. However, the difference between the scrambler used in the existing 64B / 66B is that the scrambler selector 430 selects one of two paths to receive the input of the polynomial module of the scrambler. In one embodiment, the two paths are as follows. Can be. The first path (path 1) is a path having the input signal of the polynomial module of the scrambler, which is a signal obtained by arithmetic through a predetermined logic circuit that defines the input signal of the scrambler and the output of the polynomial module of the scrambler. In this case, the predetermined logic circuit may include an XOR gate. The second path (path 2) is a path that receives the output of the scrambler's polynomial module directly as an input to the scrambler's polynomial module. These two paths can be selected by the scrambler selector 430 controlled by the SYNC2 signal. When the result of calculating the output and pattern of the polynomial module through a predetermined logic circuit is called a temporary output signal of the transmitter 100, the output signal of the scrambler is a logic circuit that predetermines the temporary output signal of the transmitter and the SYNC1 signal. It is the value calculated through. In this case, the predetermined logic circuit may include an XOR gate. Referring to FIG. 4, the output signal of the scrambler is obtained by calculating a temporary output signal and a SYNC1 signal of the transmitter 100, which is a result of calculating the output and pattern of the polynomial module through the XOR gate 410, through the XOR gate 420. Value. Details of the SYNC1 and SYNC2 signals, which are control signals, will be described later.

도 5는 일 실시예에 따른 디스크램블러를 나타낸 도면이다.5 illustrates a descrambler according to an embodiment.

도 5를 참조하면, 디스크램블러(160)는 송신기(100)로부터 동기화 정보를 포함하는 신호를 입력으로 받고, 스크램블러(125)와 동일한 다항식을 사용하며, LFSR로 구현될 수 있다. 이때, 스크램블러(125)와 마찬가지로 디스크램블러(160)도 디스크램블러 선택기(530)를 사용하여 두 가지 경로 중에 하나를 디스크램블러의 다항식 모듈의 입력으로 받을 수 있다. 디스크램블러 선택기(530)는 제2 제어 신호에 의해서 제어될 수 있다. 상기 제2 제어 신호에 기초하여, 송신기로부터 입력 받은 신호 또는 디스크램블을 위한 다항식 모듈의 출력이 임시 출력 신호로 선택 될 수 있다. 두 가지 경로는 다음과 같을 수 있다. 첫 번째 경로인 경로 3(path3)은 송신기로부터 수신한 신호를 임시 출력 신호로 선택하여 제1 제어 신호와 미리 정해진 논리 회로를 통해 연산한 결과를 디스크램블러(160)의 다항식 모듈의 입력으로 갖는 경로이다. 두번째 경로인 경로 4(path4)는 디스크램블러(160)의 다항식 모듈의 출력을 임시 출력 신호로 선택하여 제1 제어 신호와 미리 정해진 논리회로를 통해 연산한 결과를 디스크램블러(160)의 다항식 모듈의 입력으로 갖는 경로이다. 디스크램블러의 출력 신호는 송신기로부터 입력 받은 신호와 디스크램블러(160)의 다항식 모듈의 출력을 미리 정해진 논리 회로를 통해 연산한 값일 수 있다. 이 때, 미리 정해진 논리 회로는 XOR 게이트를 포함할 수 있다. 예를 들어, 도 5를 참조하면, 첫 번째 경로인 경로 3(path3)는 송신기로부터 수신한 신호를 임시 출력 신호로 선택하여 제1 제어 신호와 XOR 게이트(510)를 통해 연산한 결과를 디스크램블러의 다항식 모듈의 입력으로 갖는 경로이다. 두번째 경로인 경로 4(path4)는 디스크램블러의 다항식 모듈의 출력을 임시 출력 신호로 선택하여 제1 제어 신호와 XOR 게이트(510)를 통해 연산한 결과를 디스크램블러의 다항식 모듈의 입력으로 갖는 경로이다. 상기 제1 제어 신호와 제2 제어 신호에 대한 자세한 설명은 다음 단락에서 후술할 예정이다.Referring to FIG. 5, the descrambler 160 receives a signal including synchronization information from the transmitter 100 as an input, uses the same polynomial as the scrambler 125, and may be implemented as an LFSR. In this case, like the scrambler 125, the descrambler 160 may receive one of two paths as an input of the polynomial module of the descrambler using the descrambler selector 530. The descrambler selector 530 may be controlled by the second control signal. Based on the second control signal, a signal received from the transmitter or an output of the polynomial module for descramble may be selected as a temporary output signal. The two paths can be: The first path, path 3 (path3), selects a signal received from a transmitter as a temporary output signal and has a result of calculating the first control signal and a predetermined logic circuit as an input of the polynomial module of the descrambler 160. to be. Path 4 (path4), which is the second path, selects the output of the polynomial module of the descrambler 160 as a temporary output signal, and calculates the result of the operation through the first control signal and a predetermined logic circuit of the polynomial module of the descrambler 160. The path to take as input. The output signal of the descrambler may be a value obtained by calculating a signal received from a transmitter and an output of the polynomial module of the descrambler 160 through a predetermined logic circuit. In this case, the predetermined logic circuit may include an XOR gate. For example, referring to FIG. 5, the path 3 (path3), which is the first path, selects a signal received from a transmitter as a temporary output signal, and descrambles a result obtained through the first control signal and the XOR gate 510. The path to the input of the polynomial module. The second path, path 4, is a path having the output of the polynomial module of the descrambler as a temporary output signal and having the result of the operation through the first control signal and the XOR gate 510 as the input of the polynomial module of the descrambler. . A detailed description of the first control signal and the second control signal will be described later in the following paragraphs.

도 6a는 일 실시예에 따른 스크램블러의 입력 및 출력 신호와 각각의 제어 신호의 타이밍도를 도시한다.6A illustrates a timing diagram of input and output signals and respective control signals of a scrambler according to one embodiment.

도 6a을 참조하면, 스크램블러 입력 신호는 패턴 생성기(110)에서 생성된 패턴이고, 예를 들어 PRBS 생성기에 의해 생성되는 패턴일 경우, 일반적인 PRBS7, PRBS9, PRBS15, PRBS23, PRBS31 등의 다항식으로 구성되어 출력되는 데이터 값일 수 있다. 도 6a의 p(1), p(2), ..., p(k), ..., p(k+w), ... 등은 다항식의 길이 L의 2L-1에 해당하는 비트열의 시퀀스를 갖고 반복되어 출력될 수 있다. 다항식의 길이 L은 PRBS 생성기 설계 단계에서 상황에 맞게 설정할 수 있다. 예를 들면, ITU-T Rec. O. 150/O.151 과 같은 표준에서는 PRBS7, PRBS15, PRBS31 등을 표준 PRBS로 사용할 수 있다. 전술한 PRBS# (여기서, #는 양의 정수)의 다항식의 길이는 #로, 예를 들어 PRBS7의 다항식의 길이는 7이고 PRBS23의 다항식의 길이는 23일 수 있다.Referring to FIG. 6A, when the scrambler input signal is a pattern generated by the pattern generator 110 and is, for example, a pattern generated by the PRBS generator, the scrambler input signal includes a polynomial such as general PRBS7, PRBS9, PRBS15, PRBS23, and PRBS31. It may be an output data value. P (1), p (2), ..., p (k), ..., p (k + w), ... in FIG. 6A correspond to 2 L -1 of the length L of the polynomial The sequence of bits can be repeated and output. The length L of the polynomial can be set as appropriate during the design phase of the PRBS generator. For example, ITU-T Rec. In standards such as O. 150 / O.151, PRBS7, PRBS15, PRBS31, etc. can be used as standard PRBS. The length of the polynomial of the aforementioned PRBS # (where # is a positive integer) may be #, for example, the length of the polynomial of PRBS7 is 7 and the length of the polynomial of PRBS23 may be 23.

일 실시예에 따르면, 이 패턴은 스크램블러 입력 신호로 입력되고, 각 입력에 따른 스크램블러(125)의 제어 신호는 다음과 같이 동작할 수 있다. SYNC1 신호와 SYNC2 신호는 신호 생성기(120)에서 생성될 수 있다. 패턴 생성기는 패턴을 생성하다가 비트 동기화 및 데이터 정렬을 시작할 시점에 신호 생성기는 SYNC2 신호를 발생시킬 수 있다. 도 6a를 참조하면, 스크램블러 입력 신호가 p(k+1)인 시점이 패턴을 생성하다가 비트 동기화 및 데이터 정렬을 시작할 시점, 다시 말해 SYNC2 신호의 발생 시점에 해당한다. 그리고 SYNC2 신호는 데이터의 폭인 W 만큼의 길이에 대응하는 비트열들 동안 활성화되는 신호이다. 예를 들면, 64비트 병렬 데이터 단위로 SerDes 송신기(130)에 전달하여 병렬 데이터를 직렬 데이터로 변환하여 전송하는 경우 64가 W값에 해당된다. SYNC1 신호는 도 6a에 나타낸 바와 같이, SYNC2 신호가 활성화('1'의 값을 갖는 경우)되기 전에 미리 정해진 수의 비트열 동안 활성화되고, 또한, 비활성화('0'의 값을 갖는 경우) 되기 이전에 미리 정해진 수의 비트열 동안 활성화 될 수 있다. According to one embodiment, the pattern is input as a scrambler input signal, the control signal of the scrambler 125 according to each input may operate as follows. The SYNC1 and SYNC2 signals may be generated at the signal generator 120. When the pattern generator generates a pattern and starts bit synchronization and data alignment, the signal generator can generate a SYNC2 signal. Referring to FIG. 6A, a point in time at which the scrambler input signal is p (k + 1) generates a pattern and starts a bit synchronization and data alignment, that is, a point in time at which the SYNC2 signal is generated. The SYNC2 signal is a signal that is activated during bit strings corresponding to the length W of the data width. For example, when 64 bits are transmitted to the SerDes transmitter 130 in parallel data units to convert parallel data into serial data, 64 corresponds to a W value. The SYNC1 signal is activated for a predetermined number of bit strings before the SYNC2 signal is activated (if it has a value of '1') and also deactivated (if it has a value of '0'), as shown in FIG. 6A. It can be activated for a previously predetermined number of bit strings.

일 실시예에 따르면, 앞서 서술한 신호들을 도 4에 나타낸 스크램블러(125)와 같이 고려해보면 다음과 같이 동작할 수 있다. 초기에는 SYNC2 신호가 비활성화되기 때문에 앞서 설명한 경로1(path1)에 따라 동작할 수 있다. 패턴과 스크램블러의 다항식 모듈의 출력을 XOR 게이트(410)를 통해 연산하여 나온 신호를 스크램블러의 다항식 모듈의 입력으로 받는다. 그 후, 스크램블러의 다항식 모듈의 출력과 패턴을 XOR 게이트(410)를 통해 연산할 수 있다. 그리고 연산된 값과 SYNC1 신호를 XOR 게이트(420)를 통해 연산하게 되는데, 이때 SYNC1 신호가 비활성화된 상태를 유지하기 때문에 SYNC1 신호와 XOR 연산을 하여도 SYNC1 신호와 연산하기 전의 값이 스크램블러 출력 신호가 될 수 있다. 이를 구체적 데이터 값으로 표현하면 스크램블러의 입력 신호는 패턴인 p(1), p(2), ..., p(k) 이고, 이에 해당하는 스크램블러의 출력 신호는 m(1), m(2), ..., m(k) 이다. 상기p(#), m(#), a(#)은 한 개 혹은 그 이상의 개수를 가진 비트열을 의미한다. 이때 m(k) 값에 해당하는 출력 시점에 SYNC1 신호의 값이 활성화(도 6a의 경우 '1'의 값) 되기 때문에, 그 시점의 패턴인 p(k)가 스크램블러 입력 신호로 입력될 때, 활성화 된 SYNC1 신호(도 6a의 경우 '1'의 값) 와 XOR 연산을 한 스크램블러 출력 신호는 m(k) 데이터의 반전 값인 m*(k)을 출력하게 된다. 이후 SYNC2 신호는 데이터 폭에 대응하는 비트열의 길이만큼 활성화(도 6a의 경우 '1'의 값) 되고 이는 스크램블러의 다항식 모듈의 출력이 그대로 스크램블러의 다항식 모듈의 입력과 연결되는 경로 2(path2)를 선택하게 되어 패턴이 스크램블러의 다항식 모듈에 입력되지 않는다. 그리고, 스크램블러 출력 신호로 a(1), a(2), ..., a(w)가 출력되는데, 이때 마지막 출력 값인 a(w) 값에 해당되는 출력 시점에 다시 SYNC1 신호가 활성화(도 6a의 경우 '1'의 값) 되어 a(w) 데이터의 반전 값인 a*(w) 를 스크램블러 출력 신호로 출력하게 된다. 이후, SYNC2 신호는 다시 비활성화(도 6a의 경우 '0'의 값) 되어서 경로1을 선택한다. 송신기(100)에서는 SYNC1, 2 신호와 스크램블러(125)를 이용하여 동기화 시키고 싶은 시작점과 끝점에 관계된 비트를 반전 시켜 출력(도 6a에서는 m*(k), a*(w)가 이에 해당한다)하여 동기화 정보가 포함된 출력을 수신기(150)의 디스크램블러(160)로 전송 할 수 있다.According to an embodiment, considering the above-described signals as shown in the scrambler 125 shown in Figure 4 can be operated as follows. Initially, since the SYNC2 signal is inactivated, it can operate according to the path 1 (path1) described above. A signal obtained by calculating the output of the polynomial module of the pattern and the scrambler through the XOR gate 410 is received as an input of the polynomial module of the scrambler. Thereafter, the output and pattern of the polynomial module of the scrambler can be computed through the XOR gate 410. The calculated value and the SYNC1 signal are calculated through the XOR gate 420. At this time, the SYNC1 signal and the value before the SYNC1 signal and the SYNC1 signal are calculated even though the SYNC1 signal is inactivated. Can be. If this is expressed as a specific data value, the input signals of the scrambler are p (1), p (2), ..., p (k) which are patterns, and the output signals of the scrambler corresponding thereto are m (1) and m (2). ), ..., m (k). P (#), m (#), and a (#) mean a bit string having one or more numbers. At this time, since the value of the SYNC1 signal is activated (the value of '1' in FIG. 6A) at the output time corresponding to the m (k) value, when the pattern p (k) at that time is input to the scrambler input signal, The activated SYNC1 signal (the value of '1' in FIG. 6A) and the scrambler output signal that performs the XOR operation output m * (k), which is an inverted value of the m (k) data. The SYNC2 signal is then activated by the length of the bit string corresponding to the data width (a value of '1' in FIG. 6A), which means that the output of the scrambler's polynomial module is directly connected to the input of the scrambler's polynomial module. The pattern is not entered into the scrambler's polynomial module. In addition, a (1), a (2), ..., a (w) are output as scrambler output signals, at which point the SYNC1 signal is activated again at an output time corresponding to the a (w) value, which is the last output value (Fig. In case of 6a, a * (w), which is an inverted value of a (w) data, is output as a scrambler output signal. Thereafter, the SYNC2 signal is deactivated again (the value of '0' in FIG. 6A) to select the path 1. The transmitter 100 outputs by inverting the bits related to the start and end points to be synchronized using the SYNC1 and 2 signals and the scrambler 125 (m * (k) and a * (w) in FIG. 6A). The output including the synchronization information may be transmitted to the descrambler 160 of the receiver 150.

도 6b는 일 실시예에 따른 디스크램블러(160)의 입력 및 출력 신호와 각각의 제어 신호의 타이밍도를 도시한 것이다. 도 6b를 참조하면, 동기화 정보가 포함된 송신기의 출력 신호를 데이터 채널(140)을 통해서 입력으로 받은 디스크램블러(160)는 다음과 같이 동작할 수 있다. 송신기로부터 수신한 신호가 m(1), m(2), ...., m*(k) 인 시점에서는, 디스크램블러의 제어 신호인 제 2 제어 신호가 비활성화되기 때문에 경로 3(path3)에 따라 동작할 수 있다. 따라서 송신기로부터 수신한 신호가 그대로 디스크램블러 선택기(530)의 입력으로 선택되고, 디스크램블러의 다항식 모듈의 출력과 송신기로부터 수신한 신호를 XOR 연산하여 디스크램블러 출력 신호로 출력되고, 이는 스크램블러(125)에서 생성되었던 값인 p(1), p(2), ..., p*(k) 값으로 출력될 수 있다. 디스크램블러의 출력 값 p*(k)는 정상적인 p(k) 값의 반전 상태이므로 패턴 체크기(165)에서 오류 비트열로 인식하여 오류 상태로 표시되어 출력할 수 있다. 패턴 체크기의 오류 상태를 표시하는 제어 신호 값은 제1 제어 신호에 해당하는데, 오류 상태인 경우 해당 비트열동안 활성화되고, 정상적인 패턴으로 인식하는 동안에는 비활성화될 수 있다. 또한, 제1 제어 신호는 디스크램블러 선택기(530) 출력 신호와 XOR 게이트(520)를 통해 연산하여 디스크램블러의 다항식 모듈에 입력되도록 할 수 있다. 이는 오류를 발생시키는 디스크램블러 입력 신호를 반전시켜서 디스크램블러의 다항식 모듈에 정상적인 값이 입력되도록 하기 위함이다. 그리고 패턴 체크기(165)에서, 오류 비트열의 다음 비트열부터 다음 오류 비트열 사이의 비트열들 동안 활성화되어, 결과적으로 데이터 폭에 대응하는 비트열들 동안 활성화 상태를 유지하는 제2 제어 신호를 생성할 수 있다. 제2 제어 신호가 활성화 되면 디스크램블러 선택기(530)를 통해 경로를 경로 3(path3)에서 경로 4(path4)로 변경할 수 있다. 경로 4(path4)로 바뀌게 되면, 스크램블러(125)의 경로 2(path2)를 통해서 생성된 값인 a(1), a(2),...., a*(w) 을 입력으로 받게 되어 p(k+1), p(k+2), ..., p*(k+w)를 출력할 수 있다. 경로4를 통해서 출력된 마지막 출력값 p*(k+w)는 다시 패턴 체크기(165)를 통해서 오류 신호(제1 제어 신호가 활성화 되도록 변경)를 발생시키고, 이로 인해 제2 제어 신호가 비활성화 되어 경로 4에서 경로 3으로 경로가 변경될 수 있다. 또한, 앞서의 동작과 마찬가지로 에러 상태의 디스크램블러 입력 신호가 디스크램블러의 다항식 모듈에 입력되지 않도록 하기 위해, 디스크램블러 선택기(530) 출력과 제1 제어 신호가 XOR 게이트(520)를 통해 연산된 값을 디스크램블러의 다항식 모듈에 입력할 수 있다. FIG. 6B illustrates a timing diagram of input and output signals and control signals of the descrambler 160 according to an exemplary embodiment. Referring to FIG. 6B, the descrambler 160 receiving the output signal of the transmitter including synchronization information through the data channel 140 may operate as follows. At the time when the signals received from the transmitter are m (1), m (2), ..., and m * (k), the second control signal, which is the control signal of the descrambler, is deactivated. Can work accordingly. Accordingly, the signal received from the transmitter is selected as the input of the descrambler selector 530 as it is, and the output of the descrambler polynomial module and the signal received from the transmitter are XORed and output as a descrambler output signal, which is a scrambler 125. P (1), p (2), ..., p * (k) values generated at Since the output value p * (k) of the descrambler is an inverted state of the normal p (k) value, the pattern checker 165 may recognize the error bit string as an error bit string and display the result as an error state. The control signal value indicating the error state of the pattern checker corresponds to the first control signal, and in the case of the error state, is activated during the corresponding bit string, and may be inactivated during the recognition of the normal pattern. In addition, the first control signal may be calculated through the output signal of the descrambler selector 530 and the XOR gate 520 to be input to the polynomial module of the descrambler. This is to invert a descrambler input signal that causes an error so that a normal value is input to the polynomial module of the descrambler. And in the pattern checker 165, generates a second control signal that is activated during bit strings between the next bit string of the error bit string and the next error bit string, and consequently remains active for the bit strings corresponding to the data width. can do. When the second control signal is activated, the path may be changed from path 3 (path 3) to path 4 (path 4) through the descrambler selector 530. When the path is changed to path 4, the input values a (1), a (2), ..., a * (w) generated through path 2 of path scrambler 125 are input. (k + 1), p (k + 2), ..., p * (k + w) can be output. The last output value p * (k + w) output through the path 4 again generates an error signal (change so that the first control signal is activated) through the pattern checker 165, which causes the second control signal to be deactivated. The path can be changed from 4 to path 3. In addition, in order to prevent the descrambler input signal in an error state from being input to the polynomial module of the descrambler, the output of the descrambler selector 530 and the first control signal are calculated through the XOR gate 520. Can be entered into the polynomial module of the descrambler.

구체적인 비트 동기화를 위한 동기화 신호 생성은 다음과 같다.Synchronization signal generation for specific bit synchronization is as follows.

일 실시예로, 비트 동기화 및 워드 단위 정렬 기간 동안에는 PRBS 생성기(105)에서 PRBS 패턴이 생성되고, 이후 비트 동기화 및 데이터 정렬이 완료(SYNC2 신호가 활성화 상태에서 비활성화 상태로 천이된 시점)된 후 에는 데이터 생성기(105)에서 실제 보내려는 데이터가 생성되어 전송될 수 있다. In one embodiment, the PRBS pattern is generated in the PRBS generator 105 during the bit synchronization and word alignment period, and then after the bit synchronization and data alignment is completed (the time when the SYNC2 signal transitions from the active state to the inactive state). In the data generator 105, data to be actually sent may be generated and transmitted.

도 7은 일 실시예에 따른 제2 제어 신호를 이용한 동기화 방법을 나타낸 도면이다.7 is a diagram illustrating a synchronization method using a second control signal according to an embodiment.

도 7를 참조하면, 수신기에서는 데이터 폭의 길이(W)에 대응하는 비트열들을 갖는 제2 제어 신호를 생성하게 되고, 이는 무작위 한 지연 시간에 의해서 비트 동기가 이뤄지지 않은 직렬 데이터를 병렬 데이터로 변환할 때 데이터 폭 길이(W) 단위로 병렬 데이터를 변환하기 위한 변환 신호로 사용되어 비트 동기화를 이룰 수 있다. 동기화 및 데이터 정렬 기간이 끝난 후, 즉 SYNC2 신호가 활성화 상태에서 비활성화 상태로 천이된 시점 이후에는 전송하고자 하는 실제 데이터를 전송하기 위해 송신기 선택기(115)를 사용하여 제어모드를 패턴 생성기(110)에서 데이터 생성기(105)로 변경할 수 있다. 데이터 생성기(105)에서 d(1). d(2), ...,d(w) 데이터를 생성할 수 있다. 생성된 데이터는 송신기(100)에서 스크램블 되어 수신기(150)로 전송되고, 수신기(150)에서 다시 디스크램블 되어 복구된다. 제2 제어 신호가 데이터 폭 길이(W)만큼 활성화가 유지되는 구간에 해당하는 p(k+1), p(k+2), ..., p(k+w) 값의 데이터 열은 병렬 데이터 단위로 묶여서 비트 동기가 이뤄질 수 있다. 이후 지속적으로 데이터 폭의 길이(W)마다 디스크램블러의 출력을 묶어서 병렬 데이터로 변환함으로써 비트 동기화를 유지할 수 있다.Referring to FIG. 7, the receiver generates a second control signal having bit strings corresponding to the length W of the data width, which converts serial data that is not bit-synchronized into parallel data by a random delay time. When used as a conversion signal for converting parallel data in units of data width length W, bit synchronization may be achieved. After the synchronization and data alignment period ends, i.e., after the SYNC2 signal transitions from the active state to the inactive state, the control mode is changed from the pattern generator 110 using the transmitter selector 115 to transmit the actual data to be transmitted. Can be changed with the data generator 105. D (1) in the data generator 105. d (2), ..., d (w) data can be generated. The generated data is scrambled by the transmitter 100 and transmitted to the receiver 150, and then descrambled by the receiver 150 and recovered. The data strings of p (k + 1), p (k + 2), ..., p (k + w) values corresponding to a section in which the second control signal is maintained active by the data width length W are parallel. Bit synchronization can be achieved by grouping data units. After that, the output of the descrambler is continuously bundled for each length (W) of the data width and converted into parallel data to maintain bit synchronization.

도 8은 일 실시예에 따른 제 2 제어 신호를 이용한 데이터 정렬 방법을 나타낸 도면이다. 도 8은 다중 채널에 대한 워드 단위의 데이터 정렬하는 방법의 구체적인 예를 도시한다. 다중 채널에 있어서, 각 채널 별로 비트 동기화를 이룬 데이터들은 데이터 폭 W를 가지며, 채널 별로 각 FIFO에 입력되어 저장될 수 있다. 저장 순서는 채널 별로 독립적이고, 유효한 데이터가 도착하는 대로 저장될 수 있다. 데이터 정렬을 위한 읽기 동작은 제2 제어 신호를 참고하는데, 각 채널들의 제2 제어 신호들 중에서 가장 늦게 활성화되는 채널을 기준으로 이 시점에 모든 채널의 FIFO 데이터를 읽어. 동시에 정렬된 출력 데이터를 가질 수 있다. 좀 더 구체적으로, 송신기(110)에서는 모든 채널에 대하여 W(1), W(2), W(3), W(4)와 같은 순서로 동시에 패턴을 전송하였다고 가정한다. 이러한 경우, 수신기에는 도 8에 나타낸 바와 같이, 비트 동기화 과정을 통해서 각 채널 별로 데이터가 W(1), W(2), W(3), W(4) 등의 순서로 도착할 수 있다. 하지만, 앞서 설명한 바와 같이, 각 채널 별로 다양한 요인에 의해서 지연 시간이 서로 다르기 때문에 패턴 열에 대해서, 수신 FIFO에 입력되는 시점은 서로 다를 수 있다. 도 8에 도시한 예로, 채널1의 비트열이 가장 먼저 도착한 반면, 채널2의 비트열이 가장 나중에 도착한 것을 알 수 있다. 이는 제2 제어 신호의 활성화 상태 시점을 이용하여 알 수 있다. 각 채널에 해당하는 제2 제어 신호의 활성화 시점을 비교하여, 가장 늦게 활성화되는 채널을 기준으로 그 시점에 모든 채널의 FIFO를 읽기를 수행할 수 있다. 도 8에 도시한 바와 같이, 채널 0에서 채널 3까지의 레인들 중에서 가장 늦게 제2 제어 신호가 활성화된 채널인 채널 2의 제2 제어 신호를 기준으로 모든 채널의 읽기 신호(read)를 활성화시키면 FIFO에 저장된 모든 채널의 데이터를 동시에 읽게 되어 동시에 정렬된 출력 데이터를 가질 수 있다.8 is a diagram illustrating a data sorting method using a second control signal, according to an exemplary embodiment. 8 illustrates a specific example of a method of word-aligning data for multiple channels. In a multi-channel, data having bit synchronization for each channel has a data width W and may be input and stored in each FIFO for each channel. The storage order is independent for each channel and can be stored as soon as valid data arrives. The read operation for data alignment refers to a second control signal, which reads FIFO data of all channels at this time with respect to the most recently activated channel of the second control signals of each channel. You can have output data sorted at the same time. More specifically, it is assumed that the transmitter 110 transmits a pattern simultaneously in the same order as W (1), W (2), W (3), and W (4) for all channels. In this case, as shown in FIG. 8, data may arrive at the receiver in order of W (1), W (2), W (3), and W (4) for each channel through a bit synchronization process. However, as described above, since the delay time is different for each channel due to various factors, the time points input to the reception FIFO may be different for the pattern string. As shown in FIG. 8, it can be seen that the bit string of channel 1 arrives first while the bit string of channel 2 arrives last. This can be known using the activation state time point of the second control signal. By comparing the activation time points of the second control signals corresponding to each channel, the FIFOs of all channels may be read at that time on the basis of the last activated channel. As shown in FIG. 8, when the read signals of all channels are activated on the basis of the second control signal of channel 2, which is the channel in which the second control signal is activated last, among the lanes from channel 0 to channel 3 The data of all channels stored in the FIFO can be read at the same time so that the output data can be aligned at the same time.

이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및 또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The embodiments described above may be implemented as hardware components, software components, or a combination of hardware components and software components. For example, the devices, methods, and components described in the embodiments may include, for example, processors, controllers, arithmetic logic units (ALUs), digital signal processors, microcomputers, field programmable gates (FPGAs). It may be implemented using one or more general purpose or special purpose computers, such as an array, a programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to the execution of the software. For convenience of explanation, one processing device may be described as being used, but one of ordinary skill in the art will appreciate that the processing device includes a plurality of processing elements and / or a plurality of types of processing elements. It can be seen that it may include. For example, the processing device may include a plurality of processors or one processor and one controller. In addition, other processing configurations are possible, such as parallel processors.

소프트웨어는 컴퓨터 프로그램(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 the above, and configure the processing device to operate as desired, or process it independently or collectively. You can command the device. Software and / or data may be any type of machine, component, physical device, virtual equipment, computer storage medium or device in order to be interpreted by or to provide instructions or data to the processing device. Or may be permanently or temporarily embodied in a signal wave to be transmitted. The software may be distributed over networked computer systems so that they may be stored or executed in a distributed manner. Software and data may be stored on one or more computer readable recording media.

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

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

Claims (25)

미리 정해진 패턴을 수신하는 단계;
데이터의 폭에 대응하는 비트열들 동안 활성화되고, 나머지 비트열들 동안 비활성화되는 제어 신호인 SYNC2 신호를 수신하는 단계;
상기 SYNC2 신호가 활성화되기 전에 미리 정해진 수의 비트열 동안 활성화되고, 상기 SYNC2 신호가 비활성화 되기 전에 미리 정해진 수의 비트열 동안 활성화되며, 나머지 비트열들 동안 비활성화되는 제어 신호인 SYNC1 신호를 수신하는 단계;
상기 SYNC1 신호 및 상기 SYNC2 신호에 기초하여 상기 패턴을 스크램블 함으로써, 동기화 정보를 포함하는 출력 신호를 생성하는 단계; 및
상기 출력 신호를 전송하는 단계
를 포함하는, 송신기의 동작 방법.
Receiving a predetermined pattern;
Receiving a SYNC2 signal, which is a control signal that is activated for bit strings corresponding to the width of data and is inactive for the remaining bit strings;
Receiving a SYNC1 signal, which is a control signal that is activated for a predetermined number of bit strings before the SYNC2 signal is activated, is activated for a predetermined number of bit strings before the SYNC2 signal is inactivated, and is inactivated for the remaining bit strings. ;
Scrambled the pattern based on the SYNC1 signal and the SYNC2 signal to generate an output signal comprising synchronization information; And
Transmitting the output signal
Including, the method of operation of the transmitter.
제1항에 있어서,
상기 동기화 정보는
동기화의 시점에 대한 제1 정보 및 상기 데이터의 폭에 대한 제2 정보를 포함하는, 송신기의 동작 방법.
The method of claim 1,
The synchronization information is
A first information for the timing of synchronization and a second information for the width of the data.
제 1항에 있어서,
상기 출력 신호를 생성하는 단계는
상기 SYNC2 신호에 기초하여, 스크램블을 위한 다항식 모듈의 출력, 또는 상기 패턴과 상기 출력 신호를 연산한 임시 출력 신호를 상기 다항식 모듈의 입력으로 선택하는 단계;
를 포함하는, 송신기의 동작 방법.
The method of claim 1,
Generating the output signal
Selecting, based on the SYNC2 signal, an output of the polynomial module for scramble, or a temporary output signal for computing the pattern and the output signal as an input of the polynomial module;
Including, the method of operation of the transmitter.
제 1항에 있어서,
상기 출력 신호를 생성하는 단계는
상기 패턴과 스크램블을 위한 다항식 모듈의 출력에 기초하여, 임시 출력 신호를 생성하는 단계; 및
상기 임시 출력 신호와 상기 SYNC1 신호에 기초하여, 상기 출력 신호를 생성하는 단계
를 포함하는, 송신기의 동작 방법.
The method of claim 1,
Generating the output signal
Generating a temporary output signal based on the output of the polynomial module for scrambled with the pattern; And
Generating the output signal based on the temporary output signal and the SYNC1 signal
Including, the method of operation of the transmitter.
제 1항에 있어서,
전송 데이터를 수신하는 단계;
상기 전송 데이터를 스크램블 하는 단계; 및
상기 SYNC2신호가 활성화 상태에서 비활성화 상태로 천이한 이후, 상기 스크램블 된 전송 데이터를 전송하는 단계
를 더 포함하는, 송신기의 동작 방법.
The method of claim 1,
Receiving transmission data;
Scrambled the transmission data; And
Transmitting the scrambled transmission data after the SYNC2 signal transitions from an active state to an inactive state
Further comprising a method of operating the transmitter.
제1항에 있어서,
상기 미리 정해진 패턴은
PRBS(pseudorandom binary sequence) 패턴을 포함하는, 송신기의 동작 방법.
The method of claim 1,
The predetermined pattern is
A method of operation of a transmitter comprising a pseudorandom binary sequence (PRBS) pattern.
송신기로부터 수신된 신호를 디스크램블 함으로써, 동기화 정보를 포함하는 출력 신호를 생성하는 단계;
상기 출력 신호에 포함된 비트열들의 오류 여부를 판단함으로써, 상기 동기화 정보를 추출하는 단계;
상기 동기화 정보에 기초하여, 정상 비트열에 반응하여 비활성화되고 오류 비트열에 반응하여 활성화되는 제1 제어 신호를 생성하는 단계;
상기 오류 비트열의 다음 비트열부터 다음 오류 비트열 사이의 비트열들 동안 활성화되는 제2 제어 신호를 생성하는 단계;
상기 송신기로부터, 전송 데이터를 수신하는 단계; 및
상기 제1 제어 신호 및 상기 제2 제어 신호에 기초하여, 상기 전송 데이터를 처리하는 단계
를 포함하는, 수신기의 동작 방법.
Descrambling the signal received from the transmitter, thereby generating an output signal comprising synchronization information;
Extracting the synchronization information by determining whether the bit strings included in the output signal are in error;
Generating a first control signal based on the synchronization information, the first control signal being deactivated in response to a normal bit string and activated in response to an error bit string;
Generating a second control signal that is activated during bit strings between a next bit string and a next error bit string of the error bit string;
Receiving transmission data from the transmitter; And
Processing the transmission data based on the first control signal and the second control signal.
Including, the method of operation of the receiver.
제7항에 있어서,
상기 동기화 정보는
동기화의 시점에 대한 제1 정보 및 데이터의 폭에 대한 제2 정보를 포함하는, 수신기의 동작 방법.
The method of claim 7, wherein
The synchronization information is
A first information for the timing of synchronization and second information for the width of the data.
제 7항에 있어서,
상기 출력 신호를 생성하는 단계는
상기 제2 제어 신호에 기초하여, 상기 신호 또는 디스크램블을 위한 다항식 모듈의 출력을 임시 출력 신호로 선택하는 단계; 및
상기 임시 출력 신호 및 상기 제1 제어 신호에 기초하여, 상기 다항식 모듈의 입력 신호를 생성하는 단계;
를 포함하는, 수신기의 동작 방법.
The method of claim 7, wherein
Generating the output signal
Selecting an output of the polynomial module for descrambling as a temporary output signal based on the second control signal; And
Generating an input signal of the polynomial module based on the temporary output signal and the first control signal;
Including, the method of operation of the receiver.
제 7항에 있어서,
상기 출력 신호를 생성하는 단계는
상기 신호와 상기 디스크램블을 위한 다항식 모듈의 출력에 기초하여, 상기 출력 신호를 생성하는 단계
를 포함하는, 수신기의 동작 방법.
The method of claim 7, wherein
Generating the output signal
Generating the output signal based on the signal and an output of a polynomial module for the descramble
Including, the method of operation of the receiver.
제 7항에 있어서,
상기 전송 데이터를 처리하는 단계는
상기 전송 데이터를 디스크램블 하는 단계; 및
상기 제2 제어 신호가 활성화 상태에서 비활성화 상태로 천이한 이후, 상기 디스크램블 된 전송 데이터를 상기 제2 제어 신호의 길이에 맞춰 수신하는 단계
를 포함하는, 수신기의 동작 방법.
The method of claim 7, wherein
Processing the transmission data
Descrambling the transmission data; And
After the second control signal transitions from an active state to an inactive state, receiving the descrambled transmission data according to a length of the second control signal
It comprises a method of operation of the receiver.
미리 정해진 패턴을 생성하는 패턴 생성기;
데이터의 폭에 대응하는 비트열들 동안 활성화되고, 나머지 비트열들 동안 비활성화되는 제어 신호인 SYNC2 신호와 상기 SYNC2 신호가 활성화되기 전에 미리 정해진 수의 비트열 동안 활성화되고, 상기 SYNC2 신호가 비활성화 되기 전에 미리 정해진 수의 비트열 동안 활성화되며, 나머지 비트열들 동안 비활성화되는 제어 신호인 SYNC1 신호를 생성하는 신호 생성기; 및
상기 SYNC1 신호 및 상기 SYNC2 신호에 기초하여 상기 패턴을 스크램블 함으로써, 동기화 정보를 포함하는 출력 신호를 생성하는 스크램블러;
를 포함하는 송신기.
A pattern generator for generating a predetermined pattern;
Before the SYNC2 signal and the SYNC2 signal, which are control signals that are activated for bit strings corresponding to the width of the data, and are deactivated for the remaining bit strings, are activated for a predetermined number of bit strings, and before the SYNC2 signal is deactivated. A signal generator that is activated for a predetermined number of bit strings and generates a SYNC1 signal that is a control signal that is inactive for the remaining bit strings; And
A scrambler for generating an output signal including synchronization information by scrambled the pattern based on the SYNC1 signal and the SYNC2 signal;
Transmitter comprising a.
제 12항에 있어서,
상기 동기화 정보는
동기화의 시점에 대한 제1 정보 및 상기 데이터의 폭에 대한 제2 정보를 포함하는, 송신기.
The method of claim 12,
The synchronization information is
A first information for the timing of synchronization and a second information for the width of the data.
제 12항에 있어서,
상기 스크램블러는 상기 SYNC2 신호에 기초하여, 스크램블을 위한 다항식 모듈의 출력 또는 상기 패턴과 상기 출력 신호를 연산한 임시 출력 신호를 상기 다항식 모듈의 입력으로 선택하는 선택기를 포함하는, 송신기.
The method of claim 12,
The scrambler includes a selector for selecting, based on the SYNC2 signal, an output of the polynomial module for scramble or a temporary output signal that computes the pattern and the output signal as an input of the polynomial module.
제 12항에 있어서,
상기 스크램블러는 상기 패턴과 스크램블을 위한 다항식 모듈의 출력을 XOR 연산하는 XOR 게이트와, 상기 임시 출력 신호와 상기 SYNC1 신호를 XOR 연산하는 XOR 게이트를 포함하는, 송신기.
The method of claim 12,
The scrambler includes an XOR gate for performing an XOR operation on the output of the polynomial module for the pattern and scramble, and an XOR gate for performing the XOR operation on the temporary output signal and the SYNC1 signal.
제 12항에 있어서,
전송 데이터를 생성하는 데이터 생성기를 더 포함하고,
상기 스크램블러는 상기 전송 데이터를 스크램블 하고, 상기 SYNC2신호가 활성화 상태에서 비활성화 상태로 천이한 이후, 상기 스크램블 된 전송 데이터를 전송하는, 송신기.
The method of claim 12,
Further comprising a data generator for generating transmission data,
And the scrambler scrambles the transmission data and transmits the scrambled transmission data after the SYNC2 signal transitions from an active state to an inactive state.
제 12항에 있어서,
상기 전송 데이터 또는 상기 패턴을 상기 스크램블러의 입력으로 선택하기 위한 선택기를 더 포함하는, 송신기.
The method of claim 12,
And a selector for selecting the transmission data or the pattern as an input of the scrambler.
제 12항에 있어서,
상기 스크램블 된 전송 데이터가 병렬 데이터인 경우, 상기 스크램블 된 전송 데이터를 수신하여 직렬 데이터로 변환하는 병렬-직렬 변환 송신기를 더 포함하는 송신기.
The method of claim 12,
And a parallel-serial conversion transmitter for receiving and converting the scrambled transmission data into serial data when the scrambled transmission data is parallel data.
제 12항에 있어서,
상기 미리 정해진 패턴은
PRBS(pseudorandom binary sequence) 패턴을 포함하는, 송신기.
The method of claim 12,
The predetermined pattern is
A transmitter comprising a pseudorandom binary sequence (PRBS) pattern.
송신기로부터 수신된 신호를 디스크램블 함으로써, 동기화 정보를 포함하는 출력 신호를 생성하는 디스크램블러;
상기 출력 신호에 포함된 오류 비트열을 판단하여, 상기 동기화 정보를 추출하고, 상기 동기화 정보에 기초하여 정상 비트열에 반응하여 비활성화되고, 오류 비트열에 반응하여 활성화되는 제1 제어 신호와 상기 오류 비트열의 다음 비트열부터 다음 오류 비트열 사이의 비트열들 동안 활성화되는 제2 제어 신호를 생성하는 패턴 체크기; 및
상기 제 1 제어 신호 및 상기 제 2 제어 신호에 기초하여, 상기 전송 데이터를 처리하는 동기 및 데이터 정렬기
를 포함하는, 수신기.
A descrambler that descrambles a signal received from a transmitter, thereby generating an output signal comprising synchronization information;
Determining the error bit string included in the output signal, extracting the synchronization information, the first control signal and the error bit string of the first control signal is deactivated in response to a normal bit string based on the synchronization information, and is activated in response to an error bit string. A pattern checker for generating a second control signal that is activated during bit strings between a next bit string and a next error bit string; And
A synchronization and data sorter for processing the transmission data based on the first control signal and the second control signal
Including, the receiver.
제 20항에 있어서,
상기 디스크램블러는 상기 제2 제어 신호에 기초하여, 상기 신호 또는 디스크램블을 위한 다항식 모듈의 출력 중 어느 하나를 임시 출력 신호로 선택하는 선택기를 포함하고,
상기 임시 출력 신호 및 상기 제 1 제어 신호에 기초하여, 상기 다항식 모듈의 입력 신호를 생성하는
수신기.
The method of claim 20,
The descrambler includes a selector for selecting any one of the signal or the output of the polynomial module for descrambling as a temporary output signal based on the second control signal,
Generating an input signal of the polynomial module based on the temporary output signal and the first control signal
receiving set.
제 20항에 있어서,
상기 디스크램블러는 상기 선택기의 출력 신호와 제1 제어 신호를 연산하는 XOR 게이트와, 상기 다항식 모듈의 출력과 상기 신호를 XOR 연산하는 XOR 게이트를 포함하는, 수신기.
The method of claim 20,
The descrambler includes an XOR gate for calculating an output signal and a first control signal of the selector, and an XOR gate for XORing the output of the polynomial module and the signal.
제 20항에 있어서,
상기 동기 및 데이터 정렬기는
상기 제2 제어 신호가 활성화 상태에서 비활성화 상태로 천이한 이후, 디스크램블된 전송 데이터를 상기 제2 제어 신호의 길이에 맞춰 수신하여 동기화 하고 데이터 정렬하는, 수신기.
The method of claim 20,
The sync and data sorter
And after the second control signal transitions from an activated state to an inactive state, descrambled transmission data is received according to a length of the second control signal to synchronize and data align.
제 20항에 있어서,
상기 신호가 직렬 데이터인 경우, 상기 신호를 병렬 데이터로 변환하여 상기 디스크램블러에 전송하는 직렬-병렬 변환 수신기를 더 포함하는, 수신기.
The method of claim 20,
And if the signal is serial data, further comprising a serial-to-parallel conversion receiver for converting the signal into parallel data and transmitting the same to the descrambler.
제 20항에 있어서,
상기 패턴 체크기는,
PRBS(pseudorandom binary sequence) 패턴 체크기를 포함하는, 수신기.
The method of claim 20,
The pattern checker,
A receiver comprising a pseudorandom binary sequence (PRBS) pattern checker.
KR1020180016517A 2018-02-09 2018-02-09 Apparatus and Method for Synchronization and Alignment Using Scrambler and Descrambler KR20190096728A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180016517A KR20190096728A (en) 2018-02-09 2018-02-09 Apparatus and Method for Synchronization and Alignment Using Scrambler and Descrambler

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180016517A KR20190096728A (en) 2018-02-09 2018-02-09 Apparatus and Method for Synchronization and Alignment Using Scrambler and Descrambler

Publications (1)

Publication Number Publication Date
KR20190096728A true KR20190096728A (en) 2019-08-20

Family

ID=67807408

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180016517A KR20190096728A (en) 2018-02-09 2018-02-09 Apparatus and Method for Synchronization and Alignment Using Scrambler and Descrambler

Country Status (1)

Country Link
KR (1) KR20190096728A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230111848A (en) 2022-01-19 2023-07-26 한양대학교 산학협력단 Self-synchronous scrambler estimation device and method thereof

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230111848A (en) 2022-01-19 2023-07-26 한양대학교 산학협력단 Self-synchronous scrambler estimation device and method thereof

Similar Documents

Publication Publication Date Title
US6618395B1 (en) Physical coding sub-layer for transmission of data over multi-channel media
US11296722B2 (en) Integrated physical coding sublayer and forward error correction in networking applications
US7949134B2 (en) Multiplexed multilane hybrid scrambled transmission coding
US10103830B2 (en) Latency-optimized physical coding sublayer
JP2003218843A (en) Skew adjustment circuit, skew adjustment method, data synchronization circuit, and data synchronization method
US6539051B1 (en) Parallel framer and transport protocol with distributed framing and continuous data
US20090190690A1 (en) Communication system
JP5850047B2 (en) Data receiving apparatus, marker information extracting method, and marker position detecting method
WO2013001631A1 (en) Transmission device, transmission circuit, transmission system, and method for controlling transmission device
CN108694148B (en) Method and apparatus for Universal Serial Bus (USB) communication
JP2017011470A (en) Serial communication device and serial communication method
US6671833B2 (en) Forward error correction and framing protocol
US9569296B2 (en) Receiver bit alignment for multi-lane asynchronous high-speed data interface
US9497020B1 (en) Initializing a descrambler
US6819683B2 (en) Communications system and associated deskewing and word framing methods
KR20190096728A (en) Apparatus and Method for Synchronization and Alignment Using Scrambler and Descrambler
US9515675B2 (en) Interface circuit operating to recover error of transmitted data
US7876900B1 (en) Hybrid scrambled transmission coding
US9548857B2 (en) Initializing a descrambler
JP7037035B2 (en) Control method of data transmission device, arithmetic processing device and data transmission device
KR20180051200A (en) Transmitter and reciever for data bit synchronization and alignment, and method for transmitting and receiving for the same
US7336666B1 (en) Data transport for bit-interleaved streams supporting lane identification with invalid streams
US8233622B2 (en) Transmitting parallel data via high-speed serial interconnection
CN114584297A (en) Encryption and decryption system and encryption and decryption method based on physical unclonable technology
JP5116567B2 (en) Optical receiver