FPGA和CPLD的區別有哪些
時間(jian):2017-08-04作者:互聯網
FPGA和CPLD的區別有哪些呢?盡管FPGA和(he)CPLD都是(shi)(shi)可編(bian)程(cheng)ASIC器件(jian),有很多共同(tong)特點,但是(shi)(shi)也還是(shi)(shi)有很多區別(bie)的,我們一起來看(kan)下:
1)FGPGA和CPLD在概念上的區別 PLD(Programmable Logic Device)是可編程邏輯器件的(de)總稱,早期多EEPROM工(gong)藝,基于乘(cheng)積項(Product Term)結構。 FPGA (Field Programmable Gate Arry)是指現場(chang)可編程門陣列,早由Xilinx公司(si)發(fa)明(ming)。多(duo)為SRAM 工藝,基于查找表(Look Up Table)結構,要外掛配置(zhi)用的EPROM。 Xilinx把SRAM工(gong)藝,要外掛配置用的(de)EPROM的(de)PLD叫(jiao)FPGA,把Flash工(gong)藝(類似EEPROM工(gong)藝),乘(cheng)積項結構的(de)PLD叫(jiao)CPLD; Altera把自己(ji)的PLD產品:MAX系列(EEPROM工藝),FLEX/ACEX/APEX系列(SRAM工藝)都叫作CPLD,即復雜PLD(Complex PLD)。 由于(yu)FLEX/ACEX/APEX系列也是SRAM工藝,要外(wai)掛配置(zhi)用(yong)的(de)EPROM,用(yong)法和Xilinx的(de)FPGA一樣,所以很多人(ren)把Altera的(de)FELX/ACEX/APEX系列產品也叫做FPGA. 2)FGPGA和CPLD在結構上的主要區別 邏輯塊的(de)粒度不(bu)同 邏輯(ji)塊(kuai)(kuai)指PLD 芯片中按結構劃(hua)分(fen)的(de)功能模塊(kuai)(kuai),它有相對獨立的(de)組(zu)合邏輯(ji)陣(zhen)列,塊(kuai)(kuai)間靠互連系統聯系.FPGA 中的(de)CLB 是(shi)邏輯(ji)塊(kuai)(kuai),其特點是(shi)粒(li)度小,輸入變(bian)量為4~8 ,輸出為1~2 ,因而只(zhi)是(shi)一個邏輯(ji)單元,每塊(kuai)(kuai)芯片中有幾(ji)(ji)十(shi)(shi)到近千個這樣的(de)單元. CPLD中邏輯(ji)塊(kuai)(kuai)粒(li)度較大,通常有數(shu)十(shi)(shi)個輸入端(duan)和一、二十(shi)(shi)個輸出端(duan),每塊(kuai)(kuai)芯片只(zhi)分(fen)成幾(ji)(ji)塊(kuai)(kuai). 有些集成度較低(di)的(de)(如ATV2500) 則干(gan)脆不分(fen)塊(kuai)(kuai). 顯然(ran),如此(ci)粗(cu)大的(de)分(fen)塊(kuai)(kuai)結構使用時不如FPGA 靈活(huo). 邏輯之間的互連結構(gou)不同 CPLD 的(de)邏輯塊(kuai)(kuai)互連(lian)是集總式的(de),其(qi)特(te)點(dian)是等延時,任意兩塊(kuai)(kuai)之(zhi)間的(de)延時是相等的(de),這種(zhong)結構給設計者帶來很大(da)方便; FPGA 的(de)互連(lian)則是分布式的(de),其(qi)延時與(yu)系統的(de)布局有(you)關, 3)FGPGA和CPLD在應用范圍上的區別 邏輯系統通常可分兩(liang)大類(lei)型(xing): 1、邏輯密集型(xing): 如高速緩(huan)存(cun)控(kong)制、DRAM 控(kong)制和(he)DMA 控(kong)制等,它們僅需要很少的數(shu)據處理能力(li),但(dan)邏輯關系一般都復雜 2、數(shu)(shu)據(ju)密(mi)集型(xing): 數(shu)(shu)據(ju)密(mi)集型(xing)需要大量數(shu)(shu)據(ju)處理能力(li),其(qi)應用多見于通訊領(ling)域. 為了(le)選擇合適的(de)PLD 芯(xin)片,應(ying)從速(su)度與性能、邏輯利(li)用(yong)率(lv)、使用(yong)方便性、編程技術等方面進(jin)行考查。 速度與性能: 數據密(mi)集型(xing)(xing)系(xi)(xi)統,比如,通訊(xun)中(zhong)對信號進行處理的(de)(de)二維卷積器(qi)(qi). 在實現這(zhe)一(yi)算法(fa)的(de)(de)邏(luo)輯系(xi)(xi)統中(zhong),每(mei)個(ge)單元(yuan)所(suo)需要的(de)(de)輸(shu)(shu)(shu)入(ru)(ru)端(duan)較少,但(dan)需要很(hen)多這(zhe)樣的(de)(de)邏(luo)輯單元(yuan). 這(zhe)些(xie)要求與FPGA 的(de)(de)結構相吻合. 因(yin)(yin)為FPGA 的(de)(de)粒度(du)小(xiao),其(qi)輸(shu)(shu)(shu)入(ru)(ru)到輸(shu)(shu)(shu)出的(de)(de)傳(chuan)輸(shu)(shu)(shu)延(yan)遲時(shi)間(jian)很(hen)短,因(yin)(yin)而能獲(huo)得高的(de)(de)單元(yuan)速度(du).而控(kong)制密(mi)集型(xing)(xing)系(xi)(xi)統通常是輸(shu)(shu)(shu)入(ru)(ru)密(mi)集型(xing)(xing)的(de)(de),邏(luo)輯復雜(za),CLB 的(de)(de)輸(shu)(shu)(shu)入(ru)(ru)端(duan)往往不夠用(yong),需把(ba)多個(ge)CLB 串行級聯(lian)使用(yong),同(tong)時(shi)CLB 之間(jian)的(de)(de)連接(jie)有可能通過多級通用(yong)PI 或長線,導致速度(du)急劇下降. 因(yin)(yin)而實際(ji)的(de)(de)傳(chuan)輸(shu)(shu)(shu)延(yan)遲時(shi)間(jian)要大(da)CPLD. 比如,實現一(yi)個(ge)DRAM 控(kong)制器(qi)(qi),它由四(si)個(ge)功能塊(kuai)組(zu)成:刷新(xin)(xin)狀態機、刷新(xin)(xin)地(di)址計數器(qi)(qi)、刷新(xin)(xin)定時(shi)器(qi)(qi)和(he)地(di)址選擇開關,需要的(de)(de)輸(shu)(shu)(shu)入(ru)(ru)端(duan)有幾十個(ge),顯然用(yong)CPLD 更合適. 邏輯利用率: 邏輯利用率是指器件中資(zi)源(yuan)被(bei)利用的(de)(de)程度. CPLD 邏輯寄(ji)存(cun)器少(shao),FPGA 邏輯弱而寄(ji)存(cun)器多(duo),這正好與控制密集(ji)型系統與數據密集(ji)型系統相對(dui)應. 比如, 規模同為6000PLD 門的(de)(de)is2pLSI1032 有(you)192 個寄(ji)存(cun)器;而XC4005E 有(you)616 個寄(ji)存(cun)器. 因(yin)此從邏輯利用率角度,對(dui)于組(zu)合電(dian)路(lu)較(jiao)復雜的(de)(de)設計(ji),宜(yi)采用顆(ke)粒(li)較(jiao)粗的(de)(de)CPLD ,觸發器較(jiao)多(duo)的(de)(de)設計(ji),宜(yi)采用用細顆(ke)粒(li)的(de)(de)FPGA. 使用方便性: 使用方便首先要考慮性能(neng)的可預測(ce)性,在(zai)這點上CPLD 優于FPGA. 對于CPLD ,通常只要輸入(ru)、輸出端(duan)口數,內部門和觸(chu)發(fa)器數目不超過芯片(pian)的資源并有一定(ding)裕量,總是可以(yi)實現的. 而FPGA ,則很難預測(ce),因為(wei)完成(cheng)設計(ji)所需的CLB 邏輯(ji)級數是無法事實確定(ding)的,只有靠多(duo)次試驗(yan)才(cai)能(neng)得(de)到(dao)滿意的結果. 編程技術: FPGA 編程信息存放在外(wai)部存儲(chu)器(qi),要附加存儲(chu)器(qi)芯片,其保密性(xing)差,斷電后數據易丟失. CPLD采用佳的E2CMOS技(ji)術(shu)。 以上從概念、結構和應用范圍三個角度,對FPGA和CPLD的區別進行了簡單分析,希望對大家理解和學習(xi)FPGA有所幫助。
發表評論
|
關注華清遠見
關注創客學院