Source: ETRI발행 "주간기술동향" 통권 1110호 (2003.08.27 발행)
Webpage: http://kidbs.itfind.or.kr:8888/cgi-bin/WZIN/WebzineRead.cgi?recno=0901013575&db=t_jugidong&menu=1
Date: 2003.8.28
고속 직렬 트랜시버 내장 FPGA의 기술동향
권원옥* 박경** 김명준***
FPGA(Field Programmable Gate Array)에 직렬버스(serial bus) 트랜시버(transceiver)를 내장하여 1Gpbs 이하의 소스 싱크로너스 클록(source-synchronous clock) 신호는 물론이고 3.125Gbps에 이르는 고속 직렬 신호까지 외부SerDes 칩 없이 처리할 수 있게 되었다. 따라서 SerDes 내장형 FPGA 디바이스가 백플랜 디자인의 브리지 칩으로 부상하고 있으며, I/O 연결, 기가비트 이더넷, 스토리지 연결에 이르기까지 다양한 프로토콜에 적용되고 있다. 본 고에서는 이러한 직렬 트랜시버를 내장한 FPGA 제품들에 대해서 살펴보며 그 기능과 특징에 대해서 알아보도록 한다. ▧

I. 서 론
FPGA 기술이 발전함에 따라 FPGA의 단점으로 지적되어 오던 높은 가격, 제한된 용량, 높은 전력 소비, 낮은 성능 등의 한계가 조금씩 깨어지고 있다. 더욱이 ASIC은 0.13㎛ 이하의 미세 공정에서 마스크 비용과 설계 툴 비용이 계속해서 증가하고 있을 뿐 아니라 NRE, 패키징, 테스트 비용도 또한 증가하게 되었다. PLD 업계에서는 엄청난 규모의 대량 생산이 아니고는 ASIC제품의 경제성이 FPGA를 능가할 수 없다는 분석을 내놓고 있다[1].
FPGA는 앞서 언급한 외형적인 성능 향상은 물론 IP 코어를 내장함으로써 기능면에서도 경쟁력을 갖추게 되었다. Altera에서는 PLD 업계 최초로 Excalibur란 디바이스로 ARM 프로세서를 FPGA에 내장하였으며, Xilinx에서는 PowerPC 405 프로세서를 Virtex-II 아키텍처에 내장하였다. 시스템 연결에 사용되는 전송 프로토콜이 고속, 직렬화 됨에 따라 고속 직렬 버스용 트랜시버 사용이 일반화 되었다. (그림 1)에서 보듯이 백플랜, I/O 연결, 라인카드 연결, LAN, SAN에서 동작속도가 기가비트로 넘어가면서 FPGA에서 이를 지원하기 위해 CDR (clock data recovery) 기능을 포함하는 기가비트 트랜시버를 내장하는 제품이 출시되기 시작했다. 이렇게 고속 직렬버스 프로토콜을 지원하는 트랜시버를 내장함으로써 칩 밖으로 인터페이스 되던 외장 데이터 직병렬화기(SerDes)1) 를 온 칩으로 대체하게 되었다. 소스 싱크로너스 클록 신호 또한 동시에 지원하여, 백플랜 디자인의 핵심 인터페이스로 그 위치를 자리잡아가고 있다.
이처럼 직렬버스 트랜시버를 FPGA에 내장 함으로서 시스템 디자인의 많은 변화를 주고 있고 있다. 직렬버스 트랜시버 내장형 FPGA로 손쉽게 프로토콜 브리지 인터페이스를 구현 할 수 있는 장점이 있다. 외장 SerDes를 사용했을 때 발생하는 호환성 문제가 사라지며, SerDes 파워소비 또한 현격히 줄어 들게 되었다. 그리고 SerDes와 FPGA 간의 수많은 PCB 패턴들을 제거하여 신뢰성 있고 보다 신속하게 PCB 제작이 가능하게 되었다.
본 고에서는 SerDes의 기본구조와 지원 프로토콜을 살펴 보고, 현재 SerDes가 내장된 FPGA의 제품 종류와 구조의 특징, 제품동향에 대해서 살펴 보고자 한다.

II. SerDes 구조와 프로토콜
(그림 2)는 Xilinx 사의 다중 기가비트 트랜시버인 RocketIO의 구조이다. SerDes가 내장된 FPGA 디바이스들의 SerDes 구조는 서로 조금씩 차이가 나지만 대부분 비슷한 기능들을 내장하고 있다.

