복합 프로그래머블 논리 소자(Complex Programmable Logic Device)는 현장 프로그래머블 게이트 어레이 (FPGA)와 프로그래머블 어레이 논리 (PAL)의 복합성과 구조적 특성을 지니고 있는 프로그래머블 논리 소자 (PLD)이다. 제조된 복합 프로그래머블 논리 소자의 블록은 논리적 표준형 식과 더 특별한 논리 연산을 실행하는 논리가 포함된 매크로셀(macrocell)이다.
큰수의 게이트가 가능함. 복합 프로그래머블 논리 소자는 일반적으로 수천에서 수십만의 논리 게이트와 동등하며, 적당히 복잡한 데이터 처리 장치의 수행이 가능하다. 프로그래머블 어레이 논리는 일반적으로 수백 게이트와 동등하며, 현장 프로그래머블 게이트 어레이는 일반적으로 수백만에서 수백만의 범위이다.
어떤 제품은 논리가 결과의 합식보다 유연하도록 매크로셀 사이에 복합한 피드백 라인과 (내부 연산회로 같은) 일반적으로 사용되는 다양한 기능을 실행하는 특별한 논리를 포함한다.
큰 복합 프로그래머블 논리 소자와 작은 현장 프로그래머블 게이트 어레이의 가장큰 다른점은 복합 프로그래머블 논리 소자에는 칩내부에 비활성 메모리가 존재한다. 구조적 접근에서 다른점은 중간체 영역으로부터 분명히 더 멀다.
비휘발의 특징은 복합 프로그래머블 논리 소자가 이런 능력을 가지지 않는 다른 소자를 제어 이전에 처리하는 부트 로더 기능을 수행하는 현대 디지털 설계에 종종 사용되는 것을 의미한다. 좋은 예로 복합 프로그래머블 논리 소자가 비활성 메모리에서 현장 프로그래머블 게이트 어레이에 환경설정 데이터를 올리는 데 사용된다.