|
2#
樓主 |
發表於 2006-12-31 08:34:04
|
只看該作者
FPGA與CPLD的最大區別是什麼
系統的比較,與大家共用:
1 e& w8 E5 p( G4 ^+ P6 Z* d% e% b( d儘管FPGA和CPLD都是可編程ASIC器件,有很多共同特點,但由於CPLD和FPGA結構上的差異,具有各自的特點:0 W) K5 v4 }* Q' M7 f# Q! S* a
% j& v, U0 P0 C8 h! r2 D) Q" a/ }
①CPLD更適合完成各種演算法和組合邏輯,FP GA更適合於完成時序邏輯。換句話說,FPGA更適合於觸發器豐富的結構,而CPLD更適合於觸發器有限而乘積項豐富的結構。
* t! L& f0 @% g I5 T' B
1 k/ ?2 M5 l/ Q( @0 i1 R②CPLD的連續式佈線結構決定了它的時序延遲是均勻的和可預測的,而FPGA的分段式佈線結構決定了其延遲的不可預測性。* C" X' q9 W/ l' {0 j7 ~9 A! a
, F4 s% {- U4 D. {6 x2 j4 f8 @
③在編程上FPGA比CPLD具有更大的靈活性。CPLD通過修改具有固定內連電路的邏輯功能來編程,FPGA主要通過改變內部連線的佈線來編程;FP GA可在邏輯門下編程,而CPLD是在邏輯塊下編程。
1 D5 l( G9 f6 f; B3 E
9 u2 X! X# L8 }, J- S2 R④FPGA的集成度比CPLD高,具有更複雜的佈線結構和邏輯實現。: J; j o: |! y% w: R) _% ^3 ~
$ @/ f0 ~ J/ e6 W⑤CPLD比FPGA使用起來更方便。CPLD的編程採用E2PROM或FASTFLASH技術,無需外部記憶體晶片,使用簡單。而FPGA的編程資訊需存放在外部記憶體上,使用方法複雜。
' B. Z5 ?3 Y) g/ Z9 }2 ~) K+ d- g# E( P" x6 ^1 a' h+ p2 `
⑥CPLD的速度比FPGA快,並且具有較大的時間可預測性。這是由於FPGA是門級編程,並且CLB之間採用分散式互聯,而CPLD是邏輯塊級編程,並且其邏輯塊之間的互聯是集總式的。3 X5 V- k6 `! @, e# L+ v
0 b: \7 M6 M8 b4 A
⑦在編程方式上,CPLD主要是基於E2PROM或FLASH記憶體編程,編程次數可達1萬次,優點是系統斷電時編程資訊也不丟失。CPLD又可分為在編程器上編程和在系統編程兩類。FPGA大部分是基於SRAM編程,編程資訊在系統斷電時丟失,每次上電時,需從器件外部將編程資料重新寫入SRAM中。其優點是可以編程任意次,可在工作中快速編程,從而實現板級和系統級的動態配置。/ D- `) K0 ]# W. F" R: g$ p7 G
5 k* Q1 w( [( V5 o3 M1 T; R& [
⑧CPLD保密性好,FPGA保密性差。5 v/ x2 N: W& O. E
) z4 e4 B+ G9 [' ?' i3 e, l; ?5 ?
⑨一般情況下,CPLD的功耗要比FPGA大,且集成度越高越明顯。 0 f' B, G. n; v: W% s, I
7 L3 Y" J+ A* ^* n* u. o JCPLD的功耗要比FPGA小吧,5 I( e! ^$ M8 U% Y$ _
9 p+ ~5 h9 {6 {5 R1 t6 k% q( C) oFPGA的資源豐富5 s% K5 j- n6 X7 V1 ~
: @# W B2 J' J& a) a6 G
cpld是熔絲結構的,fpga是基於ram結構的。
1 Q; W$ q; o) j4 i( zcpld比fpga生產成本高
. B; ~1 @; U- z" L% q複雜的信號處理通常是fpga來做 |
|