기가비트 이더넷, XAUI, InfiniBand, PCI-Express 등에서 사용되는 8b/10b 인코더/디코더 블록은 8비트 데이터를 DC 밸런스가 맞춰진 10비트 코드로 인코딩, 디코딩을 수행한다. 송신부에는 입력 기준주파수(Refclk)를 PLL 또는 DLL 통하여 20배 채배하여 8b/10b 인코딩 블록을 통과한 데이터를 직렬화(serializer) 시킨다. 이렇게 직렬화된 고속 데이터는 차동 신호로 전송된다.
수신부에서는 입력되는 고속 차동 데이터는 CDR단에서 클록복구(Clock Recovery)를 먼저 수행한다. 데이터에서 복원된 클록의 주파수와 입력 기준주파수는 소스가 다르기 때문에 미묘한 주파수 차이가 발생한다. 따라서 이를 완충해 주는 Elastic Buffer가 존재하며 Skip이나 Idle 심볼 등을 사용하여 두 주파수의 차이를 보상해 준다. 특히 수신단에서는 입력되는 심볼 중 Comma 같은 중요한 심볼들을 감지할 수 있는 패턴감지(Pattern detector) 기능과 비트 스트림을 바이트 단위로 정렬하는 Word Aligner 등이 존재한다. XAUI, InfiniBand, PCI-Expresss 등 같이 다중 채널(레인)을 사용하는 애플리케이션에서 Channel Alignment(또는 Bonding) 블록은 전송선로의 패턴 길이의 차이 등으로 인해 동기가 되지 않은 다중 레인간의 시간적인 차이를 보상해 주는 역할을 수행한다. (그림 3)은 Channel Alignment를 통하여 다중 채널간의 동기를 맞 추는 모습을 보여 주고 있다.

이 밖에 여러 애플리케이션에 적합하도록 차동 출력 신호를 조절할 수 있으며, 다단계의 Pre-emphasis 기능도 제공되고 있다. <표 1>은 범용적인 SerDes에서 지원하는 직렬 프로토콜에 대해서 나타내었다.

III. 업체별 제품동향
현재 시장에 판매되는 SerDes 내장 FPGA 제품은 크게 세 종류가 있다. Lattice Semiconductor사의 ORT82G5 제품과 Xilinx사의 Virtex-II Pro, Altera사의 Stratix GX 제품이다.
1. Lattice사의 ORT82G5
Lattice Semiconductor사는 Agere Systems사로부터 Orca FPGA 제품 라인을 매입했으며 SerDes를 내장한 FPGA를 출시하였다. 고속 시리얼 백플랜 데이터 통신 시장을 목표로 Field Programmable System Chips(FPSC)라 불리는 새로운 FPGA를 출시하였다. ORT82G5디바이스는 8개의 트랜시버 채널을 가지고 있으며 각 채널은 600Mbps~3.7Gbps의 동작 속도를 가지며, CDR을 내장하고 있다.
ORT82G5 제품의 애플리케이션으로는 주로 10GbE에 타겟팅 되어 있다. (그림 4)는 ORT82G5의 3.125Gbps 데이터 8채널을 사용하여 두 XAUI 백플랜을 구동하는 방법과 ORT42G5의 3.125Gbps 데이터 4채널 사용하여 한 XAUI 백플랜 인터페이스를 구현한 모습을 나타낸다. 그림과 같이 10GbE MAC 혹은 Network Processor와 XGMII 인터페이스를 XAUI 백플랜으로 브리지할 때 이상적인 FPGA 역할을 수행할 수 있다.
ORT82G5의 가장 큰 장점은 가장 빠른 속도의 FPGA 내장 SerDes를 사용하여 고속 통신 백플랜 인터페이스를 구현하는 것이다. 그러나 Lattice 제품은 XAUI, SONET/SDH의 백플랜 인터페이스를 위해 SerDes를 10K ORCA 4 로직 셀에 내장한 특화된 디바이스이기 때문에 덩치가 큰 애플리케이션을 구현하기에는 프로그래머블한 로직의 크기나 사용 가능한 I/O 핀이 상대적으로 부족한 편이다. 또한 애플리케이션의 범위가 XAUI, Fibre Channel에만 국한되어 있는 점에 범용성이 떨어지는 단점이 있다.

