其實(shí)學(xué)習(xí)FPGA與本科的知識(shí)并無(wú)太大的關(guān)聯(lián),數(shù)電的內(nèi)容只在涉及到具體的芯片時(shí)才會(huì)用到。就我的學(xué)習(xí)感覺,09年上半年看了4個(gè)月的書,完全沒收獲,后來(lái)從6月開始試著編程,到現(xiàn)在基本沒問題了。
學(xué)習(xí)FPGA,首先看看基礎(chǔ)知識(shí),什么書并不重要,比如最重要的always,非阻塞賦值,case就夠了,其他的知識(shí)要點(diǎn)可以先不看,然后開始試著寫小程序并編譯仿真,比如說(shuō)計(jì)數(shù)器,分頻器,串口通信,F(xiàn)IFO。由易到難,碰到error或者warning就翻書或者百度,只要開始動(dòng)手,在經(jīng)歷最初的困惑后就是水到渠成了
現(xiàn)在很多FPGA工程師,沒找到合適,我覺得很多人從開始的時(shí)候就誤入歧途了,對(duì)新手學(xué)習(xí)FPGA設(shè)計(jì)我也說(shuō)一點(diǎn)看法吧。我認(rèn)為要從基礎(chǔ)開始做,基礎(chǔ)牢,才有成為高手的可能。
我覺得FPGA學(xué)習(xí)有以下幾步必須要走:
第一步:學(xué)習(xí)了解FPGA結(jié)構(gòu),F(xiàn)PGA到底是什么東西,芯片里面有什么,不要開始就拿個(gè)開發(fā)板照著別人的東西去編程。很多開發(fā)板的程序?qū)懙暮軤€,我也做過一段時(shí)間的開發(fā)板設(shè)計(jì),我覺得很大程度上,開發(fā)板在誤人子弟。不過原廠提供的正品開發(fā)板,代碼很優(yōu)秀的,可以借鑒。只有了解了FPGA內(nèi)部的結(jié)構(gòu)才能明白為什么寫Verilog和寫C整體思路是不一樣的。
第三步:開始學(xué)習(xí)代碼了。我建議要學(xué)代碼的人都去Altera或Xilinx的網(wǎng)站上下原廠工程師的代碼學(xué)習(xí)。不要一開始就走入誤區(qū)。
做FPGA主要是要有電路的思想,作為初學(xué)者,往往對(duì)器件可能不是熟悉,那么應(yīng)該對(duì)于數(shù)字電路的知識(shí)很熟悉吧,F(xiàn)PGA中是由觸發(fā)器和查找表以及互聯(lián)線等基本結(jié)構(gòu)組成的,其實(shí)在我們?cè)诖a里面能夠看到的就是與非門以及觸發(fā)器,不要把verilog和c語(yǔ)言等同起來(lái),根本就是不同的東西,沒有什么可比性,在寫一句程序的時(shí)候應(yīng)該想到出來(lái)的是一個(gè)什么樣的電路,計(jì)數(shù)器選擇器 三態(tài)門等等,理解時(shí)序,邏輯是一拍一拍的東西,在設(shè)計(jì)初期想的不是很清楚的時(shí)候可以畫畫時(shí)序圖,這樣思路會(huì)更加的清晰,還有就是仿真很重要,不要寫完程序就去往FPGA中去加載,首先要仿真,尤其是對(duì)比較大型一點(diǎn)的程序,想像自己是在做asic,是沒有二次機(jī)會(huì)的,所以一定要把仿真做好,還有很多新手對(duì)于語(yǔ)言的學(xué)習(xí)不知道選vhdl好還是verilog好,個(gè)人偏好verilog,當(dāng)然不是說(shuō)vhdl不好,反正寫出來(lái)的都是電路,那當(dāng)然就不要在語(yǔ)言的語(yǔ)法上面花太多的功夫了,verilog 言簡(jiǎn)意賅assign always case if else 掌握這些幾乎可以寫出90%的電路了,上面是我對(duì)FPGA學(xué)習(xí)的一些愚見,希望對(duì)大家有所幫助。
現(xiàn)在很多FPGA工程師,沒找到合適,我覺得很多人從開始的時(shí)候就誤入歧途了,對(duì)新手學(xué)習(xí)FPGA設(shè)計(jì)我也說(shuō)一點(diǎn)看法吧。我認(rèn)為要從基礎(chǔ)開始做,基礎(chǔ)牢,才有成為高手的可能。
我覺得FPGA學(xué)習(xí)有以下幾步必須要走:
第一步:學(xué)習(xí)了解FPGA結(jié)構(gòu),F(xiàn)PGA到底是什么東西,芯片里面有什么,不要開始就拿個(gè)開發(fā)板照著別人的東西去編程。很多開發(fā)板的程序?qū)懙暮軤€,我也做過一段時(shí)間的開發(fā)板設(shè)計(jì),我覺得很大程度上,開發(fā)板在誤人子弟。不過原廠提供的正品開發(fā)板,代碼很優(yōu)秀的,可以借鑒。只有了解了FPGA內(nèi)部的結(jié)構(gòu)才能明白為什么寫Verilog和寫C整體思路是不一樣的。
第三步:開始學(xué)習(xí)代碼了。我建議要學(xué)代碼的人都去Altera或Xilinx的網(wǎng)站上下原廠工程師的代碼學(xué)習(xí)。不要一開始就走入誤區(qū)。
做FPGA主要是要有電路的思想,作為初學(xué)者,往往對(duì)器件可能不是熟悉,那么應(yīng)該對(duì)于數(shù)字電路的知識(shí)很熟悉吧,F(xiàn)PGA中是由觸發(fā)器和查找表以及互聯(lián)線等基本結(jié)構(gòu)組成的,其實(shí)在我們?cè)诖a里面能夠看到的就是與非門以及觸發(fā)器,不要把verilog和c語(yǔ)言等同起來(lái),根本就是不同的東西,沒有什么可比性,在寫一句程序的時(shí)候應(yīng)該想到出來(lái)的是一個(gè)什么樣的電路,計(jì)數(shù)器選擇器 三態(tài)門等等,理解時(shí)序,邏輯是一拍一拍的東西,在設(shè)計(jì)初期想的不是很清楚的時(shí)候可以畫畫時(shí)序圖,這樣思路會(huì)更加的清晰,還有就是仿真很重要,不要寫完程序就去往FPGA中去加載,首先要仿真,尤其是對(duì)比較大型一點(diǎn)的程序,想像自己是在做asic,是沒有二次機(jī)會(huì)的,所以一定要把仿真做好,還有很多新手對(duì)于語(yǔ)言的學(xué)習(xí)不知道選vhdl好還是verilog好,個(gè)人偏好verilog,當(dāng)然不是說(shuō)vhdl不好,反正寫出來(lái)的都是電路,那當(dāng)然就不要在語(yǔ)言的語(yǔ)法上面花太多的功夫了,verilog 言簡(jiǎn)意賅assign always case if else 掌握這些幾乎可以寫出90%的電路了,上面是我對(duì)FPGA學(xué)習(xí)的一些愚見,希望對(duì)大家有所幫助。
FPGA入門:
第一步:了解FPGA基本硬件知識(shí),例如:FPGA的含義及內(nèi)部結(jié)構(gòu),現(xiàn)有的FPGA芯片種類,以及如何區(qū)分FPGA芯片。
第二步:了解掌握FPGA的硬件設(shè)計(jì)語(yǔ)言,從vhdl開始,也可以從其他開始,
第三步:熟悉vhdl語(yǔ)言編譯環(huán)境MAXBLUS ii或者Quartus II,
第四步:購(gòu)買開發(fā)板(這可以在一開始就買好),建議初期購(gòu)買一個(gè)一般的就行,像FLEX10K系列等等,價(jià)錢大約100左右,
(如果需要開發(fā)板我這代理的開發(fā)中FLEX10K系列有現(xiàn)貨)
聲明:本網(wǎng)站尊重并保護(hù)知識(shí)產(chǎn)權(quán),根據(jù)《信息網(wǎng)絡(luò)傳播權(quán)保護(hù)條例》,如果我們轉(zhuǎn)載的作品侵犯了您的權(quán)利,請(qǐng)?jiān)谝粋€(gè)月內(nèi)通知我們,我們會(huì)及時(shí)刪除。
蜀ICP備2020033479號(hào)-4 Copyright ? 2016 學(xué)習(xí)鳥. 頁(yè)面生成時(shí)間:3.103秒