|
FPGA與CPLD的最大區別是什麼
系統的比較,與大家共用:- V0 c5 Y0 j1 |/ @
儘管FPGA和CPLD都是可編程ASIC器件,有很多共同特點,但由於CPLD和FPGA結構上的差異,具有各自的特點:( G2 R& H! P& B4 K' A
+ S+ `) ^) f1 W. C; X( U①CPLD更適合完成各種演算法和組合邏輯,FP GA更適合於完成時序邏輯。換句話說,FPGA更適合於觸發器豐富的結構,而CPLD更適合於觸發器有限而乘積項豐富的結構。7 I$ a5 f$ ?# U6 H# h3 Y
+ q" \& X. ]- Y
②CPLD的連續式佈線結構決定了它的時序延遲是均勻的和可預測的,而FPGA的分段式佈線結構決定了其延遲的不可預測性。4 ^/ x$ K4 g1 C
. c% Q3 n& f2 ^: |/ b2 u/ ?' N③在編程上FPGA比CPLD具有更大的靈活性。CPLD通過修改具有固定內連電路的邏輯功能來編程,FPGA主要通過改變內部連線的佈線來編程;FP GA可在邏輯門下編程,而CPLD是在邏輯塊下編程。3 X' _0 r% Y* N. u: F& f
5 k% {' Q9 E3 S. M④FPGA的集成度比CPLD高,具有更複雜的佈線結構和邏輯實現。
6 f! r; T0 ~/ u8 R1 Y% ]5 W% s! K- L+ Q. w u: q: W4 W" b
⑤CPLD比FPGA使用起來更方便。CPLD的編程採用E2PROM或FASTFLASH技術,無需外部記憶體晶片,使用簡單。而FPGA的編程資訊需存放在外部記憶體上,使用方法複雜。
' p7 k# A9 F: l6 V& _' |! u; `. v( W5 z! B# s( h/ g1 ^" I8 @
⑥CPLD的速度比FPGA快,並且具有較大的時間可預測性。這是由於FPGA是門級編程,並且CLB之間採用分散式互聯,而CPLD是邏輯塊級編程,並且其邏輯塊之間的互聯是集總式的。5 f/ q3 t7 A$ W
5 u! q2 ]8 E8 ~! N, \2 i. D/ ]2 C
⑦在編程方式上,CPLD主要是基於E2PROM或FLASH記憶體編程,編程次數可達1萬次,優點是系統斷電時編程資訊也不丟失。CPLD又可分為在編程器上編程和在系統編程兩類。FPGA大部分是基於SRAM編程,編程資訊在系統斷電時丟失,每次上電時,需從器件外部將編程資料重新寫入SRAM中。其優點是可以編程任意次,可在工作中快速編程,從而實現板級和系統級的動態配置。) E9 N& J& I# N2 ?0 ^
% L0 m4 E; R4 f2 h7 f
⑧CPLD保密性好,FPGA保密性差。4 l8 X% K6 e( Z7 P. u
% E! ~# S6 ^( [0 d0 m8 T; e# F
⑨一般情況下,CPLD的功耗要比FPGA大,且集成度越高越明顯。
7 E1 K. q( R/ @( f% r- c) N" M
( z. ]! ?5 G, c) k: n$ zCPLD的功耗要比FPGA小吧,
# j- c7 Z3 s1 u. Z H
) K9 `& V" G; r: x# cFPGA的資源豐富
5 [$ {6 s! e0 D9 d; i+ V
9 v5 ~. w4 E0 [4 C7 q9 V5 B3 R6 Ecpld是熔絲結構的,fpga是基於ram結構的。
) n$ U# T+ G6 E" w% V+ ocpld比fpga生產成本高
( w/ T- E$ p+ L3 R k1 @複雜的信號處理通常是fpga來做 |
|