CPLD와 FPGA: 프로그래머블 로직 디바이스 선택 기준

CPLD와 FPGA의 로직 구조, 저장 방식, 타이밍, 전력, 비용, 내장 리소스를 비교해 시스템 요구사항에 맞는 프로그래머블 로직 디바이스를 선택한다.

2026-08-14 · 최초 발행 2026-01-12

전원 인가 직후 필요한 로직과 대규모 병렬 처리의 갈림길

CPLD(Complex Programmable Logic Device)와 FPGA(Field Programmable Gate Array)는 모두 PLD에 속하지만, 설계자가 기대할 수 있는 리소스와 타이밍 특성은 다르다. CPLD는 복수의 SPLD 블록과 비휘발성 설정 저장을 사용해 중소규모 로직을 구현한다. FPGA는 현장에서 구성 가능한 대규모 게이트 어레이로, 많은 로직 셀과 고급 내장 리소스를 제공한다.

CPLD는 EEPROM 또는 Flash 기반 설정 덕분에 즉시 부팅할 수 있고 경로 지연을 예측하기 쉽다. 반대로 FPGA는 대규모 병렬 처리, 재구성, 블록 RAM, DSP 블록처럼 복잡한 설계에 필요한 자원을 제공한다.

매크로셀과 LUT가 만드는 설계 방식의 차이

CPLD의 기본 단위는 PAL/PLA 기반 매크로셀이다. 곱의 합(Sum of Products) 구조와 고정된 AND-OR 어레이를 사용하므로 신호 경로의 지연을 예측하기 쉽다.

FPGA는 LUT(Look-Up Table)를 기본 단위로 삼는다. 세분화된 로직 셀과 유연한 라우팅 리소스를 조합해 회로를 구성하며, 경로 지연은 배치와 라우팅 결과에 따라 달라진다.

항목 CPLD FPGA
기본 단위 매크로셀 로직 셀/LUT
로직 구현 AND-OR 어레이 진리표 기반 LUT
인터커넥트 중앙 집중형 분산형 타일 구조
지연 특성 고정/예측 가능 가변/경로 의존적
규모 수백~수천 셀 수만~수백만 셀

메모리와 특수 기능의 밀도도 다르다. CPLD는 일반적으로 내장 메모리가 없고 플립플롭을 레지스터로 사용하며, 더 큰 메모리 요구사항에는 외부 인터페이스가 필요하다. FPGA는 블록 RAM(BRAM), LUT를 활용한 분산 RAM, FIFO와 ROM 구현을 지원한다.

CPLD에는 기본 I/O 블록, 글로벌 클럭 네트워크, 일부 PLL이 포함될 수 있다. FPGA는 여기에 DSP 블록(곱셈기, MAC), 고속 트랜시버(GTX/GTH), PLL/MMCM, PCIe·DDR 컨트롤러 같은 하드 IP, 일부 제품의 프로세서 코어를 더한다.

고정 지연이 필요한가, 경로별 분석이 필요한가

CPLD는 핀-투-핀 지연이 고정되어 있고 라우팅 경로의 영향을 덜 받는다. 타이밍 분석이 비교적 단순한 이유다. FPGA는 경로마다 지연이 달라지므로 정적 타이밍 분석과 제약 조건 관리가 필요하다.

CPLD: 모든 경로 = 7.5ns (고정)
FPGA: 경로 A = 3.2ns, 경로 B = 8.7ns, 경로 C = 5.1ns (가변)

동작 주파수와 부팅 조건도 선택에 직접 영향을 준다.

디바이스 일반적 동작 주파수 최대 주파수
CPLD 100-300 MHz ~500 MHz
FPGA 200-500 MHz ~1 GHz

CPLD는 전원 인가 직후 마이크로초 단위로 동작하며 외부 설정이 필요하지 않다. 시스템 초기화에 적합한 이유다. SRAM 기반 FPGA는 외부 Flash에서 비트스트림을 읽어 와야 하므로 설정 로드에 밀리초~초가 필요하다. 이런 구성에서는 CPLD가 초기화와 설정 관리를 맡을 수 있다.

