來自一名單片機工程師的心聲
你有沒有想過:明明你很努力,別人卻輕而易舉成功,為什么你卻不能?
你辛苦背一天單詞,合上書就忘光,別人只花1小時就牢記不忘;
你在考前熬夜復習,最后還是掛科,室友卻輕松穩(wěn)拿高分……
你每天加班累成狗,比你晚來的小強,準時下班卻升為主管;
這個時代,最不缺的就是廉價的勤奮。
其實,我們欠缺的是一種學習的捷徑,就是學習方法。學習方法是學習效率的基礎,是成功引擎發(fā)動機!
?
我是一位單片機工程師我是一名單片機工程師,一次偶然的機會領導讓我參與做 FPGA 項目,從那時起對 FPGA 有著新的認識,想盡辦法學好它。清晰的記得那天剛接觸 FPGA 是工程師畫的一塊板子有幾處錯誤。老大讓我研究摸索那塊板子,于是我就玩起開發(fā)板。按照網上的資料寫了一個 LED 燈,用 JTAG 下載進去,居然亮了。從此我就看關注網上 FPGA 的相關資料,一是熱愛源賴于公司用到 FPGA, 有專門開發(fā) FPGA 工程師。二是想通過學好 FPGA 項目,提高自己專業(yè)技能,在行業(yè)中能一席之地,不容易被人企業(yè)淘汰,提高競爭力。
理想很豐滿,但現實很骨感……? ??
?剛接觸 FPGA 開發(fā)板的時候,就發(fā)覺蠻多問題,總是遇到這樣或那樣的問題,也不知道如何解決是好?其中也很想放棄過,覺得 FPGA 這個行業(yè)不太適合我,因為跟單片機工程師難度大很多, FPGA 工程師邏輯思維推理能力要非常強,才能做好這份工作。比如自己畫 FPGA 板子,用的是 EP4CE22E22 。為了方便焊接選了一個 LQFP 封裝的。結果錯誤出現了。芯片底下的熱風焊盤沒有畫,加上電, FPGA 居然燒了。第一版沒成。第二版。第二版只畫了 JTAG 口,但是 FPGA 與串行 flash 沒有連接。所以 AS 下載的時候總是彈出錯誤,說下載線出錯。郁悶了好久。管腳太多。沒辦法一條一條核對……
后來我遇到了他——我的師兄,改變了我的一生!

我跟他交流學習 FPGA 方法、如何做好 FPGA 項目、對新人初學 FPGA 有啥建議等。他在 FPGA領域工作研究好多年,研發(fā)出?“?明德揚至簡設計法?” ,
靠著這套學習系統(tǒng)的加持,我的人生一路開掛逆襲,三個月我就可以順利完成公司的FPGA項目。領導對我刮目相看,贊不絕口,升為研發(fā)部主管,薪資直接double+。
我比任何人,都更加堅定不移地相信:學習是有捷徑的,掌握好的方法,可以少走彎路。
那么,重點來了!?。⌒率滞瑢W如何學好 FPGA呢 ?我將潘老師的建議整理出來給到大家,避免大家少走彎路。
首先,初學者一開始就要盡快學完核心知識。
什么是核心知識?就是做任何項目都必須用到的基礎知識,那么什么是核心知識?
1. verilog 。verilog 中時序邏輯和組合邏輯寫法、運算符、企業(yè)設計規(guī)范、例化方法等就是核心知識;模塊結構、信號類型等是識記內容,理解就可以的;function 、 task 、讀寫文件等就純粹沒必要學了。
2. 測試文件。編寫代碼后,必須對代碼仿真,這個時候就要編寫測試文件了。那么要懂得時鐘和復位的產生方法、信號產生方法、例化等是核心知識,其他內容就沒啥必要的。
3. modelsim。modelsim 是仿真工具,新建工程、編譯工程、解決提示的錯誤、仿真工程、查看波形、定位問題和解決問題等是核心知識,其他工具中更高級的功能真沒必要學先。
4. quartus。當仿真正確后,就要加載工程到板子上跑跑了。quartus 的新建工程、綜合、配置管腳、下載工程等就是核心知識,會這幾步驟就可以了。
5. signaltap。當電路上板后,發(fā)現現象不對,此時就需要 signaltap 去查看芯片內部發(fā)生了什么事。signaltap 原理、設置、觸發(fā)條件等設置就是核心知識。要懂得如何通過 signaltap 去定位問題。
6. 至簡設計法學習。經過前面幾步,相信你可以把已有的工程下載到板上看現象了。但你此時還沒能力做設計,不懂得如何下手。這時要學習至簡設計法。它會教你如何一步一步傻瓜似去完成一個復雜電路的設計,里面很多有實用技巧,熟練運用這些技巧,有助于你寫出非常優(yōu)秀的代碼。
盡快掌握以上 6 點知識,你就越快學好 FPGA ,非核心知識,用到什么學什么,這是明德揚一貫的學習觀點。這些知識只有遇到了,才會有深刻的印象。很多人又說,我都沒項目做,那豈不是不要學了?幸好潘老師都想到這個情況,把項目中遇到的問題,都提煉成系統(tǒng)的練習題,供同學們實訓,這樣就保證了學員能夠學到真正技能,真正的本事了。
掌握至簡設計法過的是不一樣的人生
