FPGA 상에서 SERDES 인터페이스 디자인 FPGA 상에서 SERDES 인터페이스 디자인
정용한 2008-02-01 14:02:00

FPGA 상에서 SERDES 인터페이스 디자인

"Lattice 반도체는 다년간의 SERDES디자인으로 인한 많은 경험을 통하여, 여러분들이 High-Performance SERDES 디자인에 조금이나마 도움이 되길 바라며, 이 기사를 실을 수 있게 되어 대단히 기쁘게 생각합니다."


                                                               자료제공│Lattice 반도체

SERDES 규약은 전자산업계 전반에 걸쳐서 고성능 인터페이스를 위한 표준으로 빠르게 자리를 잡고 있다. 이 글이 FPGA 디자인에 SERDES 인터페이스를 집적화가 필요한 엔지니어에게 입문서 역할이 되길 기대한다. 여기서는 기본적인 SERDES, CDR(클럭-데이터-복구) SERDES 인터페이스의 설계와 SERDES FPGA의 테스트와 측정을 위한 방법 등을 다룬다.
소개
수년 동안, 칩셋 기능과 데이터 스루풋 증가가 요구됨에 따라 칩셋 업계도 저속의 병렬 데이터 레이트로부터 고속의 직렬 연결의 데이터 레이트로 변화를 시도해 오고 있다. 이러한 개념을 SERDES ("Serializer-Deserializer"의 약어)라고 부르며, 저속의 병렬 버스와 달리 고속의 디퍼렌셜 페어 버스를 통해 직렬화된 데이터의 전송을 의미한다.
예를 들면, 예전의 2,112Gbps의 성능을 갖는 32비트, 64MHz PCI 버스는 2.5GHz로 동작하는 4 와이어를 이용하여 4Gbps의 데이터 레이트를 얻을 수 있는 PCI-Express의 하나만을 이용하여 대치할 수 있다. 간단히 말해, SERDES는 적은 핀들로 고속의 데이터 레이트의 성능을 발휘할 수 있는 것이다.

전형적인 SERDES FPGA 집적화


그림 1은 복잡한 FPGA내에 다양한 SERDES의 인터페이스를 보여주고 있다. 이 예는 시스템 핵심부에 있어서 네트웍 프로세서가 채용된 고성능 보드에 대한 예를 보여준다. SERDES 애플리케이션은 보라색으로, FPGA내의 애플리케이션은 노란색으로 표시되어 있다.

SERDES 타입


SERDES 인터페이스에는 기본적으로 두 가지 분류로 나누고 있다. 이는 소스 싱크로너스(Source Synchronous: SS)와 클럭 데이터 복구(CDR)로 구분할 수 있다. 이 둘간에 차이는 클럭처리 방식이다. 소스 싱크로너스 인터페이스는 전송 데이터와 함께하는 클럭 신호를 별도로 가지고 있고, 반면에 CDR은 별도의 클럭은 없지만, 대신에 데이터상에 클럭이 임베디드 되어 있다. 즉, CDR 수신단이 클럭을 구동하기 위해서 데이터 자체에서 PLL Locking이 가능하다는 것이다. 표 1은 두 SERDES간에 기본적인 차이점을 보여주고 있다.
일반적으로 CDR 규약은 고속이며 먼 거리를 전송할 때 이용되고 있고, 현재 가장 많이 요구되는 디자인으로 자리를 잡고 있다. 따라서 이 기사는 CDR을 목표 삼아 기술 할 것이다.

CDR 기초


