|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
查找表(Look-Up-Table)简称为LUT,LUT本质上就是一个RAM。目前FPGA中多使用4输入的LUT,所以每一个LUT可以看成一个有4位地址线的16x1的RAM。当用户通过原理图或HDL语言描述了一个逻辑电路以后,PLD/FPGA开发软件会自动计算逻辑电路的所有可能的结果,并把结果事先写入RAM,这样,每输入一个信号进行逻辑运算就等于输入一个地址进行查表,找出地址对应的内容,然后输出即可。
. y1 W" y' q% R, d5 b4 H! x* I/ x! p2 j( q: d
cpld更适合完成各种算法和组合逻辑,FPGA更适合于完成时序逻辑。换句话说,FPGA更适合于触发器丰富的结构,而CPLD更适合于触发器有限而乘积项丰富的结构。7 A+ S0 \( y0 t( W6 o: I/ d
1 C7 D# t/ T9 E
CPLD的连续式布线结构决定了它的时序延迟是均匀的和可预测的,而FPGA的分段式布线结构决定了其延迟的不可预测性。
1 |) p: }' y; J7 A: I
( n" W& x* E. ?# W Z) y- b在编程上FPGA比CPLD具有更大的灵活性。CPLD通过修改具有固定内连电路的逻辑功能来编程,FPGA主要通过改变内部连线的布线来编程;FPGA可在逻辑门下编程,而CPLD是在逻辑块下编程。" B3 D6 o N& _9 I) y7 @
* X. k. a K4 g. M, [0 b; Y
FPGA的集成度比CPLD高,具有更复杂的布线结构和逻辑实现。
2 _: i% C0 O+ m
2 c7 b, f0 w" \, T9 { j. Y( d4 @CPLD比FPGA使用起来更方便。CPLD的编程采用E2PROM或FASTFLASH技术,无需外部存储器芯片,使用简单。而FPGA的编程信息需存放在外部存储器上,使用方法复杂。
: H/ a# B* |6 N, G' w( i8 _4 d1 Y; n: O. a- r
CPLD的速度比FPGA快,并且具有较大的时间可预测性。这是由于FPGA是门级编程,并且CLB之间采用分布式互联,而CPLD是逻辑块级编程,并且其逻辑块之间的互联是集总式的。2 x: Q3 W) D# b/ O* j1 b1 {) r
; P. ?0 P1 Z2 A$ v
在编程方式上,CPLD主要是基于E2PROM或FLASH存储器编程,编程次数可达1万次,优点是系统断电时编程信息也不丢失。CPLD又可分为在编程器上编程和在系统编程两类。FPGA大部分是基于SRAM编程,编程信息在系统断电时丢失,每次上电时,需从器件外部将编程数据重新写入SRAM中。其优点是可以编程任意次,可在工作中快速编程,从而实现板级和系统级的动态配置。
) K9 n& j% O2 S! y |. r, Y4 \# F9 l
CPLD保密性好,FPGA保密性差。
. Q7 |) A. m) E
# d, b4 |* _/ b: j) g) }( n一般情况下,CPLD的功耗要比FPGA大,且集成度越高越明显。
/ u9 v) Z! H7 c3 W, s3 }1 w- k |
|