FPGA란?
FPGA는 ‘Field Programmable Gate Array’의 약자로, 설계자가 현장에서 논리회로의 구성을 프로그래밍할 수 있는 논리회로를 집적화한 소자를 말합니다.
전용 로직 IC는 회로가 고정되어 있어 일부 변경 시에도 마스크 등의 재설계/재제작이 필요하지만, FPGA는 설계자가 자유롭게 회로를 변경할 수 있는 논리회로라는 점이 특징입니다.
기존에는 이러한 목적에 부합하는 디바이스로 PLD가 있었지만, 이 PLD를 대규모화하면서 회로 구성을 SRAM에 기록하여 얼마든지 회로 변경이 가능하도록 한 것이 FPGA이며, FPGA는 미국 자일링스(Xilinx)사에 의해 개발되었습니다.
FPGA의 사용 용도
FPGA는 차량용 기기, 데이터 센서, 딥러닝 등에 사용되며, CPU의 프로그램 처리로 처리할 수 없는 고속 논리 연산을 수행하기 위해 대규모 논리 회로를 채택합니다. 이를 위해 전용 LSI(ASIC 등)를 설계/제조하는 것이 대응책 중 하나이지만, 전용 LSI는 회로 변경이 어렵습니다.
반면, FPGA는 회로 설계자가 애플리케이션 회로를 자유롭게 설계할 수 있고, 회로 변경이 용이하기 때문에 논리회로의 개발비용을 크게 절감할 수 있습니다. 이러한 특징으로 인해 FPGA는 다양한 분야에서 폭넓게 사용되고 있습니다.
1. 차량용 기기
차량용 기기에 채택되는 이유로는 개발 주기의 단축, 변경에 대한 유연성, 요구 품질에 맞는 디바이스의 등장 등을 들 수 있습니다. 그 구체적인 예로 운전 지원 시스템의 영상 분석을 들 수 있습니다.
운전 지원 시스템에서는 차량에 장착된 카메라에서 얻은 실시간 영상 신호를 즉각적으로 분석하여 운전자의 운전 조작을 지원해야 하므로, 저지연 및 고정밀도의 알고리즘이 필요합니다. 이를 위해서는 빠른 연산 처리가 필요한데, 이를 만족시키면서 디바이스 내 전자제어 기능을 필요에 따라 변경할 수 있는 FPGA가 적합합니다.
2. 데이터 센터
데이터센터 분야에서도 FPGA의 채용 사례가 늘고 있습니다. 특히 CPU를 대신해 AI, 보안, 인증, 실시간 분석, 딥러닝 등의 처리를 담당합니다. 또한, 대규모 데이터 시스템의 성능을 향상시키기 위해 FPGA를 채택하는 경우도 있습니다. 네트워크/스토리지 시스템에 광대역 및 저지연 연결성을 제공함으로써 데이터 처리 속도를 높일 수 있습니다. 또한, 데이터 압축, 채우기 처리 등에도 대응할 수 있습니다.
3. 딥 러닝
딥러닝의 세계에서는 하루가 다르게 최적의 모델링이 변화하기 때문에 FPGA의 회로 변경 유연성이 매우 유용합니다. 이 용도와 같이 시스템을 자주 개선하는 용도로는 최적의 디바이스입니다.
FPGA의 원리
FPGA는 프로그래밍이 가능한 비교적 작은 크기의 논리 블록을 격자 모양으로 배열하고 그 사이에 세로와 가로 방향으로 배선로를 설치한 구조를 기본으로 하는 LSI입니다. 하나의 논리 블록은 작지만, 많은 블록을 조합하여 대규모 회로를 구현합니다.
기본 논리 블록은 LUT(Look Up Table)와 플립플롭, 그리고 부가 회로를 추가하여 기본 논리 블록이 구성됩니다. 또한, 논리 블록은 배선로에 설치된 스위치 매트릭스(트랜스퍼 게이트)에 의해 임의로 연결할 수 있습니다.
LUT는 SRAM을 이용한다. 스위치 매트릭스의 ON/OFF도 SRAM에 기록된 데이터에 의해 제어된다. 또한, SRAM은 전원이 꺼지면 데이터가 사라지기 때문에 FPGA는 전원을 켤 때 외부에서 회로 정보(구성 데이터)를 읽어온다.
FPGA의 내부 구성은 기본 요소인 논리 블록 외에 내부 배선로, 클럭 전용 배선, 곱셈기(DSP), I/O부, PLL, 블록 RAM 등으로 구성되어 있습니다. 이들은 어떤 회로 패턴이든 쉽게 배선할 수 있도록 그물망 모양으로 배열되어 있습니다.
FPGA의 기타 정보
1. 설계 도구
기존 FPGA 설계에는 RTL(Register Transfer Level)이 설계 언어로 사용되어 왔습니다. 설계자의 RTL을 바탕으로 FPGA 벤더가 제공하는 툴에서 FPGA에 기록할 다운로드 파일을 생성했습니다.
하지만 최근에는 고수준 합성 컴파일러라는 툴이 FPGA 벤더에서 출시되고 있습니다. 이 고급 합성 컴파일러를 이용하면 효율적인 설계가 가능해짐과 동시에 회로 검증 시간도 줄어들게 되었다. 그 결과 제품 개발 기간을 단축하는 데 기여하고 있습니다.
현재 FPGA 벤더들이 제공하는 고급 합성 컴파일러는 다음과 같은 세 가지가 있습니다.
- 모델 기반(DSP) 컴파일러
- HLS 컴파일러
- OpenCL 컴파일러
FPGA를 사용하여 회로를 검토할 때는 보통 평가 보드를 사용합니다. 그 평가 보드는 반도체 벤더, 평가 보드 제조사, 위탁 설계 업체 등 다양한 업체에서 판매되고 있습니다. 따라서 평가 보드의 종류도 매우 다양하며, 기술 수준과 목적에 맞는 평가 보드를 선택해야 합니다. 대표적인 업체로는 아래 6곳을 꼽을 수 있습니다.
- HiTech Global
- BittWare
- TUL
- IOxOS
- 포트웰 재팬
- ANVENT
2. 시장
글로벌인포메이션(Global Information)의 2020년 4월 보고서에 따르면, FPGA 시장은 2020년 59억 달러에서 2025년 86억 달러로 성장할 것으로 예측했습니다. 연평균 성장률(CAGR)은 7.6%가 될 것으로 예상됩니다. 구체적인 수치는 공개되지 않았지만, FPGA 시장을 기술 노드별로 분류하면 2019년에는 28나노 이하 제품 구성 비율이 가장 큰 것으로 보입니다.
또한 저소비 전력 제품의 등장 등에 의해 2025년을 향해도 28nm 미만의 제품이 높은 성장을 나타낼 것으로 예측하고 있으며, 2020~2025년 FPGA 시장을 견인하는 용도로는 클라우드 · 컴퓨팅을 위한 고성능 · 컴퓨터와 5G 네트워킹 등을 들 수 있습니다.