|
2#
樓主 |
發表於 2006-12-31 08:34:04
|
只看該作者
FPGA與CPLD的最大區別是什麼
系統的比較,與大家共用:
3 q5 k; H# s. P( J2 J, h儘管FPGA和CPLD都是可編程ASIC器件,有很多共同特點,但由於CPLD和FPGA結構上的差異,具有各自的特點:1 G( X; T: j1 t# V% b
% d* l3 R$ C. A: N
①CPLD更適合完成各種演算法和組合邏輯,FP GA更適合於完成時序邏輯。換句話說,FPGA更適合於觸發器豐富的結構,而CPLD更適合於觸發器有限而乘積項豐富的結構。
/ n- _: D' c. W. k$ K: Y8 |$ T- z& r/ ~7 s! S
②CPLD的連續式佈線結構決定了它的時序延遲是均勻的和可預測的,而FPGA的分段式佈線結構決定了其延遲的不可預測性。
V+ |9 ^- t* T V5 N% j% f% L" B8 }$ b* u1 y! z5 n8 I
③在編程上FPGA比CPLD具有更大的靈活性。CPLD通過修改具有固定內連電路的邏輯功能來編程,FPGA主要通過改變內部連線的佈線來編程;FP GA可在邏輯門下編程,而CPLD是在邏輯塊下編程。
# K. G# J* h0 O. c8 p; l
$ x& o9 Y9 o/ j# a2 c$ t6 f④FPGA的集成度比CPLD高,具有更複雜的佈線結構和邏輯實現。% M7 A W5 u# f- j! }, }
- i! D" Q. |& q3 {
⑤CPLD比FPGA使用起來更方便。CPLD的編程採用E2PROM或FASTFLASH技術,無需外部記憶體晶片,使用簡單。而FPGA的編程資訊需存放在外部記憶體上,使用方法複雜。
6 \4 V9 ^5 t! \# t' T& e( l6 e$ b% l% M! S$ E
⑥CPLD的速度比FPGA快,並且具有較大的時間可預測性。這是由於FPGA是門級編程,並且CLB之間採用分散式互聯,而CPLD是邏輯塊級編程,並且其邏輯塊之間的互聯是集總式的。
7 i1 n9 x0 B1 u4 p; r! U8 ]' T& X0 d2 Z C4 s( `! U
⑦在編程方式上,CPLD主要是基於E2PROM或FLASH記憶體編程,編程次數可達1萬次,優點是系統斷電時編程資訊也不丟失。CPLD又可分為在編程器上編程和在系統編程兩類。FPGA大部分是基於SRAM編程,編程資訊在系統斷電時丟失,每次上電時,需從器件外部將編程資料重新寫入SRAM中。其優點是可以編程任意次,可在工作中快速編程,從而實現板級和系統級的動態配置。
4 @& i. W% A+ `) e" u4 D( ~
1 ^- D5 H# J9 y& K$ B1 y8 V' N7 c⑧CPLD保密性好,FPGA保密性差。
2 a9 K* X9 \+ ]( i
- ]$ C2 A$ s6 b⑨一般情況下,CPLD的功耗要比FPGA大,且集成度越高越明顯。
/ J' F3 `1 q; z0 V. {7 X
$ F) u- o' e) ACPLD的功耗要比FPGA小吧," g% w' `6 z8 w; N; P* N, Z# a
, S! Q2 {" T* a/ V% f, P0 o( O; |
FPGA的資源豐富9 t8 h* Q/ R) q: x/ D _
- C7 g9 A( o$ N2 ? l- r4 P5 kcpld是熔絲結構的,fpga是基於ram結構的。
# A3 `# z$ u: H6 ~cpld比fpga生產成本高) n" M5 l# @9 I) K
複雜的信號處理通常是fpga來做 |
|