PLD와 CPLD·FPGA: 프로그래머블 논리 소자의 구조와 설계

PLD의 구조와 프로그래밍 기술, SPLD·CPLD·FPGA의 차이, HDL 설계 흐름과 ASIC 대비 활용 조건을 정리한다.

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

표준 IC와 ASIC 사이에서 선택하는 논리 소자

디지털 회로가 복잡해지면 표준 IC만 조합해서 원하는 로직을 구성하기 어렵다. 반대로 ASIC은 개발 비용과 시간이 큰 부담이 된다. PLD(Programmable Logic Device)는 제조가 끝난 뒤에도 사용자가 논리 함수를 프로그래밍할 수 있어, 프로토타이핑과 소량 생산 같은 조건에서 활용된다.

PLD 내부는 AND-OR 배열 또는 룩업 테이블(LUT)을 바탕으로 구성된다. 이를 통해 조합 논리뿐 아니라 순차 논리도 구현할 수 있으며, 설계 변경을 반영하기 쉽고 실제 환경에서 수정할 수 있다는 점이 특징이다.

PLD는 다음과 같은 흐름으로 발전해 왔다.

PROM(1970년대)PLA(ProgrammableLogic Array)PAL(ProgrammableArray Logic)GAL(GenericArray Logic)CPLD(Complex PLD)FPGA(Field ProgrammableGate Array)

논리 규모와 구조에 따른 PLD 계열

SPLD는 작은 논리 기능에 맞춘다

단순 PLD(SPLD)는 가장 기본적인 형태로 수백 개 이하의 게이트를 구현한다.

PLA(Programmable Logic Array)는 AND 배열과 OR 배열을 모두 프로그래밍할 수 있어 유연성이 높다. 대신 프로그래밍이 복잡하고 속도는 느리다.

PAL(Programmable Array Logic)은 프로그래밍 가능한 AND 배열과 고정 OR 배열을 사용한다. 속도는 빠르지만 유연성은 제한되며, 일회성 프로그래밍(OTP) 방식이다.

GAL(Generic Array Logic)은 PAL을 전기적으로 소거할 수 있게 만든 형태다. EEPROM 기반으로 다시 프로그래밍할 수 있고, 출력 논리 매크로셀과 ISP(In-System Programming)를 지원한다.

유형 AND 배열 OR 배열 재프로그래밍 복잡도
PLA 프로그래밍 가능 프로그래밍 가능 제한적 높음
PAL 프로그래밍 가능 고정 불가(OTP) 중간
GAL 프로그래밍 가능 고정 가능(EEPROM) 중간

CPLD는 기능 블록을 예측 가능한 지연으로 연결한다

CPLD는 여러 SPLD 블록을 프로그래머블 상호연결망으로 묶는다. 수천~수만 게이트 수준을 다루며, 전원이 끊겨도 구성이 유지되는 비휘발성 특성을 가질 수 있다. 빠른 핀-투-핀 지연과 예측 가능한 타이밍, ISP 지원이 CPLD의 성격을 만든다.

CPLD 구조기능 블록 3매크로셀매크로셀매크로셀기능 블록 2매크로셀매크로셀매크로셀기능 블록 1매크로셀매크로셀매크로셀프로그래머블 상호연결매트릭스I/O 블록

FPGA는 LUT와 라우팅으로 고밀도 로직을 구성한다

FPGA는 LUT 기반 로직 블록과 프로그래머블 라우팅으로 이루어진 고밀도 PLD다. 수만~수천만 게이트 수준을 구현하며, SRAM 기반의 휘발성 방식 또는 Flash 기반의 비휘발성 방식을 사용한다.

병렬 처리에 적합하고 동적 재구성이 가능하며, DSP 블록, 메모리 블록, 직렬 트랜시버 같은 고급 기능을 내장할 수 있다.

AND-OR 배열과 매크로셀이 만드는 논리

SPLD와 CPLD에서는 AND 게이트 배열과 OR 게이트 배열의 조합이 기본 구조가 된다. 입력 신호는 AND 배열로 들어가 곱항(Product Term)을 만들고, OR 배열은 이 곱항들을 합쳐 출력을 만든다.

연결을 구성하는 방식은 퓨즈를 끊는 OTP 방식, 안티퓨즈를 연결하는 OTP 방식, 전기적으로 지우고 다시 쓰는 EEPROM 방식, 휘발성이며 무제한 재프로그래밍이 가능한 SRAM 방식으로 나뉜다.

CPLD의 매크로셀은 조합 논리와 순차 논리를 함께 구현하는 기본 단위다. AND 배열과 OR 게이트가 곱항을 만들고 결합하며, XOR 게이트는 극성을 제어한다. 플립플롭은 순차 논리를 담당하고, 출력 멀티플렉서는 조합 또는 순차 출력을 선택한다. 출력 인에이블은 3상태 제어를 맡는다.

매크로셀AND 배열OR 게이트XORMUX플립플롭출력 버퍼OE 제어I/O

상호연결은 모든 매크로셀과 I/O 핀을 잇는 중앙 집중식 스위칭 매트릭스인 글로벌 라우팅과, 기능 블록 내부에 빠른 연결을 제공하는 로컬 라우팅으로 구분된다. 이런 구조는 타이밍 예측과 설계 도구의 배치배선을 수월하게 한다.

