DSP와 FPGA



FPGA와 DSP는 만들어진 목적이 서로 다르다. DSP는 소프트웨어에 구현된 신호 프로세싱 알고리즘에 적합하도록 최적의 플랫폼을 위해 만들어졌지만, FPGA는 처음부터 글루 로직(glue logic)을 위해 만들어졌다. FPGA는 초당 기가비트 데이터 속도로 트래픽을 운반하는 네트워킹 애플리케이션용으로는 발군의 성능을 발휘하고, DSP는 감시 같은 비디오 애플리케이션용으로 우수한 성능을 발휘한다. 그러나 지금은 이 두 디바이스 타입간에 겹치는 애플리케이션들이 많다. FPGA와 DSP의 기능이 서로 다르다는 점을 염두에 두고, 비용 및 성능의 가치를 따져보아야 한다.

글: Bamdad Afra, Amit Kapadiya
텍사스 인스트루먼트(Texas Instruments) / www.ti.com

시스템 설계자들은 프로젝트의 아키텍처 단계에서 여러 가지 문제에 부딪치게 된다. 이런 문제 중 하나가 FPGA(field-programmable gate array)를 사용할지 또는 DSP(digital signal processor)를 사용할지에 관한 문제이다.
올바른 선택이 무엇인가에 대한 포괄적인 정답은 없으며, 언제나 트레이드오프는 있다. 그 트레이드오프를 알아야 설계자가 특정 시스템 요건에 가장 잘 맞는 플랫폼을 선택할 수가 있다.
팀의 스킬 역시 FPGA를 선택할지, DSP를 선택할지를 결정하게 하는 요인이 될 수 있다. 누베이션(Nuvation- 전자설계회사)이 알고리즘 가속화 프로젝트 작업을 한 적이 있었는데, 여기에서 알고리즘은 FPGA의 와이드 병렬 구현에 쓸모가 있었다. 그러나 고전적인 FPGA 접근방식은, 클라이언트 엔지니어링 팀의 FPGA 기술이 부족하고 제품 유지관리에 잠재적인 장애가 있어 배제되었다.
DSP 설계가 단순하므로, 대부분의 엔지니어들과 시스템 설계자들은 DSP 기술에 더 익숙하다. 그러나 개발자들은 설계 팀에 따라 익숙한 정도가 다 다르므로, 이 문제가 "일반적인" 설계 팀에게는 중요도가 얼마나 높은지 꼬집어 말하기는 어렵다.

FPGA이냐, DSP이냐

그렇다면 이제 TI의 DSP 디바이스와 알테라의 FPGA로 이 과정을 살펴보기로 하자.
FPGA와 DSP는 만들어진 목적이 서로 다르다. DSP는 소프트웨어에 구현된 신호 프로세싱 알고리즘에 적합하도록 최적의 플랫폼을 위해 만들어졌지만, FPGA는 처음부터 글루 로직(glue logic)을 위해 만들어졌다. FPGA는 초당 기가비트 데이터 속도로 트래픽을 운반하는 네트워킹 애플리케이션용으로는 발군의 성능을 발휘하고, DSP는 감시 같은 비디오 애플리케이션용으로 우수한 성능을 발휘한다. 그러나 지금은 이 두 디바이스 타입간에 겹치는 애플리케이션들이 많다.
FPGA와 DSP의 기능이 서로 다르다는 점을 염두에 두고, 비용 및 성능의 가치를 따져보아야 한다. 비용상의 이점(0.2 센트/MMAC(million multiply-accumulate operations)로 낮음)만 보고 무턱대고 FPGA를 선택하면 낭패를 볼 수 있다.
DSP도 비용절감으로 이어질 수 있는 번들 기능으로 나오기도 한다. 따라서 애플리케이션에 맞추어 특화된 기능을 가지고 있는 DSP라면, 비용 및 성능 가치가 비슷하다고 보았을 때 FPGA보다 더 뛰어나다.
300 이하의 MMAC 요건으로 설계할 경우, 대체로 DSP가 비용 및 성능 부문에서는 최상의 솔루션이다. 300과 1,000 MMAC 사이의 설계일 경우, 애플리케이션에 맞추어 특화된 리소스(DaVinci 디지털 미디어 프로세서처럼 비디오/오디오 포트, ARM 프로세서 등)가 있다면 DSP가 이상적이다. 애플리케이션에 맞춰 특화된 리소스를 가진 DSP가 없을 때에는 다른 설계 요소를 따져보아야 할 것이다.
1,000MMAC 이상을 필요로 하는 애플리케이션의 경우, FPGA/DSP 하이브리드가 이상적인 해결책이 될 수 있다. 이러한 애플리케이션에는 멀티 신호 프로세싱 알고리즘들이 들어 있는 경우가 많고, 그 중 일부는 성능 요건이 낮을 때가 많다. 그렇다면 비교적 저렴한 DSP로 저성능부터 중간 성능까지의 알고리즘을 구현하고, 이보다 높은 성능의 알고리즘은 FPGA에게 맡길 수 있다.

