系统的比较
,
与大家共享:
尽管FPGA和CPLD都是可编程ASIC器件
,
有很多共同特点
,
但由于CPLD和FPGA结构上的差异
,
具有各自的特点
:
①
CPLD更适合完成各种算法和组合逻辑
,
FP
GA更适合于完成时序逻辑。换句话说
,
FPGA更适合于触发器丰富的结构
,
而CPLD更适合于触发器有限而乘积项丰富的结构。
②
CPLD的连续式布线结构决定了它的时序延迟是均匀的和可预测的
,
而FPGA的分段式布线结构决定了其延迟的不可预测性。
③
在编程上FPGA比CPLD具有更大的灵活性。CPLD通过修改具有固定内连电路的逻辑功能来编程
,
FPGA主要通过改变内部连线的布线来编程
;
FP
GA可在逻辑门下编程
,
而CPLD是在逻辑块下编程。
④
FPGA的集成度比CPLD高
,
具有更复杂的布线结构和逻辑实现。
⑤
CPLD比FPGA使用起来更方便。CPLD的编程采用E
2
PROM或FASTFLASH技术
,
无需外部存储器芯片
,
使用简单。而FPGA的编程信息需存放在外部存储器上
,
使用方法复杂。
⑥
CPLD的速度比FPGA快
,
并且具有较大的时间可预测性。这是由于FPGA是门级编程
,
并且CLB之间采用分布式互联
,
而CPLD是逻辑块级编程
,
并且其逻辑块之间的互联是集总式的。
⑦
在编程方式上
,
CPLD主要是基于E
2
PROM或FLASH存储器编程
,
编程次数可达
1
万次
,
优点是系统断电时编程信息也不丢失。CPLD又可分为在编程器上编程和在系统编程两类。FPGA大部分是基于SRAM编程
,
编程信息在系统断电时丢失
,
每次上电时
,
需从器件外部将编程数据重新写入SRAM中。其优点是可以编程任意次
,
可在工作中快速编程
,
从而实现板级和系统级的动态配置。
⑧
CPLD保密性好
,
FPGA保密性差。
⑨
一般情况下
,
CPLD的功耗要比FPGA大
,
且集成度越高越明显。
随著复杂可编程逻辑器件
(CPLD)
密度的提高
,
数字器件设计人员在进行大型设计时
,
既灵活又容易
,
而且产品可以很快进入市场。许多设计人员已经感受到
CPLD
容易使用、时序可预测和速度高等优点
,
然而
,
在过去由于受到
CPLD
密度的限制
,
他们只好转向
FPGA
和
ASIC
。现在
,
设计人员可以体会到密度高达数十万门的
CPLD
所带来的好处。
CPLD
结构在一个逻辑路径上采用
1
至
16
个乘积项
,
因而大型复杂设计的运行速度可以预测。因此
,
原有设计的运行可以预测
,
也很可靠
,
而且修改设计也很容易。
CPLD
在本质上很灵活、时序简单、路由性能极好
,
用户可以改变他们的设计同时保持引脚输出不变。与
FPGA
相比
,CPLD
的
I/O
更多
,
尺寸更小。
如今
,
通信系统使用很多标准
,
必须根据客户的需要配置设备以支持不同的标准。
CPLD
可让设备做出相应的调整以支持多种协议
,
并随著标准和协议的演变而改变功能。这为系统设计人员带来很大的方便
,
因为在标准尚未完全成熟之前他们就可以著手进行硬件设计
,
然后再修改代码以满足最终标准的要求。
CPLD
的速度和延迟特性比纯软件方案更好
,
它的
NRE
费用低於
ASIC,
更灵活
,
产品也可以更快入市。
CPLD
可编程方案的优点如下:
●
逻辑和存储器资源丰富
(Cypress Delta39K200
的
RAM
超过
480 Kb)
●
带冗余路由资源的灵活时序模型
●
改变引脚输出很灵活
●
可以装在系统上后重新编程
●I/O
数目多
●
具有可保证性能的集成存储器控制逻辑
●
提供单片
CPLD
和可编程
PHY
方案
由于有这些优点
,
设计建模成本低
,
可在设计过程的任一阶段添加设计或改变引脚输出
,
可以很快上市
CPLD
的结构
CPLD
是属於粗粒结构的可编程逻辑器件。它具有丰富的逻辑资源
(
即逻辑门与寄存器的比例高
)
和高度灵活的路由资源。
CPLD
的路由是连接在一起的
,
而
FPGA
的路由是分割开的。
FPGA
可能更灵活
,
但包括很多跳线
,
因此速度较
CPLD
慢。
CPLD
以群阵列(
array of clusters
)的形式排列
,
由水平和垂直路由通道连接起来。这些路由通道把信号送到器件的引脚上或者传进来
,
并且把
CPLD
内部的逻辑群连接起来。
CPLD
之所以称作粗粒
,
是因为
,
与路由数量相比
,
逻辑群要大得到。
CPLD
的逻辑群比
FPGA
的基本单元大得多
,
因此
FPGA
是细粒的。
CPLD
的功能块
CPLD
最基本的单元是宏单元。一个宏单元包含一个寄存器
(
使用多达
16
个乘积项作为其输入
)
及其它有用特性。
因为每个宏单元用了
16
个乘积项
,
因此设计人员可部署大量的组合逻辑而不用增加额外的路径。这就是为何
CPLD
被认为是
“
逻辑丰富
”
型的。
宏单元以逻辑模块的形式排列
(LB),
每个逻辑模块由
16
个宏单元组成。宏单元执行一个
AND
操作
,
然后一个
OR
操作以实现组合逻辑。
每个逻辑群有
8
个逻辑模块
,
所有逻辑群都连接到同一个可编程互联矩阵。
每个群还包含两个单端口逻辑群存储器模块和一个多端口通道存储器模块。前者每模块有
8,192b
存储器
,
后者包含
4,096b
专用通信存储器且可配置为单端口、多端口或带专用控制逻辑的
FIFO
。
CPLD
有什麽好处?
I/O
数量多
CPLD
的好处之一是在给定的器件密度上可提供更多的
I/O
数
,
有时甚至高达
70%
。
时序模型简单
CPLD
优于其它可编程结构之处在于它具有简单且可预测的时序模型。这种简单的时序模型主要应归功于
CPLD
的粗粒度特性。
CPLD
可在给定的时间内提供较宽的相等状态
,
而与路由无关。这一能力是设计成功的关键
,
不但可加速初始设计工作
,
而且可加快设计调试过程。
粗粒
CPLD
结构的优点
CPLD
是粗粒结构
,
这意味著进出器件的路径经过较少的开关
,
相应地延迟也小。因此
,
与等效的
FPGA
相比
,CPLD
可工作在更高的频率
,
具有更好的性能。
CPLD
的另一个好处是其软件编译快
,
因为其易于路由的结构使得布放设计任务更加容易执行。
细粒
FPGA
结构的优点
FPGA
是细粒结构
,
这意味著每个单元间存在细粒延迟。如果将少量的逻辑紧密排列在一起
,FPGA
的速度相当快。然而
,
随著设计密度的增加
,
信号不得不通过许多开关
,
路由延迟也快速增加
,
从而削弱了整体性能。
CPLD
的粗粒结构却能很好地适应这一设计布局的改变。
灵活的输出引脚
CPLD
的粗粒结构和时序特性可预测
,
因此设计人员在设计流程的后期仍可以改变输出引脚
,
而时序仍保持不变。
新的
CPLD
封装
CPLD
有多种密度和封装类型
,
包括单芯片自引导方案。自引导方案在单个封装内集成了
FLASH
存储器和
CPLD,
无须外部引导单元
,
从而可降低设计复杂性并节省板空间。在给定的封装尺寸内
,
有更高的器件密度共享引脚输出。这就为设计人员提供了
“
放大
”
设计的便利
,
而无须更改板上的引脚输出。