HDL 입력부터 디바이스 프로그래밍까지

설계 입력은 회로도, HDL, 상태 다이어그램으로 이뤄질 수 있다. 회로도 입력은 그래픽 기반이라 직관적이지만 대규모 설계에는 비효율적이다. Verilog와 VHDL을 사용하는 HDL 입력은 텍스트 기반이며, 대규모 설계와 시뮬레이션에 적합하다. 상태 다이어그램은 FSM 설계에서 상태 전이를 시각적으로 표현하는 데 쓰인다.

구현 과정에서는 논리 합성, 기술 매핑, 배치 및 배선, 타이밍 분석을 거친다. 타이밍 조건을 만족하지 못하면 최적화한 뒤 기술 매핑 단계부터 다시 진행한다.

YesNo설계 입력(HDL/회로도)논리 합성(Synthesis)기술 매핑(Technology Mapping)배치 배선(Place & Route)타이밍 분석(Timing Analysis)타이밍만족?비트스트림 생성최적화디바이스 프로그래밍

검증은 합성 전 RTL 수준의 기능 시뮬레이션으로 시작한다. 배치배선 이후에는 실제 지연을 포함한 타이밍 시뮬레이션을 수행하며, 마지막으로 프로그래밍된 디바이스에서 실제 동작을 확인한다.

구성 정보를 저장하는 방식

퓨즈 기반 OTP는 초기 PLD 기술로, 한 번만 프로그래밍할 수 있다. 금속 또는 반도체 퓨즈에 고전류를 흘려 연결을 끊어 구성하며, 비휘발성과 높은 신뢰성을 가진다.

EEPROM 기반은 전기적으로 소거하고 다시 프로그래밍할 수 있는 비휘발성 방식이다. GAL과 CPLD에 쓰이며 수천~수만 회 재프로그래밍이 가능하다. ISP(In-System Programming)는 디바이스가 보드에 장착된 상태에서 JTAG 인터페이스로 프로그래밍하는 방식이다.

Flash 기반은 비휘발성, 빠른 프로그래밍, 높은 집적도를 특징으로 하며 일부 FPGA에서 사용한다. SRAM 기반은 전원이 차단되면 설정이 사라지지만 무제한 재프로그래밍과 빠른 재구성이 가능하다. 외부 구성 메모리가 필요하며 대부분의 FPGA에서 사용된다.

기술 휘발성 재프로그래밍 속도 보안
퓨즈 비휘발성 불가 - 높음
EEPROM 비휘발성 가능 느림 중간
Flash 비휘발성 가능 중간 높음
SRAM 휘발성 무제한 빠름 낮음

프로토타입부터 데이터센터 가속까지

ASIC 제조 전에 FPGA로 설계를 검증하면 프로토타입 단계의 위험을 줄일 수 있다. 실제 속도에 근접한 환경에서 시스템 통합 테스트를 수행하는 용도도 여기에 포함된다.

생산량이 적은 특수 목적 장비와 틈새 시장도 PLD가 맞는 영역이다. 의료 기기, 산업 제어, 계측 장비처럼 ASIC 개발 비용에 비해 생산량이 적은 제품에서 선택할 수 있다.

글루 로직으로는 서로 다른 IC 사이의 신호 변환과 프로토콜 브리징을 수행한다. 표준 IC만으로 구현하기 어려운 제어 로직을 시스템에 통합하는 역할도 맡는다.

FPGA는 딥러닝 추론, 암호화/복호화, 영상 처리용 하드웨어 가속기로 활용된다. 데이터센터와 클라우드 서비스의 가속 처리 역시 적용 대상이다.

생산량이 바꾸는 PLD와 ASIC의 비용 판단

PLD는 NRE가 없어 초기 비용이 낮지만 단위 비용은 높다. 따라서 소량 생산에 유리하다. ASIC은 마스크와 NRE로 인해 초기 비용이 높지만 단위 비용이 낮아 대량 생산에 적합하다.

생산량이 일정 수준을 넘으면 ASIC이 총 비용 측면에서 유리해진다.

항목 PLD ASIC
개발 비용 낮음 높음($1M~$10M+)
개발 기간 주~월 월~년
단위 비용 높음 낮음
유연성 높음 없음
성능 중~상 최상
전력 효율 중간 높음
적합 생산량 ~10만 개 10만+

집적도와 통합 방식의 변화

PLD는 더 많은 로직 셀과 메모리를 담고, 미세 공정과 3D 집적 기술을 적용하는 방향으로 발전한다. CPU/GPU와 FPGA의 통합, 하드 IP 블록 증가, 시스템 레벨 통합도 이 흐름에 포함된다.

전력 측면에서는 동적 전압/주파수 스케일링, 부분 재구성(Partial Reconfiguration), 파워 게이팅이 사용된다. 고수준 합성(HLS), AI 기반 설계 도구, 클라우드 기반 개발 환경은 설계 생산성을 높이는 방향으로 제시된다.

PLDCPLDFPGA디지털 회로반도체