2. Xilinx의 Virtex-II Pro
Xilinx사는 Mindspeed Technologies사와의 협력으로 Virtex-II Pro에 사용되는 SkyRail 트랜시버 기술을 자사의 Virtex-II Pro에 이식 시켰다. Xilinx사는 자사의 다중 기가비트 트랜시버를 RocketIO라 명하며 Virtex-II Pro 제품에 내장하여 2002년 하반기에 출시하였다.
RocketIO는 600Mpbs에서 3.125Gbps까지 다양한 전송속도를 제공해준다. 이 제품 역시 CDR 기능이 내장되어있으며, 출력 차동 전압 레벨을 800mV에서 1600mV까지 조절 가능해 인터페이스되는 상대편 SerDes와 호환성을 높였다. 네 가지 레벨의 Pre-emphasis 기능이 제공되며, 터미네이션 저항값이 프로그래머블하다. 직병렬 내부 루프백 모드를 제공해서 테스트 특성을 높였으며, 여러 프로토콜에 적용 가능하도록 프로그래머블 콤마 감지(Comma detection) 기능이 제공된다. 현재 ES(Engineer’s sample) 버전으로 출시되는 XC2VP50 제품이 최대 16개의 RocketIO를 제공하고 있다. 지원하는 프로토콜은 <표 1> 외의 Xilinx 프로토콜인 Aurora (0.6~3.125Gbps)와 Custom Mode를 제공하고 있다.
RocketIO에서는 각각의 프로토콜에 대해서 프리미티브(primitives)를 제공하고 있으며, Custom mode로 디자이너가 자신이 정의한 프로토콜의 속성(attribute)을 변경하여 사용할 수 있다. 이는 사용자로 하여금 보다 다양한 애플리케이션에 대한 접근성을 높여 주고 있다.
다른 디바이스와 비교해서 Virtex-II Pro의 가장 큰 강점은 PowerPC405 CPU 코어가 함께 임베디드될 수 있다는 것이다. 또한 비교적 큰 프로그래머블 로직(2만 개 이상의 Slices)과 램, 멀티플라이어, 다양한 입출력 핀을 사용할 수 있다. 다양한 프로토콜에 사용될 수 있는 프로그래머블한 RocketIO는 설계의 유연성에서는 이점이 있으나, 하드 코어가 내장된 다른 디바이스에 비해 성능이 떨어지는 단점이 존재한다.
3. Altera Stratix GX
Altera사는 1.25Gbps 직렬 트랜시버를 갖춘 Mercury 제품 후속작으로 2003년 초 3.125Gpbs 속도를 지원하는 Stratix GX 디바이스를 출시하였다. Stratix GX 디바이스는 <표 1>의 프로토콜은 물론 소스 싱크로너스 클록 데이터인 SPI-4.2, HyperTransport, RapidIO(Parallel), 10 Gigabit Ethernet XSBI 등을 지원한다.
Stratix GX 디바이스에서 주목할 내용으로 소스 싱크로너스 채널에 DPA(Dynamic Phase Alignment) 기능이다. DPA는 10-GbE XSBI, SFI-4, SPI-4 등 같은 고속병렬 인터페이스에서 1Gpbs까지 클록과 데이터의 동기화를 맞추어 주는 전용회로로 최대 45개까지 지원한다.
출력전류는 200~800mV까지 프로그래머블하며, 다단계의 Pre-emphasis 기능을 제공하고있다. 수신부에는 고주파수에서 이득을 증폭시키는 Equalization 기능을 내장하여 40 인치까지 긴 거리를 드라이브할 수 있다. 또한 트랜시버 채널당 소비전력이 175mW으로 저전력 동작이 가능한 장점이 있다. Virtex-II Pro와 마찬가지로 큰 프로그래머블 로직(4만 개 이상의 LEs)과 램, DSP, 멀티플렉스와 다양한 입출력 핀을 제공하고 있다. Stratix GX 디바이스는 좀더 다양한 하드코어가 내장되어 성능이 개선된 SerDes 기능을 사용하여 경쟁 디바이스와 차별화하는 전략을 펼치고있다.

