CPLD和FPGA结构上的相同点和不同点

CPLD和FPGA结构上的相同点和不同点,第1张

而FPGA与CPLD(Complex Programmable Logic Device)相比,两者都包括了一些相对大数量的可编程逻辑单元。但是两者有明显差别:在逻辑门的集成度上,CPLD的密度在几千到几万个逻辑单元之间,而FPGA通常是几万到几百万;在系统结构上,CPLD由一个或者多个可编辑的结果之和的逻辑组列和一些相对少量的锁定的寄存器,这样缺乏编辑的灵活性,但对逻辑间的延时却是可以预计,而FPGA却是拥有很多的连接单元,可以更加灵活的编辑设计,结构却更复杂的多;在内部嵌入模块上,CPLD一般没有内置模块,而FPGA内含有高层次的内置模块(如PLL,存储器模块,DSP模块);CPLD采用非易失性的Flash,EEPROM设计,掉电后,芯片内的数据也不会丢失,上电后立即可以运行,而FPGA是基于易失性的SRAM结构设计,需要外部配置ROM。根据两者的特变,CPLD偏向于简单的控制通道应用以及组合逻辑,而FPGA偏向于较复杂且高速的控制通道应用以及数据处理。

FPGA 查找表功能实现:

查找表(Look-Up-Table)简称为LUT,LUT本质上就是一个RAM。目前FPGA中多使用4输入的LUT,所以每一个LUT可以看成一个有4位地址线的16x1的RAM。当用户通过原理图或HDL语言描述了一个逻辑电路以后,PLD/FPGA开发软件会自动计算逻辑电路的所有可能的结果,并把结果事先写入RAM,这样,每输入一个信号进行逻辑运算就等于输入一个地址进行查表,找出地址对应的内容,然后输出即可。

CPLD更适合完成各种算法和组合逻辑,FPGA更适合于完成时序逻辑。换句话说,FPGA更适合于触发器丰富的结构,而CPLD更适合于触发器有限而乘积项丰富的结构。

CPLD的连续式布线结构决定了它的时序延迟是均匀的和可预测的,而FPGA的分段式布线结构决定了其延迟的不可预测性。

在编程上FPGA比CPLD具有更大的灵活性。CPLD通过修改具有固定内连电路的逻辑功能来编程,FPGA主要通过改变内部连线的布线来编程;FPGA可在逻辑门下编程,而CPLD是在逻辑块下编程。

FPGA的集成度比CPLD高,具有更复杂的布线结构和逻辑实现。

CPLD比FPGA使用起来更方便。CPLD的编程采用E2PROM或FASTFLASH技术,无需外部存储器芯片,使用简单。而FPGA的编程信息需存放在外部存储器上,使用方法复杂。

CPLD的速度比FPGA快,并且具有较大的时间可预测性。这是由于FPGA是门级编程,并且CLB之间采用分布式互联,而CPLD是逻辑块级编程,并且其逻辑块之间的互联是集总式的。

在编程方式上,CPLD主要是基于E2PROM或FLASH存储器编程,编程次数可达1万次,优点是系统断电时编程信息也不丢失。CPLD又可分为在编程器上编程和在系统编程两类。FPGA大部分是基于SRAM编程,编程信息在系统断电时丢失,每次上电时,需从器件外部将编程数据重新写入SRAM中。其优点是可以编程任意次,可在工作中快速编程,从而实现板级和系统级的动态配置。

CPLD保密性好,FPGA保密性差。

一般情况下,CPLD的功耗要比FPGA大,且集成度越高越明显。

以上就是关于CPLD和FPGA结构上的相同点和不同点全部的内容,包括:CPLD和FPGA结构上的相同点和不同点、FPGA 查找表功能是如何实现的、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9862431.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存