FPGA




자료 제공: 알테라
www.altera.com

각기 다른 성능, 정밀도, IP(intellectual property), 개발 플로우로 디지털 신호 프로세싱(DSP) 데이터패스를 구현하기 위해서는 까다로우면서도 집중적인 작업을 필요로 한다. 갈수록 더 많은 고성능 DSP 데이터패스가 FPGA로 구현됨에 따라서 Altera는 FPGA 애플리케이션을 위해서 그러한 어려움을 해결하고 설계 작업을 단축할 수 있도록 28nm로 포괄적인 DSP 솔루션 포트폴리오를 개발하였다. 이 글에서는 이 포트폴리오의 구성요소들에 대해 살펴보고 이들 요소들이 어떻게 DSP 디자인을 신속하게 구현할 수 있도록 하는지 설명한다.

신호 프로세싱이라면 통상적으로 디지털 신호 프로세서를 떠올리기 마련인데 고성능 고정밀도 신호 프로세싱을 구현하기 위한 플랫폼으로서 FPGA가 갈수록 더 우세해지고 있다. 이에 따라서 FPGA 업체들은 자사의 코어 실리콘 아키텍처에 전용 곱셈기 및 DSP 블록을 포함시키고 있다. 또한 FIR(finite impulse response)나 FFT(fast Fourier transform) 등의 기존 기능들을 지원하기 위한 IP 코어가 제공되고 있다.
결과적으로 다양한 유형의 애플리케이션이 핵심적인 신호 프로세싱 플랫폼으로서 FPGA를 채택하고 있다. 그림 1에서 보는 것과 같은 이러한 애플리케이션은 한 가지 공통점이 있는데, 그것은 바로 성능 요구가 기존 프로그래머블 디지털 신호 프로세서의 능력을 초과한다는 것이다.

이들 시스템은 성능과 정밀도 요구가 각기 다를 뿐만 아니라 각기 다른 설계 및 개발 플로우를 이용한다. 예를 들어서 비디오 프로세싱은 9비트~10비트 정밀도를 필요로 하며 일부 하이엔드 디자인은 16비트의 색 표현(color depth)를 필요로 한다. 이들 디자인은 통상적으로 HDL 설계 플로우로 작성되며 개발 플로우를 가속화하기 위해서 비디오 및 이미지 프로세싱 IP 기능의 사용이 갈수록 늘어나고 있다. 한편 군용 레이더 디자인은 높은 동적 범위를 달성하기 위해서 최대의 DSP 성능과 부동소수점 정밀도를 필요로 한다. 이들 많은 디자인은 FPGA 아키텍처 용으로 최적화된 부동소수점 기능들을 이용해서 널리 이용되는 MATLAB 및 시뮬링크(Simulink) 툴로 모델링한다.

Altera의 포괄적인 28nm DSP 포트폴리오

FPGA 업체들이 당면한 가장 큰 과제는 구성 가능한 DSP 실리콘 아키텍처를 포함할 뿐만 아니라 디자이너들이 자신의 알고리즘을 신속하고 효율적으로 구현할 수 있도록 다양한 툴, IP, 빌딩 블록을 포함하는 포괄적인 DSP 솔루션 포트폴리오를 제공하는 것이다. 28nm Stratix V FPGA를 지원하기 위해서 알테라는 그림 2에서 보는 것과 같이 가변 정밀도 DSP 아키텍처, DSP Builder Advanced Blockset, 비디오 설계 프레임워크, 포괄적인 부동소수점 IP 스위트를 포함하는 종합적인 DSP 포트폴리오를 제공한다.

가변 정밀도 DSP 아키텍처

알테라의 이러한 DSP 솔루션 포트폴리오에 있어서 가장 기본적인 원칙은 하나의 솔루션으로 모든 분야에 적합할 수 없다는 것을 인정하고 설계 및 개발 환경에 있어서 고객들의 다양한 요구와 선호를 이해해야 한다는 것이다. 신호 프로세싱 애플리케이션은 신호 프로세싱 데이터패스의 각기 다른 지점에서 정밀도 요구가 각기 다르고 정밀도 수준이 각기 다르다. 예를 들어서 비디오 브로드캐스트 애플리케이션은 9x9부터 18x18에 이르는 곱셈기들을 효율적으로 이용할 수 있다. 이와 달리 무선이나 의료 시스템 같이 복잡한 다중 채널 필터를 개발하는 애플리케이션은 각각의 필터 스테이지 다음에 데이터 정밀도를 유지해야 하기 때문에 더 높은 정밀도를 필요로 한다. 뿐만 아니라 군용, 테스트, 고성능 컴퓨팅 분야의 애플리케이션들은 성능과 정밀도 모두를 필요로 하며 때로는 복잡한 행렬 연산 및 FFT를 구현하기 위해서 단정밀도 또는 심지어 배정밀도 부동소수점을 필요로 한다.

