大多数的CPLD是由逻辑阵列块(LAB)、可编程互连与阵列(Interconncect)和I/O模块组成。对于CPLD的可编程开发,具有如下特点:
(1) 时序延迟均匀和可预测
CPLD的内部结构相对与FPGA比较简单。可编程互连阵列一般位于芯片的中心,而逻辑阵列块位于芯片边缘。这样通过编程后形成的实际电路就是LAB-Interconncect-LAB的基本形式,这种统一的电路互连形式就决定了其延时的均匀性和可预测性。
(2) 调试和使用方便
基于Flash工艺的CPLD在断电之后,内部编程逻辑不会消失。而FPGA基于SRAM工艺,断电后内部逻辑就不再存在,需要外挂配置芯片用于启动时配置芯片逻辑。
(3) 速度较快
CPLD的基本结构是LAB,是一种粗粒结构。这种结构使得Interconnect可以实现逻辑布线的集结,从而延时都存在于粗颗粒之间,这样就提高速度。相比于此,FPGA是细粒结构,也就是其Interconnect的分布比较分散,分为行互连(Row Interconnect)、列互连(Column Interconnect)和局部互连(Local Interconnect)。如果只是有少量逻辑实现,互连不复杂,那么FPGA的速度相当快。然而,随著设计密度的增加,信号不得不通过许多互连资源,路由延迟也快速增加,从而削弱了整体性能。
(4) I/O数目较多
在给定的器件密度上可提供更多的I/O数。例如,MAX II EPM570T144的user I/O高达80%。丰富的I/O资源,也为CPLD作为系统控制芯片和接口操作芯片提供了诸多便利;
(5) 逻辑设计编译迅速
这个特点也是由于CPLD的粗粒结构决定的。粗粒决定了Interconnect路由选择的简化,从而节省了大量布局和布线的时间。