CDR이란 이름에서도 암시하듯이, CDR 수신단은 데이터에 임베디드된 클럭을 반드시 복구해야 한다. 정교함을 더하기 위해서, 클럭은 데이터 신호의 변화로부터 추출되어야 한다.
CDR 전송단은 데이터의 직렬화를 통하여 이루어지는데, 데이터를 8b/10b이란 엔코딩 방식으로 변환시킨다. 이 방식은 8비트를 취해서 10비트 심벌로 변환시킨다. 8b/10b 엔코딩은 데이터라인상에서 동일한 수의 0과 1을 공급하는데, 이는 내부 심벌간의 간섭을 완화시켜주고, 수신단의 입력부에서 Phase Locking이 가능할 수 있도록 데이터의 에지를 공급하는 역할을 한다. 송신단은 전송 비트 레이트를 위해 시스템 클럭에 수배를 곱하여, TX 디퍼렌셜 페어상에서 8b/10b로 엔코딩된 데이터를 보내게 된다.
CDR 수신단은 RX 디퍼렌셜 비트 스트림상에서 Phase Locking을 시작한다. 이런식으로 복구된 클럭마다 데이터 비트를 동기화 하며, 수신단의 레퍼런스 클럭에 맞추어 워드단위로 데이터를 동기화 한다. 결과적으로 데이터는 8b/10b로 데코딩 되어지며, 이렇게 함으로써 시스템에서 이용할 수 있는 복구된 데이터로서 준비가 되는 것이다.
CDR 시스템에서, 송수신 시스템은 전형적으로 전반적으로 독립된 시스템 클럭을 가지고 있다. 특정 편차가 요구되는 각각의 클럭은 매우 중요하다. 이 편차는 수백 PPM을 요구한다.

CDR 회로와 지터


CDR 인터페이스 디자인의 최대 과제는 지터인데, 이것은 이상적인 데이터 변환 부분에 대해 실제적인 데이터 변환의 위치 변화이다.
총 지터(Tj)는 확정 지터 와 랜덤 지터로 결정되며 대부분의 확정지터는 인터심볼 인터페이스, 크로스토그, 듀티 사이클 왜곡과 주기성 지터(예를 들면: 스위칭 전원 공급장치로부터의 간섭)를 포함하는 성분들로 이루어진다. 랜덤 지터는 반도체의 온도 문제와 미처 예상할 수 없었던 문제들의 부산물이라고 할 수 있다.
전송 래퍼런스 클럭, 전송 PLL, 직렬화와 고속 출력 버퍼들은 전송 지터에 영향을 준다. 일반적으로 전송 지터는 주어진 비트 혹은 데이터 아이(Eye) 주기동안에 UI 혹은 Unit 간격의 퍼센트로 표기된다. 예를 들면, 전송 지터가 0.2UI라면 비트주기의 20%가 지터임을 알 수 있다. 따라서, 전송 지터는 적은 UI 숫자는 적은 지터를 의미함으로 더 좋은 것이다.
비슷하게, CDR 수신은 주어진 비트 레이트에서 견딜 수 있는 최대 지터로 표기되며, 전형적인 비트 에러 레이트 척도로는 1e-12다. 수신 지터 역시 UI로도 표기가 된다. 큰 UI 수는 수신단이 커다란 지터를 잘 견딜 수 있음을 의미하며, 전형적인 수신단의 지터 규격은 0.8UI다. 이는 비트 주기에 80%가 노이즈임을 의미하며, 이때에도 수신단은 신뢰성이 있는 데이터를 복구할 수 있음을 의미한다.

SERDES 테스트와 아이 다이어그램


지터는 SERDES 시스템에서 주요한 디자인 과제이므로, 측정과 테스트에 있어서도 매우 중요하다. 지터는 고성능 오실로스코프에 의해서 SERDES 신호와 "데이터 아이 다이어그램"을 통하여 측정할 수 있다. 어떤 아이(Eye) 다이어그램은 주어진 디퍼렌셜 페어상의 많은 상태 변화의 중첩이다. 다이어그램에서 샘플링되는 윈도우는 두 교차점을 포함하기에 충분한 폭이며. 결과를 보여주는 사진은 마치 눈모양을 하고 있으며, 신호의 지터와 신호 특성을 직관적으로 볼 수 있도록 제공한다. 일반적으로 넓게 펼쳐진 아이(Eye)는 좋은 특성의 신호다.
그림 2는 오실로스코프에서 보이는 것과 같은 전형적인 아이(Eye) 다이어그램을 보여준다. 이 다이어그램에서, V는 열려진 아이(Eye)의 최고 높이를 측정한 것이고, 총 전압 스윙은 0V에서 1.2V다. 측정방식에는 세가지 방법이 있다: UI는 비트의 총 주기를 측정하는 것이고, H는 공통 모드 전압에서 총 열려진 부분이 측정된 것이고, T는 트립 전압의 최소, 최대의 폭을 측정한 것이다. H, T, V에 대한 큰 값들은 폭넓은 아이(Eye)를 의미하는 것으로, 좋은 신호 특성과 적은 지터임을 알 수 있다.