4. Actel, QuickLogic
Lattice, Xilinx, Altera사는 SerDes 블럭들을 재프로그램이 가능한 SRAM 기반의 FPGA 게이트에 배치하고 있지만, 고속의 직렬 링크들을 사용하여 한 번만 프로그래밍할 수 있는 디바이스를 준비하고 있는 업체들도 있다.
이들 후발 업체들은 SRAM 기반 제품들에 비해 로직 속도가 보다 빠르고 전력 소모가 작으며 신뢰성이 보다 높은 제품들을 개발하고 있다. 이들 업체 가운데 하나가 Actel사로서, 조만간 BridgeFPGA 제품군을 선보일 계획이다. BridgeFPGA는 자사의 안티퓨즈 프로그래머블 로직 구조를 3.125Gpbs에서 동작하며 프로그래머블 프로토콜 컨트롤러 역할을 하는 하드와이어 ASIC 게이트와 함께 제공될 예정이다. 이와 유사하게 QuickLogic사는 올 2사분기까지 무정형 실리콘 기반의 FPGA 구조에 3.125Gbit/s I/O를 갖춘 디바이스를 공개할 계획이다[2].
IV. 결 론
앞서 살펴본 FPGA 벤더들의 디바이스간의 가장 큰 차이점은 통신 표준들을 전용 ASIC 회로로 구현하여 지원할 것인지, 아니면 FPGA 패브릭 내의 소프트 IP로 지원할 것인지에 따라 결정된다. Altera사는 시리얼 SONET 및 소스 싱크로너스 SPI 4.2와 같은 표준들을 지원하는 여러 개의 전용 회로를 갖추고 있다. Lattice사도 Altera사 보다는 그 수가 적긴 하지만, Altera사와 같이 전용 회로를 갖추고 있다. 반면에 Xilinx사는 FPGA 패브릭 내의 소프트 IP 코어로 보다 많은 표준들을 구현하고 있다[6].
사용자가 어떤 측면을 더 중요시 할 것인가에 따라서 각각의 디바이스 선택 기준이 될 것이다. 큰 프로그래머블 영역이 필요 없는 XAUI, Fibre Channel 애플리케이션에는 Lattice 제품이 가장 큰 이점이 있다. 플랫폼 기반의 FPGA 구현의 강점을 가지는 Xilinx 제품은 임베디드 프로세서 코어와 다양한 IP, 거기에 고속 직렬버스 인터페이스를 구현할 수 있는 환경을 제공한다. SerDes의 하드웨어적 성능 즉 드라이브 길이, 파워소비, 지터에 민감한 디자인이나 SONET, SPI 4.2 Phase 2 같은 프로토콜을 사용할 때는 Altera 제품이 유리할 것이다. 참고로 <표 2>는 SerDes 내장된 FPGA에 대한 항목별 분석표이다.

<참 고 문 헌>
- EE Korea, “Altera, Stratix GX 발표 고속 시리얼 I/O 기술 경합,” 2002년 11월 18일, http://www.eetkorea.com/
- EE Korea, “3.125Gbit/s 직렬 I/O에 주력하는 FPGA 벤더들,” 2002년 5월 13일, http://www.eekorea.com
- Xilinx RocketIO datasheet, “RocketIO Transceiver User Guide,” Mar. 2003, http://www.xilinx.com
- Lattice Semiconductor, “SERDES Handbook,” Apr. 2003, http://www.latticesemi.com
- Altera Stratix GX White Paper, “Advantages of the Embedded DPA Circuitry in Stratix GX Devices,” http://www.altera.com
- EE Times, “FPGA vendors position for serial I/O battle,” Nov. 5, 2002, http://www.eetimes.com
- 니케이 일렉트로닉스, “PLD 업계의 시장 대응 전략, 가격은 낮추고 기능은 하이브리드로,” http://www.neakorea.co.kr/content.asp?newsno=1335
- Programmable Logic Product review, “Altera Introduces Stratix GX” http://datasheets.com/pld/products_700-799/prod716.htm
- EE Times, “Lattice FPGA integrates 3.7Gbps serdes transceiver,” Oct. 23, 2002, http://www.eetimes.com
- Altera Stratix GX Application Note, “Using High-Speed Transceiver Blocks in Stratix GX Devices,” Nov. 2002, http://www.altera.com
- Xilinx Virtex-II Pro datasheet, “Virtex-II Pro Platform FPGA User Guide,” Mar. 2003, http://www.xilinx.com
- PMC-Sierra PM8355 datasheet,”Four Channel 2.125~3.125Gpbs SERDES,” Sep. 2002, http://www.pmc-sierra.com
1) 본 고에서는 SerDes를 단순한 Serializer/Deserializer 블록이 아닌 트랜시버 전체를 뜻한다.
|