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