《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 其他 > FPGA教學(xué)——如何學(xué)習(xí)FPGA

FPGA教學(xué)——如何學(xué)習(xí)FPGA

2022-08-11
作者:FPGA之旅
來源:電子技術(shù)應(yīng)用專欄作家 FPGA之旅
關(guān)鍵詞: FPGA

  一、入門首先要掌握HDL(verilog+VHDL)

  第一句話是:還沒學(xué)數(shù)電的先學(xué)數(shù)電。然后你可以選擇verilog或者VHDL,有C語言基礎(chǔ)的,建議選擇VHDL。因?yàn)関erilog太像C了,很容易混淆,最后你會(huì)發(fā)現(xiàn),你花了大量時(shí)間去區(qū)分這兩種語言,而不是在學(xué)習(xí)如何使用它。當(dāng)然,你思維能轉(zhuǎn)得過來,也可以選verilog,畢竟在國(guó)內(nèi)verilog用得比較多。

  接下來,首先找本實(shí)例抄代碼。抄代碼的意義在于熟悉語法規(guī)則和編譯器(又叫綜合器),常用的集成開發(fā)環(huán)境有:Intel的Quartus、Xilinx的ISE和Vivado、Design Compiler 、Synopsys的VCS、Linux下的iverilog、Lattice的Diamond、Microchip的Libero、Synplify pro,然后再模仿著寫,最后不看書也能寫出來。編譯完代碼,就打開RTL圖,看一下綜合出來是什么樣的電路。

  HDL是硬件描述語言,突出硬件這一特點(diǎn),所以要用數(shù)電的思維去思考HDL,而不是用C語言或者其它高級(jí)語言,如果不能理解這句話的,可以看《什么是硬件以及什么是軟件》。在這一階段,推薦的教材是《Verilog HDL高級(jí)數(shù)字設(shè)計(jì)》或者是《用于邏輯綜合的VHDL》。不看書也能寫出個(gè)三段式狀態(tài)機(jī)就可以進(jìn)入下一階段了。

  此外,你手上必須準(zhǔn)備Verilog或者VHDL的官方文檔,《verilog_IEEE官方標(biāo)準(zhǔn)手冊(cè)-2005_IEEE_P1364》、《IEEE Standard VHDL Language_2008》,以便遇到一些語法問題的時(shí)候能查一下。

  二、獨(dú)立完成中小規(guī)模的數(shù)字電路設(shè)計(jì)

  現(xiàn)在,你可以設(shè)計(jì)一些數(shù)字電路了,像交通燈、電子琴、DDS等等,推薦的教材是《Verilog HDL應(yīng)用程序設(shè)計(jì)實(shí)例精講》。在這一階段,你要做到的是:給你一個(gè)指標(biāo)要求或者時(shí)序圖,你能用HDL設(shè)計(jì)電路去實(shí)現(xiàn)它。這里你需要一塊開發(fā)板,可以選Altera的cyclone IV系列,或者Xilinx的Spantan 6。還沒掌握HDL之前千萬不要買開發(fā)板,因?yàn)槟阗I回來也沒用。這里你沒必要每次編譯通過就下載代碼,咱們用modelsim仿真(此外還有QuestaSim、NC verilog、Diamond的Active-HDL、VCS、Debussy/Verdi等仿真工具),如果仿真都不能通過那就不用下載了,肯定不行的。在這里先掌握簡(jiǎn)單的testbench就可以了。推薦的教材是《WRITING TESTBENCHES Functional Verification of HDL Models》。

  三、掌握設(shè)計(jì)方法和設(shè)計(jì)原則

  你可能發(fā)現(xiàn)你綜合出來的電路盡管沒錯(cuò),但有很多警告。這個(gè)時(shí)候,你得學(xué)會(huì)同步設(shè)計(jì)原則、優(yōu)化電路,是速度優(yōu)先還是面積優(yōu)先,時(shí)鐘樹應(yīng)該怎樣設(shè)計(jì),怎樣同步兩個(gè)異頻時(shí)鐘等等。推薦的教材是《FPGA權(quán)威指南》、《Altera FPGA/CPLD設(shè)計(jì)》第二版的基礎(chǔ)篇和高級(jí)篇兩本。學(xué)會(huì)加快編譯速度(增量式編譯、LogicLock),靜態(tài)時(shí)序分析(timequest),嵌入式邏輯分析儀(signaltap)就算是通關(guān)了。如果有不懂的地方可以暫時(shí)跳過,因?yàn)檫@部分還需要足量的實(shí)踐,才能有較深刻的理解。

  四、學(xué)會(huì)提高開發(fā)效率

  因?yàn)镼uartus和ISE的編輯器功能太弱,影響了開發(fā)效率。所以建議使用Sublime text編輯器中代碼片段的功能,以減少重復(fù)性勞動(dòng)。Modelsim也是常用的仿真工具,學(xué)會(huì)TCL/TK以編寫適合自己的DO文件,使得仿真變得自動(dòng)化,推薦的教材是《TCL/TK入門經(jīng)典》。你可能會(huì)手動(dòng)備份代碼,但是專業(yè)人士都是用版本控制器Git的,可以提高工作效率。文件比較器Beyond Compare也是個(gè)比較常用的工具,Git也有比較功能。此外,你也可以使用System Verilog來替代testbench,這樣效率會(huì)更高一些。如果你是做IC驗(yàn)證的,就必須掌握System Verilog和驗(yàn)證方法學(xué)(UVM)。推薦的教材是《Writing Testbenches using SystemVerilog》、《The UVM Primer》、《System Verilog1800-2012語法手冊(cè)》。

  掌握了TCL/TK之后,可以學(xué)習(xí)虛擬Jtag(ISE也有類似的工具)制作屬于自己的調(diào)試工具,此外,有時(shí)間的話,最好再學(xué)個(gè)python。腳本,意味著一勞永逸。

  五、增強(qiáng)理論基礎(chǔ)

  這個(gè)時(shí)候,你已經(jīng)會(huì)使用FPGA了,但是還有很多事情做不了(比如,F(xiàn)IR濾波器、PID算法、OFDM等),因?yàn)槔碚摏]學(xué)好。我大概地分幾個(gè)方向供大家參考,后面跟的是要掌握的理論課。

  1、信號(hào)處理——信號(hào)與系統(tǒng)、數(shù)字信號(hào)處理、多采樣率信號(hào)處理、數(shù)字圖像處理、現(xiàn)代數(shù)字信號(hào)處理、盲信號(hào)處理、自適應(yīng)濾波器原理、雷達(dá)信號(hào)處理

  2、接口應(yīng)用——如:UART、SPI、IIC、USB、CAN、PCIE、Rapid IO、DDR、TCP/IP、SPI4.2(10G以太網(wǎng)接口)、SATA、光纖、DisplayPort、HDMI

  3、無線通信——信號(hào)與系統(tǒng)、數(shù)字信號(hào)處理、通信原理、移動(dòng)通信基礎(chǔ)、隨機(jī)過程、信息論與編碼

  4、CPU設(shè)計(jì)——計(jì)算機(jī)組成原理、單片機(jī)、計(jì)算機(jī)體系結(jié)構(gòu)、編譯原理、RISC-V

  5、儀器儀表——模擬電子技術(shù)、高頻電子線路、電子測(cè)量技術(shù)、智能儀器原理及應(yīng)用

  6、控制系統(tǒng)——自動(dòng)控制原理、現(xiàn)代控制理論、過程控制工程、模糊控制器理論與應(yīng)用

  7、壓縮、編碼、加密——數(shù)論、抽象代數(shù)、現(xiàn)代編碼技術(shù)、信息論與編碼、數(shù)據(jù)壓縮導(dǎo)論、應(yīng)用密碼學(xué)、音頻信息處理技術(shù)、數(shù)字視頻編碼技術(shù)原理、H.265

  現(xiàn)在你發(fā)現(xiàn),原來FPGA會(huì)涉及到那么多知識(shí),你可以選一個(gè)感興趣的方向,但是工作中很有可能用到其中幾個(gè)方向的知識(shí),所以理論還是學(xué)得越多越好。如果你要更上一層,數(shù)學(xué)和英語是不可避免的。

  六、學(xué)會(huì)使用MATLAB仿真

  設(shè)計(jì)FPGA算法的時(shí)候,多多少少都會(huì)用到MATLAB,比如CRC的系數(shù)矩陣、FFT、數(shù)字濾波器系數(shù)、各種表格和文本處理等。此外,MATLAB還能用于調(diào)試HDL(用MATLAB的計(jì)算結(jié)果跟用HDL算出來的一步步對(duì)照,可以知道哪里出問題)。推薦的教材是《MATLAB寶典》和杜勇的《數(shù)字濾波器的MATLAB與FPGA實(shí)現(xiàn)》。

  七、足量的實(shí)踐

  這個(gè)時(shí)候你至少讀過幾遍芯片手冊(cè)(官網(wǎng)有),然后可以針對(duì)自己的方向,做一定量的實(shí)踐了(期間要保持良好的代碼風(fēng)格,增加元件例化語句的可讀性,繪制流程圖/時(shí)序圖,撰寫文檔的習(xí)慣)。比如:通信類的可以做調(diào)制解調(diào)算法,儀表類的可以做總線分析儀等等。不過這些算法,在書上只是給了個(gè)公式、框圖而已,跟實(shí)際的差距很大,你甚至?xí)X得書上的東西都很膚淺。那么,你可以在知網(wǎng)、百度文庫、EETOP論壇、opencores、ChinaAET、SCI-HUB、Q群共享、博客上面找些相關(guān)資料(校外的朋友可以在淘寶買個(gè)知網(wǎng)賬號(hào))。其實(shí),當(dāng)你到了這個(gè)階段,你已經(jīng)達(dá)到了職業(yè)級(jí)水平,有空就多了解一些前沿技術(shù),這將有助于你的職業(yè)規(guī)劃。

  在工作當(dāng)中,或許你需要關(guān)注很多協(xié)議和行業(yè)標(biāo)準(zhǔn),協(xié)議可以在EETOP上面找到,而標(biāo)準(zhǔn)(如:國(guó)家標(biāo)準(zhǔn)GB和GB/T,國(guó)際標(biāo)準(zhǔn)ISO)就推薦《標(biāo)準(zhǔn)網(wǎng)》和《標(biāo)準(zhǔn)分享網(wǎng)》。

  八、數(shù)電的盡頭是模電

  現(xiàn)在FPGA內(nèi)部的事情是難不到你的,但是信號(hào)出了FPGA,你就沒法控制了。這個(gè)時(shí)候必須學(xué)好模電。比如:電路分析、模擬電子技術(shù)、高頻電子線路、PCB設(shè)計(jì)、EMC、SI、PI等等,能設(shè)計(jì)出一塊帶兩片DDR3的FPGA開發(fā)板,就算通關(guān)了。具體的學(xué)習(xí)路線可以參考本博客的《如何學(xué)習(xí)硬件設(shè)計(jì)——理論篇》和《如何學(xué)習(xí)硬件設(shè)計(jì)——實(shí)踐篇》。

  九、學(xué)無止境

  能到這個(gè)境界,說明你已經(jīng)很厲害了,但是還有很多東西要學(xué)的,因?yàn)镕PGA常常要跟CPU交互,也就是說你得經(jīng)常跟軟件工程師交流,所以也得懂點(diǎn)軟件方面的知識(shí)。比如ARM(Xilinx的ZYNQ和Altera的SOC會(huì)用到ARM的硬核,請(qǐng)參考本博客的《如何學(xué)習(xí)嵌入式軟件》)、DSP、Linux、安卓、上位機(jī)(QT、C#、JAVA)都可以學(xué)一下,反正學(xué)無止境的。

  更多信息可以來這里獲取==>>電子技術(shù)應(yīng)用-AET<<

微信圖片_20210517164139.jpg


 微信截圖_20220708161426.png

電子技術(shù)應(yīng)用專欄作家  FPGA之旅


原文地址:https://mp.weixin.qq.com/s/E-iygX4Thl768MFQuLVRAw

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請(qǐng)及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
99精品视频一区二区三区| 久久久成人精品| 亚洲欧美在线看| 亚洲人成久久| 亚洲国产欧美一区二区三区同亚洲| 国产日韩精品一区二区| 国产精品美女一区二区在线观看| 欧美日本在线一区| 欧美精品尤物在线| 欧美成人免费视频| 欧美sm极限捆绑bd| 欧美国产91| 欧美高清视频在线播放| 欧美成人免费在线观看| 欧美xxx在线观看| 欧美国产另类| 欧美日韩不卡视频| 欧美日韩免费观看一区三区| 欧美乱妇高清无乱码| 欧美日韩成人在线播放| 欧美日韩在线不卡| 国产精品男gay被猛男狂揉视频| 国产精品户外野外| 国产欧美精品在线| 国产亚洲欧洲| 在线成人中文字幕| 亚洲国产欧美日韩精品| 亚洲欧洲一区二区天堂久久| 亚洲免费av电影| 这里只有精品丝袜| 亚洲欧美制服另类日韩| 欧美中文在线观看| 91久久精品国产91久久性色tv| 亚洲国产综合91精品麻豆| 亚洲精品一区久久久久久| 一区二区av在线| 午夜精品亚洲一区二区三区嫩草| 欧美在线999| 噜噜噜在线观看免费视频日韩| 麻豆成人91精品二区三区| 欧美精品日韩一本| 国产精品久久久久久妇女6080 | 午夜精品视频在线| 久久免费视频网| 欧美激情二区三区| 国产精品第一页第二页第三页| 国产精品综合久久久| 国内成人精品2018免费看| 亚洲精华国产欧美| 亚洲午夜激情网页| 久久精品女人的天堂av| 亚洲裸体在线观看| 午夜在线电影亚洲一区| 久久一区二区三区av| 欧美日韩中文字幕综合视频| 国产日韩欧美精品| 亚洲精选国产| 欧美在线观看视频一区二区三区| 亚洲欧洲精品一区二区三区| 亚洲欧美视频一区二区三区| 久热精品在线| 欧美日韩一区自拍| 国内外成人在线| 99综合视频| 亚洲电影中文字幕| 亚洲欧美在线x视频| 蜜臀91精品一区二区三区| 国产精品国产三级国产专区53 | 亚洲欧美日韩国产一区二区三区 | 最新亚洲电影| 香蕉尹人综合在线观看| 麻豆精品传媒视频| 国产免费成人| 亚洲三级网站| 午夜在线成人av| 一区二区三区高清不卡| 久热这里只精品99re8久| 国产精品免费区二区三区观看| 亚洲电影免费观看高清| 午夜综合激情| 亚洲午夜极品| 欧美成人精精品一区二区频| 国产美女精品| 一区二区三区四区国产| 亚洲国产另类久久久精品极度 | 性娇小13――14欧美| 欧美激情一区在线观看| 国产一区二区在线免费观看| 中文网丁香综合网| 日韩一级片网址| 老司机免费视频一区二区| 国产精品一区二区黑丝| 一区二区欧美日韩| 日韩香蕉视频| 蜜臀91精品一区二区三区| 国产日韩欧美成人| 亚洲一区图片| 亚洲资源av| 欧美日韩亚洲91| 亚洲激情视频| 91久久精品日日躁夜夜躁欧美| 欧美一区二区在线看| 国产精品久久久91| 99亚洲一区二区| 艳妇臀荡乳欲伦亚洲一区| 欧美.www| 亚洲第一黄色| 91久久精品久久国产性色也91| 久久亚洲色图| 激情成人中文字幕| 先锋亚洲精品| 国产精品一区二区黑丝| 国产精品素人视频| 在线播放不卡| 欧美一进一出视频| 亚洲欧美日韩一区在线| 欧美日本一区| 亚洲日韩第九十九页| 久久精品成人一区二区三区蜜臀| 亚洲欧美一区在线| 欧美午夜www高清视频| 91久久精品国产91久久| 亚洲国产精品一区在线观看不卡 | 欧美日韩国产一区二区三区地区| 狠狠入ady亚洲精品| 欧美专区18| 久久国产精品99精品国产| 国产乱码精品| 午夜精品久久久久久久白皮肤| 亚洲一区在线播放| 国产精品第一页第二页第三页| 一区二区三区视频观看| 亚洲免费在线| 国产精品综合不卡av| 性做久久久久久免费观看欧美| 欧美中文字幕在线播放| 国产一区二区三区四区hd| 欧美在线免费观看| 久久久久久久国产| 狠狠色狠狠色综合日日91app| 亚洲高清免费视频| 欧美成人xxx| 日韩亚洲欧美一区| 午夜精品一区二区三区在线视| 国产精品亚洲综合天堂夜夜| 欧美一区二区三区四区高清 | 午夜精彩视频在线观看不卡 | 亚洲网站啪啪| 国产精品国产a级| 亚洲欧美日韩国产一区二区| 久久精品综合| 亚洲国产成人在线视频| 99riav1国产精品视频| 国产精品福利久久久| 午夜在线a亚洲v天堂网2018| 看片网站欧美日韩| 91久久久久久国产精品| 亚洲一区二区三区高清| 国产日韩一区二区三区| 亚洲国产精品123| 欧美区国产区| 亚洲欧美激情视频| 老司机免费视频久久| 日韩视频永久免费观看| 欧美一区二区黄色| 在线日韩日本国产亚洲| 一区二区三区四区在线| 国产模特精品视频久久久久| 亚洲国产欧美一区二区三区同亚洲 | 国产欧美日韩不卡| 亚洲国产精品一区制服丝袜 | 99re6热只有精品免费观看| 欧美在线亚洲一区| 亚洲第一免费播放区| 亚洲欧美综合v| 一区二区三区在线看| 在线亚洲一区二区| 国产一区二区三区成人欧美日韩在线观看 | 欧美a级片网站| 亚洲国产婷婷香蕉久久久久久99| 一区二区三区国产盗摄| 国产视频亚洲精品| 亚洲伦伦在线| 国产麻豆精品在线观看| 亚洲精品视频中文字幕| 国产精品毛片一区二区三区| 久久精品国产亚洲精品| 欧美性猛交视频| 亚洲国产精品成人精品| 欧美亚州一区二区三区 | 亚洲国产精品嫩草影院| 欧美性猛交一区二区三区精品| 亚洲伦理一区| 久久午夜激情| 一区二区三区欧美| 美女啪啪无遮挡免费久久网站| 在线视频中文亚洲| 欧美激情中文字幕在线| 性感少妇一区| 欧美日韩亚洲免费|