모든 유형의 다양한 DSP 애플리케이션의 정밀도 요구를 충족하기 위해서 Altera는 업계 최초로 가변 정밀도 DSP 블록을 개발했다. 이는 그림 3에서 보는 18비트 정밀도 모드와 그림 4에서 보는 고정밀도 모드의 2개의 고유의 정밀도 모드를 제공하는 최초의 DSP 블록이다. 이 고유한 기능은 이전의 40nm DSP 블록과 역호환이 가능할 뿐만 아니라 더 높은 정밀도를 요구하는 새로운 신호 프로세싱 애플리케이션을 효율적으로 지원할 수 있도록 한다.

28nm의 단일 가변 정밀도 DSP 블록이 9x9부터 27x27에 이르는 정밀도를 지원할 수 있다. 또한 FIR이나 FFT 같은 다양한 디자인의 비트 증가를 지원할 수 있도록 디바이스 내의 각 블록의 정밀도를 개별적으로 구성할 수 있다. 이 블록을 "가변적(variable)"이라고 하는 것은 고객이 블록 별로 정밀도를 구성할 수 있기 때문이다. 이 점은 강력한 새로운 개념인데 FPGA는 전통적으로 디자이너가 알고리즘을 블록 아키텍처에 맞게 적응시켜야 하고 그럼으로써 구현이 최적화에 미치지 못하거나 알고리즘을 수정하는 것이 필요할 수 있었다.
기존의 고정 정밀도 DSP 아키텍처는 한 정밀도만 지원할 수 있다. 그렇기 때문에 디자이너는 알고리즘의 정밀도 요구가 낮을 때는 자원을 낭비하거나 또는 정밀도 요구가 높을 때는 다중 블록을 연쇄시킴으로써 낮은 성능을 감수해야 했다. 이러한 상황에서 정밀도를 구성가능한 DSP 블록만이 엄격한 비용 및 전력 예산 내에서 시스템 성능을 달성할 수 있다.

이 가변 정밀도 DSP 블록의 설계는 또한 고성능 데이터패스에서 갈수록 더 높은 정밀도와 복잡한 곱셈 연산자를 필요로 하는 점을 고려하였다. 다중의 DSP 블록을 연쇄시킬 수 있도록 이 가변 정밀도 블록은 업계에서 유일한 64비트 캐스케이드 버스와 가산기를 이용해서 설계되었다. 이러한 설계에 의해서 경쟁 18x25 아키텍처에 비해서 50퍼센트 더 적은 자원으로 대규모의 복잡한 곱셈기 및 부동소수점 신호 프로세싱 기능을 구현할 수 있다.

DSP Builder Advanced BlockSet

알테라의 DSP Builder 툴은 고수준 시뮬링크 합성과 또한 타이밍 지향적 네트리스트 최적화를 가능하게 한다. 네트리스트 최적화는 DSP Builder 툴의 고유한 기능으로서 디자이너가 시스템의 원하는 fMAX(클록 주파수)와 대기시간을 지정하고 나머지 작업은 툴에게 맡길 수 있다. 그러므로 HDL 코드를 시간 소모적으로 수작업으로 수정할 필요 없이 버튼 푸시로 변경이 가능하다.
이로써 가능한 생산성 향상의 사례를 DSP Builder 툴을 이용해서 350MHz의 타이밍을 달성하는 레이더 디자인 예에서 잘 볼 수 있다. 그림 5는 350MHz의 목표 fMAX로 Stratix V FPGA로 구현하기 위해서 알테라와 매스웍스가 공동으로 개발한 레이더 디자인의 일부이다.
통상적으로 이러한 fMAX 제약은 필요한 레지스터와 자원을 추가하기 위해서 HDL 코드를 수작업으로 수정해야만 달성할 수 있었다. 하지만 DSP Builder 툴을 이용함으로써 이제 디자이너들은 자동화된 방식으로 성능 목표를 달성할 수 있다. 그림 6의 컴파일 보고서를 보면 약 60K 로직 엘리먼트(LE)를 포함하는 대규모 디자인이 HDL 코드를 수작업으로 수정할 필요 없이 350MHz 이상의 시스템 fMAX를 달성하는 것을 볼 수 있다.
이와 같은 시스템 fMAX는 다음과 같은 단계로 달성되었다:

