想快速入門(mén)FPGA最好的辦法是項(xiàng)目實(shí)踐,只看書(shū)不親自動(dòng)手練習(xí)進(jìn)步是非常慢的,而且還不好理解,過(guò)個(gè)幾天就全忘了。所以最好購(gòu)買(mǎi)一塊基本外圍電路比較全面的FPGA開(kāi)發(fā)板,邊看書(shū)邊動(dòng)手練習(xí),親自實(shí)踐才是王道!
FPGA編程語(yǔ)言
學(xué)習(xí)FPGA,首先要學(xué)習(xí)其編程語(yǔ)言——硬件描述語(yǔ)言,目前比較流行的編程語(yǔ)言有Verilog和VHDL,VHDL是80年代美國(guó)國(guó)防部開(kāi)發(fā)的語(yǔ)言,語(yǔ)法運(yùn)用比較嚴(yán)謹(jǐn),而Verilog是民間的一位工程師1983年開(kāi)發(fā)出來(lái)的,1992年才開(kāi)始納入電氣電子工程學(xué)會(huì)標(biāo)準(zhǔn),Verilog語(yǔ)法相對(duì)自由一些??筛鶕?jù)個(gè)人喜愛(ài)選擇,本人更喜歡使用Verilog編程,Verilog跟C語(yǔ)言相近,比較通俗易懂。
學(xué)習(xí)編程語(yǔ)言時(shí),一定要注意特別容易出錯(cuò)的地方,下面以Verilog為例:
(1)比如“<=”符號(hào),在C語(yǔ)言當(dāng)中屬于“小于等于”比較符號(hào),但是在Verilog語(yǔ)言中,“<=”可以是小于等于判斷符號(hào),也可以是賦值符號(hào)。比如if(i
(2)賦值語(yǔ)句“=”和“<=”的區(qū)別,“=”是阻塞賦值,也就是按順序往下執(zhí)行,而<=”是非阻塞賦值,所有語(yǔ)句并行執(zhí)行。比如初始值a=1;b=2;執(zhí)行b=a;c=b;之后c=1;執(zhí)行b<=a;c<=b;之后c=2。兩者的結(jié)果完全不同。
(3)注意wire和reg類(lèi)型的區(qū)別,wire型表示硬線的連接,reg屬于寄存器類(lèi)型,在alway模塊中定義變量要使用reg型;同一個(gè)變量不要在多個(gè)alway模塊中賦值;begin和end相當(dāng)于c語(yǔ)言的{},一定要成對(duì)出現(xiàn)。
項(xiàng)目實(shí)踐
選擇開(kāi)發(fā)板時(shí),最好找比較正規(guī)的,外圍電路模塊功能比較全,編程例子齊全,附帶詳細(xì)的教程說(shuō)明,最好有相應(yīng)的視頻教程,這些資料對(duì)新手會(huì)有很大的幫助。
項(xiàng)目編程練習(xí)時(shí),由易到難,循序漸進(jìn),先從最簡(jiǎn)單的點(diǎn)亮LED指示燈開(kāi)始學(xué)習(xí),掌握整個(gè)FPGA的編程流程,學(xué)會(huì)自己編程創(chuàng)建模塊、引腳配置、時(shí)序仿真等??删毩?xí)的項(xiàng)目很多,比如流水燈、按鍵/鍵盤(pán)、蜂鳴器、數(shù)碼管、攝像頭、USB通訊、VGA接口等。掌握FPGA的編程流程后,后續(xù)需要靠更多的實(shí)踐項(xiàng)目積累經(jīng)驗(yàn)。學(xué)習(xí)FPGA要有良好的數(shù)電基礎(chǔ),因?yàn)镕PGA也屬于數(shù)電的一部分,涉及到很多時(shí)序邏輯,對(duì)一些基本的邏輯門(mén)電路要了如指掌,掌握一些常用的觸發(fā)器,比如RS觸發(fā)器、D觸發(fā)器、T觸發(fā)器,以及一些分頻器等,F(xiàn)PGA編程設(shè)計(jì)時(shí),經(jīng)常會(huì)用到這些基本的數(shù)字電路。
總結(jié):FPGA快速入門(mén)的關(guān)鍵是親自動(dòng)手練習(xí),多練習(xí)、多思考、多查資料,還要學(xué)會(huì)總結(jié)。親自訓(xùn)練兩三個(gè)項(xiàng)目之后基本掌握了FPGA編程技術(shù),不過(guò)要想成為FPGA高手,還得多磨練,多積累經(jīng)驗(yàn)。而且以目前的狀況來(lái)看,F(xiàn)PGA的發(fā)展前景一片大好,如今科技水平在飛速發(fā)展,技術(shù)競(jìng)爭(zhēng)越來(lái)越激烈,現(xiàn)在的電子產(chǎn)品對(duì)速率的要求越來(lái)越高,F(xiàn)PGA相比單片機(jī)、DSP、ARM等處理器在處理速度方面具有絕對(duì)的優(yōu)勢(shì)。FPGA在視頻圖像領(lǐng)域、機(jī)器人工業(yè)控制領(lǐng)域、醫(yī)療器械領(lǐng)域、安防領(lǐng)域以及軍工航空、航天領(lǐng)域等高技術(shù)行業(yè)都有廣泛的應(yīng)用,特別是在新型的人工智能領(lǐng)域必然會(huì)應(yīng)用的FPGA作為硬件支撐。因此,學(xué)好FPGA就業(yè)前景相當(dāng)不錯(cuò)的。
-
FPGA
+關(guān)注
關(guān)注
1645文章
22039瀏覽量
618142 -
編程
+關(guān)注
關(guān)注
88文章
3689瀏覽量
95219
發(fā)布評(píng)論請(qǐng)先 登錄
評(píng)論