你的位置:首頁(yè) > 測(cè)試測(cè)量 > 正文
小白入門FPGA必備基礎(chǔ)知識(shí)
發(fā)布時(shí)間:2017-01-17 責(zé)任編輯:wenwei
【導(dǎo)讀】FPGA已成為現(xiàn)今的技術(shù)熱點(diǎn)之一,無(wú)論學(xué)生還是工程師都希望跨進(jìn)FPGA的大門。那么我們要玩轉(zhuǎn)FPGA必須具備哪些基礎(chǔ)知識(shí)呢?下面我們慢慢道來(lái),希望能夠?yàn)閷W(xué)習(xí)FPGA的人帶來(lái)幫助。
(一) 要了解什么是FPGA
既然要玩轉(zhuǎn)FPGA,那我們首先最重要的當(dāng)然是要了解什么FPGA.
FPGA(Field-Program mable Gate Array),即現(xiàn)場(chǎng)可編程門陣列,它是在PAL、GAL、CPLD等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物。它是作為專用集成電路(ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點(diǎn)。所以,要想玩轉(zhuǎn)FPGA,就必須理解FPGA內(nèi)部的工作原理,學(xué)習(xí)如何利用這些單元實(shí)現(xiàn)復(fù)雜的邏輯設(shè)計(jì)。
(二) FPGA的工作原理
FPGA一般來(lái)說(shuō)比ASIC(專用集成芯片)的速度要慢,無(wú)法完成復(fù)雜的設(shè)計(jì),但是功耗較低。但是 他們也有很多的優(yōu)點(diǎn)比如可以快速成品,可以被修改來(lái)改正程序中的錯(cuò)誤和更便宜的造價(jià)。廠商也可能會(huì)提供便宜的但是編輯能力差的FPGA.因?yàn)檫@些芯片有比 較差的可編輯能力,所以這些設(shè)計(jì)的開(kāi)發(fā)是在普通的FPGA上完成的,然后將設(shè)計(jì)轉(zhuǎn)移到一個(gè)類似于ASIC的芯片上。
FPGA采用了邏輯單元陣列LCA(Logic Cell Array)這樣一個(gè)概念,內(nèi)部包括可配置邏輯模塊CLB(Configurable Logic Block)、輸出輸入模塊IOB(Input Output Block)和內(nèi)部連線(Interconnect)三個(gè)部分。 現(xiàn)場(chǎng)可編程門陣列(FPGA)是可編程器件,與傳統(tǒng)邏輯電路和 門陣列(如PAL,GAL及CPLD器件)相比,F(xiàn)PGA具有不同的結(jié)構(gòu)。FPGA利用小型查找表(16×1RAM)來(lái)實(shí)現(xiàn)組合邏輯,每個(gè)查找表連接到一 個(gè)D觸發(fā)器的輸入端,觸發(fā)器再來(lái)驅(qū)動(dòng)其他邏輯電路或驅(qū)動(dòng)I/O,由此構(gòu)成了既可實(shí)現(xiàn)組合邏輯功能又可實(shí)現(xiàn)時(shí)序邏輯功能的基本邏輯單元模塊,這些模塊間利用 金屬連線互相連接或連接到I/O模塊。FPGA的邏輯是通過(guò)向內(nèi)部靜態(tài)存儲(chǔ)單元加載編程數(shù)據(jù)來(lái)實(shí)現(xiàn)的,存儲(chǔ)在存儲(chǔ)器單元中的值決定了邏輯單元的邏輯功能以及各模塊之間或模塊與I/O間的聯(lián)接方式,并最終決定了FPGA所能實(shí)現(xiàn)的功能,F(xiàn)PGA允許無(wú)限次的編程。
三) FPGA設(shè)計(jì)的基礎(chǔ)問(wèn)題
FPGA的基礎(chǔ)就是數(shù)字電路和VHDL語(yǔ) 言,想學(xué)好FPGA的人,建議床頭都有一本數(shù)字電路的書(shū),不管是哪個(gè)版本的,這個(gè)是基礎(chǔ),多了解也有助于形成硬件設(shè)計(jì)的思想。在語(yǔ)言方面,建議初學(xué)者學(xué)習(xí) Verilog語(yǔ)言,VHDL語(yǔ)言語(yǔ)法規(guī)范嚴(yán)格,調(diào)試起來(lái)很慢,Verilog語(yǔ)言容易上手,而且,一般大型企業(yè)都是用Verilog語(yǔ)言,VHDL語(yǔ)言 規(guī)范,易讀性強(qiáng),所以一般軍工都用VHDL.
1、工具問(wèn)題
熟悉幾個(gè)常用的就可以的,開(kāi)發(fā)環(huán)境QuartusII ,或ISE 就可以了,這兩個(gè)基本是相通的,會(huì)了哪一個(gè),另外的那個(gè)也就很Easy了。功能仿真建議使用Modelsim ,如果你是做芯片的,就可以學(xué)學(xué)別的仿真工具,做FPGA的,Modelsim就足夠了。綜合工具一般用Synplify,初學(xué)先不用太關(guān)心這個(gè),用 Quartus綜合就OK了。
2、思想問(wèn)題
對(duì)于初學(xué)者,特別是從軟件轉(zhuǎn)過(guò)來(lái)的,設(shè)計(jì)的程序既費(fèi)資源又速度慢,而且很有可能綜合不了,這就要求我們熟悉一些固定模塊的寫法,可綜合的模塊很多書(shū)上都有,語(yǔ)言介紹上都有,不要想當(dāng)然的用軟件的思想去寫硬件。
3、習(xí)慣問(wèn)題
FPGA學(xué)習(xí)要多練習(xí),多仿真,signaltapII是很好的工具,可以看到每個(gè)信號(hào)的真實(shí)值, 建議初學(xué)者一定要自己多動(dòng)手,光看書(shū)是沒(méi)用的。關(guān)于英文文檔問(wèn)題,如果要學(xué)會(huì)Quartus II的所有功能,只要看它的handbook就可以了,很詳細(xì),對(duì)于IT行業(yè)的人,大部分知識(shí)來(lái)源都是英文文檔,一定要耐心看,會(huì)從中收獲很多的。
4、算法問(wèn)題
做FPGA的工程師,最后一般都是專攻算法了,這些基礎(chǔ)知識(shí)都是順手捏來(lái)的,如果你沒(méi)有做好搞理論 的準(zhǔn)備,學(xué)FPGA始終只能停留在初級(jí)階段上。對(duì)于初學(xué)者,數(shù)字信號(hào)處理是基礎(chǔ),應(yīng)該好好理解,往更深的方向,不用什么都學(xué),根據(jù)你以后從事的方向,比如 說(shuō)通信、圖像處理,雷達(dá)、聲納、導(dǎo)航定位等。
(四) FPGA的配置模式
FPGA有多種配置模式:并行主模式為一片F(xiàn)PGA加一片EPROM的方式;主從模式可以支持一片PROM編程多片F(xiàn)PGA;串行模式可以采用串行PROM編程FPGA;外設(shè)模式可以將FPGA作為微處理器的外設(shè),由微處理器對(duì)其編程。
如何實(shí)現(xiàn)快速的時(shí)序收斂、降低功耗和成本、優(yōu)化時(shí)鐘管理并降低FPGA與PCB并行設(shè)計(jì)的復(fù)雜性等問(wèn)題,一直是采用FPGA的系統(tǒng)設(shè)計(jì)工程師需要考慮的關(guān)鍵問(wèn)題。如今,隨著FPGA向更高密度、更大容量、更低功耗和集成更多IP的方向發(fā)展,系統(tǒng)設(shè)計(jì)工 程師在從這些優(yōu)異性能獲益的同時(shí),不得不面對(duì)由于FPGA前所未有的性能和能力水平而帶來(lái)的新的設(shè)計(jì)挑戰(zhàn)。
(五) FPGA設(shè)計(jì)的三大法則
第一 面積與速度的互換
這里的面積指的是FPGA的芯片資源,包括邏輯資源和I/O資源等;這里的速度指的是FPGA工作 的最高頻率(和DSP或者ARM不同,F(xiàn)PGA設(shè)計(jì)的工 作頻率是不固定的,而是和設(shè)計(jì)本身的延遲緊密相連)。 在實(shí)際設(shè)計(jì)中,使用最小的面積設(shè)計(jì)出最高的速度是每一個(gè)開(kāi)發(fā)者追求的目標(biāo),但是“魚(yú)和熊掌不可兼得”,取舍之間展示了一個(gè)開(kāi)發(fā)者的智慧。
1.速度換面積
速度優(yōu)勢(shì)可以換取面積的節(jié)約。面積越小,就意味著可以用更低的成本來(lái)實(shí)現(xiàn)產(chǎn)品的功 能。速度換面積的原則在一些較復(fù)雜的算法設(shè)計(jì)中常常會(huì)用到。在這些算法設(shè)計(jì)中,流水線設(shè)計(jì)常常是必須用到的技術(shù)。在流水線的設(shè)計(jì)中,這些被重復(fù)使用但是使 用次數(shù)不同的模塊將會(huì)占用大量的FPGA資源。對(duì)FPGA的設(shè)計(jì)技術(shù)進(jìn)行改造,將被重復(fù)使用的算法模塊提煉出最小的復(fù)用單元,并利用這個(gè)最小的高速代替原 設(shè)計(jì)中被重復(fù)使用但次數(shù)不同的模塊。當(dāng)然,在改造的過(guò)程中必然會(huì)增加一些其他的資源來(lái)實(shí)現(xiàn)這個(gè)代替的過(guò)程。但是只要速度具有優(yōu)勢(shì),那么增加的這部分邏輯依 然能夠?qū)崿F(xiàn)降低面積提高速度的目的。
可以看到,速度換面積的關(guān)鍵是高速基本單元的復(fù)用。
2.面積換速度
在這種方法中面積的復(fù)制可以換取速度的提高。支持的速度越高,就意味著可以實(shí)現(xiàn)更高的產(chǎn)品性能。一些注重產(chǎn)品性能的應(yīng)用領(lǐng)域可以采用并行處理技術(shù),實(shí)現(xiàn)面積換速度。
第二 硬件可實(shí)現(xiàn)原則
FPGA設(shè)計(jì)通常會(huì)使用HDL語(yǔ)言,比如Verilog HDL或者VHDL.當(dāng)采用HDL語(yǔ)言來(lái)描述一個(gè)硬件電路功能的時(shí)候,一定要確保代碼描述的電路是硬件可實(shí)現(xiàn)的。
Verilog HDL語(yǔ)言的語(yǔ)法與C語(yǔ)言很相似,但是它們之間有著本質(zhì)的區(qū)別。C語(yǔ)言是基于過(guò)程的高級(jí)語(yǔ)言,編譯后可以在CPU上運(yùn)行。而Verilog HDL語(yǔ)言描述的本身就是硬件結(jié)構(gòu),編譯后是硬件電路。因此,有些語(yǔ)句在C語(yǔ)言的環(huán)境中應(yīng)用是沒(méi)有問(wèn)題的,但是在HDL語(yǔ)言環(huán)境下就會(huì)導(dǎo)致結(jié)果不正確或者 不理想。如:
for(i=0;i<16;i++)
DoSomething();
在C語(yǔ)言中運(yùn)行沒(méi)有任何問(wèn)題,但是在Verilog HDL的環(huán)境下編譯就會(huì)導(dǎo)致綜合后的資源嚴(yán)重浪費(fèi)。
第三 同步設(shè)計(jì)原則
同步電路和異步電路是FPGA設(shè)計(jì)的兩種基本電路結(jié)構(gòu)形式。
異步電路的最大缺點(diǎn)是會(huì)產(chǎn)生毛刺。同步設(shè)計(jì)的核心電路是由各種觸發(fā)器構(gòu)成的。這類電路的任何輸出都是在某個(gè)時(shí)鐘的邊沿驅(qū)動(dòng)觸發(fā)器產(chǎn)生的。所以,同步設(shè)計(jì)可以很好地避免毛刺的產(chǎn)生。
(六) FPGA設(shè)計(jì)的主要應(yīng)用
1、電路設(shè)計(jì)
連接邏輯,控制邏輯是FPGA早期發(fā)揮作用比較大的領(lǐng)域也是FPGA應(yīng)用的基石。事實(shí)上在電路設(shè)計(jì) 中應(yīng)用FPGA的難度還是比較大的這要求開(kāi)發(fā)者要具備相應(yīng)的硬件知識(shí)(電路知識(shí))和軟件應(yīng)用能力(開(kāi)發(fā)工具)這方面的人才總是緊缺的,往往都從事新技術(shù), 新產(chǎn)品的開(kāi)發(fā)成功的產(chǎn)品將變成市場(chǎng)主流基礎(chǔ)產(chǎn)品供產(chǎn)品設(shè)計(jì)者應(yīng)用在不遠(yuǎn)的將來(lái),通用和專用IP的設(shè)計(jì)將成為一個(gè)熱門行業(yè)!搞電路設(shè)計(jì)的前提是必須要具備一 定的硬件知識(shí)。在這個(gè)層面,干重于學(xué),當(dāng)然,快速入門是很重要的,越好的位子越不等人電路開(kāi)發(fā)是黃金飯碗。
2、產(chǎn)品設(shè)計(jì)
把相對(duì)成熟的技術(shù)應(yīng)用到某些特定領(lǐng)域如通訊,視頻,信息處理等等開(kāi)發(fā)出滿足行業(yè)需要并能被行業(yè)客戶 接受的產(chǎn)品這方面主要是FPGA技術(shù)和專業(yè)技術(shù)的結(jié)合問(wèn)題,另外還有就是與專業(yè)客戶的界面問(wèn)題產(chǎn)品設(shè)計(jì)還包括專業(yè)工具類產(chǎn)品及民用產(chǎn)品,前者重點(diǎn)在性能, 后者對(duì)價(jià)格敏感產(chǎn)品設(shè)計(jì)以實(shí)現(xiàn)產(chǎn)品功能為主要目的,F(xiàn)PGA技術(shù)是一個(gè)實(shí)現(xiàn)手段在這個(gè)領(lǐng)域,F(xiàn)PGA因?yàn)榫邆浣涌?,控制,功能IP,內(nèi)嵌CPU等特點(diǎn)有條 件實(shí)現(xiàn)一個(gè)構(gòu)造簡(jiǎn)單,固化程度高,功能全面的系統(tǒng)產(chǎn)品設(shè)計(jì)將是FPGA技術(shù)應(yīng)用最廣大的市場(chǎng),具有極大的爆發(fā)性的需求空間產(chǎn)品設(shè)計(jì)對(duì)技術(shù)人員的要求比較 高,路途也比較漫長(zhǎng)不過(guò)現(xiàn)在整個(gè)行業(yè)正處在組建“首發(fā)團(tuán)隊(duì)”的狀態(tài),只要加入,前途光明產(chǎn)品設(shè)計(jì)是一種職業(yè)發(fā)展方向定位,不是簡(jiǎn)單的愛(ài)好就能做到的!產(chǎn)品 設(shè)計(jì)領(lǐng)域會(huì)造就大量的企業(yè)和企業(yè)家,是一個(gè)發(fā)展熱點(diǎn)和機(jī)遇。
3、系統(tǒng)級(jí)
系統(tǒng)級(jí)的應(yīng)用是FPGA與傳統(tǒng)的計(jì)算機(jī)技術(shù)結(jié)合,實(shí)現(xiàn)一種FPGA版的計(jì)算機(jī)系統(tǒng),實(shí)現(xiàn)一個(gè)基本環(huán)境,在這個(gè)平臺(tái)上跑LINUX等系統(tǒng),這個(gè)系統(tǒng)也就支持各種標(biāo)準(zhǔn)外設(shè)和功能接口(如圖象接口)了這對(duì)于快速構(gòu)成FPGA大型系統(tǒng)來(lái)講是很有幫助的。這種“山寨”味很濃的系統(tǒng)早期優(yōu)勢(shì)不一定很明顯,類似ARM系統(tǒng)的境況但若能慢慢發(fā)揮出FPGA的優(yōu)勢(shì),逐漸實(shí)現(xiàn)一些特色系統(tǒng)也是一種發(fā)展方向。若在系統(tǒng)級(jí)應(yīng)用中,開(kāi)發(fā)人員不具備系統(tǒng)的擴(kuò)充開(kāi)發(fā)能力,只是搞搞編程是沒(méi)什么意義的,當(dāng)然設(shè)備驅(qū)動(dòng)程序的開(kāi)發(fā)是另一種情況,搞系統(tǒng)級(jí)應(yīng)用看似起點(diǎn)高,但不具備深層開(kāi)發(fā)能力,很可能會(huì)變成愛(ài)好者,就如很多人會(huì)做網(wǎng)頁(yè)但不能稱做會(huì)編程。類似以上是幾點(diǎn)個(gè)人觀點(diǎn),希望能幫助想學(xué)FPGA但很茫然無(wú)措的人理一理思路。這是一個(gè)不錯(cuò)的行業(yè),有很好的個(gè)人成功機(jī)會(huì)。但也肯定是一個(gè)競(jìng)爭(zhēng)很激烈的行業(yè),關(guān)鍵看的就是速度和深度當(dāng)然還有市場(chǎng)適應(yīng)能力。
以上,我們了解到了FPGA基礎(chǔ)知識(shí),雖然FPGA入門簡(jiǎn)單精通難,但是若要想入門,買一塊開(kāi)發(fā)板跟著例程走一遍,很多人都能在很短的時(shí)間內(nèi)熟悉開(kāi)發(fā)軟件的操作方法并且點(diǎn)亮開(kāi)發(fā)板上的LED或者再實(shí)現(xiàn)個(gè)跑馬燈什么的。但是再往后進(jìn)步往往就進(jìn)展很慢。上面提到的六方面是FPGA入門的基礎(chǔ)知識(shí),希望能夠?yàn)閷W(xué)習(xí)FPGA的人帶來(lái)幫助。
推薦閱讀:
特別推薦
- 克服碳化硅制造挑戰(zhàn),助力未來(lái)電力電子應(yīng)用
- 了解交流電壓的產(chǎn)生
- 單結(jié)晶體管符號(hào)和結(jié)構(gòu)
- 英飛凌推出用于汽車應(yīng)用識(shí)別和認(rèn)證的新型指紋傳感器IC
- Vishay推出負(fù)載電壓達(dá)100 V的業(yè)內(nèi)先進(jìn)的1 Form A固態(tài)繼電器
- 康佳特推出搭載AMD 銳龍嵌入式 8000系列的COM Express緊湊型模塊
- 村田推出3225尺寸車載PoC電感器LQW32FT_8H系列
技術(shù)文章更多>>
- “扒開(kāi)”超級(jí)電容的“外衣”,看看超級(jí)電容“超級(jí)”在哪兒
- DigiKey 誠(chéng)邀各位參會(huì)者蒞臨SPS 2024?展會(huì)參觀交流,體驗(yàn)最新自動(dòng)化產(chǎn)品
- 提前圍觀第104屆中國(guó)電子展高端元器件展區(qū)
- 高性能碳化硅隔離柵極驅(qū)動(dòng)器如何選型,一文告訴您
- 貿(mào)澤電子新品推薦:2024年第三季度推出將近7000個(gè)新物料
技術(shù)白皮書(shū)下載更多>>
- 車規(guī)與基于V2X的車輛協(xié)同主動(dòng)避撞技術(shù)展望
- 數(shù)字隔離助力新能源汽車安全隔離的新挑戰(zhàn)
- 汽車模塊拋負(fù)載的解決方案
- 車用連接器的安全創(chuàng)新應(yīng)用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
濾波電感
濾波器
路由器設(shè)置
鋁電解電容
鋁殼電阻
邏輯IC
馬達(dá)控制
麥克風(fēng)
脈沖變壓器
鉚接設(shè)備
夢(mèng)想電子
模擬鎖相環(huán)
耐壓測(cè)試儀
逆變器
逆導(dǎo)可控硅
鎳鎘電池
鎳氫電池
紐扣電池
歐勝
耦合技術(shù)
排電阻
排母連接器
排針連接器
片狀電感
偏光片
偏轉(zhuǎn)線圈
頻率測(cè)量?jī)x
頻率器件
頻譜測(cè)試儀
平板電腦