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