對(duì)于新手學(xué)習(xí)FPGA設(shè)計(jì),要從基礎(chǔ)開(kāi)始做,基礎(chǔ)牢,才有成為高手的可能。 對(duì)于初學(xué)者,有以下幾步是必須要走的。
第一步
學(xué)習(xí)了解FPGA結(jié)構(gòu),F(xiàn)PGA到底是什么東西,芯片里面有什么,不要開(kāi)始就拿個(gè)開(kāi)發(fā)板照著別人的東西去編程。
很多開(kāi)發(fā)板的程序?qū)懙暮軤€,筆者也做過(guò)一段時(shí)間的開(kāi)發(fā)板設(shè)計(jì)。筆者覺(jué)得很大程度上,開(kāi)發(fā)板在誤人子弟。不過(guò)原廠提供的正品開(kāi)發(fā)板,代碼很優(yōu)秀的,可以借鑒。
只有了解了FPGA內(nèi)部的結(jié)構(gòu)才能明白為什么寫(xiě)Verilog和寫(xiě)C整體思路是不一樣的。
第二步
掌握FPGA設(shè)計(jì)的流程。了解每一步在做什么,為什么要那么做。很多人都說(shuō)不就是那幾步嗎,有什么奇怪的?呵呵,筆者想至少有一半以上的人不知道synthesize和traslate的區(qū)別吧。
了解了FPGA的結(jié)構(gòu)和設(shè)計(jì)流程才有可能知道怎么去優(yōu)化設(shè)計(jì)、提高速度、減少資源。不要急躁,不要去在為選擇什么語(yǔ)言和選擇哪個(gè)公司的芯片上下功夫。
語(yǔ)言只是一個(gè)表達(dá)的方式,重要的是你的思維,沒(méi)有一個(gè)好的指導(dǎo)思想,語(yǔ)言用得再好,不過(guò)是個(gè)懂語(yǔ)言的人。
第三步
開(kāi)始學(xué)習(xí)代碼了。筆者建議要學(xué)代碼的人都去Altera或Xilinx的網(wǎng)站上下原廠工程師的代碼學(xué)習(xí)。不要一開(kāi)始就走入誤區(qū)。
第四步
template很重要。能不能高效利用fpga資源,一是了解fpga結(jié)構(gòu);二是了解欲實(shí)現(xiàn)的邏輯功能和基本機(jī)構(gòu);三是使用正確的模板。FPGA內(nèi)部器件種類(lèi)相對(duì)較單一,用好模板,你的邏輯才能被高效的綜合成FPGA擅長(zhǎng)表達(dá)的結(jié)構(gòu)。
結(jié)語(yǔ)
做FPGA主要是要有電路的思想。作為初學(xué)者,往往對(duì)器件可能不是熟悉,那么應(yīng)該對(duì)于數(shù)字電路的知識(shí)很熟悉吧?FPGA中是由觸發(fā)器和查找表以及互聯(lián)線等基本結(jié)構(gòu)組成的,其實(shí)在我們?cè)诖a里面能夠看到的就是與非門(mén)以及觸發(fā)器。
不要把verilog和C語(yǔ)言等同起來(lái),根本就是不同的東西,沒(méi)有什么可比性。
在寫(xiě)一句程序的時(shí)候應(yīng)該想到出來(lái)的是一個(gè)什么樣的電路,計(jì)數(shù)器、選擇器、三態(tài)門(mén)等等。理解時(shí)序,邏輯是一拍一拍的東西,在設(shè)計(jì)初期想的不是很清楚的時(shí)候可以畫(huà)畫(huà)時(shí)序圖,這樣思路會(huì)更加的清晰。
還有就是仿真很重要,不要寫(xiě)完程序就去往FPGA中去加載。首先要仿真,尤其是對(duì)比較大型一點(diǎn)的程序,想像自己是在做asic,是沒(méi)有二次機(jī)會(huì)的,所以一定要把仿真做好。
還有很多新手對(duì)于語(yǔ)言的學(xué)習(xí)不知道選vhdl好還是verilog好,個(gè)人偏好verilog。當(dāng)然不是說(shuō)vhdl不好,反正寫(xiě)出來(lái)的都是電路,那當(dāng)然就不要在語(yǔ)言的語(yǔ)法上面花太多的功夫了。verilog言簡(jiǎn)意賅,assign、always、case、if else掌握這些幾乎可以寫(xiě)出90%的電路了。
上面是筆者的一些愚見(jiàn),希望對(duì)大家有所幫助。
審核編輯 :李倩
-
FPGA
+關(guān)注
關(guān)注
1625文章
21620瀏覽量
601231 -
Verilog
+關(guān)注
關(guān)注
28文章
1343瀏覽量
109924 -
開(kāi)發(fā)板
+關(guān)注
關(guān)注
25文章
4895瀏覽量
97057
原文標(biāo)題:大神經(jīng)驗(yàn)談 | 新手學(xué)習(xí)FPGA的入門(mén)之道
文章出處:【微信號(hào):FPGA研究院,微信公眾號(hào):FPGA研究院】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論