CPLD和FPGA有什么区别?[关闭]


10

CPLD和FPGA有什么区别?


1
CPLD仅使用乘积项(每个输出引脚一个DFF)。FPGA具有内部可配置的LUT,进位/移位,DFF模块,以及更灵活的路由,Block RAM和其他专用模块,如PLL或MAC。
MarkU 2015年

1
...并且通常CPLD使用非易失性存储器来存储其配置,而FPGA使用易失性存储器(RAM),即,每次加电后都必须初始化FPGA。
凝结

6
使用Google可以轻松获得答案-问题应该关闭。
Leon Heller

4
@Leon Heller我不知道您为什么要调用其他人来结束这个问题。如果您认为这个问题应该解决,您可以自由投票解决这个问题,但是对“问题应该解决”发表评论真的很恐怖,并试图让其他人跟您一起去。如果这个问题是容易关闭,则首先应关闭以下问题electronics.stackexchange.com/questions/1092/...
桑吉弗·库马尔

1
@LeonHeller(et al),这个问题也可以作为该Google搜索的答案。(我将其作为第二个链接,以及其他实际上有用的链接。)
ilkkachu

Answers:


5

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中的电池备份密钥来实施加密以提高设计安全性。


10

差异:

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

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

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


3
关于#3,值得一提的是,这些年来,随着CPLD变得越来越复杂,CPLD和FPGA之间的界限变得模糊了。例如,现代CPLD足够大以实现微控制器。现在到了这一点,一些以前作为CPLD销售的芯片系列现在被标记为FPGA(例如Altera Max系列)
David Gardner 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.