PowerFlashFPGACPLDPower["전원"]PowerFlashFPGACPLDPower["전원"]즉시 동작(~수 마이크로초)초기화 시작설정 완료(수십~수백 밀리초)전원 인가전원 인가비트스트림 요청비트스트림 전송

설정을 어디에 보존하는가

CPLD는 EEPROM 또는 Flash에 설정을 보관한다. EEPROM 기반은 전기적 소거와 프로그래밍을 사용하며 수천 회 재프로그래밍할 수 있지만 프로그래밍 속도가 느리다. Flash 기반은 현대 CPLD의 주류로, 빠른 프로그래밍과 높은 집적도, 보안 기능을 제공한다.

FPGA의 주류는 SRAM 기반이다. 전원이 끊기면 설정이 사라지지만 무제한 재프로그래밍과 빠른 재구성이 가능하다. 그 대가로 외부 설정 메모리가 필요하다. Flash 기반 FPGA는 비휘발성과 즉시 부팅을 제공하지만 제품군이 제한되며 Microchip, Lattice 제품이 있다. 안티퓨즈 기반은 일회성 프로그래밍(OTP), 내방사선 특성, 높은 보안성 때문에 우주·군사용에 쓰인다.

기술 CPLD FPGA
SRAM - 주류 (Xilinx, Intel)
Flash 주류 일부 (Microchip)
EEPROM 일부 레거시 -
안티퓨즈 - 특수용도

로직 규모와 전력 예산을 함께 본다

CPLD는 수십수천 개 매크로셀, 50,000 등가 게이트, 수백 개 레지스터, 수십수백 개 I/O 핀을 제공한다. FPGA는 수천수백만 개 로직 셀, 수백만수천만 등가 게이트, 수백 KB수십 MB 블록 RAM, 수십수천 개 DSP 블록, 수십수백 개 트랜시버까지 확장된다.

CPLD 제품 매크로셀 I/O
XC9536 36 34
XC95288 288 192
CoolRunner-II 512 512 270
MAX II 2210 2210 LE 272
FPGA 제품 로직 셀 BRAM DSP
Artix-7 35T 33K 225KB 90
Kintex-7 325T 326K 1.5MB 840
Virtex UltraScale+ VU9P 2.5M 75MB 6840

CPLD는 마이크로암페어 대기 전류와 낮은 발열 특성으로 배터리 구동이나 팬리스 설계에 맞는다. 대기 전력은 10-100 uA, 동작 전력은 1-100 mA이며 클럭에 의존한다.

FPGA 전력은 누설 전류에 따른 정적 전력, 스위칭 활동에 따른 동적 전력, I/O 드라이브 강도, 고속 통신용 트랜시버 전력으로 구성된다. 소형 FPGA는 수백 mW, 중형 FPGA는 수 W, 대형 FPGA는 수십 W 수준이며 히트싱크나 팬이 필요할 수 있다.

항목 CPLD FPGA
대기 전력 매우 낮음 낮음~중간
동작 전력 낮음 중간~높음
발열 최소 상당
냉각 필요 없음 필요 (규모에 따라)

부품비보다 시스템 비용을 먼저 계산한다

CPLD 단가는 $0.5 ~ $50이며, 소규모 프로젝트와 대량 생산에서 경제적일 수 있다. FPGA 단가는 $5 ~ $50,000+로 넓게 분포한다. 소규모 FPGA는 $5 ~ $100, 중형은 $100 ~ $1,000, 대형은 $1,000 ~ $50,000+ 범위다.

개발 환경도 차이를 만든다. CPLD는 개발 기간이 짧고 기본 도구가 무료이며 학습 곡선이 낮다. FPGA는 대형 설계에서 개발 기간이 길어지고, 고급 도구에는 유료 옵션이 있으며 배치·라우팅과 타이밍 분석의 난도가 높다.

