CPLD和FPGA兩者的區(qū)別_第1頁
CPLD和FPGA兩者的區(qū)別_第2頁
CPLD和FPGA兩者的區(qū)別_第3頁
CPLD和FPGA兩者的區(qū)別_第4頁
CPLD和FPGA兩者的區(qū)別_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

CPLD和FPGA兩者的區(qū)別CPLD和FPGA都是我們經(jīng)常會用到的器件。有的說有配置芯片的是FPGA,沒有的是CPLD;有的說邏輯資源多的是FPGA,少的是CPLD;有的直接就不做區(qū)分,把他們都叫做FPGA。那么兩者到底有什么區(qū)別呢?下面我們就以Altera公司的CPLD和FPGA為例來說說兩者的區(qū)別。首先我們看一下CPLD的芯片結(jié)構(gòu),搞清楚CPLD是由哪幾部分組成的。下圖是MAX系列CPLD的芯片結(jié)構(gòu)圖:從圖中可以清楚的看出來CPLD主要由三部分組成:Macrocell(宏單元),PIA(可編程連線),和IOControlBlock(IO控制塊)。每個宏單元都與GCLK(全局時鐘)OE(輸出使能)GCLR(清零)等控制信號直接相連,并且延時相同。各宏單元之間也由固定長度的金屬線互連,這樣保證邏輯電路的延時固定。其中宏單元模塊是CPLD的邏輯功能實現(xiàn)單元,是器件的基本單元,我們設(shè)計的邏輯電路就是由宏單元具體實現(xiàn)的。下面我們再來看看宏單元的具體結(jié)構(gòu):一個宏單元主要包括了LABLocalArray(邏輯陣列),Product-TermSelectMatrix(乘積項選擇矩陣)和一個可編程D觸發(fā)器組成。其中邏輯陣列的每一個交叉點都可以通過編程實現(xiàn)導(dǎo)通從而實現(xiàn)與邏輯,乘積項選擇矩陣可實現(xiàn)或邏輯。這兩部分協(xié)同工作,就可以實現(xiàn)一個完整的組合邏輯。輸出可以選擇通過D觸發(fā)器,也可以對觸發(fā)器進行旁路。通過這個結(jié)構(gòu)可以發(fā)現(xiàn),CPLD非常適合實現(xiàn)組合邏輯,再配合后面的觸發(fā)器也能夠?qū)崿F(xiàn)一定的時序邏輯。我們再來以cyclone系列為例看看FPGA的內(nèi)部結(jié)構(gòu):FPGA內(nèi)部主要就是由LAB單元,連線和IO單元組成。一個LAB單元又包含若干個LE模塊。LE模塊是CycloneFPGA的基本邏輯單元,下圖是LE模塊的具體結(jié)構(gòu):初看上去好像比較復(fù)雜,其實最主要的部分就是LUT查找表模塊,以及后面的D觸發(fā)器。其他都是一些清零進位旁路等等控制信號邏輯。也就是說查找表是FPGA最根本的邏輯單元。CycloneFPGA使用的是4輸入LUT查找表。我們設(shè)計的邏輯電路最終都是通過EDA工具把所有可能的結(jié)果計算出來然后儲存在查找表里面。每次根據(jù)輸入信號查找對應(yīng)的結(jié)果,然后輸出就可以了。也就是說FPGA的工作更像是一個RAM,根據(jù)不同的輸入信號(地址)輸出相應(yīng)的數(shù)據(jù)。通過上面的結(jié)構(gòu)圖比較我們就可以清楚的看出來CPLD是由實實在在的組合電路組成的,而FPGA說到底就是一個巨大的查找表!也正是這個根本的差異造成了CPLD和FPGA各方面的不同。除了Altera以外,主要的CPLD和FPGA生產(chǎn)廠商還有Xilinx,Actel,Lattice以及Atmel等。各家公司的產(chǎn)品各有特點,在架構(gòu)上會略有區(qū)別,但基本原理都是相同的。下面我們整理一下CPLD和FPGA的主要區(qū)別:1)CPLD的邏輯陣列更適合可重復(fù)編程的EEPROM或Flash技術(shù)來實現(xiàn)。而FPGA顯然是利用SRAM技術(shù)更合適。2)由于是EEPROM或者Flash工藝決定了CPLD是有一定的擦寫次數(shù)限制的。而FPGA在實際使用中幾乎可以說是無配置次數(shù)限制。3)CPLD由于采用的是EEPROM或者Flash工藝所以配置掉電后不丟失,也就不需要外掛配置芯片。而FPGA采用的是SRAM工藝,配置在掉電后就沒有了,因此需要一個外部配置芯片。4)CPLD的安全性更高。由于配置芯片的存在,F(xiàn)PGA的保密性就會比CPLD略差。邏輯數(shù)據(jù)有可能被讀取。(當然FPGA芯片會有一定的加密措施)5)CPLD由于不需要上電重新配置,所以上電后可以馬上工作。而FPGA上電后需要配置時間,邏輯量的大小配置方式的區(qū)別也會影響配置時間的長短。6)由于CPLD的連續(xù)式布線結(jié)構(gòu),決定了它的時序延時是均勻和固定的。而FPGA采用的分段式布線結(jié)構(gòu)造成了延時不固定。7)由于工藝難度的差異,CPLD一般集成度較低,大多為幾千門或幾萬門的芯片規(guī)模,做到幾十萬門已經(jīng)很困難。而FPGA基于SRAM工藝,集成度更高,可以輕松做到幾十萬門甚至幾百萬門的芯片規(guī)模,最新的FPGA產(chǎn)品已經(jīng)接近千萬門的規(guī)模。8)同樣由于結(jié)構(gòu)的差異,CPLD更適合完成的是復(fù)雜的組合邏輯,如編、譯碼的工作。而FPGA更適合做復(fù)雜的時序邏輯。換句話說就是FPGA更適合觸發(fā)器豐富的邏輯結(jié)構(gòu),CPLD適合于觸發(fā)器有限但是乘積項豐富的邏輯結(jié)構(gòu)。9)也是由于工藝的原因,一般CPLD會比FPGA的功耗高。當然以上只是CPLD和FPGA通常意義上的區(qū)別,技術(shù)是在不斷發(fā)展中的,這些差異也不能一概而論。隨著技術(shù)的發(fā)展,CPLD和FPGA也在不斷的更新當中。Altera在StratixIII系列FPGA以后的產(chǎn)品中調(diào)整了LE的結(jié)構(gòu),如下圖:從原來的一個4輸入查找表加D觸發(fā)器變成了兩個6輸入查找表加兩個D觸發(fā)器。再進一步細化查找表的結(jié)構(gòu)圖如下:一個6輸入查找表又可以細分為一個4輸入查找表和兩個3輸入查找表。無論結(jié)構(gòu)怎么變,只是出于對資源優(yōu)化利用考慮的改變,基本的LUT查找表方式?jīng)]有變。但是新出的MAXII系列和MAXV系列CPLD則從根本上模糊了CPLD和FPGA的區(qū)別。通過閱讀芯片手冊我們可以發(fā)現(xiàn),兩個系列的CPLD雖然名字沒有變,但是架構(gòu)已經(jīng)完全是與FPGA相同的系統(tǒng)架構(gòu)了,最小單元也變成了LUT查找表,宏單元已經(jīng)消失不見了。也許和CPLD還能搭上關(guān)系的就是兩個系列把配置電路集成到了芯片當中,在實際使用中和原有的CPLD保持了相同的使用習(xí)慣。可以說兩個系列的產(chǎn)品已經(jīng)是披著CPLD外衣的FPGA了。從技術(shù)的延續(xù)性上來看,可編程器件技術(shù)大致經(jīng)歷了PROM-PLA-PAL-GAL-EPLD-CPLD和FPGA的發(fā)展過程,CPLD和FPGA是兩個不同的發(fā)展分支。生產(chǎn)廠商似乎在模糊CPLD和FPGA之間的區(qū)別。也許以后只剩下名字的區(qū)別,兩者會統(tǒng)一成一類器件,或者又會出現(xiàn)更新的技術(shù)作為替代。無論技術(shù)如何演進,作為工程師而言,我們要做的就是去把握每種器件的原理,優(yōu)缺點和適用場景,然后在實際的項目中正確選擇,靈活使用。1、是否需要同時學(xué)習(xí)FPGA和CPLD?很多同學(xué)有疑問,是否需要同時學(xué)習(xí)FPGA和CPLD,阿東在此表示,完全沒有必要,以為FPGA和CPLD的設(shè)計語言都是Verilog,至于CPLD和FPGA內(nèi)部結(jié)構(gòu)不一樣,在編碼階段完全

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論