|
①CPLD更适合完成各种算法和组合逻辑,FP GA更适合于完成时序逻辑。换句话说,FPGA更适合于触发器丰富的结构,而CPLD更适合于触发器有限而乘积项丰富的结构。
, B7 @- L8 p' a2 A: X2 i8 |②CPLD的连续式布线结构决定了它的时序延迟是均匀的和可预测的,而FPGA的分段式布线结构决定了其延迟的不可预测性。
3 O+ G: `( v1 u# B3 `/ g3 r③在编程上FPGA比CPLD具有更大的灵活性。CPLD通过修改具有固定内连电路的逻辑功能来编程,FPGA主要通过改变内部连线的布线来编程;FP GA可在逻辑门下编程,而CPLD是在逻辑块下编程。
6 u/ G2 l- l5 y W# a8 n' a& q. Y④FPGA的集成度比CPLD高,具有更复杂的布线结构和逻辑实现。
8 z# z' [1 Z, R! G+ y- `1 @! @4 w7 r⑤CPLD比FPGA使用起来更方便。CPLD的编程采用E2PROM或FASTFLASH技术,无需外部存储器芯片,使用简单。而FPGA的编程信息需存放在外部存储器上,使用方法复杂。
& e+ r4 @. b" |* g⑥CPLD的速度比FPGA快,并且具有较大的时间可预测性。这是由于FPGA是门级编程,并且CLB之间采用分布式互联,而CPLD是逻辑块级编程,并且其逻辑块之间的互联是集总式的。
) x4 f, k4 W5 t$ M4 p: W; Y$ k⑦ 在编程方式上,CPLD主要是基于E2PROM或FLASH存储器编程,编程次数可达1万次,优点是系统断电时编程信息也不丢失。CPLD又可分为在编程 器上编程和在系统编程两类。FPGA大部分是基于SRAM编程,编程信息在系统断电时丢失,每次上电时,需从器件外部将编程数据重新写入SRAM中。其优 点是可以编程任意次,可在工作中快速编程,从而实现板级和系统级的动态配置。7 v: E K; _6 `& ^; {
⑧CPLD保密性好,FPGA保密性差。; b' R( \; e8 k5 q
⑨一般情况下,CPLD的功耗要比FPGA大,且集成度越高越明显。0 m3 |+ j! a5 c. a L P4 l
|
|