|
2#
樓主 |
發表於 2006-12-31 08:34:04
|
只看該作者
FPGA與CPLD的最大區別是什麼
系統的比較,與大家共用:+ D" w; z/ `, U6 |6 ~4 c" p
儘管FPGA和CPLD都是可編程ASIC器件,有很多共同特點,但由於CPLD和FPGA結構上的差異,具有各自的特點:
7 K4 \6 Q- r" b9 f
' q0 F0 ^1 ?1 y# ]8 a①CPLD更適合完成各種演算法和組合邏輯,FP GA更適合於完成時序邏輯。換句話說,FPGA更適合於觸發器豐富的結構,而CPLD更適合於觸發器有限而乘積項豐富的結構。
9 T4 i. m, L) }+ r
4 m: {0 w; U, ?% ]1 Q' Z, W7 [②CPLD的連續式佈線結構決定了它的時序延遲是均勻的和可預測的,而FPGA的分段式佈線結構決定了其延遲的不可預測性。1 a" Q( {' M+ x, E6 j& B; J! o
7 m" Y4 A; p1 T! J4 ^
③在編程上FPGA比CPLD具有更大的靈活性。CPLD通過修改具有固定內連電路的邏輯功能來編程,FPGA主要通過改變內部連線的佈線來編程;FP GA可在邏輯門下編程,而CPLD是在邏輯塊下編程。
4 F, K# a( _' [
9 B) c# L4 r3 M" F, q, R4 l9 G④FPGA的集成度比CPLD高,具有更複雜的佈線結構和邏輯實現。
3 I& [$ F9 U7 _+ x4 L& g! ?7 G9 T m/ L' r# b9 i
⑤CPLD比FPGA使用起來更方便。CPLD的編程採用E2PROM或FASTFLASH技術,無需外部記憶體晶片,使用簡單。而FPGA的編程資訊需存放在外部記憶體上,使用方法複雜。
- G4 A* g; g% A, Q$ [; s* [: c! a/ C. M. {
⑥CPLD的速度比FPGA快,並且具有較大的時間可預測性。這是由於FPGA是門級編程,並且CLB之間採用分散式互聯,而CPLD是邏輯塊級編程,並且其邏輯塊之間的互聯是集總式的。
4 @ C" X7 t) _' V! P
7 }. h7 Q( Q: {( o$ H; g/ @+ p⑦在編程方式上,CPLD主要是基於E2PROM或FLASH記憶體編程,編程次數可達1萬次,優點是系統斷電時編程資訊也不丟失。CPLD又可分為在編程器上編程和在系統編程兩類。FPGA大部分是基於SRAM編程,編程資訊在系統斷電時丟失,每次上電時,需從器件外部將編程資料重新寫入SRAM中。其優點是可以編程任意次,可在工作中快速編程,從而實現板級和系統級的動態配置。
* r3 \2 |0 g% s! |+ }' {" X% [4 F, H' g; x
⑧CPLD保密性好,FPGA保密性差。
8 y# ]1 G3 F: m: D; Y
5 {0 p1 w8 g/ ^⑨一般情況下,CPLD的功耗要比FPGA大,且集成度越高越明顯。
" D( Q9 I* C6 V ' f: K w5 r: k2 D M U
CPLD的功耗要比FPGA小吧,6 N4 s! s/ k8 O; @- | u, m2 f
( D/ r& M v- P+ N$ L6 VFPGA的資源豐富2 V3 i$ X. o u9 w: p* C8 d, T
8 v7 j: T5 B: }; l0 e" p
cpld是熔絲結構的,fpga是基於ram結構的。9 s$ ^" S- m/ i" o) {5 s) |
cpld比fpga生產成本高5 G7 k% X1 G' X
複雜的信號處理通常是fpga來做 |
|