|
2#
樓主 |
發表於 2006-12-31 08:34:04
|
只看該作者
FPGA與CPLD的最大區別是什麼
系統的比較,與大家共用:: ~& J5 h+ x" x+ F" \0 k# ^8 Z& P- F
儘管FPGA和CPLD都是可編程ASIC器件,有很多共同特點,但由於CPLD和FPGA結構上的差異,具有各自的特點:+ u8 Q5 F# ^: {' G" C, ?4 ~
5 l5 V; C* l I! d8 E$ H: }
①CPLD更適合完成各種演算法和組合邏輯,FP GA更適合於完成時序邏輯。換句話說,FPGA更適合於觸發器豐富的結構,而CPLD更適合於觸發器有限而乘積項豐富的結構。
5 w' Q/ w0 o# w% I% t
9 B3 M1 X! a. n& E②CPLD的連續式佈線結構決定了它的時序延遲是均勻的和可預測的,而FPGA的分段式佈線結構決定了其延遲的不可預測性。
) ]. m5 `# h1 ?$ w
% C5 A7 |$ y. E* Q3 L③在編程上FPGA比CPLD具有更大的靈活性。CPLD通過修改具有固定內連電路的邏輯功能來編程,FPGA主要通過改變內部連線的佈線來編程;FP GA可在邏輯門下編程,而CPLD是在邏輯塊下編程。
4 \. D- c' L. q
" ~& t- Y. {$ L" B2 n2 R④FPGA的集成度比CPLD高,具有更複雜的佈線結構和邏輯實現。5 P6 k8 E0 T5 I1 F: Z% a% i
6 f' H- R; r% q4 N7 n
⑤CPLD比FPGA使用起來更方便。CPLD的編程採用E2PROM或FASTFLASH技術,無需外部記憶體晶片,使用簡單。而FPGA的編程資訊需存放在外部記憶體上,使用方法複雜。) v5 h6 h9 x1 O+ ~9 H8 v
# G- E L+ D6 V* i5 S
⑥CPLD的速度比FPGA快,並且具有較大的時間可預測性。這是由於FPGA是門級編程,並且CLB之間採用分散式互聯,而CPLD是邏輯塊級編程,並且其邏輯塊之間的互聯是集總式的。
) M; ~1 o1 X# c8 Z' Z% m' H0 L; l Y/ C* C7 _3 ^
⑦在編程方式上,CPLD主要是基於E2PROM或FLASH記憶體編程,編程次數可達1萬次,優點是系統斷電時編程資訊也不丟失。CPLD又可分為在編程器上編程和在系統編程兩類。FPGA大部分是基於SRAM編程,編程資訊在系統斷電時丟失,每次上電時,需從器件外部將編程資料重新寫入SRAM中。其優點是可以編程任意次,可在工作中快速編程,從而實現板級和系統級的動態配置。
: ~; T* o N# g* y1 s1 k, p
) C: u0 _: s- D( u) j⑧CPLD保密性好,FPGA保密性差。7 u1 d% e. j& o5 R/ H3 b) Z& J0 m
% X8 q' c. B* o! ]/ R! n( _, g
⑨一般情況下,CPLD的功耗要比FPGA大,且集成度越高越明顯。
8 w* [5 d) U, V2 t/ q a 8 u# X1 H; u `3 k/ J% }
CPLD的功耗要比FPGA小吧,
8 P: u$ ]. G2 B2 V# j
/ ]! w/ v, Y. P1 cFPGA的資源豐富7 Z+ f, A- C4 k9 J6 d
0 k( ^$ f2 E: Z3 k. x( \( n: `cpld是熔絲結構的,fpga是基於ram結構的。& z5 B* s3 `. Q1 @; O
cpld比fpga生產成本高, S% S+ V1 u d3 N) s8 d+ y6 a: T
複雜的信號處理通常是fpga來做 |
|