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