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