CPLD和FPGA的区别

FPGA和CPLD器件的诞生是为了获得ASIC(专用集成电路)器件的电路密度和速度,但可编程器件的周转时间更短。FPGA和CPLD之间的主要区别是,FPGA比CPLD拥有更多的逻辑资源,而CPLD更简单,互连更少。在隔离FPGA和CPLD时,主要考虑两个因素。首先是它们的结构以及如何实现各种逻辑功能。第二,硬件中利用的特定半导体技术。

在这篇文章中,我们将了解到CPLD和FPGA之间的区别。但在讨论这些差异之前,我们需要了解CPLD和FPGA的优缺点。

什么是CPLD?

CPLD是 “复杂可编程逻辑器件 “的缩写。它是一种协助执行数字系统的集成电路。一个CPLD是由可编程的功能块组成的,每个块都有宏单元。CPLD的主要构建块是宏单元。功能块的I/O通过全局互连矩阵(GIM)连接。这个互连矩阵是可重新配置的,因为改变功能块之间的接触是不可能的。这些功能块等同于一组逻辑门。

在设计CPLD时,考虑编程技术、I/P能力和功能块能力是很重要的。一般来说,CPLD是非易失性的,利用起来很简单,而且价格便宜。

CPLD有各种IC封装类型和逻辑系列。CPLD的电源电压、待机电流、工作电流和功率耗散也不同。此外,这些都有不同的内存容量和内存支持选项。内存通常以比特或兆比特为单位,内存支持包含ROM、RAM和双端口RAM。它还包括FIFO(先进先出)和LIFO(后进后出)存储器,以及CAM(内容可寻址存储器)。

CPLD的组成部分
CPLD有各种组件,CPLD的一些主要组成部分如下:

功能块
在CPLD中,一个功能块有一个AND平面,可以接受来自I/O块、功能块的输入,甚至是同一功能块的响应。之后,这些条款被添加到OR阵列中,并使用一个大的多路复用器进行选择。多路复用器的输出可以直接从块中移动,也可以通过一个时钟触发器。这个功能块也可以有额外的逻辑,如可选择的排他性OR,一个主复位信号,以及在几个阶段对极性进行编程的选项:

  • 输入/输出块
  • 输入/输出块被用来以适当的电压和电流水平向CPLD的引脚发送信号。它允许消除延迟,减少器件的保持时间要求,并增加器件的额外资源。
  • 互连
  • CPLD的互连是一个大型的可编程开关矩阵,指导信号从设备的一个部分转移到另一个部分。
  • 可编程元件
  • 它还利用了可编程元件,如PROM、EPROM、EEPROM和Flash EPROM。

CPLD的优点和缺点
CPLD有各种优点和缺点。CPLD的一些主要优点和缺点如下。

CPLD的优点

  • CPLD很容易设计。
  • CPLD的开发成本低。
  • CPLD有助于减少电路板面积。
  • CPLD提供高可靠性。

CPLD的缺点

CPLD是一个更复杂的可编程逻辑器件。

什么是FPGA?

FPGA是 “现场可编程门阵列 “的缩写。它是一种半导体器件,由可配置的逻辑块矩阵组成,通过可编程的互连连接在一起。生产后,FPGA可以被重新编程以满足要求。目前的FPGA有大约33万个逻辑块,有1100个I/O。

用户可以利用硬件描述语言(HDL)来设计和配置电路。之后,它可以执行一个简单的门如AND门或复杂的系统如多核处理器。它将所有的配置保存在主存储器中。因此,断电可能会删除所有这些配置。

FPGA的组成部分
FPGA有各种组件。FPGA的一些主要组成部分如下:

  • 可编程逻辑块
  • FPGA能够实现逻辑功能。
  • 可编程路由
  • FPGA能够实现功能。
  • I/O块
  • FPGA被用来进行芯片连接。

FPGA的优点和缺点
FPGA有各种优点和缺点,FPGA的一些主要优点和缺点如下。

FPGA的优点

  • FPGA集成电路可以广泛使用,并且可以使用HDL代码快速编程。因此,解决方案可以更快地提供给市场。
  • 在FPGA设计中,软件处理路由、安置和定时。它需要更少的人工参与。设计流程消除了耗时和复杂的放置和路由器、楼层规划和定时分析。
  • FPGA有能力在逻辑层面上进行编程。因此,它可以实现更快和更并行的信号处理。这对CPU的执行是一个挑战。
  • 与ASIC开发不同,ASIC开发涉及大量的NRE(非经常性开支)和昂贵的工具,而FPGA开发由于工具不那么昂贵,而且没有NRE,所以成本较低。
  • FPGA可以在任何时候在软件层面进行编程。因此,FPGA集成电路可以无限次地重新编程或重复使用。FPGA也可以从远处进行编程。

