|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
查找表(Look-Up-Table)简称为LUT,LUT本质上就是一个RAM。目前FPGA中多使用4输入的LUT,所以每一个LUT可以看成一个有4位地址线的16x1的RAM。当用户通过原理图或HDL语言描述了一个逻辑电路以后,PLD/FPGA开发软件会自动计算逻辑电路的所有可能的结果,并把结果事先写入RAM,这样,每输入一个信号进行逻辑运算就等于输入一个地址进行查表,找出地址对应的内容,然后输出即可。5 I% f- ]* V& d* r
, ]. z a' {0 z7 T: c; ^7 {0 n1 ecpld更适合完成各种算法和组合逻辑,FPGA更适合于完成时序逻辑。换句话说,FPGA更适合于触发器丰富的结构,而CPLD更适合于触发器有限而乘积项丰富的结构。
% i' K: }9 P3 O( q4 X* x5 g9 L
; i5 |* d. `, Y* c( rCPLD的连续式布线结构决定了它的时序延迟是均匀的和可预测的,而FPGA的分段式布线结构决定了其延迟的不可预测性。/ ?' H- N( o2 G! P6 I
$ j, @& l/ C5 f, J& I在编程上FPGA比CPLD具有更大的灵活性。CPLD通过修改具有固定内连电路的逻辑功能来编程,FPGA主要通过改变内部连线的布线来编程;FPGA可在逻辑门下编程,而CPLD是在逻辑块下编程。
6 O9 t% O& P% u- u( z C3 t: c6 @5 @. o- K$ C" a$ C# P
FPGA的集成度比CPLD高,具有更复杂的布线结构和逻辑实现。
! S2 x3 g( N2 z$ |
. n$ p j0 r. |( o) L+ L3 C/ ECPLD比FPGA使用起来更方便。CPLD的编程采用E2PROM或FASTFLASH技术,无需外部存储器芯片,使用简单。而FPGA的编程信息需存放在外部存储器上,使用方法复杂。
7 V" y, m( C* e, _$ \4 }, ]2 l9 f; O8 G3 i2 X J
CPLD的速度比FPGA快,并且具有较大的时间可预测性。这是由于FPGA是门级编程,并且CLB之间采用分布式互联,而CPLD是逻辑块级编程,并且其逻辑块之间的互联是集总式的。! T- o: p' h. q/ V2 L! L, I) r
" Y; ]$ l; {4 V) v- g+ a1 Q
在编程方式上,CPLD主要是基于E2PROM或FLASH存储器编程,编程次数可达1万次,优点是系统断电时编程信息也不丢失。CPLD又可分为在编程器上编程和在系统编程两类。FPGA大部分是基于SRAM编程,编程信息在系统断电时丢失,每次上电时,需从器件外部将编程数据重新写入SRAM中。其优点是可以编程任意次,可在工作中快速编程,从而实现板级和系统级的动态配置。- o, _6 _& Q/ @: c$ |/ R! k
1 m6 f4 u6 k4 {8 [
CPLD保密性好,FPGA保密性差。
- {: Z6 t( f9 b$ W- H' H+ @4 m. l0 p O1 U
一般情况下,CPLD的功耗要比FPGA大,且集成度越高越明显。) A' I) ~( m! \5 u
|
|