|
2#
樓主 |
發表於 2006-12-31 08:34:04
|
只看該作者
FPGA與CPLD的最大區別是什麼
系統的比較,與大家共用:
% a5 B$ @* S, _5 D) B5 W' e儘管FPGA和CPLD都是可編程ASIC器件,有很多共同特點,但由於CPLD和FPGA結構上的差異,具有各自的特點:( z3 N; \. y1 h& ~0 _' ~7 Y2 i
) \" ~6 q, u( N/ f①CPLD更適合完成各種演算法和組合邏輯,FP GA更適合於完成時序邏輯。換句話說,FPGA更適合於觸發器豐富的結構,而CPLD更適合於觸發器有限而乘積項豐富的結構。% G/ u/ i6 \: j/ Q. B
1 G0 H# ^! \7 l9 R7 y% e9 T8 h
②CPLD的連續式佈線結構決定了它的時序延遲是均勻的和可預測的,而FPGA的分段式佈線結構決定了其延遲的不可預測性。
1 r9 w4 a# \6 o( x5 I; p4 `2 T8 n( s, C/ R
③在編程上FPGA比CPLD具有更大的靈活性。CPLD通過修改具有固定內連電路的邏輯功能來編程,FPGA主要通過改變內部連線的佈線來編程;FP GA可在邏輯門下編程,而CPLD是在邏輯塊下編程。6 H! @ d, U: G i, r. O: i; p; ~
( d3 M6 T: P4 ?- j5 E1 U1 p
④FPGA的集成度比CPLD高,具有更複雜的佈線結構和邏輯實現。. N: H1 C7 v) h; L
$ o M( B G$ y# g* C2 q
⑤CPLD比FPGA使用起來更方便。CPLD的編程採用E2PROM或FASTFLASH技術,無需外部記憶體晶片,使用簡單。而FPGA的編程資訊需存放在外部記憶體上,使用方法複雜。
: p9 h7 d5 s) d. A, U4 f
3 z- d8 L. x7 H: L⑥CPLD的速度比FPGA快,並且具有較大的時間可預測性。這是由於FPGA是門級編程,並且CLB之間採用分散式互聯,而CPLD是邏輯塊級編程,並且其邏輯塊之間的互聯是集總式的。& u' A) x& Q4 A2 x! y0 O
# P+ t& B2 g3 t⑦在編程方式上,CPLD主要是基於E2PROM或FLASH記憶體編程,編程次數可達1萬次,優點是系統斷電時編程資訊也不丟失。CPLD又可分為在編程器上編程和在系統編程兩類。FPGA大部分是基於SRAM編程,編程資訊在系統斷電時丟失,每次上電時,需從器件外部將編程資料重新寫入SRAM中。其優點是可以編程任意次,可在工作中快速編程,從而實現板級和系統級的動態配置。
6 f5 A9 W1 L$ z5 V- C6 }
' O: V3 T: `+ I1 m8 B5 U/ Z6 K8 ~⑧CPLD保密性好,FPGA保密性差。
: {$ {- u; K3 J' p) R" |5 c
5 V, {- ]" W e: |& u: ~8 \ l, K⑨一般情況下,CPLD的功耗要比FPGA大,且集成度越高越明顯。 0 u$ ~! g; ?7 s0 z. N
7 e G5 e0 n/ iCPLD的功耗要比FPGA小吧,4 n+ z) N' u" [2 I" h+ ]. ~* Z% q
$ l6 r. k S- |; h7 ^' l: B
FPGA的資源豐富
! y. b# K! R- Y1 O- g1 F
) G) r I! {0 a: T! Lcpld是熔絲結構的,fpga是基於ram結構的。
4 A$ |6 H* |; i$ L% Acpld比fpga生產成本高
0 }1 ~( L! z u, U複雜的信號處理通常是fpga來做 |
|