亚洲天堂网_国产中出_日韩激情网_97se.com_中国亚洲老少妇色视频

☆☆如何學習FPGA☆☆

發布時間:2022/6/10 瀏覽數:5524
學習FPGA,我們假設朋友們對自己所在的專業領域的理論是熟悉的,并且對數字電路有著基礎的認知。那么學習FPGA,個人總結主要分為如下幾個步驟:

通用學習,不管什么專業,均需要學習的過程

第一、Verilog HDL/system Verilog的掌握

       由于國內基本上使用Verilog HDL更多,所以我們推薦學習Verilog HDL,由于verilog和C語言有著70%的相似性,而大多數高校都有開設C語言課程,因此選擇Verilog HDL是首選。

       在確定好語言之后,需要不斷的進行練習,常規的練習包括計數器,編碼器,簡單的邏輯電路,強化自己對數字電路與verilog HDL之間的關聯。爭取能做到看到數字電路,可以聯想到Verilog,看到Verilog可以聯想到數字電路等等。

       在軟件平臺方面,目前應用最多的是Intel的Quartus和Xilinx的Vivado兩個平臺,另外對于一些老款型號的芯片,Xilinx的ISE也可以使用。一開始對于這些開發軟件,不用完全掌握,只需要掌握這些軟件中將Verilog綜合編譯得到RTL數字電路的功能以及簡單的仿真功能。用來輔助自己的Verilog的學習。

       剛開始當然會遇到很多語法問題,雖然Verilog有官方的IEEE標準手冊,但是對于初學者來講,完全看一遍也不太現實,我建議是遇到問題,直接百度下找下解決方案即可。

   

       第一階段的預期效果:可以通過Verilog HDL獨立完成一些簡單的數字電路的編程開發,并進行綜合編譯,實現電路的仿真。如計數器,電子鐘,編碼器等等。

第二、復雜數字電路的設計與verilog HDL的鞏固

       在有了步驟一的基礎之后,可以購買一個開發板,一開始不用太貴,1000左右就可以了。一般情況下,購買的開發板會提供各種案例,如:

     

       這個截圖是我以前購買的開發板附帶的案例,可以看到包括了按鍵控制,LED跑馬燈,串口,網口,存儲器,SUB,SD卡,VGA顯示器以及攝像頭等多個案例。這些案例基本都會有有詳細的注釋和解釋說明,幫助你了解FPGA是具體怎么操作硬件的。結合仿真分析,把每個案例都自己嘗試硬件上跑一邊。基本會對FPGA有了更進一步的認識。

       第二階段的預期效果:這個階段的預期效果,會開發一些簡單的數字系統,并在自己的硬件板子上進行實際測試,同時會根據自己需求,使用FPGA上的多種不同類型的硬件資源。

第三、時序、電路優化、資源,功耗等學習

      FPGA在設計過程中,除了實現邏輯功能之外,還涉及到很多問題,如FPGA時序問題,電路資源問題,功耗問題等等,一個好的電路,肯定具備較少的資源占用,較低的功耗以及時序。這個環節會時鐘陪伴整個FPGA的學習生涯。剛開始不懂沒關系,但是要有這個意識。

      此外,FPGA的軟件提供了大量的工具方便查看,如看時序可以通過modelsim仿真,通過片內ILA信號采集來查看時序,通過功耗分析看FPGA的實際可能功耗等等。

專項學習,根據自己的專業方向進行深入學習(結合MATLAB等仿真軟件輔助FPGA設計)

       FPGA目前應用及其廣泛,如通信和信號處理,圖像處理,接口開發,數據鏈,人工智能,CPU設計,控制系統等等。下面就其中幾個方面的學習做簡單的介紹。

第四、通信與信號處理,數據鏈

       掌握通信原理,信號處理等通信類基礎課程原理,了解一個完整的數據鏈所設計的所有模塊的原理:包括調制解調,載波同步,符號同步,幀同步,位同步,MIMO,FFT,IFFT,信道估計,均衡等原理,濾波器等等。使用FPGA對這些模塊進行基礎的開發,并嘗試自己搭建一個完整的通信系統。從而具備獨立開發一個通信系統數字信號處理部分的能力。

第五、接口開發

       串口,SPI,USB,PCI/PCIE,DDR234,TCP/IP/UDP,SATA,HDMI,VGA等常見接口協議的開發,并會自己根據實際情況,設計協議,開發接口協議。

第六、圖像處理

       掌握FPGA對二維矩陣數據開發的技巧,FPGA加速處理,常規的圖像處理算法,中值濾波,小波變換,二維傅里葉,圖像增強等基礎算法的開發。同時對一些較為復雜的圖像處理算法進行深入研究,如圖像去霧處理,去抖動處理等等。 

第七、人工智能

      人工智能方面,大部分用在目標檢測和識別,需要有一定的圖像處理理論基礎。了解FPGA開發AI系統的基本流程,如xilinx的Vitis的AI功能模塊。并掌握MATLAB/PYTHON對深度學習訓練的基本流程。目前FPGA做AI開發,大多數AI網絡模塊都有現成的庫可以使用,因此要對已有的各種深度學習網絡模塊理論要有更為深入的認識,學習什么樣的場景,選擇什么樣的網絡模型進行AI開發。當然,對于一些要求更高的需求,可自己開發新的網絡模型,并進行FPGA實現。
 
Copyright 2017-2025 © 嘉興麥特萊博軟件開發工作室
  • 網站備案號:浙ICP備18008591號-1