신호 프로세싱

DSP는 신호 프로세싱 애플리케이션에 특화된 CPU이다. 이 코어는 신호 프로세싱 알고리즘을 최적화하여 실행하도록 설계되어 있으므로, 주요 연산(곱셈과 누적)이 거의 모든 알고리즘에서 비슷하다. 또한 DSP는 마이크로컨트롤러와 마찬가지로 수많은 주변기기와 다양한 종류의 메모리가 동일 디바이스 안에 포함되어 있다.
DSP는 마이크로컨트롤러가 제공하는 탄력성 및 기능성 모두를 동시에 제공하면서도 저 성능과 중간 성능 애플리케이션을 위한 신호 프로세싱에 최적화되어 있다고 할 수 있다. 따라서 DSP는 마이크로컨트롤러의 기능성 결합, 신호 프로세싱을 위한 최적화, 온 칩 주변기기를 한 패키지로 묶은 점 등을 감안했을 때, 다양한 애플리케이션에서 시스템 설계자에게 최상의 디바이스이다.
예를 들어 보자. 누베이션에서 한 고객이 레이저 컨트롤 루프의 개발을 원했다. DSP 성능을 가진 마이크로컨트롤러가 비용과 통합 측면에서 가장 적합했다. FPGA는 아날로그에서 디지털로, 디지털에서 아날로그로의 통합 컨버터가 내부적으로 부족하지만, 개발자들은 그 성능을 DSP에서 얻을 수 있다.
누베이션은 12비트 ADC, 8비트 DAC, 이더넷 인터페이스를 가진 소형 DSP 성능의 마이크로컨트롤러를 사용하여 추가 부품 없이 전체 컨트롤 루프를 다루었다. 이 방식은 BOM(bill-of-materials)과 보드 복잡성을 크게 감소시켰다.
또 다른 경우를 들어 보자. 누베이션에서 멀티 컨트롤 루프를 가진 모터 컨트롤 애플리케이션 작업을 한 적이 있으며, 대개의 경우 FPGA의 병렬 아키텍처에 가장 적합하다. 그러나 TI의 DSP 성능 컨트롤러는 각각 별개의 프로세서 타입 기능(통신, 관리감독 등)을 개발했을 때의 비용 관계를 감안할 경우 최상의 선택이었다.
FPGA 디바이스는 넓은 병렬의, 계산 속도가 높은 신호 프로세싱에 맞추어 설계자가 맞춤형 로직을 만들 수 있도록 한다. 예를 들어, 초당 400 메가샘플의 81-tap FIR(finite impulse response) 필터에는 320억 MMAC 이상이 필요하다. 이러한 성능은 싱글 DSP의 성능을 뛰어넘는 것이다. 그러나 싱글 FPGA라면 이러한 성능을 쉽게 달성할 수 있다.
이러한 성능은 비용이 매우 중요한 곳에 사용해야 할 것이며, DSP의 가격보다 한 자릿수만큼 더 높을 수 있다. 증가한 비용은 일회성 엔지니어링 비용과 FPGA 그 자체의 비용 때문이다. 일례로, 대부분의 신호 프로세싱 시스템은 FIR 필터 같은 단순한 기능 이상을 필요로 한다. 대부분의 시스템은 데이터 처리와 의사결정과 같은 다른 종류의 기능들도 수행한다. FPGA를 사용하면, 모든 추가 신호 프로세싱 기능과 데이터 처리, 알고리즘마다 각각 특화된 로직이 필요하다. 따라서 시스템이 더 복잡해져, 디바이스 크기, NRE 비용 및 일정이 순식간에 늘어나버릴 수 있다.
이 추가 기능이 DSP 칩 성능 안에 내장되어 있다면, DSP의 기능을 구현하면서 FPGA의 MAC 집중 연산을 보존하는 것이 비용 효율적이다.  이렇게 하면, DSP에서는 1,000 MMAC 미만의 기능들을, FPGA에서는 그 이상의 기능들이 쓰이게 된다. 일례로, 누베이션은 DSP/FPGA 하이브리드상에서 초당 500메가샘플의 포락선 검파 애플리케이션(envelope detection application)을 구현한 바 있다. 여기에서 FPGA는 초기의 높은 샘플링 속도로 필터링과 데시메이션(decimation)을 수행했고, DSP는 나머지 신호 프로세싱 기능들을 수행했다.

