FPGA全稱(cheng)為Field-Programmable Gate Array,中(zhong)文(wen)含義為現(xian)場可編程門(men)陣(zhen)列。FPGA是作(zuo)為專用(yong)集成電(dian)路(ASIC)領域中(zhong)的(de)半定制電(dian)路而(er)出(chu)現(xian)的(de),它(ta)克服了(le)定制電(dian)路的(de)不足,也解決了(le)PAL、GAL、CPLD等可編程器(qi)件(jian)門(men)電(dian)路的(de)缺點(dian)。由于(yu)FPGA具有(you)布線資(zi)源(yuan)豐(feng)富,可重復編程和集成度(du)高,投資(zi)較低的(de)特點(dian),在數字電(dian)路設計領域得到了(le)廣(guang)泛(fan)的(de)應用(yong)。
買(mai) 購小(xiao)編了解(jie)到,fpga主要有Verilog、VHDL和C語(yu)(yu)言(yan)(yan)進行(xing)編程(cheng),常用的還是前面兩種(zhong),雖然(ran)有些國(guo)外公司試圖C語(yu)(yu)言(yan)(yan)替(ti)代VHDL語(yu)(yu)言(yan)(yan)的目的,但(dan)是一般情況(kuang)不使用C語(yu)(yu)言(yan)(yan)進行(xing)編程(cheng)。
包括算(suan)法設計(ji)、代(dai)碼(ma)(ma)(ma)仿真以及設計(ji)、板(ban)機調試(shi),設計(ji)者以及實際(ji)需求建立算(suan)法架構,利用EDA建立設計(ji)方(fang)案或HD編寫設計(ji)代(dai)碼(ma)(ma)(ma),通過代(dai)碼(ma)(ma)(ma)仿真保證設計(ji)方(fang)案符(fu)合(he)實際(ji)要求,最后進行板(ban)級(ji)調試(shi),利用配置電(dian)路將相關文件下載至FPGA芯(xin)片中,驗(yan)證實際(ji)運行效果。
1、可編程輸入/輸出單元:簡稱I/O單元,是(shi)芯片與外界(jie)電(dian)路的(de)接口部分,完成不同(tong)電(dian)氣特性下對輸(shu)入/輸(shu)出信號的(de)驅動與匹配需求。
2、基本可編程邏輯單元:它是可(ke)編程(cheng)(cheng)邏輯的主體,可(ke)以根據設計靈活地改變其內部連接與配置,完成(cheng)不同的邏輯功能。FPGA的基本可(ke)編程(cheng)(cheng)邏輯單元幾乎都是由查找(zhao)表LUT和寄存器Reg組成(cheng)的。
3、嵌入式塊RAM:據MA Igoo編(bian)輯了解(jie),FPGA內部嵌入可編(bian)程(cheng)RAM模(mo)塊,大(da)大(da)拓展了FPGA的應用(yong)范圍(wei)和使用(yong)的靈活(huo)性(xing)。
4、豐富的布線資源:布線(xian)資源連通FPGA內部所有單元,連線(xian)的(de)長(chang)度和工藝決定著信號在(zai)連線(xian)上的(de)驅(qu)動能力和傳(chuan)輸(shu)速度。
5、底層嵌入功能單元:底(di)層嵌(qian)入(ru)(ru)功能(neng)單元的概念比(bi)較(jiao)籠統,這里指(zhi)那些通用程度較(jiao)高的嵌(qian)入(ru)(ru)式功能(neng)模塊、入(ru)(ru)PLL、DSP、CPU等。
6、內嵌專用硬核:這(zhe)里說的硬核(he)主要指那些(xie)通用性較弱,不是所有FPGA器(qi)件都包含(han)硬核(he)(Hard Core)。
FPGA采用了邏輯(ji)單元(yuan)陣列(lie)LCA(Logic Cell Array)這樣一個概念,內部(bu)包(bao)括可配置邏輯(ji)模塊CLB(Configurable Logic Block)、輸入輸出模塊IOB(Input Output Block)和(he)內部(bu)連線(xian)(Interconnect)三個部(bu)分。
現(xian)(xian)場可(ke)編程(cheng)門陣(zhen)列(lie)(FPGA)是可(ke)編程(cheng)器(qi)(qi)(qi)件,與傳統(tong)邏(luo)輯(ji)電(dian)路和門陣(zhen)列(lie)(如(ru)PAL,GAL及CPLD器(qi)(qi)(qi)件)相比,FPGA具有不同的結(jie)構。FPGA利(li)用小型查找(zhao)表(biao)(16×1RAM)來(lai)實(shi)現(xian)(xian)組合邏(luo)輯(ji),每個查找(zhao)表(biao)連接到一(yi)個D觸發器(qi)(qi)(qi)的輸(shu)入端,觸發器(qi)(qi)(qi)再(zai)來(lai)驅動其他邏(luo)輯(ji)電(dian)路或驅動I/O,由此(ci)構成(cheng)了既可(ke)實(shi)現(xian)(xian)組合邏(luo)輯(ji)功(gong)能又(you)可(ke)實(shi)現(xian)(xian)時序邏(luo)輯(ji)功(gong)能的基本邏(luo)輯(ji)單元模(mo)(mo)塊,這些模(mo)(mo)塊間利(li)用金屬連線互相連接或連接到I/O模(mo)(mo)塊。
FPGA的(de)(de)邏(luo)輯(ji)是通過(guo)向內部靜態存(cun)儲單(dan)(dan)元(yuan)加(jia)載編程(cheng)(cheng)數據來實現(xian)的(de)(de),存(cun)儲在(zai)存(cun)儲器單(dan)(dan)元(yuan)中(zhong)的(de)(de)值決定(ding)了(le)邏(luo)輯(ji)單(dan)(dan)元(yuan)的(de)(de)邏(luo)輯(ji)功(gong)能(neng)以及(ji)各(ge)模塊(kuai)之間或模塊(kuai)與I/O間的(de)(de)聯接方式,并最終決定(ding)了(le)FPGA所能(neng)實現(xian)的(de)(de)功(gong)能(neng),FPGA允許(xu)無限次的(de)(de)編程(cheng)(cheng)。
1、結構上的區別
單片(pian)機是(shi)微處理器結(jie)(jie)構,采用的(de)是(shi)哈佛總線結(jie)(jie)構或馮諾依曼結(jie)(jie)構,單片(pian)機結(jie)(jie)構簡單體積小,價(jia)格(ge)便宜,應(ying)用廣(guang)泛。FPGA是(shi)查找表結(jie)(jie)構,它的(de)程序(xu)不用考慮芯(xin)片(pian)的(de)結(jie)(jie)構,偏(pian)重(zhong)于時(shi)序(xu)上的(de)問(wen)題,FPGA結(jie)(jie)構復雜,功能強大,通常應(ying)用在(zai)通信(xin)領域等畢竟高端的(de)場合(he),價(jia)格(ge)比單片(pian)機貴。
2、速度上的區別
單片機是(shi)單線程執行(xing),程序(xu)語句需要等待單片機周期才能執行(xing),時間(jian)長速(su)(su)度慢。FPGA是(shi)硬件電(dian)路,是(shi)并行(xing)結(jie)構,這導(dao)致FPGA系統(tong)穩(wen)定(ding)性高,適合高速(su)(su)接口(kou)電(dian)路,一次性執行(xing)多種操(cao)作(zuo),速(su)(su)度上快于單片機。
3、本質上的區別
FPGA偏重于硬(ying)件(jian)(jian)(jian)電(dian)路,屬(shu)于硬(ying)件(jian)(jian)(jian)范(fan)疇,是一個通(tong)過(guo)硬(ying)件(jian)(jian)(jian)描(miao)述語言在FPGA芯片(pian)上自定(ding)義集成電(dian)路的過(guo)程(cheng)。單(dan)片(pian)機(ji)偏重于軟件(jian)(jian)(jian),單(dan)片(pian)機(ji)設計屬(shu)于軟件(jian)(jian)(jian)范(fan)疇,它的硬(ying)件(jian)(jian)(jian)(單(dan)片(pian)機(ji)芯片(pian))是固(gu)定(ding)的,通(tong)過(guo)軟件(jian)(jian)(jian)編程(cheng)語言描(miao)述軟件(jian)(jian)(jian)指令在硬(ying)件(jian)(jian)(jian)芯片(pian)上的執行。
4、應用上的區別
M aigoo小(xiao)編(bian)了解(jie)到,單(dan)片機是(shi)(shi)單(dan)線程,所有指令是(shi)(shi)在控制器按順序執(zhi)行(xing)(xing)。FPGA是(shi)(shi)邏輯單(dan)元,可做到并行(xing)(xing)執(zhi)行(xing)(xing),一次性執(zhi)行(xing)(xing)多(duo)種操作。
5、入門難易程度區別
單片機結構簡單,功能強,價(jia)格低,入門難(nan)度不(bu)高。FPGA結構復(fu)雜(za),價(jia)格昂貴(gui),入門難(nan)度不(bu)適(shi)合(he)小白(bai)。
1、FPGA由邏(luo)輯(ji)單元、RAM、乘法(fa)器等硬(ying)件(jian)資源組(zu)成,通過將這些(xie)硬(ying)件(jian)資源合理(li)組(zu)織,可實現(xian)乘法(fa)器、寄存(cun)器、地址發(fa)生器等硬(ying)件(jian)電路。
2、FPGA可通過使用框(kuang)圖或者Verilog HDL來設(she)計(ji),從簡單的門電路到FIR或者FFT電路。
3、FPGA可無限地重(zhong)新編程(cheng),加載一個新的(de)(de)設計方(fang)案(an)只(zhi)需幾(ji)百毫(hao)秒,利用重(zhong)配置可以減少硬件(jian)的(de)(de)開銷。
4、FPGA的工(gong)(gong)作頻(pin)率由FPGA芯(xin)片(pian)以(yi)及(ji)設計決定,可以(yi)通(tong)過修改設計或者更換更快的芯(xin)片(pian)來(lai)達(da)到某些苛刻(ke)的要求(當(dang)然,工(gong)(gong)作頻(pin)率也(ye)不(bu)是無限制的可以(yi)提高,而是受當(dang)前(qian)的IC工(gong)(gong)藝等因素制約)。
1、FPGA的(de)所有功(gong)能均依靠硬(ying)件(jian)實現,無法實現分(fen)支(zhi)條件(jian)跳轉等操作(zuo)。
2、FPGA只(zhi)能實現定點運(yun)算(suan)。
MAI goo小編總結:FPGA依靠硬件來實現所有的(de)功能,速度(du)上可(ke)以和專用芯(xin)片(pian)相比(bi),但設計的(de)靈(ling)活度(du)與(yu)通用處理器相比(bi)有很大(da)的(de)差距。
FPGA 在通信領域(yu)的應用(yong)(yong)可以說是無所不(bu)能。在終端設備數量(liang)比較多的位置,FPGA的用(yong)(yong)量(liang)比較大,基站(zhan)(zhan)最適(shi)合使用(yong)(yong)FPGA,基站(zhan)(zhan)幾乎每(mei)一塊(kuai)板子都需要使用(yong)(yong)FPGA芯片,而且型號(hao)比較高端,可以處理復雜(za)的物理協議,實(shi)現邏輯控制。
FPGA 最大優勢是其并(bing)行(xing)處(chu)理(li)(li)機制,即(ji)利用并(bing)行(xing)架(jia)構實(shi)現數字(zi)信號(hao)處(chu)理(li)(li)的(de)功能(neng)(neng)。對于高速并(bing)行(xing)的(de)數字(zi)信號(hao)處(chu)理(li)(li)任務(wu)來(lai)說,FPGA 性(xing)能(neng)(neng)遠(yuan)遠(yuan)超過(guo)通用 DSP 處(chu)理(li)(li)器(qi)的(de)串行(xing)執行(xing)架(jia)構,所以在數字(zi)信號(hao)處(chu)理(li)(li)領域 FPGA 的(de)應用也是十(shi)分廣泛的(de)。
人們對(dui)圖(tu)像(xiang)的(de)(de)(de)穩定(ding)性、清晰度、亮度和顏色的(de)(de)(de)追求(qiu)越(yue)(yue)(yue)(yue)(yue)來越(yue)(yue)(yue)(yue)(yue)高(gao), 像(xiang)以前的(de)(de)(de)標清(SD)慢慢演(yan)變成(cheng)高(gao)清(HD),到(dao)(dao)現在(zai)(zai)人們更是追求(qiu)藍光品質(zhi)的(de)(de)(de)圖(tu)像(xiang)。這使得處理芯片需要(yao)實時處理的(de)(de)(de)數據(ju)量越(yue)(yue)(yue)(yue)(yue)來越(yue)(yue)(yue)(yue)(yue)大,并且圖(tu)像(xiang)的(de)(de)(de)壓縮算法(fa)也(ye)是越(yue)(yue)(yue)(yue)(yue)來越(yue)(yue)(yue)(yue)(yue)復(fu)雜(za), FPGA可(ke)以更加高(gao)效的(de)(de)(de)處理數據(ju),所(suo)以在(zai)(zai)圖(tu)像(xiang)處理領域在(zai)(zai)綜(zong)合考慮成(cheng)本(ben)后,FPGA 也(ye)越(yue)(yue)(yue)(yue)(yue)來越(yue)(yue)(yue)(yue)(yue)受(shou)到(dao)(dao)市場的(de)(de)(de)歡(huan)迎(ying)。
FPGA的(de)高速處理能力和多(duo)達成百上千個的(de) IO 決(jue)定了它在(zai)高速接(jie)口(kou)設計領域的(de)獨特優勢。不同的(de)接(jie)口(kou)邏輯都可以在(zai) FPGA 內部去(qu)實現,完全沒必要那么(me)多(duo)的(de)接(jie)口(kou)芯片,在(zai)配合 DDR 存儲器(qi)的(de)使用,將使接(jie)口(kou)數據的(de)處理變得更加得心應手。
FPGA 在人工(gong)智(zhi)能系統的前(qian)端部分也是(shi)得到(dao)了(le)廣泛的應用,例如自動駕駛,需要(yao)(yao)對(dui)行駛路線、紅(hong)綠燈、路障和(he)行駛速度等各種交通信號進(jin)行采集,需要(yao)(yao)用到(dao)多種傳感器,對(dui)這(zhe)些傳感器進(jin)行綜合驅動和(he)融合處(chu)理就(jiu)可(ke)以使用 FPGA。
IC設(she)(she)計(ji)都要(yao)強調(diao)一(yi)版(ban)成(cheng)功,保證IC一(yi)版(ban)成(cheng)功就要(yao)進行充(chong)分的(de)仿真(zhen)(zhen)測(ce)試和FPGA驗(yan)(yan)證,仿真(zhen)(zhen)驗(yan)(yan)證是在(zai)服務(wu)器(qi)上面跑仿真(zhen)(zhen)軟件進行測(ce)試,類(lei)似ModelSim/VCS軟件,FPGA生成(cheng)的(de)電路非常接近真(zhen)(zhen)實的(de)IC芯片,這樣極大的(de)方便(bian)IC設(she)(she)計(ji)人(ren)員去驗(yan)(yan)證自己(ji)的(de)IC設(she)(she)計(ji)。
1、選(xuan)擇有(you)設計軟(ruan)件支持的(de)廠家的(de)芯片,這樣可減少資本投入,降低(di)成本。
2、選(xuan)(xuan)擇(ze)產(chan)品(pin)設計性能改進有(you)(you)余量的(de)。如果所選(xuan)(xuan)擇(ze)的(de)芯片是某一廠(chang)家產(chan)品(pin)中容量:最大,或(huo)是速度最高的(de),那么,一但(dan)設計需要改進,則(ze)有(you)(you)可能在該廠(chang)家的(de)芯片中再選(xuan)(xuan)不出合(he)適的(de)來了(le)。
3、設計應用(yong)(yong)的延(yan)續性(xing)和可(ke)擴展性(xing)。如果所選廠家的產品具有很(hen)(hen)大的局限(xian)性(xing),則有可(ke)能僅僅適(shi)用(yong)(yong)于很(hen)(hen)少(shao)一部分設計,從而造(zao)成設計軟件投入(ru)上的浪(lang)費。
4、選擇(ze)性能價格(ge)(ge)比最優的(de)(de)(de)(de)。盡管(guan)象Xilinx、Altera這樣的(de)(de)(de)(de)器件生產(chan)廠家都在(zai)通過降價來作市場宣(xuan)傳(chuan),大多數FPGA芯(xin)片(pian)的(de)(de)(de)(de)價格(ge)(ge)還是比較高的(de)(de)(de)(de),所有在(zai)滿足上述準則的(de)(de)(de)(de)情(qing)況下適當考慮價格(ge)(ge)也是有必要的(de)(de)(de)(de)。
5、盡量選擇成(cheng)熟的產品系列(lie)。FPGA芯(xin)片更(geng)新(xin)換代(dai)速度非(fei)常快,最新(xin)推出的FPGA系列(lie)產品一(yi)般都沒有經過大(da)批量應用的驗證,會增加設(she)計(ji)(ji)風(feng)險(xian),且供貨量少價格(ge)相對高,如果成(cheng)熟的產品能滿足(zu)設(she)計(ji)(ji)指標要求,那么最好選這樣的芯(xin)片來完成(cheng)設(she)計(ji)(ji)。
6、盡量選擇兼容(rong)性好(hao)的封裝。目前,同(tong)系(xi)列的FPGA芯片一般可以做到(dao)相同(tong)物理封裝兼容(rong)不(bu)同(tong)規模(mo)的器件(jian)。例(li)如,Xilinx的Spartan3系(xi)列FPGA,在(zai)BGA456封裝下,可以選擇3S200、2S400、3S1000、3S1500這(zhe)4種型號的FPGA。
7、如果在整個電(dian)子系統中需要多個FPGA器件,那么盡量選擇一個公司的產品。這(zhe)樣的好處不僅(jin)可以降低成本,而且降低開(kai)發難度。因為開(kai)發環境(jing)和工具是一致的,芯片接口電(dian)平和特性也一致,便于互聯(lian)互通。
1、每逢(feng)節(jie)日活動,就(jiu)到了(le)網購達(da)人們大展身手的(de)時候了(le),然(ran)而(er)面對五花八門的(de)商品、參差(cha)不(bu)齊的(de)價格(ge)卻不(bu)知如何下手?
2、每(mei)逢節日活動,就到了網購(gou)達人們大(da)展(zhan)身手的時候了,然而面(mian)對五花八門的商品、參差不(bu)齊的價格卻(que)不(bu)知如何下(xia)手?