FPGA全称为现场可编程门阵列(Field Programmable Gate Array),是一种一次性可编程的集成电路。FPGA的主体为可编程逻辑单元阵列与可编程互联网络。CPLD全称为现场可编程门阵列(Programmable Logic Device),属于可编程逻辑器件的一种。
FPGA由可编程逻辑单元组成,可以实现更加复杂的逻辑电路;CPLD使用可编程器件实现,适合于实现较简单的电路,较为灵活。在存储容量和布线规模上,FPGA优于CPLD;但价格方面,CPLD要比FPGA便宜。
FPGA和CPLD广泛应用于数字电路的设计,如通讯、视频、音频、控制、自动化、计算机、工业控制等。其在嵌入式系统和数字信号处理等领域也有广泛应用,可实现信号采集、处理和输出等功能。FPGA还可用于高速计算,如加密算法,高速数据传输等。
相比于ASIC,FPGA和CPLD具有设计周期短、产品开发迅速、研发成本低等优点。
(1)高速性能
FPGA采用并行结构,可以同时处理多个任务;具有高速的时序性能和大量内部存储单元,能够快速处理大规模计算任务。
(2)可编程性
FPGA具有可编程性,在设计结果不理想时,可在线调整设计结果,修改设计逻辑和内部连接关系,节省研发时间。
(3)可重构性
FPGA的可重构性使其具有灵活性,可根据不同需求进行重新配置,并与外设实现快速交互。
(4)低功耗
FPGA的功耗较低,可以实现低功耗应用。
(1)易用性强
CPLD的使用相比于FPGA更为简单,不需要用户去编写代码,只需要进行逻辑开关量的简单设置就能够构成所需要的逻辑电路。
(2)带有触发器存储器的寄存器
使用CPLD可以存储寄存器的大小以及数量都是需要用户去自己去决定的。
(3)集成度高
CPLD内部集成度较高,可实现大量逻辑电路。其体积较小、功耗低、价格相对较低,适合低速控制电路的设计。
(4)功耗低
CPLD的功耗很低,非常合适在版图面积上限制较小、功耗有严格要求的嵌入式系统中使用。