本文主要是介绍FPGA与CPLD的区别与联系,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1、FPGA定义及特点
FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个新概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输入输出模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。可配置逻辑模块是实现用户功能的基本单元,它们通常排列成一个阵列,散布整个芯片;输入输出模块IOB完成芯片上逻辑与外部封装脚的接口,常围绕着阵列排列于芯片四周;内部连线包括各种长度的连线线段和一些可编程连接开关,它们将各个可编程逻辑块或I/O块连接起来,构成特定功能的电路。
FPGA的基本特点主要有:
采用FPGA设计ASIC电路,用户不需要投片生产,就能得到合用的芯片;
FPGA可做其它全定制或半定制ASIC电路的中试样片;
FPGA内部有丰富的触发器和I/O引脚;
FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一;
FPGA采用高速CHMOS工艺,功耗低,可以与CMOS,TTL电平兼容。
- CPLD定义及特点
CPLD主要是由可编程逻辑宏单元(LMC,Logic Macro Cell)围绕中心的可编程互连矩阵单元组成,其中LMC逻辑结构较复杂,并具有复杂的I/O单元互连结构,可由用户根据需要生成特定的电路结构,完成一定的功能。由于CPLD内部采用固定长度的金属线进行各逻辑块的互连,所以设计的逻辑电路具有时间可预测性,避免了分段式互连结构时序不完全预测的缺点。到90年代,CPLD发展更为迅速,不仅具有电擦除特性,而且出现了边缘扫描及在线可编程等高级特性。
CPLD可编程方案的特点如下:
逻辑和存储器资源丰富(Cypress De1ta 39K200的RAM超过480 Kb);
带冗余路由资源的灵活时序模型;
改变引脚输出很灵活;
可以装在系统上后重新编程;
I/O单元数目多;
具有可保证性能的集成存储器控制逻辑;
3、FPGA与CPLD的区别与联系
CPLD是复杂可编程逻辑器件的简称,FPGA是现场可编程门阵列的简称,两者的功能基本相同,只是实现原理略有不同,所以我们有时可以忽略这两者的区别,
统称为可编程逻辑器件或CPLD/FPGA。目前有多家公司生产CPLD/FPGA,最大的三家是:ALTERA,XILINX,LAT-TICE。CPLD分解组合逻辑的功能很强,一个宏单元就可以分解十几个甚至20-30多个组合逻辑输入。而FPGA的一个LUT只能处理4输入的组合逻辑,因此,CPLD适合用于设计译码等复杂组合逻辑。但FPGA的制造工艺确定了FPGA芯片中包含的LUT和触发器的数量非常多,往往都是几千上万,CPLD一般只能做到512个逻辑单元,而且如果用芯片价格除以逻辑单元数量,FPGA的平均逻辑单元成本大大低于CPLD。所以如果设计中使用到大量触发器,例如设计一个复杂的时序逻辑,那么使用FPGA就是一个很好选择。
尽管FPGA和CPLD都是可编程ASIC器件,有很多共同特点,但由于CPLD和FPGA结构上的差异,具有各自的特点:
CPLD更适合完成各种算法和组合逻辑,FPGA更适合于完成时序逻辑。换句话说,FPGA更适合于触发器丰富的结构,而CPLD更适合于触发器有限而乘积项丰富的结构。
CPLD的连续式布线结构决定了它的时序延迟是均匀的、预测的,而FPGA的分段式布线结构决定了其延迟的不可预测性。
在编程上FPGA比CPLD具有更大的灵活性。CPLD通过修改具有固定的内连电路的逻辑功能来编程,FPGA主要通过改变内部连线的布线来编程;FPGA可在逻辑门下编程,而CPLD是在逻辑块下编程。
FPGA的集成度比CPLD高,具有更复杂的布线结构和逻辑实现。 一般情况下,CPLD的功耗要比FPGA大,且集成度越高越明显。
成电少年学100天订单班火热开启!!!智库平台线上线下同步学习。
课程技术项目与企业需求保持一致,真正做到理论、实践、项目三合一,本次订单班增加了高速接口设计+6大项目(摄像头图像采集处理、运动目标检测、以太网、虚拟示波器、UBS3.0视频图像传输、图像储存系统)的实操并开通FPGA项目库供学员使用,确保同学在FPGA设计与应用中脱颖而出
课程详情可私信~都看到这儿了,点个关注吧!!
这篇关于FPGA与CPLD的区别与联系的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!