|
2#
樓主 |
發表於 2006-12-31 08:34:04
|
只看該作者
FPGA與CPLD的最大區別是什麼
系統的比較,與大家共用:4 T9 h3 @9 F3 ~0 J: Q' Z r' m$ ?
儘管FPGA和CPLD都是可編程ASIC器件,有很多共同特點,但由於CPLD和FPGA結構上的差異,具有各自的特點:
( C- P" e8 L/ n$ w
9 G0 A+ `' W& {9 o, _# n/ `+ m①CPLD更適合完成各種演算法和組合邏輯,FP GA更適合於完成時序邏輯。換句話說,FPGA更適合於觸發器豐富的結構,而CPLD更適合於觸發器有限而乘積項豐富的結構。2 S* a F6 W P9 `* s$ }0 G
6 h9 ]# ? k" l
②CPLD的連續式佈線結構決定了它的時序延遲是均勻的和可預測的,而FPGA的分段式佈線結構決定了其延遲的不可預測性。2 c4 g+ q% O! `" _" A/ [2 a7 `
9 c \3 P' s/ m( k4 q c* l. g
③在編程上FPGA比CPLD具有更大的靈活性。CPLD通過修改具有固定內連電路的邏輯功能來編程,FPGA主要通過改變內部連線的佈線來編程;FP GA可在邏輯門下編程,而CPLD是在邏輯塊下編程。
! f$ x8 D/ Z; ~, [& b6 B N2 Z2 s+ Q, u2 |( c( t. F( n
④FPGA的集成度比CPLD高,具有更複雜的佈線結構和邏輯實現。
. Y- x* X9 M3 U3 `+ }. U" J/ w( d* q8 X' U. F6 o% m/ }* U6 B* v) I
⑤CPLD比FPGA使用起來更方便。CPLD的編程採用E2PROM或FASTFLASH技術,無需外部記憶體晶片,使用簡單。而FPGA的編程資訊需存放在外部記憶體上,使用方法複雜。
. R5 X, n7 d3 l
" F0 O3 J: c) V- X; \⑥CPLD的速度比FPGA快,並且具有較大的時間可預測性。這是由於FPGA是門級編程,並且CLB之間採用分散式互聯,而CPLD是邏輯塊級編程,並且其邏輯塊之間的互聯是集總式的。
% L0 R- |2 `& W/ k4 I2 A/ q' c( M" D6 `. q
⑦在編程方式上,CPLD主要是基於E2PROM或FLASH記憶體編程,編程次數可達1萬次,優點是系統斷電時編程資訊也不丟失。CPLD又可分為在編程器上編程和在系統編程兩類。FPGA大部分是基於SRAM編程,編程資訊在系統斷電時丟失,每次上電時,需從器件外部將編程資料重新寫入SRAM中。其優點是可以編程任意次,可在工作中快速編程,從而實現板級和系統級的動態配置。
0 W* p. [, K5 M1 i' x. }1 m: |$ R3 T$ k7 m8 u, J
⑧CPLD保密性好,FPGA保密性差。2 u, X! [1 R" Y K6 M) s
$ r) Y$ j: S Q$ i3 p3 @, f* D1 e3 O$ @
⑨一般情況下,CPLD的功耗要比FPGA大,且集成度越高越明顯。 " f7 K! x- ?5 ^
: K7 [* {, y9 X0 _# b- d
CPLD的功耗要比FPGA小吧,* F: `7 W9 O2 ?9 o$ y( M3 y( {9 U
# u0 Q* O A3 L- f9 L- |FPGA的資源豐富
$ v& C' v G( M
& ]5 v5 u( |0 ycpld是熔絲結構的,fpga是基於ram結構的。* M2 p' D# T* D. s9 r
cpld比fpga生產成本高
/ c+ G( O+ u. Y5 {2 A複雜的信號處理通常是fpga來做 |
|