首页>>科技 >>内容

fpga与cpld的区别以及联系,从多角度来分析FPGA与CPLD的区别

发布时间:2023-11-09 15:22:03编辑:温柔的背包来源:

fpga与cpld的区别以及联系,从多角度来分析FPGA与CPLD的区别

很多朋友对fpga与cpld的区别以及联系,从多角度来分析FPGA与CPLD的区别不是很了解,每日小编刚好整理了这方面的知识,今天就来带大家一探究竟。

(文章来源:电子工程网)

CPLD主要由围绕可编程逻辑宏单元(LMC)为中心的可编程互连矩阵单元组成,其中LMC具有复杂的逻辑结构和复杂的I/O单元互连结构,用户可以根据需要生成特定的电路结构来完成一定的功能。由于CPLD使用固定长度的金属线来互连逻辑块,因此设计的逻辑电路具有时间可预测性,避免了分段互连结构时序预测不完全的缺点。

90年代,CPLD发展更为迅速,不仅具有电擦除的特性,还具有边缘扫描、在线可编程等先进特性。常用的有Xilinx公司的EPLD和Altera公司的CPLD。

FPGA通常包括三种类型的可编程资源:可编程逻辑功能块、可编程I/O块和可编程互连。

可编程逻辑功能块是实现用户功能的基本单元,通常排列成阵列,分散在整个芯片中;可编程I/O模块完成片内逻辑和外部封装引脚之间的接口,通常围绕阵列排列在芯片周围;可编程内部互连包括各种长度的线段和一些可编程连接开关,它们连接各种可编程逻辑块或I/O块,形成具有特定功能的电路。

不同厂家生产的FPGA,其可编程逻辑块的规模、内部互连线的结构以及所用的可编程元件都有很大的差异。常用的FPGA有Altera,Xinlinx,Actel。

FPGA一般用于逻辑仿真。电路设计工程师在设计电路时,首先要确定电路,然后进行软件仿真和优化,以确认所设计电路的功能和性能。但是随着电路规模和工作频率的不断增大,电路中会引入很多分布参数,这些分布参数很难通过软件仿真来体现,所以需要做硬件仿真。FPGA可以实现硬件仿真制作样机。

将软件模拟的电路下载到FPGA后,可以很容易地得到一个模拟机,设计者可以从中直观地测试其逻辑功能和性能指标。

虽然FPGA和CPLD都是可编程ASIC器件,有很多共同特点,但由于CPLD和FPGA的结构差异,它们又各有特点: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存储器,编程次数可达10000次。优点是当系统断电时,编程信息不会丢失。CPLD可分为两类:在编程器上编程和在系统中编程。FPGA多基于SRAM编程,系统掉电时编程信息丢失。每次上电时,编程数据都需要从器件外部重新写入SRAM。它的优点是可以随时编程,在工作中可以快速编程,从而实现板级和系统级的动态配置。

8 CPLD安全性好,FPGA安全性差。一般来说,CPLD的功耗比FPGA大,集成度越高越明显。

随着复杂可编程逻辑器件(CPLD)的密度越来越大,数字器件的设计者可以灵活方便地设计大规模器件,产品可以快速进入市场。很多设计人员都感受到了CPLD的优势,比如简单易用、时序可预测、速度快等。但是过去由于CPLD密度的限制,他们不得不求助于FPGA和ASIC。现在,设计人员可以体会到具有数十万门密度的CPLD的好处。

CPLD结构在一条逻辑路径上使用1到16个乘积项,因此可以预测大型复杂设计的运行速度。因此,原设计的操作是可预测的和可靠的,并且很容易修改设计。CPLD本质灵活,时序简单,路由性能优秀。用户可以改变设计,同时保持引脚输出不变。与FPGA相比,CPLD具有更多的I/O和更小的尺寸。

现在的通信系统使用很多标准,设备必须根据客户的需求进行配置,以支持不同的标准。CPLD允许设备做出相应的调整以支持多种协议,并随着标准和协议的演进而改变其功能。这给系统设计人员带来了很大的便利,因为他们可以在标准完全成熟之前就设计好硬件,然后修改代码以满足最终标准的要求。

