|
FPGA與CPLD的最大區別是什麼
系統的比較,與大家共用:% q6 E7 V% C3 D- g" S+ e% P
儘管FPGA和CPLD都是可編程ASIC器件,有很多共同特點,但由於CPLD和FPGA結構上的差異,具有各自的特點:) x8 ~0 }; ~ j& }1 u
: T# k( Q: ^9 l( q+ n+ n, [9 O
①CPLD更適合完成各種演算法和組合邏輯,FP GA更適合於完成時序邏輯。換句話說,FPGA更適合於觸發器豐富的結構,而CPLD更適合於觸發器有限而乘積項豐富的結構。- s+ o0 E9 K. m* j8 e
% C- e' z- I. z/ n7 x
②CPLD的連續式佈線結構決定了它的時序延遲是均勻的和可預測的,而FPGA的分段式佈線結構決定了其延遲的不可預測性。
# v# l' P3 q; b( n) b5 r, r
5 X j3 R& l& x: U8 e, i③在編程上FPGA比CPLD具有更大的靈活性。CPLD通過修改具有固定內連電路的邏輯功能來編程,FPGA主要通過改變內部連線的佈線來編程;FP GA可在邏輯門下編程,而CPLD是在邏輯塊下編程。1 W+ Y* D0 I1 x! y5 c' h
; N" c p8 {0 k0 J
④FPGA的集成度比CPLD高,具有更複雜的佈線結構和邏輯實現。$ y* z% \8 [# S8 E
& e' J$ [# y3 ~4 O) K⑤CPLD比FPGA使用起來更方便。CPLD的編程採用E2PROM或FASTFLASH技術,無需外部記憶體晶片,使用簡單。而FPGA的編程資訊需存放在外部記憶體上,使用方法複雜。 F. @& ~: [' X; a! }
4 @" u1 L: |) m6 K" W! k- f" o7 n+ f⑥CPLD的速度比FPGA快,並且具有較大的時間可預測性。這是由於FPGA是門級編程,並且CLB之間採用分散式互聯,而CPLD是邏輯塊級編程,並且其邏輯塊之間的互聯是集總式的。2 H2 b& Z9 Z" s4 X$ g" \
1 y3 I& Z% ]1 _6 V
⑦在編程方式上,CPLD主要是基於E2PROM或FLASH記憶體編程,編程次數可達1萬次,優點是系統斷電時編程資訊也不丟失。CPLD又可分為在編程器上編程和在系統編程兩類。FPGA大部分是基於SRAM編程,編程資訊在系統斷電時丟失,每次上電時,需從器件外部將編程資料重新寫入SRAM中。其優點是可以編程任意次,可在工作中快速編程,從而實現板級和系統級的動態配置。: F% D; D- H1 l, q& _
* M, Q, w# @& Y; E⑧CPLD保密性好,FPGA保密性差。* ~' W# F: x( W0 a
/ Q6 s% D6 Y& _* a& ~: q8 w ]
⑨一般情況下,CPLD的功耗要比FPGA大,且集成度越高越明顯。
1 l& V! X7 ]5 } 1 b( G0 c4 q7 Q" i2 c3 R; U
CPLD的功耗要比FPGA小吧,. Z) M5 C+ v; U
/ I6 C2 E! v7 G! M! YFPGA的資源豐富3 O) e) a$ z, b; ~. M6 p# R0 V
' Z; q1 `. J+ T) ?. M# \cpld是熔絲結構的,fpga是基於ram結構的。
& F% D. b! Z. Q. }7 u9 x8 @- hcpld比fpga生產成本高
2 u8 c( n' o/ R9 P複雜的信號處理通常是fpga來做 |
|