|
2#
樓主 |
發表於 2006-12-31 08:34:04
|
只看該作者
FPGA與CPLD的最大區別是什麼
系統的比較,與大家共用:
F, N4 o$ y; m: J/ R* x儘管FPGA和CPLD都是可編程ASIC器件,有很多共同特點,但由於CPLD和FPGA結構上的差異,具有各自的特點:
' j# A/ \' O+ g! m1 q5 ~ c2 ?, @4 A: q! |
①CPLD更適合完成各種演算法和組合邏輯,FP GA更適合於完成時序邏輯。換句話說,FPGA更適合於觸發器豐富的結構,而CPLD更適合於觸發器有限而乘積項豐富的結構。6 v& p. T6 d- q* a9 t7 _# X$ e
% l) L+ X4 P% J, a2 w2 Y: D
②CPLD的連續式佈線結構決定了它的時序延遲是均勻的和可預測的,而FPGA的分段式佈線結構決定了其延遲的不可預測性。
* M3 M; p5 j6 p4 I0 N" Z8 w% W
8 _) Q4 c* a, a: x③在編程上FPGA比CPLD具有更大的靈活性。CPLD通過修改具有固定內連電路的邏輯功能來編程,FPGA主要通過改變內部連線的佈線來編程;FP GA可在邏輯門下編程,而CPLD是在邏輯塊下編程。
% J8 j' f( v3 J% S v4 X( N/ k
④FPGA的集成度比CPLD高,具有更複雜的佈線結構和邏輯實現。/ W% U. O- i6 V& r. U; d" ~4 m
9 z. Z) i1 K; a/ x& Y
⑤CPLD比FPGA使用起來更方便。CPLD的編程採用E2PROM或FASTFLASH技術,無需外部記憶體晶片,使用簡單。而FPGA的編程資訊需存放在外部記憶體上,使用方法複雜。
4 N2 o9 ]! e2 }+ s- j* M6 Q7 k" N( L* W* i
⑥CPLD的速度比FPGA快,並且具有較大的時間可預測性。這是由於FPGA是門級編程,並且CLB之間採用分散式互聯,而CPLD是邏輯塊級編程,並且其邏輯塊之間的互聯是集總式的。0 @5 g2 k3 _6 k" i- Y; t: J
1 _; N" C* m" J" Z5 k/ _/ _⑦在編程方式上,CPLD主要是基於E2PROM或FLASH記憶體編程,編程次數可達1萬次,優點是系統斷電時編程資訊也不丟失。CPLD又可分為在編程器上編程和在系統編程兩類。FPGA大部分是基於SRAM編程,編程資訊在系統斷電時丟失,每次上電時,需從器件外部將編程資料重新寫入SRAM中。其優點是可以編程任意次,可在工作中快速編程,從而實現板級和系統級的動態配置。1 f- ?# D- f( I
. Q# [% b# y& C⑧CPLD保密性好,FPGA保密性差。
7 y3 f1 `9 Y$ h+ ?* I: ]4 J9 X
& a% C8 S M0 E⑨一般情況下,CPLD的功耗要比FPGA大,且集成度越高越明顯。 : _) Y# V: I1 J, i8 w
- H) D( w8 u. t( Y( X# v) y& L- x- I
CPLD的功耗要比FPGA小吧,9 {0 i' O. Y! [" t
6 y9 [) K; B# b- @
FPGA的資源豐富
4 I+ }6 B( P. u8 Y/ H% ~ ) w+ e! J# y+ q: B+ a
cpld是熔絲結構的,fpga是基於ram結構的。
: ~/ T$ B; s' ~+ x3 I. s+ Ycpld比fpga生產成本高
/ g3 O+ [6 F+ G6 P9 q& t複雜的信號處理通常是fpga來做 |
|