|
2#
樓主 |
發表於 2006-12-31 08:34:04
|
只看該作者
FPGA與CPLD的最大區別是什麼
系統的比較,與大家共用:
0 t8 p1 X* E( T# O$ `6 I# p/ S儘管FPGA和CPLD都是可編程ASIC器件,有很多共同特點,但由於CPLD和FPGA結構上的差異,具有各自的特點:
& {1 g6 I, T, N; C" ]6 B8 [8 @3 Y: G# q, o) D4 A/ A: [
①CPLD更適合完成各種演算法和組合邏輯,FP GA更適合於完成時序邏輯。換句話說,FPGA更適合於觸發器豐富的結構,而CPLD更適合於觸發器有限而乘積項豐富的結構。4 {* |! i5 W6 {0 k
- m1 E* o3 }% f: r$ w1 F②CPLD的連續式佈線結構決定了它的時序延遲是均勻的和可預測的,而FPGA的分段式佈線結構決定了其延遲的不可預測性。* _/ ~# ^( u6 I @: }
7 d5 p; S+ F- n0 B: Q$ F③在編程上FPGA比CPLD具有更大的靈活性。CPLD通過修改具有固定內連電路的邏輯功能來編程,FPGA主要通過改變內部連線的佈線來編程;FP GA可在邏輯門下編程,而CPLD是在邏輯塊下編程。6 H+ o) d! P3 c" ]. D+ |0 I0 T
. q, s3 v: P0 y. E% O1 X" f
④FPGA的集成度比CPLD高,具有更複雜的佈線結構和邏輯實現。
0 g5 w# p- d( r8 F. L z' c* ]! m- V2 e! r1 e
⑤CPLD比FPGA使用起來更方便。CPLD的編程採用E2PROM或FASTFLASH技術,無需外部記憶體晶片,使用簡單。而FPGA的編程資訊需存放在外部記憶體上,使用方法複雜。
8 Z; y$ W6 ]7 b! M4 Q' m
5 H- z, [3 S4 j) p⑥CPLD的速度比FPGA快,並且具有較大的時間可預測性。這是由於FPGA是門級編程,並且CLB之間採用分散式互聯,而CPLD是邏輯塊級編程,並且其邏輯塊之間的互聯是集總式的。# y: Y, g& I5 [. p0 r1 ^: S
3 |: S9 y2 U; T! |1 P$ _
⑦在編程方式上,CPLD主要是基於E2PROM或FLASH記憶體編程,編程次數可達1萬次,優點是系統斷電時編程資訊也不丟失。CPLD又可分為在編程器上編程和在系統編程兩類。FPGA大部分是基於SRAM編程,編程資訊在系統斷電時丟失,每次上電時,需從器件外部將編程資料重新寫入SRAM中。其優點是可以編程任意次,可在工作中快速編程,從而實現板級和系統級的動態配置。
8 x: F6 ~5 C D. M& ?" e( s' w- `
⑧CPLD保密性好,FPGA保密性差。
% B' t& X* G- G2 Y' B1 @, _& Y( p3 Z. o% u
⑨一般情況下,CPLD的功耗要比FPGA大,且集成度越高越明顯。
7 W) u' Z' _, y( v& j" @
: z- m6 P1 b! M1 b- k$ RCPLD的功耗要比FPGA小吧,
& }" W) N9 j5 v; o
( [3 X6 z8 u; H* k. \FPGA的資源豐富5 [* e) ^) z* B0 T, [7 H
$ N- e% F$ n4 s! c f0 G4 w# ^5 l
cpld是熔絲結構的,fpga是基於ram結構的。& |( w) U. A1 l
cpld比fpga生產成本高
* n& \: M: n7 i. L5 D* C複雜的信號處理通常是fpga來做 |
|