數(shù)字編程是數(shù)字電路非常重要的一門課程,FPGA和CPLD是兩個重要的編程工具,本文帶您認識fpga和cpld的聯(lián)系和區(qū)別。
FPGA(Field-Programmable Gate Array),即現(xiàn)場可編程門陣列,它是在PAL、GAL、CPLD等可編程器件的基礎(chǔ)上進一步發(fā)展的產(chǎn)物。它是作為專用集成電路(ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點。
CPLD(Complex Programmable Logic Device)復(fù)雜可編程邏輯器件,是從PAL和GAL器件發(fā)展出來的器件,相對而言規(guī)模大,結(jié)構(gòu)復(fù)雜,屬于大規(guī)模集成電路范圍。是一種用戶根據(jù)各自需要而自行構(gòu)造邏輯功能的數(shù)字集成電路。其基本設(shè)計方法是借助集成開發(fā)軟件平臺,用原理圖、硬件描述語言等方法,生成相應(yīng)的目標文件,通過下載電纜(“在系統(tǒng)”編程)將代碼傳送到目標芯片中,實現(xiàn)設(shè)計的數(shù)字系統(tǒng)。
盡管FPGA和CPLD都是可編程ASIC器件,有很多共同特點,但由于CPLD和FPGA結(jié)構(gòu)上的差異,具有各自的特點:
1、在編程上FPGA比CPLD具有更大的靈活性?CPLD通過修改具有固定內(nèi)連電路的邏輯功能來編程,FPGA主要通過改變內(nèi)部連線的布線來編程;FP GA可在邏輯門下編程,而CPLD是在邏輯塊下編程?
2、CPLD比FPGA使用起來更方便?CPLD的編程采用E2PROM或FASTFLASH技術(shù),無需外部存儲器芯片,使用簡單?而FPGA的編程信息需存放在外部存儲器上,使用方法復(fù)雜?
3、CPLD的速度比FPGA快,并且具有較大的時間可預(yù)測性?這是由于FPGA是門級編程,并且CLB之間采用分布式互聯(lián),而CPLD是邏輯塊級編程,并且其邏輯塊之間的互聯(lián)是集總式的?
4、在編程方式上,CPLD主要是基于E2PROM或FLASH存儲器編程,編程次數(shù)可達1萬次,優(yōu)點是系統(tǒng)斷電時編程信息也不丟失?CPLD又可分為在編程器上編程和在系統(tǒng)編程兩類?FPGA大部分是基于SRAM編程,編程信息在系統(tǒng)斷電時丟失,每次上電時,需從器件外部將編程數(shù)據(jù)重新寫入SRAM中?其優(yōu)點是可以編程任意次,可在工作中快速編程,從而實現(xiàn)板級和系統(tǒng)級的動態(tài)配置?
5、CPLD保密性好,FPGA保密性差?
6、一般情況下,CPLD的功耗要比FPGA大,且集成度越高越明顯?
7、FPGA的集成度比CPLD高,具有更復(fù)雜的布線結(jié)構(gòu)和邏輯實現(xiàn)?
8、CPLD更適合完成各種算法和組合邏輯,FP GA更適合于完成時序邏輯?換句話說,FPGA更適合于觸發(fā)器豐富的結(jié)構(gòu),而CPLD更適合于觸發(fā)器有限而乘積項豐富的結(jié)構(gòu)?
9、CPLD的連續(xù)式布線結(jié)構(gòu)決定了它的時序延遲是均勻的和可預(yù)測的,而FPGA的分段式布線結(jié)構(gòu)決定了其延遲的不可預(yù)測性?
-
FPGA
+關(guān)注
關(guān)注
1643文章
21954瀏覽量
613978 -
cpld
+關(guān)注
關(guān)注
32文章
1257瀏覽量
170977
發(fā)布評論請先 登錄
FPGA與CPLD的區(qū)別
FPGA與CPLD的概念及基本使用和區(qū)別
FPGA與CPLD的區(qū)別是什么
cpld fpga 區(qū)別
關(guān)于CPLD和FPGA的區(qū)別

cpld和fpga的區(qū)別,cpld和fpga的優(yōu)缺點
CPLD和FPGA兩者的區(qū)別

CPLD和FPGA的區(qū)別是什么

評論