1. DSP Builder 라이브러리의 빌딩 블록들을 이용해서 시뮬링크에서 데이터패스를 구축하고 알고리즘을 충족하는지 확인하기 위해 시뮬레이트하였다.
2. 시뮬링크의 Parameters 파일(.params)에서 전체 시스템의 fMAX를 350MHz로 설정하고 DSP Builder 툴로 하여금 지정된 성능으로 구현을 최적화하도록 명령하였다. 고수준 시뮬링크 설계 기술(description) 내에서 높은 추상화 수준으로 시스템 구현 제약들을 추가하였다.
3. "DSP Builder"를 클릭하자 시뮬링크 설계 기술(description)을 분석하고 Stratix V FPGA에 대해서 HDL 코드와 비트스트림이 생성되었다. 타이밍 제약(이 경우 fMAX을 통합하였다. 지정된 fMAX를 충족하거나 초과 달성하도록 파이프라인 레지스터와 적정한 양의 시분할 다중화가 자동으로 추가되었다.

디자이너는 또한 DSP Builder 툴을 이용해서 다중의 "what-if" 시나리오를 효율적으로 실행할 수 있다. 이를 위해서는 fMAX 설정, 대기시간 설정, 목표 디바이스 아키텍처를 변경하고 MATLAB 및 시뮬링크의 상위 레벨 파라미터를 수정해서 채널 수 등과 같은 설계 파라미터를 변경하기만 하면 된다. 성능, 대기시간, 디바이스 활용에 대해서 만족스럽게 되었으면 디자이너는 데이터패스에 그 HDL 코드를 이용하기로 하거나 또는 추가적인 시스템 목표를 충족하기 위해서 코드를 추가적으로 수정할 수 있다. 어떠한 경우이든 구현 설계 작업이 대폭적으로 단축된다.

비디오 설계 프레임워크

비디오 분야가 1080p 고화질(HD) 해상도로 전환함에 따라서 FPGA가 비디오 프로세싱을 위한 이상적인 플랫폼으로 부상했다. 알테라는 4년 전부터 이러한 전환을 예상하고 그림 7에서 보는 비디오 설계 프레임워크에 투자해 왔으며 2009년에 자일링스의 설계 툴을 물리치고 권위 있는 EDN 혁신상(Innovation Award)을 수상하였다.
알테라의 비디오 설계 프레임워크는 현재 업계에서 유일하게 18개 비디오 기능, 스트리밍 비디오 인터페이스 표준, 6개 하드웨어로 검증된 참조 디자인, 일련의 비디오 개발 키트를 포함한다. 현재까지 100곳 이상의 진취적인 고객들이 자사 시스템에 이 비디오 설계 프레임워크를 채택하고 있다.

그림 8은 알테라의 비디오 설계 프레임워크를 이용한 고객 디자인 예를 보여준다. 최종 시스템은 컴포지트 비디오(composite video)라고 하는 다중의 비디오 소스를 통합한 비디오 월(video wall)이다. 이와 같은 비디오 월은 실외 광고 모니터에 널리 이용될 뿐만 아니라 의료, 군용, 브로드캐스트 애플리케이션에 흔히 이용된다. 각각의 비디오들이 각기 다른 소스로부터 제공되는 것이므로 이들을 각기 다르게 처리해야 한다. 어떤 비디오 소스는 디인터레이싱과 스케일링을 실시해야 하고, 또 어떤 소스는 원래 순차 주사로서 스케일링만 실시하면 되고, 또 어떤 소스는 맞춤화 프로세싱을 필요로 할 수 있다. 그런 다음 이들 모든 소스들을 혼합해서 사용자가 제어 가능한 컴포지트 영상을 형성한다.


비고:
(1) 영상: Apantac LLC
매우 복잡한 비디오 신호 체인을 구현하기 위해서 알테라 비디오 설계 프레임워크의 빌딩 블록과 오픈 스트리밍 인터페이스를 이용했다. 알테라의 Video and Image Processing Suite의 주요 MegaCore 기능들을 결합해서 하나의 비디오 패스를 구축하고 다른 패스는 완벽하게 맞춤화할 수 있다. 그런 다음 두 비디오 스트림을 알파 블렌딩해서 컴포지트 비디오 스트림을 구현할 수 있다.

포괄적인 부동소수점 IP

고성능 DSP 분야에서는 부동소수점 신호 프로세싱이 동적 범위를 향상시킬 수 있는 방법인 것으로 확실하게 인식되고 있다. 알테라의 내부 조사에 의하면 첨단 군용 STAP(space-time adaptive processing) 레이더, LTE 채널 카드 용의 MIMO 균등화, 고성능 컴퓨팅 박스 등과 같이 FPGA를 이용한 고성능 DSP 디자인의 절반 가까이가 18비트 정밀도 이상을 필요로 하는 것으로 나타났다.
부동소수점 프로세싱은 통상적으로 가수 곱셈, 가수 정규화(normalization) 및 역정규화(de-normalization), 지수 덧셈으로 이루어진다. 지수 덧셈과 뺄셈 연산은 간단하나 가수 곱셈과 정규화는 24비트 이상 정밀도의 곱셈기를 필요로 한다. 이와 같은 연산을 수행하기 위해서는 18x25 정밀도로 제한적인 기존의 FPGA 아키텍처는 연쇄적으로 연결시켜서 단정밀도 가수 곱셈을 구현해야 한다.

알테라의 새로운 가변 정밀도 아키텍처는 단일 블록으로 단정밀도 부동소수점 가수 곱셈을 구현할 수 있으므로 매우 높은 성능의 디자인을 가능하게 한다. 뿐만 아니라 그림 9에서 보는 것과 같은 알테라의 부동소수점 기능 포트폴리오는 FPGA 업계 내에서 가장 방대한 부동소수점 IP 코어 포트폴리오로서 덧셈, 뺄셈, 반전 등의 단순 연산자에서부터 복잡한 행렬 곱셈, 행렬 반전, FFT 등을 포괄한다.
이들 기능은 알테라 디바이스 아키텍처에 대해서 최적화되었으므로 이들 기능으로 매우 높은 fMAX 및 낮은 대기시간을 달성할 수 있다. 64x64와 같은 대형 행렬 곱셈 기능에 대해서 380MHz에 이르는 fMAX를 달성할 수 있다.

요약

"FPGA를 이용한 DSP" 개념이 각기 다른 성능, 정밀도, IP, 툴 플로우를 요구하는 다양한 산업 분야 및 다양한 애플리케이션으로 확장되고 있다. 오늘날 고객들은 FPGA 업체들에 대해서 신속한 디자인 구현과 디버그를 위해서 IP, 툴, 빌딩 블록 기능, 구성가능 DSP 블록들을 포함하는 포괄적인 DSP 포트폴리오를 요구하고 있기 때문에 Altera는 다양한 유형의 시장과 애플리케이션을 위해서 고성능 DSP 디자인이 가능하도록 하기 위해서 28nm Stratix V FPGA에 대해서 고유의 차별화된 포괄적인 DSP 솔루션 포트폴리오를 개발하였다.
문서 개정 이력

표 1은 이 문서의 개정 이력을 보여준다.

 


관련 정보

■  Stratix V FPGAs: Built for Bandwidth:
www.altera.com/products/devices/stratix-fpgas/stratix-v/stxv-index.jsp
■  Literature: Stratix V Devices:
www.altera.com/products/devices/stratix-fpgas/stratix-v/literature/stv-literature.jsp
■  DSP Solutions:
www.altera.com/technology/dsp/dsp-index.jsp
■ Altera's Total 28-nm DSP Portfolio: Fastest Path to Highest Performance Signal Processing:
www.altera.com/b/28-nm-dsp-portfolio.html
■ Webcast: "Accelerate your FPGA-Based DSP Designs":
www.altera.com/education/webcasts/all/wc-2010-accelerate-fpga-dsp-designs.html
■ Video and Image Processing (VIP) Suite MegaCore Functions:
www.altera.com/products/ip/dsp/image_video_processing/m-alt-vipsuite.html

감사의 말
■ Suhel Dhanani, Sr. Manager, DSP Marketing, Altera Corporation

 

 

그림 1. 각기 다른 애플리케이션에 각기 다른 성능, 정밀도, IP, 툴 요구


그림 2. 업계 최초의 '종합적인' DSP 포트폴리오

그림 3. 18비트 정밀도 모드

그림 4. 고정밀도 모드

그림 5. 레이더 프론트엔드 애플리케이션의 대형 DSP 디자인

그림 6. 350MHz 이상의 타이밍 달성하는 대형 디자인 자동 작성

그림 7. FPGA 업계의 유일한 비디오 설계 프레임워크

그림 8. 알테라의 비디오 설계 프레임워크를 이용한 맞춤형 비디오 월

표 1. 문서 개정 이력
회원가입 후 이용바랍니다.
개의 댓글
0 / 400
댓글 정렬
BEST댓글
BEST 댓글 답글과 추천수를 합산하여 자동으로 노출됩니다.
댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글수정
댓글 수정은 작성 후 1분내에만 가능합니다.
/ 400
내 댓글 모음
저작권자 © 테크월드뉴스 무단전재 및 재배포 금지