干货丨FPGA零基础学习,入门必看!
看到不少同學(xué)后臺(tái)進(jìn)行提問:FPGA如何入門?怎么學(xué)習(xí)?其實(shí)對(duì)于新人來說,FPGA的學(xué)習(xí)需要了解的東西還是非常多,下面IC修真院就帶大家一起來了解一下吧。
FPGA簡(jiǎn)介
FPGA普遍用于實(shí)現(xiàn)數(shù)字電路模塊,用戶可對(duì)FPGA內(nèi)部的邏輯模塊和I/O模塊重新配置,以實(shí)現(xiàn)用戶的需求。它還具有靜態(tài)可重復(fù)編程和動(dòng)態(tài)在系統(tǒng)重構(gòu)的特性,使得硬件的功能可以像軟件一樣通過編程來修改。可以毫不夸張的講,FPGA能完成任何數(shù)字器件的功能,下至簡(jiǎn)單的74電路,上至高性能CPU,都可以用FPGA來實(shí)現(xiàn)。
FPGA是給誰用的?
很多學(xué)校是為給學(xué)微電子專業(yè)或者集成電路設(shè)計(jì)專業(yè)的學(xué)生用的,其實(shí)這不過是很多學(xué)校受資金限制,買不起專業(yè)的集成電路設(shè)計(jì)工具而用FPGA工具替代而已。其實(shí)FPGA是給設(shè)計(jì)電子系統(tǒng)的工程師使用的。
這些工程師通常是使用已有的芯片搭配在一起完成一個(gè)電子設(shè)備,如基站、機(jī)頂盒、視頻監(jiān)控設(shè)備等。當(dāng)現(xiàn)有芯片無法滿足系統(tǒng)的需求時(shí),就需要用FPGA來快速的定義一個(gè)能用的芯片。
FPGA里面無法就是一些“真值表”、觸發(fā)器、各種連線以及一些硬件資源,電子系統(tǒng)工程師使用FPGA進(jìn)行設(shè)計(jì)時(shí)無非就是考慮如何將這些以后資源組合起來實(shí)現(xiàn)一定的邏輯功能而已,而不必像IC設(shè)計(jì)工程師那樣一直要關(guān)注到最后芯片是不是能夠被制造出來。
本質(zhì)上和利用現(xiàn)有芯片組合成不同的電子系統(tǒng)沒有區(qū)別,只是需要關(guān)注更底層的資源而已。
要想把FPGA用起來還是簡(jiǎn)單的,因?yàn)闊o非就是那些資源,在理解了前面兩點(diǎn)再搞個(gè)實(shí)驗(yàn)板,跑跑實(shí)驗(yàn),做點(diǎn)簡(jiǎn)單的東西是可以的。
而真正要把FPGA用好,那光懂點(diǎn)FPGA知識(shí)就遠(yuǎn)遠(yuǎn)不夠了。因?yàn)樽罱K要讓FPGA里面的資源如何組合,實(shí)現(xiàn)何種功能才能滿足系統(tǒng)的需要,那就需要懂得更多更廣泛的知識(shí)。
FPGA入門須知:
觀念認(rèn)識(shí):從事FPGA開發(fā),不是寫代碼,是電路設(shè)計(jì),數(shù)字電路設(shè)計(jì),只不過不像你在protel里畫原理圖,做layout,它需要你用語言把你的電路描述出來,然后根據(jù)根據(jù)你的描述生成相應(yīng)的電路,這里描述的方式就體現(xiàn)你的技術(shù)水平了,請(qǐng)明白,verilog或者VHDL都是hardware description laugahge。
2.理論儲(chǔ)備:請(qǐng)把你的數(shù)字電路書拿出來,理解寄存器,狀態(tài)機(jī),時(shí)序方程。
3.請(qǐng)熟讀xilinx或者altera的一款FPGA的手冊(cè),了解他的接口,固件組成(PLL,BlockRAM,DCM,SERDES等),資源分布,建議用xilinx的FPGA Eidter軟件打開一個(gè)芯片的版圖,你就會(huì)發(fā)現(xiàn)FPGA本質(zhì)就是一系列資源的堆疊,你要做的事情就是怎么利用這么硬件資源做出你要的東西。
4.請(qǐng)理解組合邏輯和時(shí)序邏輯,針對(duì)2種邏輯信號(hào)延遲的組成,計(jì)算,也就是時(shí)序分許問題。
5.動(dòng)手能力,寫代碼,多寫代碼,多調(diào)試,你遇到的問題多了,解決的多了,所有的問題都不是問題了。要善于總結(jié)。
6.對(duì)流行的接口,技術(shù)的原理要理解,比如SPI,I2C,USB,DDR1/2/3,PCIE,流行的高速接口LVDS,LVPECL,SSTL等。
學(xué)習(xí)FPGA需要掌握的理論基礎(chǔ)
學(xué)會(huì)使用FPGA,但是還有很多事情做不了(比如,FIR濾波器、PID算法、OFDM等),因?yàn)槔碚摏]學(xué)好。
1、信號(hào)處理——信號(hào)與系統(tǒng)、數(shù)字信號(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
3、無線通信——信號(hào)與系統(tǒng)、數(shù)字信號(hào)處理、通信原理、移動(dòng)通信基礎(chǔ)、隨機(jī)過程、信息論與編碼
4、CPU設(shè)計(jì)——計(jì)算機(jī)組成原理、單片機(jī)、計(jì)算機(jī)體系結(jié)構(gòu)、編譯原理
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ù)原理
FPGA會(huì)涉及到很多知識(shí),你可以選一個(gè)感興趣的方向,但是工作中很有可能用到其中幾個(gè)方向的知識(shí),所以理論還是學(xué)得越多越好。如果你要更上一層,數(shù)學(xué)和英語是不可避免的。
好書推薦
Intel FPGA數(shù)字信號(hào)處理 系統(tǒng)設(shè)計(jì)權(quán)威指南
本書從硬件描述語言、Simulink環(huán)境下的模型構(gòu)建和Intel FPGA高級(jí)綜合工具下的C/C 程序設(shè)計(jì)三個(gè)不同的角度,本書從硬件描述語言、模型設(shè)計(jì)和高級(jí)綜合HLS三個(gè)角度對(duì)使用Intel公司現(xiàn)場(chǎng)可編程門陣列器件構(gòu)建數(shù)字信號(hào)處理系統(tǒng)的方法進(jìn)行了詳細(xì)的介紹。
計(jì)算機(jī)視覺技術(shù)
本書旨在建立計(jì)算機(jī)視覺技術(shù)的基礎(chǔ)知識(shí)體系,為讀者進(jìn)入人工智能視覺領(lǐng)域奠定基礎(chǔ)。本書適合作為中職、高職高專及應(yīng)用型本科人工智能通識(shí)課的教材,也可作為人工智能的普及讀物供廣大讀者自學(xué)或參考。
云計(jì)算機(jī)基礎(chǔ)與openstack
本書以實(shí)踐為宗旨,采用自動(dòng)部署工具帶領(lǐng)讀者一步一步構(gòu)建企業(yè)云平臺(tái),同時(shí)還分享了OpenStack的最佳實(shí)踐方法,幫助讀者深入了解企業(yè)級(jí)私有化云平臺(tái)的優(yōu)勢(shì)和特點(diǎn)。本書內(nèi)容豐富,注重系統(tǒng)性、實(shí)踐性和可操作性,對(duì)每個(gè)技術(shù)點(diǎn)都有相應(yīng)的操作示例,便于讀者快速掌握要點(diǎn)。
Verilog HDL設(shè)計(jì)實(shí)例手冊(cè)
本書以Intel的FPGA芯片為目標(biāo)器件,以Quartus Prime、Platform Designer(PD)、Nios II-Eclipse為軟件工具,以Verilog HDL為設(shè)計(jì)語言,選擇C4_MB“口袋實(shí)驗(yàn)板”為目標(biāo)板,通過精選設(shè)計(jì)案例,詮釋用FPGA實(shí)現(xiàn)數(shù)字系統(tǒng)設(shè)計(jì)的思路與方法。
人工智能數(shù)據(jù)處理
《人工智能數(shù)據(jù)處理》一書從基礎(chǔ)實(shí)用內(nèi)容開始,并輔以編程基礎(chǔ)知識(shí)和綜合案例,關(guān)注數(shù)據(jù)的采集、數(shù)據(jù)預(yù)處理、數(shù)據(jù)的可視化、數(shù)據(jù)的標(biāo)注,以及大數(shù)據(jù)的相關(guān)應(yīng)用等大數(shù)據(jù)的處理知識(shí)。其中,既包括文本或數(shù)值相關(guān)數(shù)據(jù)的處理,也包括對(duì)圖片這樣的非結(jié)構(gòu)化數(shù)據(jù)的梳理。
需要學(xué)習(xí)資料的同學(xué),可以私信留下正確的聯(lián)系方式,老師會(huì)主動(dòng)聯(lián)系你發(fā)送學(xué)習(xí)資料!學(xué)習(xí)之路上,IC修真院與你同行。
總結(jié)
以上是生活随笔為你收集整理的干货丨FPGA零基础学习,入门必看!的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Solidworks、Proe、Creo
- 下一篇: CC1101和CC1310的参数配置的问