感謝論壇給我的諸多照顧,通過和廣大電子愛好者深入交流,我真正了解到了很多初學(xué)者的困惑。特權(quán)同學(xué)的深入淺出玩轉(zhuǎn)FPGA系列教程確實不錯,想當初,我也是靠著他的視頻教程入門的。跟著特權(quán)同學(xué)的教程,我們能夠很快學(xué)會QuartusII軟件的使用,也能夠做一些簡單的實驗。但是跟著他的教程走了大半年,后來又跟著黑金的教程走了大半年,還有CrazyBingo的VIP教程。感覺他們都很厲害,能夠做出那么優(yōu)秀的設(shè)計,可是自己卻一直不得要領(lǐng),出了問題就是找不到原因,不知道怎么去解決。直到我在業(yè)界幾位大師的帶領(lǐng)下系統(tǒng)的學(xué)習了一段時間后,我才真正的能夠自己進行獨立的FPGA系統(tǒng)設(shè)計。總結(jié)我這一年半時間的FPGA學(xué)習經(jīng)歷,有以下心得: 一、正確的設(shè)計方法尤為重要 很多初學(xué)者,包括絕大多數(shù)的高校EDA課程,都沒有教給學(xué)生正確的設(shè)計方法,可以這么說,很多高校的授課老師對這門技術(shù)的掌握也是連入門的要求都沒達到,他們要么干脆不知道要仿真,要么就用Quartus II自帶的繪制波形的仿真軟件進行簡單的測試,很少有老師教學(xué)生怎么去進行系統(tǒng)的仿真,更少有老師教學(xué)生進行testbench的編寫。前天接觸一個進行EDA教學(xué)的老師,課程實驗要求里面說了要進行仿真,但是他不要求學(xué)生仿真,究其原因,他自己說的是因為他自己不會寫testbench。每天在各大論壇,有那么多的學(xué)生在網(wǎng)上咨詢著一些入門級的問題,讓我們不得不嗟嘆,很多大學(xué)的課程教學(xué),是很失敗的。我以前自學(xué)FPGA的時候,也覺得testbench的編寫特別的難,想跟人學(xué),卻沒有人教。導(dǎo)致一直止步不前,對自己所寫的代碼,執(zhí)行時會是怎么樣一個效果,心里完全沒有一個清晰的概念。即那時候的學(xué)習,還只停留在代碼層,完全沒有理解FPGA的工作實質(zhì)。只是看著別人這么寫能行,我也就這么寫了。當后來學(xué)會了仿真之后,突然一下子就全部理解了,知道了自己的每一行代碼生成的電路在執(zhí)行的時候會是什么情況,知道了FPGA時序設(shè)計的本質(zhì),知道了怎么通過仿真結(jié)果去修改和優(yōu)化自己的設(shè)計。因此,這里我主要就是想說,F(xiàn)PGA設(shè)計并不難,只要學(xué)習者掌握了正確的學(xué)習方法。 二、學(xué)習參考很重要 在開始學(xué)習的過程中,總會遇到各種各樣的困難:軟件使用不熟練、語法不熟練、基本原理不熟練等等,都會嚴重打擊初學(xué)者的積極性。那么針對這三個問題,小梅哥的建議則是:軟件不熟練,就跟著視頻教程一步一步走,Altera官網(wǎng)有一套視頻教程,這些教程由官方出品,具有極高的參考價值,另外,目前網(wǎng)上很多FPGA愛好者也出了有視頻教程,如果只是想單純的學(xué)習軟件的使用,跟著這些視頻教程來走是非常適合的;語法不熟練,就需要去看書了,目前講verilog語法的書滿天飛,但是實際又有多大的價值呢。個人認為,夏宇聞老師的經(jīng)典教材《Verilog數(shù)字設(shè)計教程》絕對是一本好書。這本書將Verilog語法的精髓講的淋漓盡致,對于可綜合語法和不可綜合語法都很看重,這是其他教材所無法達到的。雖然做FPGA設(shè)計,代碼必須能夠是可綜合的,這樣才能生成有意義的電路,才能被下載到FPGA芯片中去執(zhí)行。因此,絕大部分教材就只講了可綜合的設(shè)計語法,對于不可綜合的語法,只是簡單的一帶而過,這其實是非常錯誤的觀點。正確的FPGA設(shè)計流程,應(yīng)該是在開發(fā)環(huán)境中仿真無誤后才進行板級驗證,而在仿真的過程中,要想使仿真結(jié)果能夠全面可靠,不可綜合的語法運用相當重要。只有運用好了這些語法,我們才能夠編寫出好的測試文件,對我們的設(shè)計進行全面的測試。因此,那些認為不可綜合語法不重要的人,大部分對于仿真測試這一塊沒有深刻的認識。因此,他們也就無法進行很多創(chuàng)新設(shè)計和復(fù)雜的系統(tǒng)設(shè)計。對于連基本電路原理都不熟悉的人,小梅哥就感覺有點無能為力了,只能希望你自己能夠多多在網(wǎng)上查閱資料,將基本原理弄清楚。小梅哥從小學(xué)六年級拆開自己一臺嶄新的復(fù)讀機,接觸花花綠綠的電路板開始,到如今,也已經(jīng)有了十多個年頭,這十年,小梅哥無時不刻不在被電子技術(shù)的強大魅力所吸引,義無反顧的投入到電子技術(shù)的學(xué)習中。電子技術(shù)的學(xué)習,需要激情,需要耐力。 給初學(xué)者的學(xué)習建議:
建議的FPGA學(xué)習實驗順序: 基本外設(shè):
時序器件:
存儲器IP的使用:
綜合實驗,將上面的一些外設(shè),采用自頂向下的結(jié)構(gòu),設(shè)計一些綜合實驗,來實現(xiàn)自己的創(chuàng)意。 以上為FPGA初級班課程的學(xué)生需要達到的要求。更多資料請大家隨時關(guān)注論壇FPGA板塊中的資料更新。 如有任何疑問,歡迎加入芯航線FPGA學(xué)習支持群(472607506)進行討論 |