-
1 # 技術閒聊
-
2 # FPGA三板斧
如何學FPGA老生常談,與其他程式語言的學習路數都大同小異。下面介紹FPGA學習內容及方向:
一、學習FPGA
1、程式語言-Verilog(推薦)
2、上網查verilog語法資料及影片,最好一系列教學影片,按照影片潛心修煉。
3、熟悉FPGA的模擬工具,練習verilog語法程式設計
4、常用介面學習
5、IP核的使用
6、時序約束
7、軟核學習
二、學習FPGA開發工具的使用
1、xilinx的ISE和Vivado
2、Intel的quartus
3、模擬公具modelsim
4、綜合工具synthesis
5、SDK
三、學習FPGA的開發流程
自頂向下,模組化
1、需求分析
2、模組化分
3、程式碼程式設計
4、功能模擬
5、後模擬
6、編譯綜合、佈局佈線,管腳配置
7、下載硬體除錯,會使用邏輯分析儀抓訊號除錯,直至功能正確
四、購買FPGA入門開發板
任何的學習都是需要實踐的,試著編寫人生中第一個自己FPGA程式。同時開發板也配套了開發板例程,包括程式碼及影片,耐心觀看開發板的每一個例程,讀懂每一行程式碼。
五、交流
1、與他人積極交流學習心得,不恥下問
2、學會上網查資料解決自己的問題,FPGA入門方面的問題及解決都是挺多的。
六、貴在堅持、耐得住寂寞。
祝自學FPGA的同仁一路順利,找到一份滿意的工作!
-
3 # 電子硬體交流
自學FPGA需要一些基礎,而且需要學習龐雜的知識,下圖是我總結的一個FPGA學習者需要掌握的知識體系或是架構!基礎從數位電路開始,學會常用的電路,比如加法器,計數器,上升沿下降沿檢測等,移位暫存器。並且用Verilog語言能描述出來,做好每一個Module的模擬。養成良好的文件化設計習慣和程式碼風格!掌握完基礎的知識,然後開始學習寫驅動和協議,簡單的協議如UART,IIC,SPI等,驅動如AD,DA,數碼管等器件!最後學習軟核和硬核等!
回覆列表
FPGA屬於數電的範疇,在學習FPGA之前,最好有數電基礎知識,若沒有數電基礎,最好先把數電學習一遍,熟悉數電的一些基本邏輯閘電路、組合邏輯、邏輯化簡等,還有各種觸發器、鎖存器、計數器等用法。
FPGA在嵌入式行業的優勢還是挺大的,如今的電子產品對處理速度、處理能力要求越來越高,FPGA在這方面有明顯的優勢。只要FPGA的邏輯資源允許,很多執行緒可以並行處理。FPGA屬於並行處理器,並不像微控制器、DSP、ARM等屬於完全序列的處理平臺。
FPGA該如何自學呢?下面談談本人的觀點。
程式語言FPGA的程式語言使用的是硬體描述語言——Verilog或VHDL,Verilog更容易入門一些,很多語言風格、語法跟C語言很相似,但是程式設計思想跟C語言又不同,不能按照C語言的思想去學習Verilog。可以自己買一本教材自學,注意若學Verilog就購買Verilog教材,別買錯了。
下圖為Verilog編寫的ram小模組例子程式
▲生成的ram模組
開發實踐主流的FPGA開發平臺有Altera 公司(目前屬於Intel公司)的quartus開發平臺和Xilinx公司的Vivado、ISE開發平臺,Altera和Xilinx佔據FPGA市場的絕大部分份額。
購買FPGA開發板時,最好選擇外圍擴充套件功能較多,例子齊全、資料豐富的開發板。跟著開發板程式設計實踐即可。
可以從最簡單的例子開始實踐,比如簡單的LED控制,實踐LED閃爍,模擬串列埠通訊、SPI通訊等,學會使用常見的IP核。
FPGA實戰中涉及的內容很多,比如在什麼情況下使用上升沿和下降沿觸發,什麼情況下使用電平觸發,掌握FPGA的設計思路,程式設計模組化。
總之,學習FPGA,關鍵是參與專案實踐,在實踐中前行,多程式設計歷練,才能快速成長。