CPLD和FPGA有什么区别?

电器工程 FPGA 可编程逻辑
2022-01-29 02:19:40

CPLD和FPGA有什么区别?

2个回答

差异:

  1. 容量 - CPLD 通常具有较少的逻辑容量。最大的 CPLD 可能与主流市场上最小的 FPGA 处于相似的水平。

  2. 图像的存储——CPLD 可以自行启动,而大多数 FPGA 需要从非易失性存储中获取配置比特流,因为它们是基于 SRAM 的。这会影响系统的安全性。

  3. 功能 - CPLD 只提供门,或者说,逻辑单元,可以执行各种逻辑算法。此外,FPGA还嵌入了大量的硬块,如BlockRAM、DSP、TEMAC、PCIe、MGT、微处理器等,使FPGA的单芯片能够构建一个集成的全功能系统。

CPLD 通常只用于替换相对少量的离散逻辑。即,诸如一堆地址解码器和总线接口电路之类的东西。CPLD 包含的内存非常少;一般来说,触发器的数量与 I/O 引脚的数量级相同(即 32 个宏单元 CPLD 有大约 30 个引脚和大约 30 个触发器)。CPLD 中的组合逻辑是在可编程逻辑阵列上实现的,这通常在非常高的速度下没有用。CPLD 通常也基于闪存或具有内部闪存,从而简化了电路板设计要求并提高了对逆向工程的保护。CPLD 也不是用“前沿”逻辑过程构建的。

FPGA 专为高性能计算和高带宽接口而设计。在内部,它们使用与 CPLD 非常不同的架构。FPGA 具有比 I/O 引脚更多的内部状态(寄存器和块 RAM)。组合逻辑在可以运行到数百 MHz 的高速查找表上实现。LUT 和其他组件与高性能路由网络互连。FPGA 还包含专门的硬核,可提供各种组件的有效实现。Block RAM 和乘法器/DSP Slice 非常常见。FPGA 还可以包含以太网 MAC、硬核处理器、PCI express 接口和其他专用模块。多千兆位收发器也是高端 FPGA 的一个常见特性,它允许以每对引脚高达 50 Gbit/sec 的速度传输数据。FPGA 通常不包含任何非易失性存储器,因此需要外部闪存来加载配置。可以使用存储在 FPGA 中的电池备份密钥来实施加密以提高设计安全性。