|
樓主 |
發表於 2006-12-31 08:34:04
|
顯示全部樓層
FPGA與CPLD的最大區別是什麼
系統的比較,與大家共用:8 H/ p0 y2 d" x+ B$ U, i6 W
儘管FPGA和CPLD都是可編程ASIC器件,有很多共同特點,但由於CPLD和FPGA結構上的差異,具有各自的特點:) c/ k* f( V2 y v K
* I4 ^5 l/ P" S7 Z) p: t# o
①CPLD更適合完成各種演算法和組合邏輯,FP GA更適合於完成時序邏輯。換句話說,FPGA更適合於觸發器豐富的結構,而CPLD更適合於觸發器有限而乘積項豐富的結構。& K) y! [5 \9 D% D5 {' G. k' \
+ t1 V8 H. a9 W* ~5 G% i②CPLD的連續式佈線結構決定了它的時序延遲是均勻的和可預測的,而FPGA的分段式佈線結構決定了其延遲的不可預測性。/ t" n- g6 ] E6 w
9 M; ?0 J$ f- X4 W2 S3 o③在編程上FPGA比CPLD具有更大的靈活性。CPLD通過修改具有固定內連電路的邏輯功能來編程,FPGA主要通過改變內部連線的佈線來編程;FP GA可在邏輯門下編程,而CPLD是在邏輯塊下編程。/ E% H5 t3 @( @# X5 }9 O
% X) Q. t: j; |0 Y* I" Q④FPGA的集成度比CPLD高,具有更複雜的佈線結構和邏輯實現。8 n" t6 z8 X h; s* T2 U; l `
+ ?' t+ D7 _4 s9 ]1 s" J⑤CPLD比FPGA使用起來更方便。CPLD的編程採用E2PROM或FASTFLASH技術,無需外部記憶體晶片,使用簡單。而FPGA的編程資訊需存放在外部記憶體上,使用方法複雜。
5 g$ f4 Y$ W1 }2 Q5 I) z9 s- \$ w5 }$ A5 D/ h% E4 Q0 N: g4 v) b
⑥CPLD的速度比FPGA快,並且具有較大的時間可預測性。這是由於FPGA是門級編程,並且CLB之間採用分散式互聯,而CPLD是邏輯塊級編程,並且其邏輯塊之間的互聯是集總式的。
$ Q$ I# P' g2 ^$ M9 R! v9 C& e$ ~9 Y) o3 R2 J" q7 g2 W
⑦在編程方式上,CPLD主要是基於E2PROM或FLASH記憶體編程,編程次數可達1萬次,優點是系統斷電時編程資訊也不丟失。CPLD又可分為在編程器上編程和在系統編程兩類。FPGA大部分是基於SRAM編程,編程資訊在系統斷電時丟失,每次上電時,需從器件外部將編程資料重新寫入SRAM中。其優點是可以編程任意次,可在工作中快速編程,從而實現板級和系統級的動態配置。" J8 V# S' H4 H/ `6 `6 Y
/ k. U6 u: t. t. K4 f# n+ X⑧CPLD保密性好,FPGA保密性差。9 }: X7 X8 [9 m, x/ s
% C' R" c# V$ z! d( W0 R- g' B$ L) v5 V⑨一般情況下,CPLD的功耗要比FPGA大,且集成度越高越明顯。 ' W# x4 C+ d( g3 j4 |& Q
/ G5 ~5 j' I9 V+ M5 f7 o# a' G1 MCPLD的功耗要比FPGA小吧,
5 X2 d, P" Z; `2 v . i8 e- d9 E0 C4 B& b% y3 \
FPGA的資源豐富
! D- q/ C; Q3 k; a# A
; A' W' H- l/ Y0 h9 B, u) T' Ycpld是熔絲結構的,fpga是基於ram結構的。$ X( G$ P) D8 X3 J' C; V
cpld比fpga生產成本高% U4 b* ]; c( N
複雜的信號處理通常是fpga來做 |
|