學(xué)習(xí)FPGA,在不同層次的人明顯有不同的答案。先說一句,說不要開發(fā)版的都是菜鳥級選手。
我把FPGA層次劃分為,雞蛋級別,菜鳥級別,老鳥級別,高手級別四類。題主是雞蛋級別的吧!啥也不會。那些得贊高的不少都是菜鳥級別的選手。當(dāng)然,我現(xiàn)在告訴你的如何成為一個(gè)菜鳥。當(dāng)然以后有空我也會寫從菜鳥變成老鳥的方法。
1)熟悉語法,其實(shí)你不需要什么都會,但是要記住幾個(gè)經(jīng)典的時(shí)序,邏輯電路的描述方式。
2)熟悉三個(gè)經(jīng)典電路描述并仿真。仿真其實(shí)不是很重要,我開始學(xué)習(xí)壓根沒學(xué)那個(gè)玩意兒,因?yàn)橐侵蛔?a target="_blank">接口那玩意兒沒啥用。直接用ChipSchop抓抓數(shù)據(jù)更快。仿真是給做算法,工程相對較大的人用的。三個(gè)經(jīng)典電路分別是,分頻器,計(jì)數(shù)器(可做一個(gè)時(shí)鐘),序列檢測器。
這樣你就基本熟悉了開發(fā)環(huán)境了。
3)上板卡跑一個(gè)燈,熟悉一個(gè)板卡上時(shí)鐘資源使用,硬件的使用原理。
4)知道了FPGA學(xué)習(xí)主要不在于編程!壓根沒有編程這回事!!Verilog是硬件描述語言!描述!!寫代碼時(shí)腦子里必須有電路圖!!知道FPGA主要學(xué)的是硬件和算法!!軟件最多能占10%就不錯(cuò)了!!
只要你能完成這上面的東西,恭喜你進(jìn)入菜鳥行列,可以在別人設(shè)計(jì)好FPGA方案的條件下完成一些模塊的設(shè)計(jì)了。其實(shí)華為招聘員工,很多人FPGA水平一開始都差不多這么菜。
先寫一下老鳥需要會什么,以后再答怎么做到。
1)FPGA邏輯資源,特別是時(shí)鐘資源要非常熟悉。
2)做算法的必須熟悉sysgen的使用。說的容易了,sysgen畫畫圖也沒那么容易哦,你要熟悉使用各種濾波器,理論知識要求起點(diǎn)就不小。
3)充分理解FPGA從上而下的設(shè)計(jì)原則,能夠編寫中等程度的FPGA詳細(xì)設(shè)計(jì)方案。
4)熟悉時(shí)序優(yōu)化,時(shí)序收斂,區(qū)域約束等知識。并且能運(yùn)用到編程之中,解決菜鳥們解決不了的“不科學(xué)”的問題。說白了就是會使用planhead,以及ISE中那些你還沒接觸過的功能。一般菜鳥們ISE都只會編程,默認(rèn)的編譯一下,然后下載,ChipSchop抓抓數(shù)看看。
5)能夠熟悉FPGA常用的接口,不求都會編程,但是要知道他們功能是什么。比如ADC,DAC,串口,EMIF等等。并且熟悉DSP等FPGA周邊常用芯片工作原理。
6)熟悉硬件設(shè)計(jì),至少要知道Bank上IO規(guī)劃怎么好,全局時(shí)鐘,區(qū)域時(shí)鐘大致怎么規(guī)劃等等。
等這些都熟悉了,差不多是老鳥了。
要成為高手,你沒有十來個(gè)FPGA程序設(shè)計(jì)經(jīng)驗(yàn),解決過十來個(gè)中大項(xiàng)目核心問題,沒有做過大系統(tǒng)還是停留在小板卡,都是不行的。
發(fā)現(xiàn)入門沒那么容易。我覺得入門必須知道FPGA是做什么的,能做什么?和ARM,DSP,X86,GPU對比有啥優(yōu)勢?
我下面簡單說說,F(xiàn)PGA現(xiàn)在有三個(gè)方面:
1)通信高速接口設(shè)計(jì)。一般速率太高了,需要用FPGA把高速數(shù)字信號分開,然后使信號容易處理,傳輸,存儲。3
2)數(shù)字信號處理。包括圖像處理,雷達(dá)信號處理,醫(yī)學(xué)信號處理等。優(yōu)勢是實(shí)時(shí)性好,用面積換速度,比CPU快的多。
3)SOPC。但是個(gè)人覺得這個(gè)方面不太主流。
基本上60%以上應(yīng)用于做通信接口,也是FPGA最適合做,也是優(yōu)勢最大的方面。30%做信號處理。其實(shí)很多情況做信號處理也是由于一個(gè)系統(tǒng)中已經(jīng)需要一個(gè)做接口的FPGA,不想多花錢、費(fèi)事在買個(gè)DSP而已!
以上各個(gè)芯片各有啥優(yōu)勢請自己百度。
后記
聽到有人批評,其實(shí)我還是蠻高興的。有人說我水平是一個(gè)較高的菜鳥。確實(shí)嚴(yán)格來講沒有錯(cuò)。仿真一直是我忽略的一個(gè)環(huán)節(jié)。我在這里承認(rèn)自己說仿真不重要是不對的。仿真一般可以提高一個(gè)優(yōu)秀的FPGA工程師的工作效率,一些低級的錯(cuò)誤可以一下子反應(yīng)出來。特別是不熟悉FPGA語法的人需要仿真。畢竟一個(gè)較大的FPGA程序需要編譯幾個(gè)小時(shí)。但是請大家合理的看待仿真這件事,菜鳥又要學(xué)編程又要學(xué)仿真。關(guān)鍵仿真正確后實(shí)際還不一定對!這樣會打擊信心。
在有條件的基礎(chǔ)上可以直接抓取信號看看波形,這樣比較準(zhǔn)確。一下子可以讓你縮短做一個(gè)簡單工程的周期。菜鳥級別的工程一般直接寫出來也不怎么會錯(cuò)的。所以在上面我說了仿真對于菜鳥不是很重要。各自還是看每個(gè)人處在的階段看問題吧!
一般從時(shí)間上來說一般1-2年能入門,就是我說的菜鳥水平?jīng)]有達(dá)到老鳥級別。3-5年算是一個(gè)老鳥級別吧!能不能到高手看個(gè)人造化。我學(xué)習(xí)FPGA目前是兩年左右,做過工程量大的項(xiàng)目2個(gè),小項(xiàng)目記不清了,級別在菜鳥和老鳥之間。熟悉FPGA各個(gè)方面的工作,但不熟練。歡迎交流和高手們批評指正。
-
FPGA
+關(guān)注
關(guān)注
1643文章
21982瀏覽量
614568 -
IO
+關(guān)注
關(guān)注
0文章
486瀏覽量
40246 -
sopc
+關(guān)注
關(guān)注
2文章
248瀏覽量
63168
發(fā)布評論請先 登錄
PLD/FPGA新手入門知識

0.96寸OLED使用文檔新手必看V2.0
新手的FPGA學(xué)習(xí)必備的四個(gè)基礎(chǔ)知識詳解
FPGA基礎(chǔ)知識培訓(xùn)教程免費(fèi)下載

FPGA基礎(chǔ)知識及設(shè)計(jì)和執(zhí)行FPGA應(yīng)用所需的工具

評論