FPGA(Field-Programmable Gate Array)는 사용자가 제작된 이후에도 하드웨어 회로를 직접 구성할 수 있도록 설계된 프로그래머블 집적회로이다. 범용 CPU나 GPU와 달리, FPGA는 하드웨어 레벨에서 병렬 처리 구조를 원하는 형태로 설계할 수 있어 높은 유연성과 맞춤형 가속 기능을 제공한다.
개요
FPGA는 내부에 구성 가능한 논리 블록(logic block)과 이들을 서로 연결하는 라우팅 구조로 이루어져 있다. 사용자는 HDL(Hardware Description Language) 또는 고수준 합성(HLS)을 통해 FPGA를 특정 회로처럼 동작하도록 “프로그래밍”할 수 있다.
대표적인 FPGA 제조사는 Xilinx(현 AMD), Intel(Altera), Lattice Semiconductor 등이 있으며, Xilinx Alveo 시리즈는 AI 및 데이터센터 용으로 널리 사용된다.
특징
높은 유연성
FPGA의 가장 큰 장점은 설계된 후에도 논리 회로를 변경할 수 있다는 점이다. 이는 다음과 같은 장점을 제공한다:
- 새로운 알고리즘에 빠르게 대응 가능
- 특정 응용을 위한 맞춤형 하드웨어 구현
- ASIC 설계 전에 성능 검증 플랫폼으로 활용 가능
병렬 처리 성능
FPGA는 사용자가 자료 흐름(dataflow)에 맞춰 병렬적인 하드웨어 회로를 직접 구성할 수 있기 때문에, 특정 워크로드에서는 CPU/GPU보다 효율적으로 동작할 수 있다.
짧은 개발 주기
ASIC처럼 제조 과정이 필요하지 않기 때문에, 하드웨어 가속기 개발 및 테스트 시간이 매우 짧다.
장점
- 하드웨어 레벨 최적화 가능
- 유연한 알고리즘 변경
- 프로토타이핑 및 연구용으로 뛰어남
단점
- 클럭 속도가 ASIC/GPU보다 낮음
- 전력 효율이 ASIC보다는 떨어짐
- 복잡한 완전 커스텀 회로는 성능적 제약 존재
구성 요소
Logic Block (LUT + Flip-Flop)
FPGA 회로의 기본 단위로, 사용자가 원하는 논리 연산을 구현할 수 있는 구성 가능한 소자이다.
Routing / Interconnect
Logic block들을 서로 연결하는 구성 가능한 배선 구조.
BRAM (Block RAM)
고속 온칩 메모리로, AI/영상/네트워크 처리 등에 사용된다.
DSP Slice
고속 곱셈·덧셈 연산을 위한 전용 연산 유닛으로, DNN 가속에 필수적이다.
High-Bandwidth I/O
PCIe, Ethernet 등 다양한 고속 인터페이스를 지원한다.
FPGA와 딥러닝 (DNN)
FPGA는 최근 딥러닝 추론 가속기 분야에서 주목받고 있다.
장점
- 다양한 DNN 구조에 맞는 맞춤형 데이터 경로 구성
- Low-latency inference에 강점
- ASIC 제작 전 프로토타입 플랫폼으로 사용 가능
- Edge AI 및 산업용 로봇 등에서 인기
FPGA 기반 AI 가속기 예시
- Xilinx Alveo U200/U250/U280 시리즈
- Intel Arria 10 FPGA
- AWS F1 인스턴스 (Xilinx Ultrascale+)
FPGA vs ASIC vs GPU
| 특성 | FPGA | ASIC | GPU |
|---|---|---|---|
| 목적 | 프로그래머블 하드웨어 | 특정 작업 전용 | 범용 병렬 연산 |
| 유연성 | 매우 높음 | 매우 낮음 | 높음(소프트웨어 기반) |
| 성능 | 중간 ~ 높음 | 최고 성능 | 높음 |
| 전력 효율 | 중간 | 매우 높음 | 중간 |
| 개발 기간 | 짧음 | 매우 길음 | 필요 없음 |
| 비용 | 낮음 | 매우 높음 | 중간 |
| 사용 예 | 연구·프로토타이핑·Edge AI | TPU·ANE·전용 가속기 | 딥러닝 학습·추론 |
활용 분야
- 딥 러닝 추론 (CNN, Transformer 일부 구조)
- 영상 처리 / 신호 처리
- IoT 및 Edge 컴퓨팅
- 금융(초저지연 트레이딩)
- 네트워크 패킷 처리
- 로봇 및 산업 자동화
프로그래밍 방식
FPGA는 여러 방식으로 프로그래밍할 수 있다:
HDL (Hardware Description Language)
- Verilog
- VHDL
하드웨어 회로를 직접 설계하는 가장 전통적인 방식.
High-Level Synthesis (HLS)
- C/C++ 기반 회로 설계
- DNN inference 가속용 HLS 라이브러리 제공
프레임워크 기반 도구
- Xilinx Vitis AI
- hls4ml
- FINN (Xilinx DNN compiler)
장점
- 높은 유연성
- 빠른 개발 및 수정
- 하드웨어 최적화 가능
- ASIC 제작 전 성능 검증 용도로 활용 가능
한계
- ASIC 대비 낮은 최대 성능
- GPU보다 일반적으로 낮은 throughput
- 복잡한 DNN 전체를 구현하기엔 난이도가 높음
- 최적 회로 설계에 전문성이 필요
함께 보기
참고 문헌
- Xilinx Alveo 공식 문서
- Intel FPGA 기술 자료
- AWS EC2 F1 문서
- FPGA 기반 AI 가속 관련 연구 논문