|
2#
樓主 |
發表於 2006-12-31 08:34:04
|
只看該作者
FPGA與CPLD的最大區別是什麼
系統的比較,與大家共用:& e$ [4 G# a/ t# L. I/ s8 U
儘管FPGA和CPLD都是可編程ASIC器件,有很多共同特點,但由於CPLD和FPGA結構上的差異,具有各自的特點:
2 B- B+ r5 {% V. e& ~) J; a. m" x% w7 U& `( z
①CPLD更適合完成各種演算法和組合邏輯,FP GA更適合於完成時序邏輯。換句話說,FPGA更適合於觸發器豐富的結構,而CPLD更適合於觸發器有限而乘積項豐富的結構。" w% Q; o8 a. G" f
4 X+ P- U3 q& w1 o$ ^& @, {6 c②CPLD的連續式佈線結構決定了它的時序延遲是均勻的和可預測的,而FPGA的分段式佈線結構決定了其延遲的不可預測性。
& Q. x4 g x! I) X+ G7 d" H3 J9 |! q' K4 s5 {9 L* P
③在編程上FPGA比CPLD具有更大的靈活性。CPLD通過修改具有固定內連電路的邏輯功能來編程,FPGA主要通過改變內部連線的佈線來編程;FP GA可在邏輯門下編程,而CPLD是在邏輯塊下編程。
: }: U* m4 f# C D7 v, {% a, J/ V. ?2 K& \
④FPGA的集成度比CPLD高,具有更複雜的佈線結構和邏輯實現。
/ F( W5 C) J7 k! q: J$ N5 W5 ^. j: X4 |# V" }
⑤CPLD比FPGA使用起來更方便。CPLD的編程採用E2PROM或FASTFLASH技術,無需外部記憶體晶片,使用簡單。而FPGA的編程資訊需存放在外部記憶體上,使用方法複雜。: m; k4 g, X- ]
8 S' X9 [9 V3 P* H0 f, m: z⑥CPLD的速度比FPGA快,並且具有較大的時間可預測性。這是由於FPGA是門級編程,並且CLB之間採用分散式互聯,而CPLD是邏輯塊級編程,並且其邏輯塊之間的互聯是集總式的。
; X" D6 ^8 {! b& N8 p. x5 m; D0 S0 O% A: ^
⑦在編程方式上,CPLD主要是基於E2PROM或FLASH記憶體編程,編程次數可達1萬次,優點是系統斷電時編程資訊也不丟失。CPLD又可分為在編程器上編程和在系統編程兩類。FPGA大部分是基於SRAM編程,編程資訊在系統斷電時丟失,每次上電時,需從器件外部將編程資料重新寫入SRAM中。其優點是可以編程任意次,可在工作中快速編程,從而實現板級和系統級的動態配置。) t- P, c b8 @) o6 V: J. c4 M
, {0 B* i6 T* r% ?- v1 Q: {⑧CPLD保密性好,FPGA保密性差。
2 N. U F3 s, B1 U" f# D6 F1 o0 k6 u% x( b4 x. o
⑨一般情況下,CPLD的功耗要比FPGA大,且集成度越高越明顯。 8 a% h# Y* ^! X* S6 F5 i
) [/ Y3 L! ]# E# G3 L' R b% i7 }CPLD的功耗要比FPGA小吧,9 ]; H& P5 t2 s$ m/ {% q) t# [
5 ^) |# n* D6 R, VFPGA的資源豐富2 p, u3 o& S" }3 U
* G' z7 ]9 |! P$ m( n" Qcpld是熔絲結構的,fpga是基於ram結構的。
/ p d: I2 V# v. Hcpld比fpga生產成本高* B) `' a0 n) A' O" v
複雜的信號處理通常是fpga來做 |
|