CPLD (viết tắt của Complex Programmable Logic Device) là một vi mạch mà người dùng có thể lập trình được. Nó cũng tương tự như FPGA về ứng dụng nhưng không có nhiều cổng logic (logic gates) như FPGA. Do đó nếu cần thiết kế những mạch phức tạp (Ví dụ như khi thiết kế một CPU mềm thì nên dùng FPGA.) CPLD chỉ phù hợp cho những thiết kế đơn giản. Trong khi FPGA thì dựa trên SRAM, CPLD lại dựa trên EEPROM, do dó nó ghi nhớ được lập trình khi tắt nguồn điện. Chỉ cần nạp điện lên là CPLD có thể hoạt động mà không cần phải tải lập trình xuống như FPGA.[1] [2] [3] Những hãng chế tạo CPLD gồm có Xilinx, Altera, Lattice và Actel.