<누베이션의 엔지니어들은 TI의 DaVinci 디바이스 TMS320 DM6446 고성능 디지털 미디어 시스템 온 칩을 하이엔드 비디오 애플리케이션으로 선택했다. 이것은 듀얼 프로세서 디바이스로, 비디오 프로세싱을 가속화하는 C64x+ DSP 코어와 코 프로세싱 작업을 위한 ARM9 코어 및 페리페럴 관리가 내장되어 있다. > -발문

컨수머 가전의 요소

IP 셋톱박스, 디지털 비디오 레코더, 디지털 카메라와 같은 애플리케이션의 경우, 시스템 설계자들은 비디오 포트 및 기타 인터페이스 커넥티비티, 디지털 신호 프로세싱 파워, 그리고 스케줄링과 관리, 컨트롤 작업을 실행할 수 있는 CPU 등을 다룰 수 있는 플랫폼을 탐색한다.
때때로 이 애플리케이션들은 가전 시장을 타깃으로 하기도 하는데, 이것은  비용에 민감하다는 것을 의미한다. 시장출시기간도 매우 중요한 요소 중 하나이다. 더 나아가 가전제품의 소형화 추세와 보안 애플리케이션 역시 시스템의 폼팩터에서 중요한 역할을 한다.
IP 카메라 시장은 이러한 문제를 잘 보여주고 있다. 비디오 감시 및 원격회의의 폭발적인 증가로 저비용의 카메라 레퍼런스 디자인이 필요해졌다. 이러한 설계는 클라이언트가 최소한의 NRE로 빠른 시장출시기간을 가능하게 하는 설계이어야 하며, 동시에 특정 애플리케이션에 맞추어 설계 수정이 가능한 것이어야 한다.
누베이션의 엔지니어들은 TI의 DaVinci 디바이스 TMS320DM6446 고성능 디지털 미디어 시스템 온 칩을 하이엔드 비디오 애플리케이션으로 선택했다. 이것은 듀얼 프로세서 디바이스로, 비디오 프로세싱을 가속화하는 C64x+ DSP 코어와 코 프로세싱 작업을 위한 ARM9 코어 및 페리페럴 관리가 내장되어 있다. DM6446 DSP는 설계 요건을 준수하며, NRE 최소화가 가능하도록 했다. 
Bamdad Afra는 텍사스 인스트루먼트와 Nuvation에서 기술직을 역임하고 있으며, 캐나다 워털루 대학의 학사 학위를 소지하고 있다.
Amit Kapadiya는 누베이션(Nuvation)의 마케팅 매니저로, 워털루 대학의 컴퓨터공학 학사 학위를 가지고 있다. 
 

 

