回覆列表
  • 1 # 技術閒聊

    想快速入門FPGA最好的辦法是專案實踐,只看書不親自動手練習進步是非常慢的,而且還不好理解,過個幾天就全忘了。所以最好購買一塊基本外圍電路比較全面的FPGA開發板,邊看書邊動手練習,親自實踐才是王道!

    FPGA程式語言

    學習FPGA,首先要學習其程式語言——硬體描述語言,目前比較流行的程式語言有Verilog和VHDL,VHDL是80年代美國國防部開發的語言,語法運用比較嚴謹,而Verilog是民間的一位工程師1983年開發出來的,1992年才開始納入電氣電子工程學會標準,Verilog語法相對自由一些。可根據個人喜愛選擇,本人更喜歡使用Verilog程式設計,Verilog跟C語言相近,比較通俗易懂。

    學習程式語言時,一定要注意特別容易出錯的地方,下面以Verilog為例:

    (1)比如“<=”符號,在C語言當中屬於“小於等於”比較符號,但是在Verilog語言中,“<=”可以是小於等於判斷符號,也可以是賦值符號。比如if(i<=10)這屬於判斷語句,跟C語言一樣,q<=8"b10100101;//這屬於賦值語句,將8位二進位制的數賦值給q。

    (2)賦值語句“=”和“<=”的區別,“=”是阻塞賦值,也就是按順序往下執行,而<=”是非阻塞賦值,所有語句並行執行。比如初始值a=1;b=2;執行b=a;c=b;之後c=1;執行b<=a;c<=b;之後c=2。兩者的結果完全不同。

    (3)注意wire和reg型別的區別,wire型表示硬線的連線,reg屬於暫存器型別,在alway模組中定義變數要使用reg型;同一個變數不要在多個alway模組中賦值;begin和end相當於c語言的{},一定要成對出現。

    專案實踐

    選擇開發板時,最好找比較正規的,外圍電路模組功能比較全,程式設計例子齊全,附帶詳細的教程說明,最好有相應的影片教程,這些資料對新手會有很大的幫助。

    專案程式設計練習時,由易到難,循序漸進,先從最簡單的點亮LED指示燈開始學習,掌握整個FPGA的程式設計流程,學會自己程式設計建立模組、引腳配置、時序模擬等。可練習的專案很多,比如流水燈、按鍵/鍵盤、蜂鳴器、數碼管、攝像頭、USB通訊、VGA介面等。掌握FPGA的程式設計流程後,後續需要靠更多的實踐專案積累經驗。學習FPGA要有良好的數電基礎,因為FPGA也屬於數電的一部分,涉及到很多時序邏輯,對一些基本的邏輯閘電路要了如指掌,掌握一些常用的觸發器,比如RS觸發器、D觸發器、T觸發器,以及一些分頻器等,FPGA程式設計設計時,經常會用到這些基本的數位電路。

    總結:FPGA快速入門的關鍵是親自動手練習,多練習、多思考、多查資料,還要學會總結。親自訓練兩三個專案之後基本掌握了FPGA程式設計技術,不過要想成為FPGA高手,還得多磨練,多積累經驗。而且以目前的狀況來看,FPGA的發展前景一片大好,如今科技水平在飛速發展,技術競爭越來越激烈,現在的電子產品對速率的要求越來越高,FPGA相比微控制器、DSP、ARM等處理器在處理速度方面具有絕對的優勢。FPGA在影片影象領域、機器人工業控制領域、醫療器械領域、安防領域以及軍工航空、航天領域等高技術行業都有廣泛的應用,特別是在新型的人工智慧領域必然會應用的FPGA作為硬體支撐。因此,學好FPGA就業前景相當不錯的。

  • 中秋節和大豐收的關聯?
  • 美的變頻空調型號字母各代表什麼意思?