《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 業界動態 > FPGA學習步驟

FPGA學習步驟

2015-10-15
關鍵詞: FPGA 學習步驟

  FPGA在目前應用領域非常,在目前的單板設計里面,幾乎都可以看到它的身影。從簡單的邏輯組合,到高端的圖像、通信協議處理,從單片邏輯到復雜的ASIC原型驗證,從小家電到航天器,都可以看到FPGA應用,它的優點在這里無庸贅述。從個人實用角度看,對于學生,掌握FPGA可以找到一份很好的工作,對于有經驗的工作人員,使用fgpa可以讓設計變得非常有靈活性。掌握了fpga的設計,單板硬件設計就非常容易(不是系統設計),特別是上大學時如同天書的邏輯時序圖,看起來就非常親切。但fpga的入門卻有一定難度,因為它不像軟件設計,只要有一臺計算機,幾乎就可以完成所有的設計。fpga的設計與硬件直接相關,需要實實在在的調試儀器,譬如示波器等。這些硬件設備一般比較昂貴,這就造成一定的入門門檻,新人在入門時遇到一點問題或者困難,由于沒有調試設備,無法定位問題,最后可能就會放棄。其實這時如果有人稍微指點一下,這個門檻很容易就過去。
  我用FPGA做設計很多年了,遠達不到精通的境界,只是熟悉使用,在這里把我對fpga的學習步驟理解寫出來,僅是作為一個參考,不對的地方,歡迎大家討論和指正。
  1、工欲善其事,必先利其器。
  計算機必不可少。目前FPGA應用較多的是Altera和xilinx這兩個公司,可以選擇安裝quartusII或者ISE軟件。這是必備的軟件環境。
  硬件環境還需要下載器、目標板。雖然有人說沒有下載器和目標板也可學習fpga,但那總是紙上談兵。這就像談女朋友, 總是嘴上說說,通個電話,連個手都沒牽,能說人家是你朋友?雖說搭建硬件環境需要花費,但想想,硬件環境至多幾百元錢, 你要真的掌握FPGA的設計,起薪比別人都不止高出這么多。這點花費算什么?
  2、熟悉verilog語言或者vhdl語言 ,熟練使用quartusII或者ISE軟件。
  VHDL和verilog各有優點,選擇一個,建議選擇verilog。熟練使用設計軟件,知道怎樣編譯、仿真、下載等過程。
  起步階段不希望報一些培訓班,除非你有錢,或者運氣好,碰到一個水平高、又想把自己的經驗和別人共享的培訓老師, 不然的話,培訓完后總會感覺自己是一個冤大頭。入門階段可以在利用網絡資源完成。
  3、設計一個小代碼,下載到目標板看看結果
  此時可以設計一個最簡答的程序,譬如點燈。如果燈在閃爍了,表示基本入門了。如果此時能夠下載到fpga外掛的flash,fpga程序能夠從flash啟動,表明fpga的最簡單設計你已經成功,可以到下一步。
  4、設計稍微復雜的代碼,下載到目標板看看結果。
  可以設計一個UART程序,網上有參考,你要懂RS232協議和fpga內置的邏輯分析儀。網上下載一個串口調試助手,調試一番,如果通信成功了,   恭喜,水平有提高。進入下一步。
  5、設計復雜的代碼,下載到目標板看看結果。
  譬如sdram的程序,網上也有參考,這個設計難度有點大。可用串口來調試sdram,把串口的數據存儲到sdram,然后讀回,如果成功,那你就比較熟悉fpga的設計餓了
  6、設計高速接口,譬如ddr2或者高速串行接口
  這要對fpga的物理特性非常了解,而且要懂得是時序約束等設計方法,要看大量的原廠文檔,這部分成功了,那就對fpga的物理接口掌握很深,你就是設計高手了
  7、設計一個復雜的協議
  譬如USB、PCIexpress、圖像編解碼等,鍛煉對系統的整體把握和邏輯劃分。完成這些,你就是一個一流的高手、
  8、學習再學習
  學習什么,我也不知道,我只知道“學無止境,山外有山”。
  最近也面試了很多FPGA工程師,沒找到合適,我覺得很多人從開始的時候就誤入歧途了,對新手學習FPGA設計我也說一點看法吧。我認為要從基礎開始做,基礎牢,才有成為高手的可能。
  我覺得有以下幾步必須要走:
  第一步:學習了解FPGA結構,FPGA到底是什么東西,芯片里面有什么,不要開始就拿個開發板照著別人的東西去編程。很多開發板的程序寫的很爛,我也做過一段時間的開發板設計,我覺得很大程度上,開發板在誤人子弟。不過原廠提供的正品開發板,代碼很優秀的,可以借鑒。只有了解了FPGA內部的結構才能明白為什么寫Verilog和寫C整體思路是不一樣的。
  第二步:掌握FPGA設計的流程。了解每一步在做什么,為什么要那么做。很多人都是不就是那幾步嗎,有什么奇怪的?呵呵,我想至少有一半以上的人不知道synthesize和traslate的區別吧。
  了解了FPGA的結構和設計流程才有可能知道怎么去優化設計,提高速度,減少資源,不要急躁,不要去在為選擇什么語言和選擇哪個公司的芯片上下功夫。語言只是一個表達的方式,重要的是你的思維,沒有一個好的指導思想,語言用得再好,不過是個懂語言的人。
  第三步:開始學習代碼了。我建議要學代碼的人都去Altera或Xilinx的網站上下原廠工程師的代碼學習。不要一開始就走入誤區。
  第四步:template很重要。能不能高效利用fpga資源,一是了解fpga結構,二是了解欲實現的邏輯功能和基本機構,三是使用正確的模板。FPGA內部器件種類相對較單一,用好模板,你的邏輯才能被高效的綜合成FPGA擅長表達的結構:)
  做fpga主要是要有電路的思想,作為初學者,往往對器件可能不是熟悉,那么應該對于數字電路的知識很熟悉吧,fpga中是由觸發器和查找表以及互聯線等基本結構組成的,其實在我們在代碼里面能夠看到的就是與非門以及觸發器,不要把verilog和c語言等同起來,根本就是不同的東西,沒有什么可比性,在寫一句程序的時候應該想到出來的是一個什么樣的電路,計數器 選擇器 三態門等等,理解時序,邏輯是一拍一拍的東西,在設計初期想的不是很清楚的時候可以畫畫時序圖,這樣思路會更加的清晰,還有就是仿真很重要,不要寫完程序就去往fpga中去加載,首先要仿真,尤其是對比較大型一點的程序,想像自己是在做asic,是沒有二次機會的,所以一定要把仿真做好,還有很多新手對于語言的學習不知道選vhdl好還是verilog好,個人偏好verilog,當然不是說vhdl不好,反正寫出來的都是電路,那當然就不要在語言的語法上面花太多的功夫了,verilog 言簡意賅assign always case if else 掌握這些幾乎可以寫出90%的電路了,上面是我的一些愚見,希望對大家有所幫助 ,個人愚見,歡迎大家討論。

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 蜜桃av噜噜一区二区三区| www.成年人视频| 欧美黑人vs亚裔videos| 国产一级又色又爽又黄大片| 777成影片免费观看| 精品国产av一二三四区| 国产精品久久久福利| 一本一本久久a久久精品综合麻豆 一本一本久久a久久精品综合麻豆 | 西西午夜无码大胆啪啪国模| 国产精品精品自在线拍| xxxxx日韩| 无翼乌工口肉肉无遮挡无码18 | 大战孕妇12p| 久久久久亚洲精品天堂| 欧美一级高清黄图片| 人人妻人人妻人人片色av| 美女18隐私羞羞视频网站| 国产成人av一区二区三区在线观看| 91精品国产亚洲爽啪在线影院 | 中国午夜性春猛交xxxx| 日韩一级在线观看| 亚洲人成影院在线无码按摩店| 热re久久精品国产99热| 动漫av在线播放| 花季app色版网站免费| 国产无套粉嫩白浆在线观看| 7777精品久久久大香线蕉| 天天色天天干天天射| 中文全彩漫画爆乳| 日本免费中文字幕在线看| 亚洲中字慕日产2021| 欧美老熟妇又粗又大| 免费A级毛片无码免费视频首页| 美女黄18以下禁止观看| 国产区精品在线| 欧美18性精品| 国产精品国产三级国产在线观看| 99久久综合国产精品免费| 好男人社区www在线视频| 中文字幕无码毛片免费看| 日本高清一本视频|