下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
四個(gè)步驟玩轉(zhuǎn)FPGAFPGA作為一種高新技術(shù),由于其結(jié)構(gòu)的特殊性,可以重復(fù)編程,開(kāi)發(fā)周期較短,越來(lái)越受到電子愛(ài)好者的青睞,其應(yīng)用已經(jīng)逐漸普及到了各行各業(yè)。因此,越來(lái)越多的學(xué)生或工程師都希望跨進(jìn)FPGA的大門(mén)掌握這門(mén)技術(shù)。網(wǎng)絡(luò)上各種開(kāi)發(fā)板、培訓(xùn)班更是多如牛毛,仿佛在告訴你不懂FPGA你就OUT啦。那么我們要玩轉(zhuǎn)FPGA必須具備哪些基礎(chǔ)知識(shí)呢?如何學(xué)習(xí)FPGA呢?下面我們慢慢道來(lái)。(一)要了解什么是FPGA既然要玩轉(zhuǎn)FPGA,那我們首先最重要的當(dāng)然是要了解什么FPGA。FPGA(Field-ProgrammableGateArray),即現(xiàn)場(chǎng)可編程門(mén)陣列。看到編程兩個(gè)字碼農(nóng)就笑了,不就是編程嘛,那可是我們的強(qiáng)項(xiàng)。且慢,此編程非彼編程。一定要把FPGA的編程和軟件編程區(qū)分開(kāi)來(lái)。軟件的編程,處理器會(huì)逐條的把語(yǔ)言翻譯成各種控制信號(hào),去控制內(nèi)部電路完成一個(gè)個(gè)運(yùn)算或操作。那么FPGA的編程是怎么實(shí)現(xiàn)的呢?無(wú)論Altera家還是Xlinix家的FPGA,叫法有什么差異,基本單元都相似,都是由真值表和D觸發(fā)器構(gòu)成。改變真值表的值就改變了邏輯功能,再通過(guò)和D觸發(fā)器組合來(lái)實(shí)現(xiàn)任何時(shí)序邏輯。所以我們對(duì)FPGA的編程,實(shí)際上就是去修改這些真值表和連接關(guān)系,使他們組成一張專門(mén)的真值表,去實(shí)現(xiàn)特定的功能。這和軟件編程一步步運(yùn)行程序有本質(zhì)的區(qū)別。要想玩轉(zhuǎn)FPGA,就必須理解FPGA內(nèi)部的工作原理,學(xué)習(xí)如何利用這些單元實(shí)現(xiàn)復(fù)雜的邏輯設(shè)計(jì)。(二)正確理解HDL語(yǔ)言HDL(HardwareDescripTIonLanguage),硬件描述語(yǔ)言。通過(guò)名稱我們能看出來(lái),HDL語(yǔ)言是一種“描述”語(yǔ)言,這一點(diǎn)和C語(yǔ)言是有本質(zhì)區(qū)別的。正確理解描述的含義,對(duì)學(xué)好HDL語(yǔ)言很有幫助。HDL語(yǔ)言只是用文本的方式把硬件電路描述出來(lái)。我們?cè)陂喿xHDL程序的時(shí)候,在腦子里應(yīng)該能反映出一個(gè)完整的硬件電路結(jié)構(gòu)。從另一方面說(shuō),我們?cè)诰帉?xiě)HDL語(yǔ)言之前,就已經(jīng)對(duì)要實(shí)現(xiàn)的電路有清晰的概念。所以HDL語(yǔ)言只是一個(gè)描述我們頭腦中具體電路的工具,玩轉(zhuǎn)FPGA的根本不是語(yǔ)言而是邏輯電路設(shè)計(jì)。不要再糾結(jié)于我應(yīng)該學(xué)習(xí)VHDL還是Verilog,那種語(yǔ)言更好學(xué)這些問(wèn)題。如果把學(xué)習(xí)FPGA的重點(diǎn)放在學(xué)習(xí)語(yǔ)言上,死記硬背一些語(yǔ)法,那自然是抓錯(cuò)了重點(diǎn)。語(yǔ)言在日常使用中會(huì)越用越熟練,不需要花很長(zhǎng)的專門(mén)時(shí)間去學(xué)習(xí)。當(dāng)然一本好的參考資料可以隨時(shí)方便查詢會(huì)是很有幫助的。(三)數(shù)字電路基礎(chǔ)說(shuō)到底,F(xiàn)PGA就是一堆數(shù)字邏輯組合在一起實(shí)現(xiàn)特定功能而已。所以數(shù)字電路基礎(chǔ)知識(shí)是根本。如果你連觸發(fā)器,組合電路,時(shí)序電路,競(jìng)爭(zhēng),毛刺等等基本概念還莫能兩可不清不楚的話,那玩轉(zhuǎn)FPGA只能是癡人說(shuō)夢(mèng)的幻想了。我們必須要好好的學(xué)好數(shù)字電路基礎(chǔ)這門(mén)課,基本的數(shù)字電路爛熟于心。把這些基礎(chǔ)打牢固,再往更深的方向發(fā)展。什么時(shí)候能夠從抽象的算法中提煉算法的結(jié)構(gòu),再分解成具體的模塊并通過(guò)硬件電路實(shí)現(xiàn)出來(lái),這時(shí)候就算從菜鳥(niǎo)級(jí)別步入老鳥(niǎo)級(jí)別了。(四)硬件設(shè)計(jì)思想這一點(diǎn)應(yīng)該說(shuō)是重中之重。學(xué)習(xí)FPGA,一定要有硬件設(shè)計(jì)思想。在軟件編程的時(shí)候,比如1秒鐘能實(shí)現(xiàn)5次乘法運(yùn)算,那系統(tǒng)要求1秒鐘實(shí)現(xiàn)50次乘法運(yùn)算怎么辦,我們會(huì)盡可能的優(yōu)化代碼,讓代碼更簡(jiǎn)潔更高效,或者提高系統(tǒng)主頻,讓系統(tǒng)跑的更快。但是在FPGA里面我們不是這種思維方式。在FPGA里實(shí)現(xiàn)一個(gè)乘法器不夠用,那我就實(shí)現(xiàn)兩個(gè)實(shí)現(xiàn)三個(gè)去滿足系統(tǒng)要求;我可以進(jìn)行流水線設(shè)計(jì);串行運(yùn)行方式不夠快了,我可以先串并轉(zhuǎn)換,再并行的做處理……只要FPGA的資源夠用,我可以充分利用資源去滿足系統(tǒng)要求。因?yàn)樵谖沂掷锏木褪且欢延布Y源,我要做的是把他們組合成一個(gè)好用的電路。評(píng)價(jià)硬件描述語(yǔ)言寫(xiě)的好壞的標(biāo)準(zhǔn)和其他軟件編程語(yǔ)言的標(biāo)準(zhǔn)是完全不同的。因此一定要摒棄軟件編程的一些固有思路,學(xué)會(huì)用硬件的方式去解決問(wèn)題。時(shí)刻提醒自己正在設(shè)計(jì)的是一個(gè)電路,而不是一行行空洞的代碼。這是很多做軟件編程的人很難跨過(guò)的坎。FPGA學(xué)了很久還在糾結(jié)到底是用if_else語(yǔ)句好呢還是用case語(yǔ)句好?而不能透過(guò)這些語(yǔ)句表面看到他們所具體代表的電路。只有建立了硬件設(shè)計(jì)思想,才有更深入學(xué)習(xí)FPGA的可能。如何學(xué)習(xí)FPGA?筆者經(jīng)常在FPGA相關(guān)技術(shù)論壇及FPGA技術(shù)交流QQ群解答初學(xué)者在學(xué)習(xí)過(guò)程中遇到的技術(shù)問(wèn)題,發(fā)現(xiàn)很多初學(xué)者都是懷著浮躁的心態(tài)來(lái)學(xué)習(xí)FPGA,總是急于求成。在學(xué)習(xí)FPGA設(shè)計(jì)技術(shù)的過(guò)程中,雖然剛開(kāi)始學(xué)習(xí)熱情很高,但真正堅(jiān)持下來(lái)一直到“學(xué)會(huì)”的卻寥寥無(wú)幾,除了學(xué)生個(gè)人毅力的因素外,另外一個(gè)重要的原因沒(méi)有好的學(xué)習(xí)教程的指引和缺乏正確的學(xué)習(xí)方法的指導(dǎo)。原本FPGA的學(xué)習(xí)門(mén)檻相對(duì)于單片機(jī)來(lái)說(shuō)就高了不少,再加上缺少手把手系列的教程資料和正確的學(xué)習(xí)方法,這就給初學(xué)者學(xué)習(xí)FPGA增添了更多的困難,很多初學(xué)者因?yàn)檎也坏饺腴T(mén)的方法而漸漸失去了學(xué)習(xí)FPGA的興趣和信心。此系列教程主要分為FPGA開(kāi)發(fā)工具的使用、verilog語(yǔ)言學(xué)習(xí)、FPGA底層硬件解讀、SDRAM讀寫(xiě)控制、數(shù)字信號(hào)處理;FPGA開(kāi)發(fā)工具的使用:實(shí)例講解XILINX開(kāi)發(fā)工具Vivado及GOWIN開(kāi)發(fā)工具講解FPGA開(kāi)發(fā)流程,幫助無(wú)FPGA開(kāi)發(fā)經(jīng)驗(yàn)工程師入門(mén)FPGA開(kāi)發(fā)。因?yàn)橐莆誇PGA這門(mén)技術(shù),扎實(shí)的理論知識(shí)還遠(yuǎn)遠(yuǎn)不夠,購(gòu)買(mǎi)一塊FPGA開(kāi)發(fā)板,多動(dòng)手練習(xí)實(shí)踐更顯得尤為重要。verilog語(yǔ)言學(xué)習(xí):主要讓初學(xué)者掌握硬件描述語(yǔ)言,結(jié)合具體項(xiàng)目實(shí)例,掌握verilog用于從門(mén)級(jí)到開(kāi)關(guān)級(jí)的多種抽象設(shè)計(jì)層次的數(shù)字系統(tǒng)建模。通過(guò)本篇教程學(xué)習(xí)主要是讓初學(xué)者掌握verilog語(yǔ)言。FPGA底層硬件解讀:結(jié)合XILINX及GOWIN等器件的對(duì)比分析,讓學(xué)員在了解硬件的底層結(jié)構(gòu)中掌握實(shí)際FPGA的特點(diǎn)、異同。SDRAM讀寫(xiě)控制:原廠實(shí)例講解FPGA,掌握讀寫(xiě)操作與寫(xiě)入命令等。同時(shí),指導(dǎo)學(xué)員完成基于高云
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年版的云計(jì)算服務(wù)合同
- 不可撤銷(xiāo)信用證范文(2024版)
- 2025年度草種市場(chǎng)調(diào)研與銷(xiāo)售合同3篇
- 《任教學(xué)科語(yǔ)》課件
- 2024高新技術(shù)產(chǎn)品進(jìn)出口貿(mào)易合同
- 2024招投標(biāo)與合同管理實(shí)務(wù):國(guó)有企業(yè)合規(guī)管理細(xì)則3篇
- 2025年度草場(chǎng)租賃與草原畜牧業(yè)發(fā)展協(xié)議3篇
- 2024年網(wǎng)絡(luò)直播平臺(tái)技術(shù)服務(wù)與授權(quán)合同
- 2024房地產(chǎn)公司合同類(lèi)別
- 2025年度航空航天發(fā)動(dòng)機(jī)采購(gòu)合同范本與性能測(cè)試要求3篇
- 《榜樣9》觀后感心得體會(huì)二
- 2024年公安機(jī)關(guān)理論考試題庫(kù)附參考答案(基礎(chǔ)題)
- 2023年高考文言文閱讀設(shè)題特點(diǎn)及備考策略
- 暖通工程合同
- 生產(chǎn)型企業(yè)規(guī)章管理制度(3篇)
- 鋼結(jié)構(gòu)之樓承板施工方案流程
- 2024年?duì)I銷(xiāo)部工作人員安全生產(chǎn)責(zé)任制(2篇)
- ISO 56001-2024《創(chuàng)新管理體系-要求》專業(yè)解讀與應(yīng)用實(shí)踐指導(dǎo)材料之3:4組織環(huán)境-4.1理解組織及其環(huán)境(雷澤佳編制-2025B0)
- 2024-2030年中國(guó)管道檢測(cè)工程行業(yè)前景分析發(fā)展規(guī)劃研究報(bào)告
- (正式版)SHT 3046-2024 石油化工立式圓筒形鋼制焊接儲(chǔ)罐設(shè)計(jì)規(guī)范
- 志愿服務(wù)證明(多模板)
評(píng)論
0/150
提交評(píng)論