Complex programmable logic device

An Altera MAX 7000-series CPLD with 2500 gates in a PLCC package.
Die of an Altera EPM7032 EEPROM-based CPLD. Die size 3446x2252 μm. Technology node 1 μm.

A complex programmable logic device (CPLD) is a programmable logic device with complexity between that of programmable array logic (PAL) and field-programmable gate arrays (FPGA), and architectural features of both. The main building block of the CPLD is a macrocell, which contains logic implementing disjunctive normal form expressions and more specialized logic operations.