CPLD的速度和延迟特性优于纯软件方案,其NRE成本低于ASIC,因此更加灵活,产品可以更快进入市场。CPLD可编程方案的优点如下:

逻辑和内存资源丰富(CypressDelta39K200的RAM超过480 KB);具有冗余路由资源的柔性时间模型:改变管脚输出是灵活的;可以安装在系统上并重新编程;I/O的数量很大;具有保证性能的集成内存控制逻辑;提供单片CPLD和可编程PHY方案。因为这些优点,设计建模成本低,在设计过程的任何阶段都可以增加设计或者改变管脚输出,很快就可以上市。

CPLD是一种粗粒度结构的可编程逻辑器件。它具有丰富的逻辑资源(即逻辑门与寄存器的高比率)和高度灵活的路由资源。CPLD的路由是连在一起的,而FPGA的路由是分开的。FPGA可能更灵活,但它包括许多跳线,所以它比CPLD慢。CPLD以阵列簇的形式排列,由水平和垂直布线通道连接。

这些路由通道向器件引脚发送信号或从器件引脚接收信号,并连接CPLD内部的逻辑组。

CPLD之所以被称为粗粒度,是因为与路由数量相比,逻辑组更大。CPLD的逻辑组远大于FPGA的基本单元,所以FPGA是细粒度的CPLD最基本的单元是宏单元。宏单元包含一个寄存器(使用多达16个乘积项作为输入)和其他有用的功能。因为每个宏单元使用16个乘积项,所以设计人员可以部署许多组合逻辑,而无需添加额外的路径。这也是CPLD被认为“逻辑丰富”的原因。

宏单元以逻辑模块(LB)的形式排列,每个逻辑模块由16个宏单元组成。宏单元执行“与”运算,然后执行“或”运算,以实现组合逻辑。每个逻辑组有8个逻辑模块,所有逻辑组都连接到同一个可编程互连矩阵。每个集群还包括两个单端口逻辑集群内存模块和一个多端口通道内存模块。

前者每个模块具有192b存储器,而后者包含096b专用通信存储器,并且可以配置为具有专用控制逻辑的单端口、多端口或FIFO。

CPLD有什么好处?大量的I/O;CPLD的优势之一是在给定的器件密度下,可以提供更多的I/O数,有时甚至高达70%。CPLD优于其他可编程结构的地方在于它有一个简单且可预测的时序模型。这种简单的时间序列模型主要归因于CPLD的粗粒度特性。CPLD可以在给定时间内提供大范围的相等状态,不考虑路由。这种能力是设计成功的关键,不仅可以加快最初的设计工作,还可以加快设计调试过程。

CPLD是一种粗粒度结构,意味着进出器件的路径经过的开关更少,延迟也相应更小。因此,与等效的FPGA相比,CPLD可以工作在更高的频率,性能更好。CPLD的另一个优点是其快速的软件编译,因为其易于布线的结构使得布局设计任务更容易执行。

FPGA是一个细粒度的结构,这意味着每个单元之间有一个细粒度的延迟。如果少量的逻辑紧密排列在一起,FPGA的速度是相当快的。但是,随着设计密度的增加,信号要经过许多开关,路由延迟也迅速增加,从而削弱了整体性能。而CPLD的粗粒度结构可以很好的适应这种设计布局的变化。CPLD的粗粒度结构和时序特性是可预测的,因此设计人员仍然可以在设计过程的后期改变输出引脚,而时序保持不变。

CPLD有多种密度和封装类型,包括单芯片自引导方案。自引导方案将闪存和CPLD集成在单个封装中,无需外部引导单元,从而降低了设计复杂性并节省了电路板空间。在给定封装尺寸下,共享引脚输出的器件密度更高。这为设计人员提供了“放大”设计的便利,而无需改变电路板上的引脚输出。(

以上知识分享希望能够帮助到大家!