FPGA的缺点

  • 功耗较高,而且程序员对FPGA的功率优化几乎没有控制。
  • FPGA是原型设计和小批量生产的理想选择。当需要创建的FPGA数量增加时,每个产品的成本也随之增加。
  • FPGA编程需要熟悉VHDL/Verilog编程语言以及数字系统基础知识。编程不像在基于处理器的设备中使用的那样简单。工程师还必须学习如何使用仿真工具。
  • 一旦在设计中选择并采用了FPGA,开发人员必须使用FPGA IC上的资源,这就限制了设计的规模和功能。必须从一开始就选择合适的FPGA以避免这种问题。

CPLD和FPGA的主要区别

CPLD和FPGA之间有各种关键区别。CPLD和FPGA之间的一些关键区别如下 –

  • CPLD是复杂可编程逻辑器件的缩写。相比之下,FPGA是现场可编程门阵列的缩写。
  • CPLD是一种协助执行数字系统的集成电路。相比之下,FPGA是一种集成电路,主要是在制造后由客户或开发者定制。
  • FPGA可能包括多达100,000个小逻辑块。相比之下,CPLD可能只存储几千个逻辑块。
  • FPGA适合于复杂的应用。相比之下,CPLD更适合于较简单的应用。
  • FPGA的功耗较大。相比之下,CPLD的功耗更低。
  • 在性能方面,FPGA提供独立于内部路由的稳定性能。相比之下,CPLD的性能是不可预测的,是基于路由的。
  • CPLD等同于PAL。另一方面,FPGA类似于门阵列。
  • FPGA是一个基于RAM的数字逻辑芯片。相比之下,CPLD是基于EEPROM的。
  • FPGA被归类为细粒度。相比之下,CPLD是粗颗粒的。
  • CPLD比FPGA提供更多保护,因为它有非易失性存储器。
  • CPLD的延迟比FPGA的延迟明显更可预测。

CPLD和FPGA的区别比较

在这里,我们将了解到CPLD和FPGA之间的头对头比较。CPLD和FPGA之间的主要区别如下。

特点 CPLD FPGA
完整形式 CPLD是复杂可编程逻辑器件的缩写。 FPGA是现场可编程门阵列(Field Programmable Gate Arrays)的缩写。
定义 CPLD是一种协助执行数字系统的集成电路。 FPGA是一种集成电路,主要是由客户或开发者在制造之后进行定制。
触发器的比率 CPLD的触发器比率比FPGA低。 与CPLD相比,它具有较高的触发器比率。
密度 CPLD具有低到中等的密度。 FPGA有一个中等至高密度。
结构类似 CPLD与PAL相当。 FPGA类似于门阵列。
逻辑块 CPLD可能只存储几千个逻辑块。 FPGA可能包括多达100,000个小逻辑块。
耗电量 CPLD耗电量较大。 FPGA功耗较低。
基于 CPLD是基于EEPROM的。 FPGA是基于RAM的。
成本 CPLD成本比FPGA低。 FPGA比CPLD更昂贵。
架构 CPLD被归类为粗颗粒。 FPGA被归类为细粒度。
应用 CPLD更适合于较简单的应用程序。 FPGA适合于复杂的应用程序。
安全性 CPLD比FPGA提供更多的安全性。 FPGA比CPLD提供的安全性低。
性能 CPLD性能取决于路由。 FPGA提供独立于内部路由的稳定性能。
波动性 如果电源被关闭,数据不会丢失。 如果电源关闭,数据可能会丢失。

CPLD和FPGA的区别总结

FPGA提供了更大的复杂性和灵活性以及诸如片上RAM、时钟管理、DSP操作、乘法器等功能。另一方面,CPLD比FPGA消耗更少的功率,FPGA器件更有可能在应用变化的设计中被频繁使用。相比之下,CPLD器件在需要简单的胶合逻辑和需要即时开启电路的应用中使用,因为FPGA由于要从外部ROM加载配置,最初的工作速度较慢。

| ——- | ——- | ——- |