PLD的种类主要分为有与无POF的PLD、FPGA以及CPLD。
有与无POF的PLD:分为可编程的门阵列(PAL)和可编程的数组逻辑(PLA),具有因为没有大量的器件的连接,使得它们的复杂度和调试得以减少。但PLD的缺点是,只有当他们被配置正确时,它们才能执行其预置功能。一旦它们被损坏、受到磁场干扰或电压/电流激励等,PLD单元就会变得不适合操作。
FPGA(Field Programmable Gate Array):可编程门阵列,是由大量的逻辑器件构成的现场可编程逻辑器件。FPGA通过有可复位的可编程互连资源。与PLD不同,FPGA通常使用可编程内存单元进行存储器实现。同时,与CPLD不同,FPGA通常使用巨大的超长可编程线阵列资源。 虽然FPGA是同一品牌PLD的延伸和扩展,但它们通常可以存储多个逻辑功能并重复使用。
CPLD(Complex Programmable Logic Device):复杂可编程逻辑器件,CPLD由大量的逻辑器件组成。通过可编程互连资源,它们能够支持大规模的逻辑复杂性。与FPGA相比, CPLD在硬件方面更加稳定可靠。CPLD要更加兼容于小规模但是逻辑密集的设计,而FPGA则更适合用于大规模的设计。CPLD的内部结构与FPGA类似,同时也使用可编程RAM单元。但CPLD通常使用基于固定功能单元连接的小型逻辑块,同时使用小型的可编程逻辑块,在FPGA中,大型逻辑块被用于多个位,而CPLD中,逻辑块趋向于使用作为独立模块的单个位。
FPGA的可编程逻辑资源量较大,可以满足更多的逻辑需求,内部RAM更多,使用起来能兼顾逻辑和存储的需求;但功耗方面则比CPLD消耗更多。而CPLD低功耗、容易集成,但逻辑容量较小,可编程逻辑更少。
PLD的内部结构包括:输入/输出排列,存储单元,编程单元,计时器,时基电路,以及其他逻辑电路。PAL和PLA的输入/输出排列由在晶片外周沿边缘布置的引脚组成。而FPGA和CPLD则通过输入/输出单元来连接。
PLD广泛应用于嵌入式领域,如系统机箱、网络设备、嵌入式安全、移动应用、电子汽车、显示器、掌上电脑等。由于PLD高度灵活,并以可编程内部接线为特点,因此PLD也逐渐到了许多其他行业,如电信、金融、医疗等行业中。