CPLD和FPGA有什么区别?
CPLD和FPGA有什么区别?
Answers:
CPLD通常仅用于替换相对少量的离散逻辑。即,像一堆地址解码器和总线接口电路之类的东西。CPLD包含很少的内存。通常,触发器的数量与I / O引脚的数量级相同(即32个宏单元CPLD具有约30个引脚和约30个触发器)。CPLD中的组合逻辑是在可编程逻辑阵列上实现的,通常在非常高的速度下没有用。CPLD通常也基于闪存或具有内部闪存,从而简化了电路板设计要求并增强了对反向工程的保护。CPLD也不具有“出血边缘”逻辑过程。
FPGA设计用于高性能计算和高带宽接口。在内部,它们使用与CPLD不同的体系结构。FPGA具有比I / O引脚更多的内部状态(寄存器和Block RAM)。组合逻辑是在可以运行到几百MHz的高速查找表上实现的。LUT和其他组件与高性能路由网络互连。FPGA还包含专用的硬核,这些硬核可提供各种组件的有效实现。Block RAM和乘法器/ DSP Slice非常常见。FPGA还可以包含以太网MAC,硬核,PCI Express接口和其他专用模块。千兆位收发器也是高端FPGA的常见功能,它允许每对引脚以高达50 Gbit / sec的速度传输数据。FPGA通常不包含任何非易失性存储器,因此需要外部闪存来加载配置。可以使用存储在FPGA中的电池备份密钥来实施加密以提高设计安全性。
差异:
容量-CPLD通常具有较小的逻辑容量。最大的CPLD可能与主流市场中最小的FPGA相似。
映像的存储-CPLD可以自行启动,而大多数FPGA需要从非易失性存储中获取配置位流,因为它们基于SRAM。这会影响系统的安全性。
功能-CPLD仅提供可以执行各种逻辑算法的门或逻辑单元。此外,FPGA还嵌入了很多硬块,例如BlockRAM,DSP,TEMAC,PCIe,MGT,微处理器等,以使FPGA的单个芯片能够构建集成的全功能系统。