|
2#
樓主 |
發表於 2006-12-31 08:34:04
|
只看該作者
FPGA與CPLD的最大區別是什麼
系統的比較,與大家共用:0 J* u8 W4 g o8 w
儘管FPGA和CPLD都是可編程ASIC器件,有很多共同特點,但由於CPLD和FPGA結構上的差異,具有各自的特點:% ~+ s* b4 W } ~: R+ [
/ d" q# `8 ]+ A$ @9 {* \! s8 i①CPLD更適合完成各種演算法和組合邏輯,FP GA更適合於完成時序邏輯。換句話說,FPGA更適合於觸發器豐富的結構,而CPLD更適合於觸發器有限而乘積項豐富的結構。) c, g2 K* z5 A7 C9 o8 b, w4 `6 S
% M$ B! k) C8 W i, i4 ~$ g②CPLD的連續式佈線結構決定了它的時序延遲是均勻的和可預測的,而FPGA的分段式佈線結構決定了其延遲的不可預測性。+ V7 n7 _5 l$ e) B3 e5 _$ [
3 c4 `& J4 e$ T* _3 [6 V③在編程上FPGA比CPLD具有更大的靈活性。CPLD通過修改具有固定內連電路的邏輯功能來編程,FPGA主要通過改變內部連線的佈線來編程;FP GA可在邏輯門下編程,而CPLD是在邏輯塊下編程。, B/ o/ F& o* A
$ {! g, D9 q; k5 J3 i④FPGA的集成度比CPLD高,具有更複雜的佈線結構和邏輯實現。
$ W, x: I" Z7 h& p, B
! [( w5 k% J! R& p/ Z/ o3 v8 ?⑤CPLD比FPGA使用起來更方便。CPLD的編程採用E2PROM或FASTFLASH技術,無需外部記憶體晶片,使用簡單。而FPGA的編程資訊需存放在外部記憶體上,使用方法複雜。
# \: _4 i! Y# Y) B# A3 v6 k0 y9 s/ N8 e5 \0 n7 E
⑥CPLD的速度比FPGA快,並且具有較大的時間可預測性。這是由於FPGA是門級編程,並且CLB之間採用分散式互聯,而CPLD是邏輯塊級編程,並且其邏輯塊之間的互聯是集總式的。7 ], d: g8 d) d- [/ V; [2 V0 |( J* ]: v
. t2 C+ ~' n t! f
⑦在編程方式上,CPLD主要是基於E2PROM或FLASH記憶體編程,編程次數可達1萬次,優點是系統斷電時編程資訊也不丟失。CPLD又可分為在編程器上編程和在系統編程兩類。FPGA大部分是基於SRAM編程,編程資訊在系統斷電時丟失,每次上電時,需從器件外部將編程資料重新寫入SRAM中。其優點是可以編程任意次,可在工作中快速編程,從而實現板級和系統級的動態配置。' }+ m& L: S6 A- t% `1 Z N2 R
; Q T& G0 s1 D9 k4 n: n+ p
⑧CPLD保密性好,FPGA保密性差。
& K6 n' u0 t. y y: d" {) k$ k7 N# x g+ @" ]1 w
⑨一般情況下,CPLD的功耗要比FPGA大,且集成度越高越明顯。 4 e2 a' Q S) r( Q j
; @: m" Y! b% N4 mCPLD的功耗要比FPGA小吧,1 h: ` u1 A4 e! {2 O/ K2 N5 H
) T( }: t/ X3 X: L& r; f
FPGA的資源豐富
" q7 J* }4 h& U9 l- @) p; ?
* S. ^+ Q) o: Q5 b! Kcpld是熔絲結構的,fpga是基於ram結構的。1 O# o7 \9 t9 b) a, |* z' ^
cpld比fpga生產成本高2 Z9 [' o& k* l( f" m( v% M/ F
複雜的信號處理通常是fpga來做 |
|