표 1. DSP 제품군 성능
Device Families  Device Cost (2)    MIPS (2) Max 32-bit MMAC (3) Cents/MIPS cents/MMAC
C5000 Fixed Point DSPs <$10 50~600   25~300 0.9~23 1.8~46
C2000 Controllers
DaVinci Digital Media Processors
C6000 Fixed Point DSPs  $10~$30 50~600   25~300 0.9~23 1.8~46
C6000 Floating Point DSPs
C5000 Fixed Point DSPs
C2000 Controllers

DaVinci Digital Media Processors 
C6000 Fixed Point DSPs  $30~$100 100~5760  50~1440 0.7~11 3~44
C6000 Floating Point DSPs
C5000 Fixed Point DSPs

DaVinci Digital Media Processors 
C6000 Fixed Point DSPs  $100~$300 532~8000  266~2000 1.4~24 5.8~48
C6000 Floating Point DSPs
C5000 Fixed Point DSPs

C6000 Fixed Point DSPs $300~$330 8000~9600  2000~2400 3.4~3.6 13.4~14.4

 

 

표 2. 알테라 FPGA 제품군 성능

Device Families  Cost (1)  Max Registers  18bit×18bit Multipliers Max Memory(Kbyte)  Mac MMAC(2,3)  cents/MMAC
None <$10
Cyclon Ⅱ $10~$30 4608~10320   13~23 15~52 270~660 1.4~7
Cyclon Ⅲ 

Cyclon Ⅱ  $30~$100 5136~33216   18~66 20~74 380~1900 2.8~20
Cyclon Ⅲ 

Cyclon Ⅱ  $100~$300 6240~68416   48~156 51~293 1000~4500 2.9~34
Cyclon Ⅲ 
Stratix Ⅲ
 
Cyclon Ⅱ $300~$1000 6240~119088   48~288 51~486 1000~8300 4.2~47
Cyclon Ⅲ 
Stratix Ⅲ

Stratix Ⅱ $1000~$3000 24176~113600   144~384 311~687 3000~11000 20~100
Stratix Ⅲ

Stratix Ⅱ $3000~$10000 36384~113600   192~384 552~1145 4000~11000 20~130
Stratix Ⅲ

 

표 3. MMAC 성능 범위
Category (MMAC Performance Range) Device Cost Range Minimum cents/MMAC for DSPs  Minimum cents/MMAC for FPGAs
LOW(<300 MMAC) <$10 1.8 -
MED(300~1000 MMAC) $10~$30 1.6 1.4
   $30~$100 3 2.8
HIGH (>1000 MMAC) $100~$300 5.8 2.9
   $300~$1000 13.4 4.2
   $1000~$10000 - 20

 

표 4. DSP와 FPGA가 요구하는 각각의 특정 기능
Is a DSP with required application specific feature available ? YES NO
Required MMAC Performace
LOW(<300 MMAC) DSP DSP
MED(300~1000 MMAC) DSP DSP or FPGA  
HIGH (1000~10000 MMAC) DSP/FPGA Hybrid FPGA 
   
   
회원가입 후 이용바랍니다.
개의 댓글
0 / 400
댓글 정렬
BEST댓글
BEST 댓글 답글과 추천수를 합산하여 자동으로 노출됩니다.
댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글수정
댓글 수정은 작성 후 1분내에만 가능합니다.
/ 400
내 댓글 모음
저작권자 © 테크월드뉴스 무단전재 및 재배포 금지