|
2#
樓主 |
發表於 2006-12-31 08:34:04
|
只看該作者
FPGA與CPLD的最大區別是什麼
系統的比較,與大家共用:
) j! d# u. {# j- m* t" U+ ~儘管FPGA和CPLD都是可編程ASIC器件,有很多共同特點,但由於CPLD和FPGA結構上的差異,具有各自的特點:
7 P# e m/ b* I& p! h2 z
# P. d: K' s1 [0 @3 X5 n2 p①CPLD更適合完成各種演算法和組合邏輯,FP GA更適合於完成時序邏輯。換句話說,FPGA更適合於觸發器豐富的結構,而CPLD更適合於觸發器有限而乘積項豐富的結構。* N) o" m8 p6 j+ y/ u$ `
& q. g& n: P; U6 t+ l6 d" A
②CPLD的連續式佈線結構決定了它的時序延遲是均勻的和可預測的,而FPGA的分段式佈線結構決定了其延遲的不可預測性。; n% S; V7 a: r4 G; b( f7 w! _ v
, e8 O. j6 w) q; n9 ~' W
③在編程上FPGA比CPLD具有更大的靈活性。CPLD通過修改具有固定內連電路的邏輯功能來編程,FPGA主要通過改變內部連線的佈線來編程;FP GA可在邏輯門下編程,而CPLD是在邏輯塊下編程。
: D4 I# b. G. Z* F* C' g' U% I: @" ]/ |: Z& F) M n9 q
④FPGA的集成度比CPLD高,具有更複雜的佈線結構和邏輯實現。
& Z- d( [' I, T7 f8 ]) F" N" r
: |, j. }1 E4 L' v⑤CPLD比FPGA使用起來更方便。CPLD的編程採用E2PROM或FASTFLASH技術,無需外部記憶體晶片,使用簡單。而FPGA的編程資訊需存放在外部記憶體上,使用方法複雜。
/ E, R; g% T. z* O
" Y: g- i$ O, B/ g" O2 |% s⑥CPLD的速度比FPGA快,並且具有較大的時間可預測性。這是由於FPGA是門級編程,並且CLB之間採用分散式互聯,而CPLD是邏輯塊級編程,並且其邏輯塊之間的互聯是集總式的。
) P$ J$ D, M3 E* y% G
" a7 c" i0 F8 V⑦在編程方式上,CPLD主要是基於E2PROM或FLASH記憶體編程,編程次數可達1萬次,優點是系統斷電時編程資訊也不丟失。CPLD又可分為在編程器上編程和在系統編程兩類。FPGA大部分是基於SRAM編程,編程資訊在系統斷電時丟失,每次上電時,需從器件外部將編程資料重新寫入SRAM中。其優點是可以編程任意次,可在工作中快速編程,從而實現板級和系統級的動態配置。
- l( U5 m6 ]$ _! \) ^; l# h: N$ Y' o' I9 S; J- Z
⑧CPLD保密性好,FPGA保密性差。
7 z3 `. y7 C0 g6 Z U2 e1 J+ b: ~' o% b8 M8 x B
⑨一般情況下,CPLD的功耗要比FPGA大,且集成度越高越明顯。 & D) e- y1 ~3 X3 F
+ y* G* q8 a* Z; c4 }+ CCPLD的功耗要比FPGA小吧,% n* O1 Z* a4 s U; {$ o
4 F/ u: }( ^6 x6 f% z( r
FPGA的資源豐富
! Z- V* |9 J* D: Q' i {* v, @- W0 _ 9 k: |+ K$ B" m
cpld是熔絲結構的,fpga是基於ram結構的。
& u2 N9 C- Y/ u0 l5 `1 p: v, ?7 Bcpld比fpga生產成本高7 d" K. ?% _+ p7 n, @; Z8 ?$ Y
複雜的信號處理通常是fpga來做 |
|