|
2#
![](static/image/common/ico_lz.png)
樓主 |
發表於 2006-12-31 08:34:04
|
只看該作者
FPGA與CPLD的最大區別是什麼
系統的比較,與大家共用:) ]" o2 D N) P% j& |
儘管FPGA和CPLD都是可編程ASIC器件,有很多共同特點,但由於CPLD和FPGA結構上的差異,具有各自的特點:8 t& z9 T: H; X; v9 h
% _; P! w5 k4 Z( i; x; Y h$ c& A
①CPLD更適合完成各種演算法和組合邏輯,FP GA更適合於完成時序邏輯。換句話說,FPGA更適合於觸發器豐富的結構,而CPLD更適合於觸發器有限而乘積項豐富的結構。
' }; t0 i0 ^! y
3 o9 G- ~, d) [3 T②CPLD的連續式佈線結構決定了它的時序延遲是均勻的和可預測的,而FPGA的分段式佈線結構決定了其延遲的不可預測性。+ L+ f' O6 g# \% t1 f
9 q; F% \* h8 l- |: g5 h③在編程上FPGA比CPLD具有更大的靈活性。CPLD通過修改具有固定內連電路的邏輯功能來編程,FPGA主要通過改變內部連線的佈線來編程;FP GA可在邏輯門下編程,而CPLD是在邏輯塊下編程。: R, l" q: n; S" f$ R! L; j0 z; i& o& a
+ ~ R& p* F; t. w; D( E8 o
④FPGA的集成度比CPLD高,具有更複雜的佈線結構和邏輯實現。- E t! ] w. r/ {+ R
+ C4 k9 L: ^* M P" t& z
⑤CPLD比FPGA使用起來更方便。CPLD的編程採用E2PROM或FASTFLASH技術,無需外部記憶體晶片,使用簡單。而FPGA的編程資訊需存放在外部記憶體上,使用方法複雜。9 @8 J- B. B- o; K6 w+ N
7 U* E0 x& M: |& y% C# u, F1 H& f1 a⑥CPLD的速度比FPGA快,並且具有較大的時間可預測性。這是由於FPGA是門級編程,並且CLB之間採用分散式互聯,而CPLD是邏輯塊級編程,並且其邏輯塊之間的互聯是集總式的。7 [ Z# ~: X. Z: R) @1 U, P
, G' N) t( `3 u2 O# W! ]( [⑦在編程方式上,CPLD主要是基於E2PROM或FLASH記憶體編程,編程次數可達1萬次,優點是系統斷電時編程資訊也不丟失。CPLD又可分為在編程器上編程和在系統編程兩類。FPGA大部分是基於SRAM編程,編程資訊在系統斷電時丟失,每次上電時,需從器件外部將編程資料重新寫入SRAM中。其優點是可以編程任意次,可在工作中快速編程,從而實現板級和系統級的動態配置。
. v( ^" b# S) T4 P
- q* M: Q/ ~: q! r⑧CPLD保密性好,FPGA保密性差。
: ?0 C# K! F! T0 V& Z1 X8 g* b a3 }
⑨一般情況下,CPLD的功耗要比FPGA大,且集成度越高越明顯。
$ P4 }# W# j, y, H& Q3 {; N0 g: l/ ? # A$ j9 O# ?2 B s
CPLD的功耗要比FPGA小吧,5 C: p0 z7 X: }
! X2 m, h# u. }$ O! q( aFPGA的資源豐富% {; y6 S6 }* [. V! M% A
$ o9 L0 |& n5 d& bcpld是熔絲結構的,fpga是基於ram結構的。
8 X; ]9 k( r/ q1 C. y, Gcpld比fpga生產成本高
, \5 E% u/ Y+ e- g1 `複雜的信號處理通常是fpga來做 |
|