|
2#
樓主 |
發表於 2006-12-31 08:34:04
|
只看該作者
FPGA與CPLD的最大區別是什麼
系統的比較,與大家共用:" A) V, f+ K" P; b- ^3 P/ T
儘管FPGA和CPLD都是可編程ASIC器件,有很多共同特點,但由於CPLD和FPGA結構上的差異,具有各自的特點:( c( U3 q& ]- c1 G8 {$ S+ o
/ A) y8 }8 R) S _①CPLD更適合完成各種演算法和組合邏輯,FP GA更適合於完成時序邏輯。換句話說,FPGA更適合於觸發器豐富的結構,而CPLD更適合於觸發器有限而乘積項豐富的結構。
2 S2 i5 M9 k, C* B, I8 a1 V s1 r% k: g" q
②CPLD的連續式佈線結構決定了它的時序延遲是均勻的和可預測的,而FPGA的分段式佈線結構決定了其延遲的不可預測性。) D/ d4 ~) _% ?. }' l
+ q* k$ T9 v' p+ }4 |4 R③在編程上FPGA比CPLD具有更大的靈活性。CPLD通過修改具有固定內連電路的邏輯功能來編程,FPGA主要通過改變內部連線的佈線來編程;FP GA可在邏輯門下編程,而CPLD是在邏輯塊下編程。
) Z! {) A% `( n2 W. G( b" i/ i
④FPGA的集成度比CPLD高,具有更複雜的佈線結構和邏輯實現。8 R( K- V" M' F; m! {$ e
5 A( x$ j! ]$ l
⑤CPLD比FPGA使用起來更方便。CPLD的編程採用E2PROM或FASTFLASH技術,無需外部記憶體晶片,使用簡單。而FPGA的編程資訊需存放在外部記憶體上,使用方法複雜。
& R/ {7 V& h' U9 [: t* ~" B/ R% S! j7 k2 C0 z* g- H* ^3 c
⑥CPLD的速度比FPGA快,並且具有較大的時間可預測性。這是由於FPGA是門級編程,並且CLB之間採用分散式互聯,而CPLD是邏輯塊級編程,並且其邏輯塊之間的互聯是集總式的。
# l2 k5 J' S& p$ s9 N) T
; I1 v8 f& V+ J, k⑦在編程方式上,CPLD主要是基於E2PROM或FLASH記憶體編程,編程次數可達1萬次,優點是系統斷電時編程資訊也不丟失。CPLD又可分為在編程器上編程和在系統編程兩類。FPGA大部分是基於SRAM編程,編程資訊在系統斷電時丟失,每次上電時,需從器件外部將編程資料重新寫入SRAM中。其優點是可以編程任意次,可在工作中快速編程,從而實現板級和系統級的動態配置。
0 J6 F: S0 a/ u3 V/ l( g+ u" Z$ b7 k' f+ ]0 e7 r( K- m3 _* S( Y
⑧CPLD保密性好,FPGA保密性差。
0 t- K: z) k6 |& J; c
" I: s2 \# Y- S8 d) N⑨一般情況下,CPLD的功耗要比FPGA大,且集成度越高越明顯。 ) j( j5 k3 I+ e3 l+ V
- C! T6 o/ A% ~: S1 U% gCPLD的功耗要比FPGA小吧,
4 ~& H$ @, F# _# J) c " M3 L. \1 i$ Z- x
FPGA的資源豐富# n1 q/ N( p6 K: X8 r) t0 M
/ f. ]0 b8 s, q4 v+ r% Wcpld是熔絲結構的,fpga是基於ram結構的。
& T9 w* g4 n3 Q/ u8 acpld比fpga生產成本高
& z# j/ l9 v2 R8 X: E( K8 f複雜的信號處理通常是fpga來做 |
|