姓名:朱嘉儀 學號:16020199053
轉載自https://www.zhihu.com/question/27183855/answer/41348747有刪減
【嵌牛導讀】學習FPGA,在不同層次的人明顯有不同的答案。
【嵌牛鼻子】FPGA 學習方法
【嵌牛提問】可以脫離開發(fā)板來學習嗎? 需要哪些資料,哪些軟件甚负? 硬件方向fpga學習什么柬焕?
【嵌牛正文】
我把FPGA層次劃分為,雞蛋級別梭域,菜鳥級別斑举,老鳥級別,高手級別四類〔≌牵現(xiàn)在先講講如何成為一個菜鳥富玷。
1)熟悉語法,其實你不需要什么都會既穆,但是要記住幾個經(jīng)典的時序赎懦,邏輯電路的描述方式。
2)熟悉三個經(jīng)典電路描述并仿真幻工。仿真其實不是很重要励两,我開始學習壓根沒學那個玩意兒,因為要是只做接口那玩意兒沒啥用囊颅。直接用ChipSchop抓抓數(shù)據(jù)更快当悔。仿真是給做算法,工程相對較大的人用的踢代。三個經(jīng)典電路分別是盲憎,分頻器,計數(shù)器(可做一個時鐘)胳挎,序列檢測器饼疙。
這樣你就基本熟悉了開發(fā)環(huán)境了。
3)上板卡跑一個燈慕爬,熟悉一個板卡上時鐘資源使用窑眯,硬件的使用原理。
4)知道了FPGA學習主要不在于編程澡罚!壓根沒有編程這回事I斓肾请!Verilog是硬件描述語言留搔!描述!铛铁!寫代碼時腦子里必須有電路圖8粝浴!知道FPGA主要學的是硬件和算法6稹括眠!軟件最多能占10%就不錯了!倍权!
只要你能完成這上面的東西掷豺,恭喜你進入菜鳥行列捞烟,可以在別人設計好FPGA方案的條件下完成一些模塊的設計了。其實華為招聘員工当船,很多人FPGA水平一開始都差不多這么菜题画。
以下是老鳥需要會什么。
1)FPGA邏輯資源德频,特別是時鐘資源要非常熟悉苍息。
2)做算法的必須熟悉sysgen的使用。說的容易了壹置,sysgen畫畫圖也沒那么容易哦竞思,你要熟悉使用各種濾波器,理論知識要求起點就不小钞护。
3)充分理解FPGA從上而下的設計原則盖喷,能夠編寫中等程度的FPGA詳細設計方案。
4)熟悉時序優(yōu)化难咕,時序收斂传蹈,區(qū)域約束等知識。并且能運用到編程之中步藕,解決菜鳥們解決不了的“不科學”的問題惦界。說白了就是會使用planhead,以及ISE中那些你還沒接觸過的功能咙冗。一般菜鳥們ISE都只會編程沾歪,默認的編譯一下,然后下載雾消,ChipSchop抓抓數(shù)看看灾搏。
5)能夠熟悉FPGA常用的接口,不求都會編程立润,但是要知道他們功能是什么狂窑。比如ADC,DAC,串口,EMIF等等。并且熟悉DSP等FPGA周邊常用芯片工作原理桑腮。
6)熟悉硬件設計泉哈,至少要知道Bank上IO規(guī)劃怎么好,全局時鐘破讨,區(qū)域時鐘大致怎么規(guī)劃等等丛晦。
7)信號源,示波器提陶,頻譜儀都要熟悉使用吧烫沙!
等這些都熟悉了,差不多是老鳥了隙笆。
要成為高手锌蓄,你沒有十來個FPGA程序設計經(jīng)驗升筏,解決過十來個中大項目核心問題,沒有做過大系統(tǒng)還是停留在小板卡瘸爽,都是不行的仰冠。
FPGA現(xiàn)在有三個方面:
1)通信高速接口設計。一般速率太高了蝶糯,需要用FPGA把高速數(shù)字信號分開洋只,然后使信號容易處理,傳輸昼捍,存儲识虚。3
2)數(shù)字信號處理。包括圖像處理妒茬,雷達信號處理担锤,醫(yī)學信號處理等。優(yōu)勢是實時性好乍钻,用面積換速度肛循,比CPU快的多。
3)SOPC银择。但是個人覺得這個方面不太主流多糠。
基本上60%以上應用于做通信接口,也是FPGA最適合做浩考,也是優(yōu)勢最大的方面夹孔。30%做信號處理。其實很多情況做信號處理也是由于一個系統(tǒng)中已經(jīng)需要一個做接口的FPGA析孽,不想多花錢搭伤、費事在買個DSP而已!
一般從時間上來說一般1-2年能入門袜瞬,3-5年算是一個老鳥級別吧怜俐!能不能到高手看個人造化吧。