每一個看來很成功的新事物,從誕生到發展壯大都不可避免地經歷過艱難的歷程,FPGA也不例外。
FPGA一般來說比ASIC(專用集成芯片)的速度要慢,無法完成復雜的設計,但是功耗較低。但是他們也有很多的優點比如可以快速成品,可以被修改來改正程序中的錯誤和更便宜的造價。廠商也可能會提供便宜的但是編輯能力差的FPGA。因為這些芯片有比較差的可編輯能力,所以這些設計的開發是在普通的FPGA上完成的,然后將設計轉移到一個類似于ASIC的芯片上。另外一種方法是用CPLD(復雜可編程邏輯器件備)。
雖然FPGA對于我們有很大的作用,但是要學好它不是見容易的事情,更不用說沒有經過專業的培訓學校培訓。那么怎樣的才是好的學習路徑呢?明德揚的教程在這方面就做得很好。
1. 把精力花在核心的20%的功能上。例如介紹quartus軟件,其他視頻都是花四五十分鐘時間講了一大堆功能,但明德揚只花了十分鐘時間講了三個功能:新建工程、編譯工程和加載工程。掌握了這三個功能就能足夠玩轉FPGA了。
2.學習FPGA不難,難就難在FPGA的“準備工作”太多。一般過程是購買開發板、要花幾天破解安裝軟件,要花一個月學習軟件的使用、再花2個月學習verilog語言,幾個月時間過去了,還沒看到效果,試問還有多少人能保持興趣呢?
3.開發板的學習流程:購買fpga開發板,按要求安裝破解軟件,根據文檔提示把工程加載到板子上看現象,現象不對檢查使用步驟,現象正確興奮一把,然后看代碼、然后又看代碼,然后又看代碼……。漫長的、痛苦的看代碼過程,如果是標準的代碼還好,但各種風格不一、各種亂湊出來的代碼,估計都會讓人發瘋,看代碼也不知道要看啥,也看不出這代碼為什么好,為什么不好。試問這還有多少人有興趣學習呢?
所以,學好FPGA,需要正確的清晰的目標、正確的集成電路設計,善于邏輯思維或推理分析能力,以后無論做什么項目,都難不倒你,因為你有正確的學習路徑!