지터 측정을 위한 셋업


송신 지터를 확인하기 위해서, 비트 에러 레이트 테스터(BERT)에 의해 테스트 패턴이 생성되어야 하고, 평가보드의 SERDES 수신단에 보내져야 한다. 마찬가지로, 클럭 발생기도 평가 보드의 SERDES 클럭에 연결되어야 한다. FPGA는 내부적으로 채널 루푸백으로 설정되어야 하고, 수신될 테스트 패턴이 TX 핀상에서 송신된다.
오실로스코프는 송신 지터 아이(Eye)다이어그램이 측정될 수 있도록 TX SERDES 콘넥터에 연결되어야 한다. 모든 평가보드의 SERDES 연결은 50Ω SMA Connector에 연결이 되어야 한다. 이는 그림 3에서 보실 수 있다.


수신 지터 내구성은 FPGA SERDES 수신단에서 지터를 추출과 루프백 SERDES 출력상에서 비트 에러를 통하여 측정될 수 있다. 그림 3에서와 같이 셋업은 BERT 패턴 발생기에 지터 발생기를 연결하면 되고, BERT 발생기는 평가보드의 SERDES SMA 입력에 불특정 패턴의 연속된 데이터(PRBS)를 보낸다. 이 설정은 엔지니어가 SERDES RX단에 지터를 발생시킬 수 있다. FPGA는 루프백을 위하여 설정되고, SERDES TX단은 BERT상에서 비트에러 감지 포트에 연결되어야 한다.
이렇게 함으로써, 엔지니어는 지터를 발생시킬 수 있고, FPGA에 의하여 생성된 비트 에러 레이트(BER)를 볼 수 있다. BER이 규정된 값을 초과했을 경우는 엔지니어는 지터 내구성이 임계치를 초과했음을 알 수 있을 것이다. 이 수치를 기준으로 FPGA는 특정화된 수신 지터 내구성은 크거나 같아야 한다.

고속 백플래인 성능 측정


엔지니어는 백플래인 환경설정을 통하여 FPGA TX신호에 의해서 FPGA의 백플래인 SERDES 링크 송신 특성을 측정할 수 있고, 백플래인 출력상에서 아이(Eye) 다이어그램을 분석할 수 있다. 셋업에 있어서 첫번째로 BERT 패턴 발생기가 FPGA 평가 보드의 SMA RX단에 PRBS 비트 스트림을 공급하기 위해 사용되어야 한다.
루프백으로 설정된 FPGA에 PRBS는 평가보드의 TX단에 나타날 것이고, Tyco XAUI Z-Pack HM-Zd와 같은 루프백 보드로 공급될 수 있도록 동축케이블로 전달될 것이다. 루프백은 오실로스코프에 연결된 추가적인 동축 케이블에 비트스트림을 공급한다. 시스템 요구사항은 PRBS패턴, 평가보드, 동축 케이블, 백플래인 트레이스 길이 그리고, 프리 앰퍼시스, 이퀄라이징 설정, 동작 온도, VCC와 같은 테스트 변수 등이 있다.
그림 4는 LatticeSC FPGA를 이러한 테스트 환경 설정하여 측정된 아홉개의 아이(Eye)다이어그램을 보여주고 있다. 아이(Eye) 다이어그램의 하단의 수치는 아이(Eye) 높이다. 같은 비트 레이트에서 프리엠퍼시스를 증가시킴에 따라 아이(Eye) 다이어그램이 개선됨을 볼 수 있다. 프리 엠퍼시스는 케이블링과 백플래인에서 발생하는 신호 감소에 대한 SERDES 송신단의 보상이다.



결론


결론적으로, SERDES 인터페이스는 FPGA의 선택조건 중의 하나로서 취급되고 있다. 비록 자세한 사항을 이 지면을 통해서 모두 말할 수는 없다 하더라도, FPGA엔지니어라면 채널 수, 채널 컨피규레이션의 유연성, SERDES IP, 전송 규격과 전기적 요구사항 등을 모두 고려해야 한다. FPGA 제품과 SERDES 인터페이스는 현재 시장에서 빠르게 성장하고 있다.

<자료제공: 월간 반도체네트워크 2007년 08월호>

디지털여기에 news@yeogie.com <저작권자 @ 여기에. 무단전재 - 재배포금지>