KR100586047B1 - PCI Express 프로토콜용 16비트 데이터스크램블링/디스크램블링 장치 및 방법 - Google Patents
PCI Express 프로토콜용 16비트 데이터스크램블링/디스크램블링 장치 및 방법 Download PDFInfo
- Publication number
- KR100586047B1 KR100586047B1 KR1020040088766A KR20040088766A KR100586047B1 KR 100586047 B1 KR100586047 B1 KR 100586047B1 KR 1020040088766 A KR1020040088766 A KR 1020040088766A KR 20040088766 A KR20040088766 A KR 20040088766A KR 100586047 B1 KR100586047 B1 KR 100586047B1
- Authority
- KR
- South Korea
- Prior art keywords
- shift register
- bit
- value
- exclusive
- xor
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/02—Details ; arrangements for supplying electrical power along data transmission lines
- H04L25/03—Shaping networks in transmitter or receiver, e.g. adaptive shaping networks
- H04L25/03828—Arrangements for spectral shaping; Arrangements for providing signals with specified spectral properties
- H04L25/03866—Arrangements for spectral shaping; Arrangements for providing signals with specified spectral properties using scrambling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/06—Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Power Engineering (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
본 발명은 PCI Express 프로토콜용 16비트 데이터 스크램블링(Scrambling)/디스크램블링(De-scrambling) 장치 및 방법에 관한 것으로서, 8비트 쉬프트 레지스터 값을 계산하여 8비트 입력데이터와 배타적 논리합(XOR) 연산을 통해 8비트 선행 쉬프트 레지스터 값을 출력하는 8비트 선행 쉬프트 레지스터 생성 장치와, 상기 8비트 선행 쉬프트 레지스터 값을 8비트 더 이동시켜 각각의 레지스터 값을 할당하여 배타적 논리합(XOR) 연산을 통해 16비트 선행 쉬프트 레지스터 값을 출력하는 16비트 선행 쉬프트 레지스터 생성 장치를 포함하는 스크램블러/디스크램블러를 이용하여 16비트 데이터를 한 클럭에 스크램블링/디스크램블링함으로써, PCI Express 프로토콜 물리계층의 PCS와 MAC 인터페이스가 16비트/125MHz 일 경우, 스크램블러/디스크램블러를 효과적으로 구현할 수 있다.
PCI Express, 스크램블러(scrambler), 디스크램블러(de-scrambler), LFSR(Linear Feedback Shift Register)
Description
도 1a는 PHY Interface for the PCI Express Architecture(PIPE) 규격에 나타난 PCI Express PHY 블록도,
도 1b는 PCI Express 8비트 스크램블러 및 디스크램블러 블록도,
도 1c는 PCI Express 16비트 스크램블러 및 디스크램블러 블록도,
도 2a는 PCI Express 스크램블링 다항식(polynomial)으로 LFSR(Linear Feedback Shift Register)를 구현한 회로도,
도 2b는 선행 LFSR 기법을 사용한 PCI Express 8비트 (디)스크램블러 회로도,
도 2c는 PCI Express 8비트 (디)스크램블러 블록도,
도 3은 PCI Express 8비트 데이터 스크램블링 타이밍도,
도 4a는 PCI Express 스크램블러 16비트 LFSR,
도 4b는 PCI Express 스크램블러 8비트 선행 LFSR,
도 4c는 PCI Express 스크램블러 16비트 선행 LFSR,
도 5는 선행 8비트 LFSR과 Idle(00h) 데이터와 Exclusive OR (XOR)된 테이블,
도 6은 선행 8비트 LFSR 테이블,
도 7a는 PCI Express 16비트 데이터 스크램블링에서 8비트 선행 LFSR (LFSR8)과 16비트 선행 LFSR (LFSR16)의 변화를 나타낸 도면,
도 7b는 PCI Express 16비트 데이터 스크램블링에서 LFSR8와 하위바이트 입력데이터와 스크램블링을 나타낸 도면,
도 7c는 PCI Express 16비트 데이터 스크램블링에서 LFSR16와 상위바이트 입력데이터와 스크램블링을 나타낸 도면,
도 7d는 PCI Express 16비트 데이터 스크램블링에서 LFSR8, LFSR16 설계 블록 기능 시뮬레이션 타이밍도,
도 7e는 PCI Express 16비트 데이터 스크램블링에서 16비트 PCI Express (디)스크램블 블록도,
도 8은 PCI Express 16비트 데이터 스크램블링 타이밍도이다.
<도면의 주요 부분에 대한 부호의 설명>
310 : 스크램블러 블록
3101 : 8비트 선행 LFSR 생성 장치
3102 : 16비트 선행 LFSR 생성 장치
320 : 체크 블록
본 발명은 차세대 컴퓨터 I/O 규격인 PCI Express의 물리계층 송수신부에 사용되는 스크램블러 및 디스크램블러에 관한 것으로, 더욱 상세하게는 16비트 데이터 스크램블링 및 디스크램블링을 수행하기 위해 8비트 선행 LFSR과 16비트 선행 LFSR을 각각 구하여 이를 PCI Express 스크램블러 규격에 호환되도록 하는 PCI Express 프로토콜용 16비트 데이터 스크램블링/디스크램블링 장치 및 방법에 관한 것이다.
PCI Express 프로토콜은 링크간 쉴드되지 않는(un-shielded) 2.5G비트/s 고주파가 전송되며, 이로 인한 EMI(ElectroMagnetic Interference) 노이즈가 심각하게 생성된다. 특히, 반복패턴은 특정 주파수에 에너지가 집중되어 심각한 EMI 문제를 유발하게 된다. 따라서 데이터 스크램블링/디스크램블링을 통하여 이러한 링크상에 방출되는 파워를 화이트 노이즈로 변화시키게 된다.
한편, 범용적으로 사용되는 직렬데이터 직병렬화기(SERDES)에는 PCI Express PMA(Physical Media Attachment Layer)와 PCS(Physical Coding Sublayer) 기능이 내장되어 있다. 또한 FPGA 내부에도 프로그래머블한 SERDES가 내장되어 있다. 이러한 SERDES 코어를 사용하여 PCI Express 코어를 만들 경우, PCI Express 규격(PCI Express Base Specification Revision 1.0a)에 제시하는 8비트/250MHz 스크램블러 설계가 어려워진다. 이는 FPGA에서 250MHz 동기화 설계는 동작속도 측면에서 너무 빠르기 때문에 어려워지는 것이다. 따라서 PCS 레이어의 출력을 8비트 16비트 전환 블록을 통해서 16비트/125MHz로 전환하여 인터페이스를 만드는 것이 유리하다. 이로 인해, PCI Express 스크램블링 규격을 만족하는 16비트용 스크램블러 및 디스크램블러의 설계가 필요하게 되었으며, 본 출원인은 PCI Express 프로토콜용 16비트 데이터 스크램블링/디스크램블링 장치 및 방법을 제안하게 되었다.
따라서, 본 발명의 목적은 PCI Express 스크램블 다항식 계수와 XOR 연산이 이루어지는 스크램블/디스크램블 과정에서 16비트를 한 클럭에 스크램블링 하기 위해 8비트 선행 LFSR과 16비트 선행 LFSR을 설계하여 필요로 하는 선행 계산과정을 수행할 수 있도록 하는 PCI Express 프로토콜용 16비트 데이터 스크램블링/디스크램블링 장치 및 방법을 제공하는데 있다.
상기와 같은 목적을 달성하기 위한 본 발명의 PCI Express 프로토콜용 16비트 데이터 스크램블링/디스크램블링 장치는, 8비트 쉬프트 레지스터 값을 계산하여 8비트 입력데이터와 배타적 논리합(XOR) 연산을 통해 8비트 선행 쉬프트 레지스터 값을 출력하는 8비트 선행 쉬프트 레지스터 생성 장치와, 상기 8비트 선행 쉬프트 레지스터 값을 8비트 더 이동시켜 각각의 레지스터 값을 할당하여 배타적 논리합 (XOR) 연산을 통해 16비트 선행 쉬프트 레지스터 값을 출력하는 16비트 선행 쉬프트 레지스터 생성 장치를 포함하는 스크램블러/디스크램블러를 이용하여 16비트 데이터를 한 클럭에 스크램블링/디스크램블링하는 것을 특징으로 한다.
한편, 본 발명의 PCI Express 프로토콜용 16비트 데이터 스크램블링/디스크램블링 방법은, 입력되는 16비트 데이터에 대해 8비트 선행 쉬프트 레지스터를 생성하고, 상기 8비트 선행 쉬프트 레지스터 값을 8비트 더 이동시켜 각각의 레지스터 값을 할당하여 16비트 선행 쉬프트 레지스터를 생성하여 입력되는 데이터의 하위 바이트 및 상위 바이트 각각에 XOR 연산을 수행하여 최종 16비트 데이터를 출력하는 것을 특징으로 한다.
이하, 본 발명의 PCI Express 프로토콜용 16비트 데이터 스크램블링/디스크램블링 장치 및 방법에 대하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
도 1a는 PHY Interface for the PCI Express Architecture(PIPE) 규격에 의한 PCI Express 물리계층을 개략적으로 나타내 도면이다. 도 1a를 참조하면, 2.5Gbps의 차동직렬신호를 처리하는 PMA 블록(일반적으로 데이터 직렬, 병렬화를 담당하기 때문에 SERDES라 칭함)과 8b/10b 코딩/디코딩 블록이 존재하는 PCS 영역이 존재한다. 대부분의 상용 SERDES 칩이나 FPGA 내장 SERDES는 PMA와 PCS 기능을 수행한다. 따라서 FPGA 타킷으로 PCI Express 코어를 개발할 때, 물리계층은 MAC 영역부터 설계를 시작한다. PCI Express 경우 PCS와 MAC 인터페이스는 8비트/250MHz 혹은 16비트/125MHz가 가능하다. 그러나 8비트/250MHz 인터페이스는 FPGA 동작속도의 한계로 인해 대부분의 경우 16비트/125MHz 인터페이스로 구현하고 있다.
도 1b는 8비트/250MHz 인터페이스를 기반으로 한 스크램블러 및 디스크램블러 블록도이다. 도 1b에 도시된 바와 같이, 스크램블 블록(101)은 전송 MAC 종단에 위치하며, MAC에서 입력되는 8비트 데이터(D)와 K 신호에 대해 PCI Express 규격대로 스크램블링을 수행하여 PCS의 8b/10b 인코더(Encoder) 블록(102)으로 데이터(D', K)를 전송한다. 디스크램블 블록(102)은 수신 MAC 첫 부분에 위치하며, PCS의 8b/10b 디코더(Decoder) 블록(103)에서 출력되는 데이터(D)와 K 신호에 대해 PCI Express 규격대로 디스크램블링을 수행하여 출력한다(D', K). 이때, 스크램블 블록(101)과 디스크램블 블록(104)은 기능과 입출력 신호가 완전히 동일하다. 이는 배타적논리합(XOR)의 특성에 기인한다.
도 1c는 본 발명의 일실시예에 의한 16비트/125MHz 인터페이스를 기반으로 한 스크램블러 및 디스크램블러 블록도이다.
도 1b와 같이 PCS와 MAC 인터페이스가 8비트/250MHz일 경우에는, 전송부에 16비트 to 8비트 전환블록을, 수신부에 8비트 to 16비트 전환블록를 각각 구성하고 있지 않고 있다.
그런데, 도 1c에 도시된 바와 같이 본 발명에 의한 16비트/125MHz로 전환하면서 전송부에는 16비트 to 8비트 전환블록(105)을 추가하였으며, 수신부에는 8비 트 to 16비트 전환블록(106)를 추가하였다. 상기 추가된 16비트 to 8비트 전환블록(105) 및 8비트 to 16비트 전환블록(106) 각각은 PCS 블록에서 지원한다.
PCI Express MAC 영역의 첫 단에는 송신일 경우에 스크램블 블록(107)이 위치하며, 수신일 경우에 디스크램블 블록(108)이 위치한다. 두 블록(107, 108) 모두 PCI Express 규격에서 제시하는 규칙에 따라 스크램블 또는 디스크램블 기능을 각각 수행한다. 참조부호 109 및 110은 인코더 및 디코더를 각각 의미한다.
이하, PCI Express 16비트 스크램블러를 설계하기 위해서 먼저 PCI Express 스크램블러의 LFSR(Linear Feedback Shift Register) 동작의 이해와, PCI Express 규격에 호환되는 8비트/250MHz 스크램블러를 설계한다. 그리고, 본 발명에서 제안하는 16비트/125MHz 스크램블러를 설계하기로 한다.
PCI Express 스크램블러의 LFSR의 다항식은 식(1)과 같다.
G(X) = X16 + X5 + X4 + X3 + 1 --- 식(1)
도 2a는 직렬 입력데이터를 식(1)과 같은 다항식을 적용했을 때 스크램블러 회로도이다. LFSR(208)의 16개 레지스터(D0, …, D15)는 초기값으로 FFFFh를 가지며, 그 값이 클럭(201)에 동기되어 계속해서 변화한다. 입력 직렬 데이터 스트림(202)은 8비트 레지스터(209)를 거친 후 LFSR의 출력 값과 XOR(207)하여 최종 스크램블링된 데이터를 출력한다. 이 회로를 PCI Express 규격에 맞도록 구동하기 위해서는 2GHz로 동작해야 8비트/250MHz의 출력(Data out)을 얻을 수 있다. 이는 MAC 영역에서 구현하기 어려운 동작속도이다. 따라서, LFSR 블록을 미리 연산하여 파이프라인 형태의 회로를 설계한다. 이를 “선행 LFSR 연산기법”이라 정의한다. 참조부호 203은 D 플립플롭이며, 204, 205, 206은 XOR이다.
도 2b는 도 2a의 스크램블러 회로에 대해 “선행 LFSR 연산 기법”을 사용하여 250MHz 클럭에 8비트 LFSR[7:0] 값을 계산하여 8비트 입력데이터(D[0:7])와 XOR 연산을 통해서 (디)스크램블 연산을 수행하는 회로이다. 이때, 도 2a의 LFSR 회로에서 선행 8비트 LFSR(LFSR8)을 연산하는 방법은 다음의 [표 1]과 같다.
[표 1]
도 2a의 LFSR D0에서 D15까지 16개의 레지스터에 초기값 1이 입력되어 있다(LFSR 초기값은 0xFFFF). 8비트 선행 LFSR 값을 구하기 위해서는 8 클럭(201)이 지난 후, 각각의 레지스터에 입력된 값을 추적해야 된다. 먼저 8비트 데이터 이동하여 저장된 레지스터 상태는 a열과 같다. D8 레지스터에는 0이 입력되었는데, 이는 D0 레지스터 값이 이동해 저장되었다는 뜻이다. D15 레지스터에는 D7 레지스터 값이 이동해서 저장되어 있다. 그리고 세 개의 XOR(204, 205, 206)로 인한 영향을 고 려해야 된다. 즉, 참조부호 204의 XOR에 의해서 D15∼D8의 출력이 D10∼D3에 영향을 미친다. 참조부호 205의 XOR에 의해서 D15∼D8의 출력이 D11∼D4에 영향을 미친다. 참조부호 206의 XOR에 의해서 D15∼D8의 출력이 D12∼D5에 영향을 미치게 된다. 여기서, 선행 8비트 LFSR은 D15∼D8까지 레지스터의 값이다(8비트 후 입력데이터가 D0에 다다르며, D15 값과 D0 값이 XOR(207)되어 출력되기 때문이다). 즉,
Data out[7:0] = D[0:7] XOR LFSR8[15:8] --- 식(2)
로 나타낼 수 있다. 도 3(b)는 8비트 선행 LFSR 값을 식으로 나타내면 다음 식(3)과 같다.
여기서, BIGOPLUS 는 XOR 연산을 나타낸다. 이때, (디)스크램블에 사용되는 비트는 식(2)와 같이 16비트 LFSR의 상위 8비트이며 굵은 글씨로 표시하고 있다.
8비트 선행 LFSR을 연산한 후, PCI Express 규격이 정하는 스크램블 규칙을 회로에 적용한다. 다음은 PCI Express 프로토콜 규격에 나타난 (디)스크램블링 규칙이다.
가) 다중레인 링크에서는 반드시 레인간의 LFSR이 동일한 값을 가지도록 설계해야 된다.
나) 스크램블링은 TLP와 DLLP의 데이터에 적용되며, Logical Idle(00h)도 해당된다. 그러나 TS1 또는 TS2 내의 데이터는 해당되지 않는다.
다) Ordered Set(TS1, TS2, SKIP, FTS, Electrical Idle) 안의 제어문자(K)는 스크램블 되지 않는다.
라) Compliance 패턴은 스크램블 되지 않는다.
마) COM 심볼(K28.5) 역시 스크램블 되지 않으며 LFSR을 초기화시킨다. 초기화 값은 FFFFh이며, 링크 상대편의 수신단의 De-scrambler 블록 역시 수신된 COM 심볼에 의해서 LFSR 값이 초기화된다.
바) 모든 데이터와 컨트롤 문자에 LFSR 값은 선행되어 계산되어지나, SKP ordered-set에 포함된 SKP 심볼에 대해서는 선행되어 계산하지 않는다. SKP 문자는 링크 스피드 조절 시 가감이 발생하여 LFSR 값의 동기를 어긋나게 하기 때문이다.
사) 스크램블러는 항상 Enable하다. 단 테스트 목적으로 TS의 scramble disable를 사용할 경우는 예외이다. SW가 스크램블을 disable 시킬 수 있으나 규격에는 그 방법에 대해서 논하지 않고 있다.
도 2c는 상기 PCI Express (디)스크램블링 규칙을 적용하여 설계한 8비트/250MHz PCI Express (디)스크램블러 장치를 개략적으로 나타낸 도면이다. 도 2c에 도시된 바와 같이, 입력데이터(D[7:0])에서 COM 심볼과 SKP Ordered-set을 검사하는 심볼 체크 블록(220)과 (디)스크램블을 수행하는 (디)스크램블 블록(230)으로 구성되어있다. 심볼 체크 블록(220)은 PCI Express 스크램블 규칙을 준수하기 위해서 COM 신호를 발견하면 발생하는 Init 신호와 Scramble을 수행 여부를 제어하는 Scramble 신호를 출력신호로 가진다. Scramble 신호는 PCI Express 스크램블 규칙에 따르며 이는 도 3에 나타나 있다. (디)스크램블 블록(230)은 도 4b에 도시된 식과 같이 LFSR 값을 생성하며, 입력데이터와 XOR 연산을 수행 후 데이터를 출력한다.
도 3은 앞서 설계한 8비트/250MHz PCI Express 패킷의 (디)스크램블 타이밍도를 나타낸 것이다.
PCI Express 규격에 따라 크게 3가지 경우의 동작형태를 정의할 수 있다.
먼저, 도 3a는 250MHz 클럭(601)에 DLLP 혹은 TLP 패킷이(602) 입력될 때의 (디)스크램블러의 동작 모습을 나타낸다. Init 제어신호(603)는 COM 심볼이 입력될 때 High로 변하며 이때 LFSR 값은 리셋(FFFFh) 된다. 만약 Init 제어신호가 Low이면 LFSR(604)은 도 5 LFSR 변화표와 같이 변화된다. Scramble 제어신호(605)는 K 심볼, SKP, TS 경우만 Low로 바뀌며 이때는 Scramble이 이루어지지 않는다. 도 3a 에서 SDP(STP)과 END 경우, 즉 K 심볼 입력일 경우에 Scramble 제어신호(605)는 Low이며, 이외는 High이다. 최종 (디)스크램블러의 출력데이터(606)는 scramble 제어신호(605)가 set될 때만 8비트 선행 LFSR과 입력데이터가 XOR되어 출력되며, scramble 제어신호(605)가 low일 경우에는 입력데이터가 그대로 출력된다.
도 3b는 250MHz 클럭(601)에 8비트 입력데이터 in_data[7:0](607)에 SKP과 DLLP(TLP) 패킷이 입력될 때의 동작 모습이다. SKP ordered-set의 COM 심볼 입력에 LFSR를 FFFFh로 초기화시키는 Init 제어신호(608)가 set된다. 다음 클럭에 LFSR(609) 값은 FFFFh로 초기화된다. COM 이후 다음 3개의 입력 심볼이 SKP이므로 LFSR은 변화되지 않고 FFFFh 값을 출력한다. 이후 SDP(STP) 데이터가 입력될 때, LFSR은 도 5 테이블 값과 같이 E817h, 0328h 등의 순서로 변화된다. 이때, scramble 제어신호(610)는 SKP ordered-set과 K 심볼인 SDP(STP)과 END 경우에 Low이며, 이후 High가 된다. 출력데이터(out_data[7:0])(611)는 scramble 제어신호(610)가 set될 때만 8비트 선행 LFSR 값과 입력데이터가 XOR되어 출력된다.
도 3c는 250MHz 클럭(601)에 8비트 입력데이터 in_data[7:0](612)에 TS ordered-set과 Idle(00h) 패킷이 입력될 때의 동작 모습이다. COM 심볼의 입력에 LFSR를 FFFFh로 초기화시키는 Init 제어신호(613)가 set된다. 다음 클럭에 LFSR(614) 값은 FFFFh로 초기화된다. 이후, LFSR은 도 5 테이블 값과 같이 E817h, 0328h 등의 순서로 변화된다. TS ordered-set 전송될 때 scramble 제어신호(615)는 0이며, 이후 set된다. 출력데이터(out_data[7:0])(616)는 scramble 제어신호(615)가 set될 때만 8비트 선행 LFSR과 XOR되어 출력된다.
도 5는 입력데이터(D[7:0])가 Idle(00h) 일 경우 (디)스크램블된 데이터 값을 나타낸다. 또한, 도 6은 선행 8비트 LFSR 테이블이다. 두 테이블 모두 식(3)을 활용하여 증명되며, 이 표를 활용하면 선행 LFSR 검증이 이루어질 수 있다.
도 2(c)의 8비트/250MHz로 설계를 기반으로 16비트/125MHz (디)스크램블러를 설계하면 다음과 같다. 첫째, 16비트로 인터페이스를 확장하기 위해서 16비트 선행 LFSR 값을 구해야 된다. 이후 16비트/125MHz 동작에서도 PCI Express (디)스크램블 규격을 만족하도록 설계한다.
16비트(2심볼)의 LFSR 값을 선행 계산하기 위해서는 앞서 구한 8비트 선행 LFSR을 하위바이트(in_data[0:7])의 LFSR로 사용하며, 16비트 선행 LFSR을 상위 바이트(in_data[8:15])의 LFSR로 사용한다. 16비트 선행 LFSR(LFSR16)은 [표 1]의 8비트 선행 LFSR 값을 구하는 방법을 한 번 더 적용하여서 찾을 수 있다. [표 2]는 16비트 선행 LFSR 표를 나타낸다.
[표 2]
16비트 선행 LFSR을 구하기 위해 [표 1]의 8비트 선행 LFSR를 8비트 더 이동시키면, [표 2]의 a∼d열 굵은 글씨와 같이 각각의 레지스터의 값이 할당된다. 또한, 도 2a에서 세 개의 XOR 영향을 테이블에 반영한다. 첫째, 도 2a의 204번 XOR에 의해서 e∼h열의 데이터가 영향을 미치게 된다. 둘째, 도 2a의 참조부호 205의 XOR에 의해서 e∼l 열의 데이터가 영향을 미치게 된다. 마지막으로 도 2a의 참조부호 206의 XOR에 의해서 m∼p 열의 데이터가 영향을 미치게 된다. [표 2]에서 사선으로 그어진 부분은 XOR 계산의 특성상 짝수 숫자로 제거가 가능하기 때문에 삭제하였다. 따라서 16비트 선행 LFSR 값(LFSR16)을 식으로 나타내면 식(4)와 같다.
LFSR16 역시 굵은 글씨로 표현된 상위 8비트만 스크램블에 사용된다. 즉
Data out[15:8] = D[8:15] XOR LFSR16[15:8] --- 식(5)
로 나타낸다.
도 7a는 16비트 Idle(00h) 입력데이터에 LFSR8과 LFSR16 값을 사용하여 (디)스크램블을 수행한 결과로 LFSR8과 LFSR16 값의 변화를 보여주고 있다. COM 심볼을 포함하는 SKP, TS ordered-set이 입력되면 init_skp 혹은 init_ts 신호가 set된다. 다음 클럭에 LFSR8은 FFFFh로 LFSR16은 E817h로 초기화된다. 이후 LFSR8은 이전 클럭의 LFSR16 값(FFFFh)을 값을 기초로 8비트 선행 LFSR 값 즉 E817h을 출력한다. E817h 값을 기초로 식(3)을 수행하여 LFSR8 값 0328h 값을 구하며, 식(4)를 수행하 여 LFSR16 값 284Bh를 생성한다. 마찬가지로 284Bh를 기반으로 LFSR8, LFSR16 값인 4DE8h와 E755h 값을 생성한다. 이는 도 5의 LFSR 변위 표와 정확히 일치한다. LFSR8은 이전 클럭의 LFSR16의 값을 기반으로 8비트 선행 LFSR 알고리즘에 의해 생성되며, LFSR16의 값은 이전 클럭의 LFSR16의 값을 기반으로 16비트 선행 LFSR 알고리즘에 의해 생성된다. 이처럼 상위바이트에 필요한 LFSR16 값과 하위바이트에 필요한 LFSR8의 값을 동시에 구함으로써 16비트 데이터(2바이트=2심볼)를 한 클럭에서 모두 (디)스크램블할 수 있다.
16비트 LFSR8, LFSR16 값은 입력데이터와 도 7b 및 도 7c와 같이 XOR 수행하여 출력된다. 이를 식(6) 및 식(7)에 나타내었다. 즉,
Scrambled lower byte data = out_data[7:0] = LFSR8[15:8] XOR in_data[0:7] --- 식(6)
Scrambled upper byte data = out_data[15:8] = LFSR16[15:8] XOR in_data[8:15] --- 식(7)
도 7d는 본 발명의 알고리즘을 사용하여 설계한 스크램블 블록의 시뮬레이션 결과이다. LFSR8[15:8], LFSR16[15:8] 값이 도 5와 같이 FFh, E8h, 03h, 28h,4Dh 등으로 변화된다. 이때, 16비트 입력데이터 0000h 의 스크램블링된 출력 값은 17FFh, 14C0h 등으로 도 6의 Idle 데이터의 스크램블 표와 정확히 일치한다.
도 7e는 본 발명이 제안하는 16비트/125MHz PCI Express 프로토콜용 (디)스크램블러 블록도이다. 스크램블러 블록(310) 앞 단에 TS, SKP ordered-set 체크 블록(320)과 데이터 지연 버퍼(3201)가 있다. 이 체크 블록(320)은 입력 16비트 데이터를 입력 받아, 심볼 검사를 통해 SKP Ordered-set을 알리는 Init_skp 신호와 TS ordered-set을 알리는 Init_ts 신호를 출력한다. 또한 16비트(2심볼) 각각의 바이트에 대한 스크램블 여부를 2비트 Scramble 신호를 통하여 출력한다. (디)스크램블 블록(310)은 8비트 선행 LFSR 생성 장치(3101), 16비트 선행 LFSR 생성 장치(3102)로 구성되어 있으며, 이는 입력데이터의 하위, 상위 바이트와 각각 XOR 연산을 수행하여 최종 16비트 데이터와 각각의 K 심볼을 출력한다. 이때 심볼 검사 블록은 8비트/250MHz 인터페이스에 사용되는 심볼 검사 블록과 비교해서 Init 출력 신호와 Scramble 출력 신호의 변화가 있으며 다음과 같다.
LFSR을 초기화시키는 제어신호로 8비트/250MHz 인터페이스에는 init 신호(603)만 사용했으나 16비트/125MHz 인터페이스에는 init_ts 와 init_skp 두 개의 제어신호를 사용한다. 또한, 8비트/250MHz 인터페이스와 달리 16비트/125MHz 인터페이스에는 init 제어신호를 COM 심볼 한 클럭(125MHz) 이전에 발생해야 된다. TS ordered-set(612)은 SKP ordered-set과 달리 COM 심볼 다음 Link 번호 심볼부터 LFSR 값을 업데이트해야 된다. 그러나, SKP ordered-set의 경우 COM 심볼 다음 3개의 SKP 심볼에도 LFSR은 업데이트가 불필요하다. 도 8b의 809에서 보듯이 COM 심볼과 동일한 클럭에 Link 번호가 입력된다. 따라서 Link번호에 적용될 LFSR 값이 변 경되지 못한다. LFSR8, LFSR16 값은 모두 클럭 동기화된 출력이기 때문이다. 따라서 스크램블 과정에서는 스크램블러 앞 단에서, 디스크램블 과정에서는 심볼 체크 블록(310)에서 COM 심볼 전송한 클럭 이전에 init_ts나 init_skp 신호를 발생시켜야 된다. 이때, SKP ordered-set일 경우 init_skp을 그 외 TS, FTS, Electrical Idle 등의 ordered-set일 경우는 init_ts 신호를 발생시킨다.
도 8a는 SKP ordered-set의 입력될 경우 본 발명이 제안한 16비트/125MHz (디)스크램블러의 동작모습이다. SKP ordered-set은 4바이트 (COM-SKP-SKP-SKP) 으로 구성되어 있다. 그리고 SKP ordered-set 구간은 LFSR 업데이트가 없다. 따라서 SKP ordered-set 다음 LFSR 값은 초기값인 LFSR8=FFFF, LFSR16=E817을 가진다. 따라서 init_skp 신호에서는 LFSR8=FFFF, LFSR16=E817으로 변화된다. 이때, scramble[1:0] 제어신호(806) 한 클럭에 두 심볼을 처리해야 되므로 2비트로 확장되었다. scramble 제어신호가 “00” 일 경우 두 심볼 모두 스크램블을 않으며, “01” 경우 하위 바이트만 스크램블 하며, “10” 경우 상위 바이트만 스크램블 한다. “11” 경우 두 바이트 모두 스크램블 한다. 도 8a에서 STP나 END처럼 K 심볼에서는 스크램블 제어신호가 Low이다.
도 8b는 본 발명이 제안한 16비트/125MHz (디)스크램블러에서 TS ordered-set의 입력될 경우이다. TS ordered-set은 COM 다음 Link 번호부터 LFSR 값이 변화되며, TS ordered-set 전체는 (디)스크램블 되지 않는다. 따라서 Link 번호에서는 LFSR=FFFFh 값을 가진다. 그래서 init_ts 신호가 입력되면 LFSR8=LFSR16=FFFFh의 초기값을 가진다. 이는 COM 심볼을 가지고 있는 FTS, Electrical Idle ordered-set에도 동일하게 적용된다.
도 8c 및 도 8d는 본 발명이 제안한 16비트/125MHz (디)스크램블러 설계 블록의 시뮬레이션 결과로서, 도 8c는 Idle 입력 사이에 SKP ordered-set 입력될 때 시뮬레이션 결과를 나타낸 타이밍도이고, 도 8(d)는 Idle 입력 사이에 TS ordered-set 입력될 때 시뮬레이션 결과이다. 도 8c에서 Idle 사이에 입력된 SKP ordered-set에서 LFSR8, LFSR16 값과 스크램블된 출력데이터를 확인할 수 있다. SKP 이후의 출력데이터는 도 6과 정확하게 일치한다.
이상에서 몇 가지 실시예를 들어 본 발명을 더욱 상세하게 설명하였으나, 본 발명은 반드시 이러한 실시예로 국한되는 것이 아니고 본 발명의 기술사상을 벗어나지 않는 범위 내에서 다양하게 변형실시될 수 있다.
상술한 바와 같이, 본 발명에 의한 PCI Express 프로토콜용 16비트 데이터 스크램블링/디스크램블링 장치 및 방법은, PCI Express 프로토콜 물리계층의 PCS와 MAC 인터페이스가 16비트/125MHz 일 경우, 스크램블러/디스크램블러를 효과적으로 구현할 수 있다.
Claims (11)
- PCI Express 프로토콜용 16비트 데이터 스크램블링/디스크램블링 장치에 있어서,8비트 쉬프트 레지스터 값을 계산하여 8비트 입력데이터와 배타적 논리합(XOR) 연산을 통해 8비트 선행 쉬프트 레지스터 값을 출력하는 8비트 선행 쉬프트 레지스터 생성 장치와, 상기 8비트 선행 쉬프트 레지스터 값을 8비트 더 이동시켜 각각의 레지스터 값을 할당하여 배타적 논리합(XOR) 연산을 통해 16비트 선행 쉬프트 레지스터 값을 출력하는 16비트 선행 쉬프트 레지스터 생성 장치를 이용하여 16비트 데이터를 한 클럭에 스크램블링/디스크램블링하는 것을 특징으로 하는 PCI Express 프로토콜용 16비트 데이터 스크램블링/디스크램블링 장치.
- 제 1 항에 있어서,16비트 선행 쉬프트 레지스터 생성 장치는,3번째 쉬프트 레지스터와, 4번째 쉬프트 레지스터와, 5번째 쉬프트 레지스터와, 8번째 쉬프트 레지스터와, 14번째 쉬프트 레지스터를 연산하여 9번째 쉬프트 레지스터 값을 출력하는 배타적 논리합(XOR);4번째 쉬프트 레지스터와, 5번째 쉬프트 레지스터와, 6번째 쉬프트 레지스터와, 9번째 쉬프트 레지스터와, 15번째 쉬프트 레지스터를 연산하여 10번째 쉬프트 레지스터 값을 출력하는 배타적 논리합(XOR);5번째 쉬프트 레지스터와, 6번째 쉬프트 레지스터와, 7번째 쉬프트 레지스터와, 20번째 쉬프트 레지스터를 연산하여 11번째 쉬프트 레지스터 값을 출력하는 배타적 논리합(XOR);6번째 쉬프트 레지스터와, 7번째 쉬프트 레지스터와, 8번째 쉬프트 레지스터와, 11번째 쉬프트 레지스터를 연산하여 12번째 쉬프트 레지스터 값을 출력하는 배타적 논리합(XOR);7번째 쉬프트 레지스터와, 8번째 쉬프트 레지스터와, 9번째 쉬프트 레지스터와, 12번째 쉬프트 레지스터를 연산하여 13번째 쉬프트 레지스터 값을 출력하는 배타적 논리합(XOR);8번째 쉬프트 레지스터와, 9번째 쉬프트 레지스터와, 10번째 쉬프트 레지스터와, 13번째 쉬프트 레지스터를 연산하여 14번째 쉬프트 레지스터 값을 출력하는 배타적 논리합(XOR);9번째 쉬프트 레지스터와, 10번째 쉬프트 레지스터와, 11번째 쉬프트 레지스터와, 14번째 쉬프트 레지스터를 연산하여 15번째 쉬프트 레지스터 값을 출력하는 배타적 논리합(XOR); 및10번째 쉬프트 레지스터와, 11번째 쉬프트 레지스터와, 12번째 쉬프트 레지스터와, 15번째 쉬프트 레지스터를 연산하여 16번째 쉬프트 레지스터 값을 출력하는 배타적 논리합(XOR)으로 이루어진 것을 특징으로 하는 PCI Express 프로토콜용 16비트 데이터 스크램블링/디스크램블링 장치.
- 제 1 항 또는 제 2 항에 있어서,현재 클럭에 사용되는 8비트 선행 쉬프트 레지스터 값의 초기 값과 16비트 선행 쉬프트 레지스터 값의 초기 값을 이전 클럭의 16비트 선행 쉬프트 레지스터 값으로 설정하는 것을 특징으로 하는 PCI Express 프로토콜용 16비트 데이터 스크램블링/디스크램블링 장치.
- 제 3 항에 있어서,상기 16비트 데이터와 8비트 선행 쉬프트 레지스터 값 및 16비트 선행 쉬프트 레지스터 값을 스크램블링/디스크램블링하는 방법으로,입력 하위바이트는 8비트 선행 쉬프트 레지스터의 상위 8비트와 배타적 논리합이 이루어지며,입력 상위바이트는 16비트 선행 쉬프트 레지스터의 상위 8비트와 배타적 논리합이 이루어지며,상기 배타적 논리합 연산시 최대 유효 비트와 최소 유효 비트가 대응하는 것을 특징으로 하는 PCI Express 프로토콜용 16비트 데이터 스크램블링/디스크램블링 장치.
- 제 1 항에 있어서,상기 장치는,데이터 입력 중 COM 심볼이 포함되어 있으면 한 클럭 이전에 COM 심볼 입력을 알리는 SKP ordered-set 신호 발생장치 및 TS Ordered-set 신호 발생장치를 더 포함한 것을 특징으로 하는 PCI Express 프로토콜용 16비트 데이터 스크램블링/디스크램블링 장치.
- 제 5 항에 있어서,상기 SKP ordered-set 입력을 알리는 신호가 발생하면 8비트 선행 쉬프트 레지스터 값을 FFFFh로 설정함과 아울러 16비트 선행 쉬프트 레지스터 값을 E817h로 설정하며, TS, FTS, Electrical Idle ordered-set 입력을 알리는 신호가 발생하면 8비트 선행 쉬프트 레지스터 값을 FFFFh로 설정함과 아울러 16비트 선행 쉬프트 레지스터 값을 FFFFh로 설정하는 COM 심볼 감지 장치를 더 포함하는 것을 특징으로 하는 PCI Express 프로토콜용 16비트 데이터 스크램블링/디스크램블링 장치.
- PCI Express 프로토콜용 16비트 데이터 스크램블링/디스크램블링 방법에 있어서,입력되는 16비트 데이터에 대해 8비트 선행 쉬프트 레지스터를 생성하고, 상기 8비트 선행 쉬프트 레지스터 값을 8비트 더 이동시켜 각각의 레지스터 값을 할당하여 16비트 선행 쉬프트 레지스터를 생성하여 입력되는 데이터의 하위 바이트 및 상위 바이트 각각에 XOR 연산을 수행하여 최종 16비트 데이터를 출력하는 것을 특징으로 하는 PCI Express 프로토콜용 16비트 데이터 스크램블링/디스크램블링 방 법.
- 제 7 항에 있어서,16비트 선행 쉬프트 레지스터 생성 장치에서 생성되는 16비트 쉬프트 레지스터 값은,9번째 쉬프트 레지스터 출력 값은 3번째 쉬프트 레지스터와, 4번째 쉬프트 레지스터와, 5번째 쉬프트 레지스터와, 8번째 쉬프트 레지스터와, 14번째 쉬프트 레지스터의 배타적 논리합(XOR)이며,10번째 쉬프트 레지스터 출력 값은 4번째 쉬프트 레지스터와, 5번째 쉬프트 레지스터와, 6번째 쉬프트 레지스터와, 9번째 쉬프트 레지스터와, 15번째 쉬프트 레지스터의 배타적 논리합(XOR)이며,11번째 쉬프트 레지스터 출력 값은 5번째 쉬프트 레지스터와, 6번째 쉬프트 레지스터와, 7번째 쉬프트 레지스터와, 20번째 쉬프트 레지스터의 배타적 논리합(XOR)이며,12번째 쉬프트 레지스터 출력 값은 6번째 쉬프트 레지스터와, 7번째 쉬프트 레지스터와, 8번째 쉬프트 레지스터와, 11번째 쉬프트 레지스터의 배타적 논리합(XOR)이며,13번째 쉬프트 레지스터 출력 값은 7번째 쉬프트 레지스터와, 8번째 쉬프트 레지스터와, 9번째 쉬프트 레지스터와, 12번째 쉬프트 레지스터의 배타적 논리합(XOR)이며,14번째 쉬프트 레지스터 출력 값은 8번째 쉬프트 레지스터와, 9번째 쉬프트 레지스터와, 10번째 쉬프트 레지스터와, 13번째 쉬프트 레지스터의 배타적 논리합(XOR)이며,15번째 쉬프트 레지스터 출력 값은 9번째 쉬프트 레지스터와, 10번째 쉬프트 레지스터와, 11번째 쉬프트 레지스터와, 14번째의 쉬프트 레지스터의 배타적 논리합(XOR)이며,16번째 쉬프트 레지스터 출력 값은 10번째 쉬프트 레지스터와, 11번째 쉬프트 레지스터와, 12번째 쉬프트 레지스터와, 15번째 쉬프트 레지스터의 배타적 논리합(XOR)인 것을 특징으로 하는 PCI Express 프로토콜용 16비트 데이터 스크램블링/디스크램블링 방법.
- 제 7 항 또는 제 8 항에 있어서,상기 쉬프트 레지스터 초기 값 설정에 있어, 현재 클럭에 사용되는 8비트 선행 쉬프트 레지스터 값의 초기 값과 16비트 선행 쉬프트 레지스터 값의 초기 값을 이전 클럭의 16비트 선행 쉬프트 레지스터 값으로 설정하는 것을 특징으로 하는 PCI Express 프로토콜용 16비트 데이터 스크램블링/디스크램블링 방법.
- 제 9 항에 있어서,입력되는 16비트 데이터와 8비트 선행 쉬프트 레지스터 값 및 16비트 선행 쉬프트 레지스터 값을 스크램블링/디스크램블링하는 방법으로,입력 하위바이트는 8비트 선행 쉬프트 레지스터의 상위 8비트와 배타적 논리합이 이루어지며,입력 상위바이트는 16비트 선행 쉬프트 레지스터의 상위 8비트와 배타적 논리합이 이루어지며,상기 배타적 논리합 연산시 최대 유효 비트와 최소 유효 비트가 대응하는 것을 특징으로 하는 PCI Express 프로토콜용 16비트 데이터 스크램블링/디스크램블링 방법.
- 제 7 항에 있어서,데이터 입력 중 COM 심볼이 포함되어 있으면 한 클럭 이전에 COM 심볼 입력을 알리는 신호로서, SKP ordered-set 입력을 알리는 신호가 발생하면 8비트 선행 쉬프트 레지스터 값을 FFFFh로 설정함과 아울러 16비트 선행 쉬프트 레지스터 값을 E817h로 설정하며, TS, FTS, Electrical Idle ordered-set 입력을 알리는 신호가 발생하면 8비트 선행 쉬프트 레지스터 값을 FFFFh로 설정함과 아울러 16비트 선행 쉬프트 레지스터 값을 FFFFh로 설정하는 것을 특징으로 하는 PCI Express 프로토콜용 16비트 데이터 스크램블링/디스크램블링 방법.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040088766A KR100586047B1 (ko) | 2004-11-03 | 2004-11-03 | PCI Express 프로토콜용 16비트 데이터스크램블링/디스크램블링 장치 및 방법 |
US11/263,466 US20060093147A1 (en) | 2004-11-03 | 2005-10-31 | Apparatus and method for scaramling/de-scrambling 16-bit data at PCT express protocol |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040088766A KR100586047B1 (ko) | 2004-11-03 | 2004-11-03 | PCI Express 프로토콜용 16비트 데이터스크램블링/디스크램블링 장치 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20060039600A KR20060039600A (ko) | 2006-05-09 |
KR100586047B1 true KR100586047B1 (ko) | 2006-06-08 |
Family
ID=36261908
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020040088766A KR100586047B1 (ko) | 2004-11-03 | 2004-11-03 | PCI Express 프로토콜용 16비트 데이터스크램블링/디스크램블링 장치 및 방법 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20060093147A1 (ko) |
KR (1) | KR100586047B1 (ko) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7257655B1 (en) * | 2004-10-13 | 2007-08-14 | Altera Corporation | Embedded PCI-Express implementation |
KR100738351B1 (ko) * | 2005-12-01 | 2007-07-12 | 한국전자통신연구원 | 디스크램블링 기능을 포함하는 피씨아이 익스프레스 패킷검출 장치 |
US8000477B2 (en) * | 2006-06-01 | 2011-08-16 | Dell Products L.P. | Data security system and method for high bandwidth bus |
KR100846352B1 (ko) * | 2006-12-28 | 2008-07-15 | 전자부품연구원 | 4 x pci―express 프레임 변환 모듈 및 이를이용한 pci―express 프레임 변환 장치 |
US7702840B1 (en) * | 2007-05-14 | 2010-04-20 | Xilinx, Inc. | Interface device lane configuration |
US8009993B2 (en) * | 2008-12-10 | 2011-08-30 | Pmc-Sierra Israel Ltd. | Hybrid balanced coding scheme |
KR101307070B1 (ko) * | 2009-12-15 | 2013-09-26 | 한국전자통신연구원 | 효율적인 스크램블링 또는 디스크램블링 방법 및 시스템 |
EP2536047B1 (en) | 2010-02-09 | 2020-03-04 | LG Electronics Inc. | Method for transmitting an uplink signal in a wireless communication system, and apparatus for same |
KR101876418B1 (ko) * | 2012-04-05 | 2018-07-10 | 한국전자통신연구원 | Pci 익스프레스 디스큐 장치 및 그 방법 |
CN103490861B (zh) * | 2013-10-12 | 2016-08-24 | 中国人民解放军国防科学技术大学 | 用于物理编码子层的加扰方法及装置 |
US9898611B2 (en) * | 2015-03-30 | 2018-02-20 | Rockwell Automation Technologies, Inc. | Method and apparatus for scrambling a high speed data transmission |
US9934190B2 (en) * | 2015-06-11 | 2018-04-03 | Qualcomm Incorporated | Dynamic interface management for interference mitigation |
US10372657B2 (en) * | 2016-12-26 | 2019-08-06 | Intel Corporation | Bimodal PHY for low latency in high speed interconnects |
US10824737B1 (en) * | 2017-02-22 | 2020-11-03 | Assa Abloy Ab | Protecting data from brute force attack |
CN108696288B (zh) * | 2017-06-09 | 2022-02-01 | 京东方科技集团股份有限公司 | 信号传输方法、发送单元、接收单元及显示装置 |
CN114221737B (zh) * | 2021-11-01 | 2023-07-18 | 深圳市紫光同创电子有限公司 | 一种基于jesd204b协议的加解扰方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR0173945B1 (ko) * | 1995-12-26 | 1999-04-01 | 김광호 | 16비트 병렬 디스크램블러의 16비트 병렬 디스크램블링 데이타 생성 회로 |
WO2001093265A2 (en) | 2000-06-01 | 2001-12-06 | Macrovision Corporation | Secure digital video disk and player |
KR20040031908A (ko) * | 2002-10-07 | 2004-04-14 | 삼성전자주식회사 | 광디스크 시스템에서의 워드 단위스크램블링/디스크램블링 장치 및 그 방법 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4337341B2 (ja) * | 2002-12-13 | 2009-09-30 | ソニー株式会社 | 再生専用記録媒体、再生装置、再生方法、ディスク製造方法 |
US7464307B2 (en) * | 2003-03-25 | 2008-12-09 | Intel Corporation | High performance serial bus testing methodology |
US7366872B2 (en) * | 2003-12-30 | 2008-04-29 | Intel Corporation | Method for addressing configuration registers by scanning for a structure in configuration space and adding a known offset |
-
2004
- 2004-11-03 KR KR1020040088766A patent/KR100586047B1/ko not_active IP Right Cessation
-
2005
- 2005-10-31 US US11/263,466 patent/US20060093147A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR0173945B1 (ko) * | 1995-12-26 | 1999-04-01 | 김광호 | 16비트 병렬 디스크램블러의 16비트 병렬 디스크램블링 데이타 생성 회로 |
WO2001093265A2 (en) | 2000-06-01 | 2001-12-06 | Macrovision Corporation | Secure digital video disk and player |
KR20040031908A (ko) * | 2002-10-07 | 2004-04-14 | 삼성전자주식회사 | 광디스크 시스템에서의 워드 단위스크램블링/디스크램블링 장치 및 그 방법 |
Non-Patent Citations (1)
Title |
---|
카달로그 |
Also Published As
Publication number | Publication date |
---|---|
KR20060039600A (ko) | 2006-05-09 |
US20060093147A1 (en) | 2006-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100586047B1 (ko) | PCI Express 프로토콜용 16비트 데이터스크램블링/디스크램블링 장치 및 방법 | |
KR100337468B1 (ko) | 전이제어되는균형부호화스킴 | |
CN107749782B (zh) | 对控制符号进行智能加扰的方法和装置 | |
US9647701B2 (en) | Methods and apparatus for the intelligent association of control symbols | |
US20070103204A1 (en) | Method and apparatus for conversion between quasi differential signaling and true differential signaling | |
JP3204672B2 (ja) | 遷移制御されたデジタルエンコード及び信号伝送システム | |
TWI425367B (zh) | 半導體裝置及記憶體系統 | |
US8000404B2 (en) | Method and apparatus to reduce the effect of crosstalk in a communications interface | |
US7415112B2 (en) | Parallel scrambler/descrambler | |
JP6539765B2 (ja) | トランシーバのためのフレキシブルprbsアーキテクチャ | |
US7075330B2 (en) | System and method for balancing capacitively coupled signal lines | |
CN105515727B (zh) | 用于改进编码的设备以及相关方法 | |
US11748295B2 (en) | Scramble and descramble hardware implementation method based on data bit width expansion | |
US20160269173A1 (en) | Serial transmission having a low level emi | |
US20010016862A1 (en) | Parallel random pattern generator circuit and scramble circuit and descramble circuit using the same | |
US6380873B1 (en) | Method for reducing radio frequency emissions on high-speed serial buses | |
JP2006254435A (ja) | デジタルデータを伝送するシステムおよび方法 | |
Mhaboobkhan et al. | Implementation of high speed data transfer serialized 128/130bit encoding algorithm using 90nm technology | |
KR200225972Y1 (ko) | 디지털전송시스템을위한병렬스크램블러 | |
JP2007233993A (ja) | データ転送制御装置及び電子機器 | |
US8923417B1 (en) | Methods and apparatus for transceiver power noise reduction | |
CN114221737B (zh) | 一种基于jesd204b协议的加解扰方法 | |
KR0175401B1 (ko) | 동기 전송 모튤 레벨1 프레임 병렬 스크램블러 | |
KR200165284Y1 (ko) | 병렬처리 스크램블러 | |
Kwon et al. | The algorithm of 16-bit scrambler in parallel for PCI express. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20110511 Year of fee payment: 6 |
|
LAPS | Lapse due to unpaid annual fee |