항목 CPLD FPGA
디바이스 단가 낮음 높음
외부 Flash 불필요 필요 (SRAM)
전원 공급 단순 복잡 (다중 전압)
PCB 층수 적음 많음
냉각 솔루션 불필요 필요 가능

Xilinx(AMD)는 CPLD에 ISE Design Suite와 일부 Vivado 지원을 제공하고, FPGA에는 Vivado Design Suite와 Vitis(HLS, 임베디드)를 제공한다. Intel은 CPLD용 Quartus Prime Lite와 MAX 시리즈를 지원하며, FPGA에는 Quartus Prime과 Platform Designer를 제공한다.

특성 CPLD FPGA
합성 시간 분 단위 분~시간
배치/라우팅 빠름 느림 (대형)
타이밍 분석 단순 복잡
디버깅 기본 고급 (ILA, ChipScope)
IP 라이브러리 제한적 광범위

시스템에서 맡길 역할을 기준으로 고른다

CPLD는 전원 시퀀싱, 리셋 제어, FPGA 설정 관리, 워치독 타이머 같은 시스템 관리 로직에 적합하다. 버스 브리징, 레벨 변환 로직, 프로토콜 변환, 글루 로직과 상태 머신, 타이밍 생성, 인터럽트 컨트롤러, 주소 디코딩도 CPLD가 맡기 좋은 작업이다.

FPGA는 디지털 신호 처리, 이미지·비디오 처리, AI/ML 가속, 암호화·복호화처럼 높은 병렬성이 필요한 영역에 맞는다. 5G 기지국, 네트워크 스위치, 프로토콜 처리, 고속 시리얼 링크와 SoC 구현, 멀티코어 시스템, 맞춤형 프로세서, ASIC 프로토타이핑도 FPGA 리소스를 활용하는 분야다.

응용 권장 디바이스 이유
전원 관리 CPLD 즉시 동작 필수
글루 로직 CPLD 소규모, 저비용
부팅 제어 CPLD 비휘발성 필요
DSP FPGA DSP 블록 필요
비디오 처리 FPGA 대규모 병렬 처리
고속 통신 FPGA 트랜시버 필요
AI 가속 FPGA 대규모 연산

즉시 부팅, 예측 가능한 타이밍, 수백~수천 게이트 규모, 저전력·배터리 구동, 비용 민감성, 단순 인터페이스 로직이 요구되면 CPLD 쪽에 무게가 실린다. 대규모 로직, DSP·메모리 블록, 고속 직렬 통신, 복잡한 알고리즘, SoC 수준 통합, 런타임 재구성이 필요하면 FPGA를 검토한다.

아니오소규모대규모소규모대규모아니오DSP/RAM없음프로젝트 시작즉시 부팅필수?규모?규모?CPLD 선택CPLD + FPGA조합비용민감?FPGA 선택특수 기능필요?

초기화는 CPLD로, 데이터 처리는 FPGA로 나누는 구성

복잡한 시스템에서는 두 디바이스를 함께 둘 수 있다. CPLD는 전원 관리, 초기화, 설정 로드 같은 부팅 경로를 담당하고, FPGA는 주요 로직과 데이터 처리를 수행한다. 이 구성은 안정적인 부팅 시퀀스, FPGA 설정 관리, 워치독 기능, 시스템 모니터링을 함께 제공한다.

SoC FPGA는 프로세서와 프로그래머블 로직을 한 칩에 통합한 형태다. Xilinx Zynq와 Intel Cyclone V SoC는 ARM + FPGA 구성을 제공한다. 소프트웨어와 하드웨어의 유연성을 함께 확보하면서 통합 시스템을 구성하고 설계를 단순화할 수 있다.

CPLDFPGA프로그래머블 로직디지털 회로하드웨어 설계