|
2#
樓主 |
發表於 2006-12-31 08:34:04
|
只看該作者
FPGA與CPLD的最大區別是什麼
系統的比較,與大家共用:1 w' I% X6 |3 _, W
儘管FPGA和CPLD都是可編程ASIC器件,有很多共同特點,但由於CPLD和FPGA結構上的差異,具有各自的特點:: z9 }' e2 w1 |9 o) j5 a
J! x- R* q0 v8 Z& l
①CPLD更適合完成各種演算法和組合邏輯,FP GA更適合於完成時序邏輯。換句話說,FPGA更適合於觸發器豐富的結構,而CPLD更適合於觸發器有限而乘積項豐富的結構。2 f( v& P! G& ], a' e0 \& ?0 l( H
[3 Z* ^/ z8 M②CPLD的連續式佈線結構決定了它的時序延遲是均勻的和可預測的,而FPGA的分段式佈線結構決定了其延遲的不可預測性。
) g0 f1 h1 H) N7 S& s$ H) ]. Y p
% G7 T# T6 k. z) o! g# @③在編程上FPGA比CPLD具有更大的靈活性。CPLD通過修改具有固定內連電路的邏輯功能來編程,FPGA主要通過改變內部連線的佈線來編程;FP GA可在邏輯門下編程,而CPLD是在邏輯塊下編程。
/ v& `: u! _% x& L; N4 v' g% c( R. {. K
' c, Z- ?7 ~0 E; }④FPGA的集成度比CPLD高,具有更複雜的佈線結構和邏輯實現。
; C. |8 l' z( \2 K9 S
7 Z$ V% }3 g3 x% \⑤CPLD比FPGA使用起來更方便。CPLD的編程採用E2PROM或FASTFLASH技術,無需外部記憶體晶片,使用簡單。而FPGA的編程資訊需存放在外部記憶體上,使用方法複雜。
* [4 T# y# X% f, Z: B- m* d% A" M
⑥CPLD的速度比FPGA快,並且具有較大的時間可預測性。這是由於FPGA是門級編程,並且CLB之間採用分散式互聯,而CPLD是邏輯塊級編程,並且其邏輯塊之間的互聯是集總式的。$ A! d& x) W# `" Y
( P; f \0 ~) v6 Q* S⑦在編程方式上,CPLD主要是基於E2PROM或FLASH記憶體編程,編程次數可達1萬次,優點是系統斷電時編程資訊也不丟失。CPLD又可分為在編程器上編程和在系統編程兩類。FPGA大部分是基於SRAM編程,編程資訊在系統斷電時丟失,每次上電時,需從器件外部將編程資料重新寫入SRAM中。其優點是可以編程任意次,可在工作中快速編程,從而實現板級和系統級的動態配置。
3 B% v6 @3 b& y' T2 R1 j
+ t. @* L6 n/ R6 f) b⑧CPLD保密性好,FPGA保密性差。
0 p' T+ I ]# {1 w% d( J+ G8 }7 U& @4 U2 }( E P7 s3 n7 ~ C" Y
⑨一般情況下,CPLD的功耗要比FPGA大,且集成度越高越明顯。
' G, C0 @5 c! K! x+ K* t" Z' @
" W/ {( `/ I. mCPLD的功耗要比FPGA小吧,, \" b. z) R' q F) a
; s, p, @) F% K* ?+ ^! ]* s- e& [
FPGA的資源豐富
( d6 C& d, n0 H% L4 a8 k
r) X" u- }1 T3 Xcpld是熔絲結構的,fpga是基於ram結構的。
+ C% l8 [+ j: I* K v9 Acpld比fpga生產成本高2 q3 c& v: _2 O% w& P/ c1 v
複雜的信號處理通常是fpga來做 |
|