|
2#
樓主 |
發表於 2006-12-31 08:34:04
|
只看該作者
FPGA與CPLD的最大區別是什麼
系統的比較,與大家共用:
' S- [# {: |: l' b: {, i7 v7 g6 x儘管FPGA和CPLD都是可編程ASIC器件,有很多共同特點,但由於CPLD和FPGA結構上的差異,具有各自的特點:
* h$ Q& P0 F. U# ?/ Q) V' m, A1 | b0 P/ k9 | l0 ~. ~' `
①CPLD更適合完成各種演算法和組合邏輯,FP GA更適合於完成時序邏輯。換句話說,FPGA更適合於觸發器豐富的結構,而CPLD更適合於觸發器有限而乘積項豐富的結構。; [1 i9 V" v/ ^; M
* b9 H7 C* D' Y②CPLD的連續式佈線結構決定了它的時序延遲是均勻的和可預測的,而FPGA的分段式佈線結構決定了其延遲的不可預測性。
' F, p: y5 ?5 c [! v$ w: C% X1 y2 N6 A: b5 r6 ^: H8 O8 m/ A0 M+ t( J
③在編程上FPGA比CPLD具有更大的靈活性。CPLD通過修改具有固定內連電路的邏輯功能來編程,FPGA主要通過改變內部連線的佈線來編程;FP GA可在邏輯門下編程,而CPLD是在邏輯塊下編程。
: O2 y! B% v5 Q; M( O/ W6 z4 H0 V0 G& j6 r' Q* ^- E% B/ `% ?
④FPGA的集成度比CPLD高,具有更複雜的佈線結構和邏輯實現。
" U+ F, S. _/ A) r9 p7 z4 ?2 F
6 B/ i& \5 f: l5 V! V7 M- i⑤CPLD比FPGA使用起來更方便。CPLD的編程採用E2PROM或FASTFLASH技術,無需外部記憶體晶片,使用簡單。而FPGA的編程資訊需存放在外部記憶體上,使用方法複雜。
- h# a- R: Z2 \" J- O6 G6 O3 z' X5 ? J q! ]% n* q
⑥CPLD的速度比FPGA快,並且具有較大的時間可預測性。這是由於FPGA是門級編程,並且CLB之間採用分散式互聯,而CPLD是邏輯塊級編程,並且其邏輯塊之間的互聯是集總式的。6 w: a& k# `. F$ ^5 Z- \
$ e. _# b! s- `! ^, `# H% A) K% m/ \8 t- ^⑦在編程方式上,CPLD主要是基於E2PROM或FLASH記憶體編程,編程次數可達1萬次,優點是系統斷電時編程資訊也不丟失。CPLD又可分為在編程器上編程和在系統編程兩類。FPGA大部分是基於SRAM編程,編程資訊在系統斷電時丟失,每次上電時,需從器件外部將編程資料重新寫入SRAM中。其優點是可以編程任意次,可在工作中快速編程,從而實現板級和系統級的動態配置。
" w& ?7 D+ J0 l$ z* L9 y ^" J
3 c: g6 u. r; c1 S+ J9 ?! X⑧CPLD保密性好,FPGA保密性差。
* _, w! Y3 e) p) C+ w( b: k' Y( y
⑨一般情況下,CPLD的功耗要比FPGA大,且集成度越高越明顯。 . \3 f# F: k' w% p4 I+ c% z& g
2 Q1 N! q. @4 s# v9 ?7 v# T9 qCPLD的功耗要比FPGA小吧,& r& {1 p% h' B8 m
3 h# F) K' e* m( K, C
FPGA的資源豐富
& h2 g& Z! ^1 O 8 U( S! n8 Y# X/ \1 Y* D B
cpld是熔絲結構的,fpga是基於ram結構的。
+ J T+ F9 M* |' A4 \cpld比fpga生產成本高) J4 }8 C4 x* E6 L p; U/ O* [
複雜的信號處理通常是fpga來做 |
|