|
2#
樓主 |
發表於 2006-12-31 08:34:04
|
只看該作者
FPGA與CPLD的最大區別是什麼
系統的比較,與大家共用:
. @, Q$ ^7 e4 e z8 R儘管FPGA和CPLD都是可編程ASIC器件,有很多共同特點,但由於CPLD和FPGA結構上的差異,具有各自的特點:) C" q+ S; w u5 v) ~$ I
- R! E! G& f# J3 w2 V
①CPLD更適合完成各種演算法和組合邏輯,FP GA更適合於完成時序邏輯。換句話說,FPGA更適合於觸發器豐富的結構,而CPLD更適合於觸發器有限而乘積項豐富的結構。% A! m8 O" j9 u4 y& Y' m
4 o) I% y$ `" w8 Y3 I: }②CPLD的連續式佈線結構決定了它的時序延遲是均勻的和可預測的,而FPGA的分段式佈線結構決定了其延遲的不可預測性。
& A4 f1 s% s1 I% I' T8 j: L
2 T. n& f8 l. }' g: j0 }% Y9 C③在編程上FPGA比CPLD具有更大的靈活性。CPLD通過修改具有固定內連電路的邏輯功能來編程,FPGA主要通過改變內部連線的佈線來編程;FP GA可在邏輯門下編程,而CPLD是在邏輯塊下編程。
% G# M( ]: I8 l7 P/ _: ? |/ A6 ?6 {0 M5 p( X9 D6 H4 x! \
④FPGA的集成度比CPLD高,具有更複雜的佈線結構和邏輯實現。
9 V( C2 \8 r/ T7 l9 b7 t) U. ~0 P
* k( x c( M P% Y6 c5 |⑤CPLD比FPGA使用起來更方便。CPLD的編程採用E2PROM或FASTFLASH技術,無需外部記憶體晶片,使用簡單。而FPGA的編程資訊需存放在外部記憶體上,使用方法複雜。
+ P1 `5 h7 |1 Y; C+ T' l6 T( J
" S0 W( W8 Q9 n- @ r⑥CPLD的速度比FPGA快,並且具有較大的時間可預測性。這是由於FPGA是門級編程,並且CLB之間採用分散式互聯,而CPLD是邏輯塊級編程,並且其邏輯塊之間的互聯是集總式的。
4 G, U( ~/ `" p! ]8 D+ l
5 U# k' ~% q6 o7 H" T7 Y y⑦在編程方式上,CPLD主要是基於E2PROM或FLASH記憶體編程,編程次數可達1萬次,優點是系統斷電時編程資訊也不丟失。CPLD又可分為在編程器上編程和在系統編程兩類。FPGA大部分是基於SRAM編程,編程資訊在系統斷電時丟失,每次上電時,需從器件外部將編程資料重新寫入SRAM中。其優點是可以編程任意次,可在工作中快速編程,從而實現板級和系統級的動態配置。
2 B7 _0 o) m" B* o7 ^
. F7 _. n7 \! u; X5 X: ]⑧CPLD保密性好,FPGA保密性差。0 U1 z6 c; G2 G
4 R) Q/ c. U5 U5 u$ A⑨一般情況下,CPLD的功耗要比FPGA大,且集成度越高越明顯。
- q5 d k9 ^( m
$ F7 W4 s7 H1 fCPLD的功耗要比FPGA小吧,0 z& F2 | w m: W: H8 a
! a5 P$ ?- l4 p& V8 C* X5 T. [! Q: o
FPGA的資源豐富. t% X6 k# e4 f& N' g
, M2 p/ Z1 u; n2 l' m
cpld是熔絲結構的,fpga是基於ram結構的。
1 b7 D/ v" B$ Z" p# rcpld比fpga生產成本高
4 Z$ @# Z) f J複雜的信號處理通常是fpga來做 |
|