|
2#
樓主 |
發表於 2006-12-31 08:34:04
|
只看該作者
FPGA與CPLD的最大區別是什麼
系統的比較,與大家共用:
/ a7 ^+ d+ G, S儘管FPGA和CPLD都是可編程ASIC器件,有很多共同特點,但由於CPLD和FPGA結構上的差異,具有各自的特點:. c9 i# [* H: U
! ]& l. O: _$ q
①CPLD更適合完成各種演算法和組合邏輯,FP GA更適合於完成時序邏輯。換句話說,FPGA更適合於觸發器豐富的結構,而CPLD更適合於觸發器有限而乘積項豐富的結構。
% b w+ g4 O) `; z+ w$ {( ^! k9 n8 w; F9 j/ C! I, Q
②CPLD的連續式佈線結構決定了它的時序延遲是均勻的和可預測的,而FPGA的分段式佈線結構決定了其延遲的不可預測性。
' Y- r0 C; _& q6 Z* j$ e2 w+ M8 A% Y1 u
③在編程上FPGA比CPLD具有更大的靈活性。CPLD通過修改具有固定內連電路的邏輯功能來編程,FPGA主要通過改變內部連線的佈線來編程;FP GA可在邏輯門下編程,而CPLD是在邏輯塊下編程。6 h& j7 |/ K; c0 @" H2 R
+ }+ X0 ]; ?" D, X0 j/ D \. D5 z④FPGA的集成度比CPLD高,具有更複雜的佈線結構和邏輯實現。) \6 H+ ]# S! N6 }* k4 ~
1 a& `" C& z) H' S' \
⑤CPLD比FPGA使用起來更方便。CPLD的編程採用E2PROM或FASTFLASH技術,無需外部記憶體晶片,使用簡單。而FPGA的編程資訊需存放在外部記憶體上,使用方法複雜。
7 M8 h4 F! m! T, T A* i( ?) G& X/ P! g; d9 h9 @6 m
⑥CPLD的速度比FPGA快,並且具有較大的時間可預測性。這是由於FPGA是門級編程,並且CLB之間採用分散式互聯,而CPLD是邏輯塊級編程,並且其邏輯塊之間的互聯是集總式的。
2 e: c6 v* T! V/ g1 Q
$ ^5 E0 L3 g2 I+ b+ ~⑦在編程方式上,CPLD主要是基於E2PROM或FLASH記憶體編程,編程次數可達1萬次,優點是系統斷電時編程資訊也不丟失。CPLD又可分為在編程器上編程和在系統編程兩類。FPGA大部分是基於SRAM編程,編程資訊在系統斷電時丟失,每次上電時,需從器件外部將編程資料重新寫入SRAM中。其優點是可以編程任意次,可在工作中快速編程,從而實現板級和系統級的動態配置。
: J# T7 R5 |9 g6 P/ l3 p
' w: D3 D; M5 {2 }9 r0 q) l6 n( T⑧CPLD保密性好,FPGA保密性差。
$ J; `3 L6 B6 k8 N
# `2 g: f! Y5 L3 ]# u! }⑨一般情況下,CPLD的功耗要比FPGA大,且集成度越高越明顯。 4 b0 |9 O2 e% K6 a
( |, w3 v, R' ^. i
CPLD的功耗要比FPGA小吧,9 d$ f4 o) Q: K$ ^, g
& {, F& [6 }2 [% r: gFPGA的資源豐富
, R! t5 s% Q3 g, S ) X, V/ h3 s, l* {
cpld是熔絲結構的,fpga是基於ram結構的。
& Y4 J" E$ q9 ^cpld比fpga生產成本高( l9 r; f1 x4 n* e& I- o
複雜的信號處理通常是fpga來做 |
|