|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
查找表(Look-Up-Table)简称为LUT,LUT本质上就是一个RAM。目前FPGA中多使用4输入的LUT,所以每一个LUT可以看成一个有4位地址线的16x1的RAM。当用户通过原理图或HDL语言描述了一个逻辑电路以后,PLD/FPGA开发软件会自动计算逻辑电路的所有可能的结果,并把结果事先写入RAM,这样,每输入一个信号进行逻辑运算就等于输入一个地址进行查表,找出地址对应的内容,然后输出即可。! Q$ g( h, p# K
# u& M5 W9 f: Q$ j! D! D
cpld更适合完成各种算法和组合逻辑,FPGA更适合于完成时序逻辑。换句话说,FPGA更适合于触发器丰富的结构,而CPLD更适合于触发器有限而乘积项丰富的结构。
# g% I+ o2 ^/ T+ H' Q6 D7 d8 V2 P
CPLD的连续式布线结构决定了它的时序延迟是均匀的和可预测的,而FPGA的分段式布线结构决定了其延迟的不可预测性。 i/ r" p# w6 A! w4 H4 I
" M3 p, h, b8 T/ p( l. A0 k. g3 \
在编程上FPGA比CPLD具有更大的灵活性。CPLD通过修改具有固定内连电路的逻辑功能来编程,FPGA主要通过改变内部连线的布线来编程;FPGA可在逻辑门下编程,而CPLD是在逻辑块下编程。
$ Z) S7 H t u, w$ |
2 U% `+ U8 O% `. A6 G0 xFPGA的集成度比CPLD高,具有更复杂的布线结构和逻辑实现。( d: T3 ~6 j" K `# |, }/ \
8 u" _% m) A1 y# v& V, O* ?6 k
CPLD比FPGA使用起来更方便。CPLD的编程采用E2PROM或FASTFLASH技术,无需外部存储器芯片,使用简单。而FPGA的编程信息需存放在外部存储器上,使用方法复杂。5 O0 S, |9 ?9 l% K) o
1 _( m* x& t5 l+ H( ZCPLD的速度比FPGA快,并且具有较大的时间可预测性。这是由于FPGA是门级编程,并且CLB之间采用分布式互联,而CPLD是逻辑块级编程,并且其逻辑块之间的互联是集总式的。8 s w A! D# _+ C1 ~0 `" u; D
$ }- X( B0 t! }6 A Q8 ]5 S6 q
在编程方式上,CPLD主要是基于E2PROM或FLASH存储器编程,编程次数可达1万次,优点是系统断电时编程信息也不丢失。CPLD又可分为在编程器上编程和在系统编程两类。FPGA大部分是基于SRAM编程,编程信息在系统断电时丢失,每次上电时,需从器件外部将编程数据重新写入SRAM中。其优点是可以编程任意次,可在工作中快速编程,从而实现板级和系统级的动态配置。5 v) A. z0 }0 q$ ^+ H
* [$ `9 N& e! W* d: h# PCPLD保密性好,FPGA保密性差。
j9 {- E+ g* E+ i0 C% y3 R$ `: |) q8 o, U8 D5 t! P9 J) ?
一般情况下,CPLD的功耗要比FPGA大,且集成度越高越明显。2 d0 D {2 B: ^
|
|