FPGA入門淺談

FPGA入門淺談

4 人贊了文章

很多剛接觸FPGA的初學者對FPGA都是一知半解,都不知道FPGA真真正正的優勢在哪裡。當然,對於初學者來說,確實不需要太過於深入了解,也了解不了那麼多。那麼對於FPGA剛入門我們需要注意點什麼呢?在下有一些不成熟的建議,希望能和大家分享一下。

1、數電知識

要想學好FPGA,數電知識肯定要過硬,很多FPGA工程師在接觸FPGA的時候都把FPGA當作單片機來使用,跑跑流水燈什麼。但是作為一個優秀的FPGA工程師,我們要對數電知識有著深入的理解,具體深入到什麼程度呢,在這裡我就不詳細描述,大家盡自己的最大努力去專研吧。

2、編程代碼的掌握

FPGA為可編程邏輯器件,顧名思義就是可以編程的。現在用的比較多的是Verilog和VHDL硬體語言。注意,這裡說的是硬體語言,我們要區分在學習這些語言的時候和C語言雖然看似有點共同之處,但是所實現的思路是和C語言有很大區別的。舉個例子用C語言完成A+B+C+D那麼我們可以順序執行,先計算出A+B=AB,再計算AB+C=ABC,再計算ABC+D得出最後的結果。如果用FPGA進行,我們可以同時計算出A+B=AB和C+D=CD,然後再計算AB+CD得出最後的結果。

3、模擬重要性

FPGA實現功能,前期的行為模擬是最為重要的。有很多剛接觸FPGA的工程師,由於剛開始嘗試的都是一些很簡單的例子,所以往往會忽略模擬,比如寫個流水燈什麼的,直接寫好上板子看看效果,不行就修改。

但是這種習慣是很不好的。我們要養成一個模擬的習慣,不管工程大小,要多模擬。有些初學者覺得模擬很浪費時間,恰恰相反,建立一個好的模擬模型,往往能節省很多開發調試的時間。所以在進行FPGA開發的時候,我們要加強自己的模擬建模能力,現在主流的模擬工具為Modelsim SE。

4、代碼閱讀量

不管是學FPGA還是C語言,任何一種代碼的學習都離不開大量的代碼閱讀,也就是多看,多學習別人的代碼。初學者在學習的過程中更為重要的是模仿,模仿別人的代碼演算法怎麼去處理的,模仿多了,代碼看的多了,你的能力就有所提升了。

說到這裡不免有人問,那是不是讓我去抄襲別人的代碼啊,這種行為多可恥啊。個人認為,如果您有這種高尚的想法的話,一定要儘早的放棄IT行業。對於初學者來說,我們要學習的東西很多都是技術成熟的了,網上有很多開源代碼進行參考的,我們不是直接拿過來用,而是要讀懂它的每一行,他是怎麼處理的。只有這樣我們才能提高,不然的話,讓你寫一個串口程序,你以前沒寫過,根據協議自己寫了個,可能你可以寫出來,但是你的想法是不太成熟的,有些處理的手段可能你是沒有考慮到的,你可能要等以後出現問題了才發現,這樣周期就太長了,不利於一個IT工程師的成長。如果前期你就可以從別人的代碼里借鑒到一些知識,那麼你就可以避免一些問題,也能從中學到一些知識,讓我們快速成長。

寫代碼就和寫小說一樣,如果一個知名作者沒有讀過那麼多的文章是寫不出有內涵的東西的。所以FPGA代碼也是,你要多吸取別人代碼,這樣你才能快速成長。

5、堅持不懈

最後一點就是,做什麼都要堅持下去,只有這樣才有所收穫。

推薦閱讀:

TAG:現場可編輯邏輯門陣列FPGA |