|
樓主 |
發表於 2006-12-31 08:34:04
|
顯示全部樓層
FPGA與CPLD的最大區別是什麼
系統的比較,與大家共用:- G" [! \! b, \4 p9 d, N, a
儘管FPGA和CPLD都是可編程ASIC器件,有很多共同特點,但由於CPLD和FPGA結構上的差異,具有各自的特點: z' p5 p% a3 s
; g$ U% ?" X# r9 }3 f- Y9 _
①CPLD更適合完成各種演算法和組合邏輯,FP GA更適合於完成時序邏輯。換句話說,FPGA更適合於觸發器豐富的結構,而CPLD更適合於觸發器有限而乘積項豐富的結構。% t, S1 L$ T0 ]2 R
/ K5 o2 Z1 B$ _( ~7 s# [$ c
②CPLD的連續式佈線結構決定了它的時序延遲是均勻的和可預測的,而FPGA的分段式佈線結構決定了其延遲的不可預測性。& u- D0 ?& C7 h$ N9 V5 a \$ M5 Z6 m
0 H: S. Y( u9 u, s
③在編程上FPGA比CPLD具有更大的靈活性。CPLD通過修改具有固定內連電路的邏輯功能來編程,FPGA主要通過改變內部連線的佈線來編程;FP GA可在邏輯門下編程,而CPLD是在邏輯塊下編程。
7 K. O5 O. q$ ~! D4 N- m' ^6 z
% h" d* c/ ^* P# z( V④FPGA的集成度比CPLD高,具有更複雜的佈線結構和邏輯實現。
' H/ {$ Q8 h! U8 p! m8 I% h% P" P- R3 h/ y' W, s6 q7 H
⑤CPLD比FPGA使用起來更方便。CPLD的編程採用E2PROM或FASTFLASH技術,無需外部記憶體晶片,使用簡單。而FPGA的編程資訊需存放在外部記憶體上,使用方法複雜。
0 h [4 U2 M& Y/ g$ E3 ?' P A$ G8 K
⑥CPLD的速度比FPGA快,並且具有較大的時間可預測性。這是由於FPGA是門級編程,並且CLB之間採用分散式互聯,而CPLD是邏輯塊級編程,並且其邏輯塊之間的互聯是集總式的。6 K3 x7 ~- Y( i9 A I# u9 S
$ o$ _& `' u2 J! N+ m" ~$ p# z2 T* m⑦在編程方式上,CPLD主要是基於E2PROM或FLASH記憶體編程,編程次數可達1萬次,優點是系統斷電時編程資訊也不丟失。CPLD又可分為在編程器上編程和在系統編程兩類。FPGA大部分是基於SRAM編程,編程資訊在系統斷電時丟失,每次上電時,需從器件外部將編程資料重新寫入SRAM中。其優點是可以編程任意次,可在工作中快速編程,從而實現板級和系統級的動態配置。6 i5 [. [' W! p! l
9 P4 c3 s- M, G0 o+ |, n⑧CPLD保密性好,FPGA保密性差。, }1 U C, W; k! a4 [
' y2 k s8 G; D: M5 R& w/ @
⑨一般情況下,CPLD的功耗要比FPGA大,且集成度越高越明顯。 7 y& ]# E: x7 q$ Z% c
: I) W! |6 i& |- U2 @( n7 vCPLD的功耗要比FPGA小吧,% Q( Z7 G0 l6 Y+ H
, `$ B6 Z! H q7 C
FPGA的資源豐富/ ^! X' U" ~& A; s
* ^0 [ e4 z- R1 `% I% ccpld是熔絲結構的,fpga是基於ram結構的。
0 E( D: i1 N4 G" d" lcpld比fpga生產成本高5 F! P- E6 i4 Y9 {( P
複雜的信號處理通常是fpga來做 |
|