-
1 # yanyan335
-
2 # FPGA三板斧
很多不瞭解FPGA不知道從何下手,很多人不知道FPGA知識也只是停留在程式語言,沒硬體平臺實踐,就算語言學會了,平臺也有了,又不知道該做什麼。
本人總結了FPGA新手應該重點掌握以下幾點:
一、FPGA程式語言
FPGA程式語言主要有verilog、VHDL、systemverilog。其中systemverilog是對verilog的擴充套件。對於FPGA初學者來說掌握其中一種程式語言即可,本人推薦verilog,原因語法簡單,類似C語言,有C基礎的朋友可以很快上手。
二、熟練掌握FPGA常用的開發工具
1、FPGA常用的開發工具
主要包括:xilinx 的ISE,vivado,altera的quartus,模擬工具modelsim等
2、verilog參考書
推薦數位電路,verilog語法參考手冊,Verilong HDL入門(第3版),夏宇聞的Verilog數字系統設計教程(第2版),verilog高階數字設計等。
三、瞭解與FPGA相關的其他硬體平臺
1、常見的DSP與FPGA搭建硬體平臺
2、MCU與FPGA搭建硬體平臺
以上是在FPGA開發過程中常見的組合,瞭解硬體平臺結構,晶片外圍器件,是由必要的。多數是功能上的相互配合,FPGA側重邏輯控制,資料高速傳輸,DSP側重演算法實現,MCU輔助測試,晶片配置。
四、FPGA的設計開發流程
做為FPGA的初學者,瞭解FPGA的開發流程是必要的,自頂向下設計是FPGA的核心。
1、功能設計分析:FPGA新手往往不知道自己要做什麼,如何去做,在做任何開發設計之前都要的需求分析,明確我要實現什麼
2、軟體任務劃分:由哪些模組組成
3、程式碼編寫
4、程式碼功能模擬,直到邏輯正確,符合模組實現的功能
5、綜合佈局佈線,主要由軟體工具實現
6、時序分析
7、FPGA內部邏輯分析儀,在分析儀內新增要檢視的訊號,觸發抓訊號。
五、給自己定位,結合自己本身的專業,走適合自己的路。要想提升較快,只能多做專案,拜個好師傅,重要的還是自己要努力。
-
3 # 明德揚fpga培訓-黃老師
進一步來說,說到底,FPGA只是個工具而已,能達到什麼樣的高度,那又是另外一回事。舉一個可能不太恰當的類比——如果把FPGA學習當成是英文的學習的話,你把所有單詞、語法都掌握了,但是你想看懂英文法律原著那就得有法律的知識背景,你想要看懂英文經濟類原著那就得有經濟的知識背景。你是先把法律或者經濟的背景知識都掌握了再學習英文,還是先把英文都掌握透了再學習法律或者經濟知識,哪種方式都能最終達到效果,只是所花時間、精力可能會因人而異而已。而我們的培訓,就相當時教你英文而已,你要是有法律或者經濟類的知識最好,你要是沒有也並不太影響對英文的掌握。
回覆列表
如果你有c語言的基礎,那會比較方便學verilog這樣的硬體程式語言;另外,數位電路基礎也必須熟悉,要知道與或非等等基礎邏輯單元。verilog語言描述主要包括組合邏輯和時序邏輯,組合邏輯指與或非那樣的閘電路構成的邏輯電路,具備一定功能,不需要時鐘參與,其輸入和輸出幾乎同步;時序邏輯,一般我們用always語句塊,這就需要在時鐘的邊沿觸發語句塊中的邏輯,所以我們常常說時鐘是數位電路的心臟。我覺得工程類學習要在具體的任務下進行,比如你可以給自己定個小目標,寫一段任意時鐘分頻模組。程式碼的編譯和fpga的實現,需要藉助軟體如quartus modelsim 或者 vivado,將編譯後的程式碼載入fpga開發板,就能實現功能啦。軟體的編寫程式碼思路實現了硬體電路,這是很神奇的。