-
1 # 伊凡阿曼達
-
2 # FPGA三板斧
感覺FPGA迷茫是因為不瞭解FPGA!感覺FPGA迷茫是因為不知道FPGA能做什麼!感覺FPGA迷茫是因為不知道如何學習,又要學哪些內容!感覺FPGA迷茫是因為不知道如何進行FPGA開發!感覺FPGA迷茫是因為不知道FPGA到底是不是適合自己!1、新手如何瞭解FPGA
FPGA從定義上看就是可程式設計門陣列,FPGA晶片內部是由塊RAM,閘電路,IO管腳,DSP48E,時鐘資源,觸發器,高階的FPGA具有GTX高速通道。
FPGA從誕生的開始,就是專用AISC的一種半定製積體電路產物,解決了AISC不靈活性,可程式設計性,縮短產品的開發週期,同時也是晶片製造的前期驗證平臺。
2、FPGA的應用FPGA的應用領域很廣,能做的事情很多,不知道有沒有適合你的。
1)影片、影象處理應用2)通訊領域,主要3G,4G等方向3)高速IO,資料傳輸,10G乙太網等4)FPGA的邏輯控制5)醫療影像6)航空航天,衛星通訊應用領域廣,在此不一一列舉,不知道有沒有適合你的。
3、如何學習FPGA
FPGA入門需要掌握以下內容:
1)、FPGA的程式語言FPGA程式語言由兩種VHDL和Verilog。VHDL程式語言表達不夠直觀,複雜,學習不易。Verilog程式設計風格與C語言類似,直觀明瞭。推薦學習Verilog,但是大學裡主要講解VHDL,所以大部分人在學習verilog時都是自學或培訓,也會給自己造成很多疑惑,迷茫。
2)、FPGA的開發工具FPGA開發工具主要取決於FPGA的廠家,大家都熟悉的有Xilinx,atera(已被英特爾收購),不熟悉的有lattice。
FPGA開發的工具有ISE,Vavido,quartus,lattice。
FPGA的輔助工具有模擬工具,綜合工具。模擬工具常用modelsim,綜合工具有Synplify Pro,LeonardoSpectrum Level 3,Synopsys Express 3.4 ,一般使用廠家自帶的開發工具。
3)、數位電路FPGA的硬體基礎為數位電路。學好數位電路,有於理解FPGA底層。FPGA輸入方式在過去都是原理圖輸入,用數位電路搭建。現在則用硬體描述語言來描述數位電路,可見程式語言在綜合佈線後對應的還是數位電路。
4、FPGA的開發流程FPGA的設計是自頂向下,從需求分析,到專案開發,再測試驗收。
1)、FPGA開發步驟總結FPGA開發第一步:先確定自己要的內容,比如寫個串列埠,SPI,I2C等
FPGA開發第二步:學習原理,介面原理,介面時序。
FPGA開發第三步:模組劃分,將實現的內容劃分模組,任務分解。FPGA的設計是自頂向下,從整體到區域性。
FPGA開發第四步:編寫模組程式碼
FPGA開發第五步:編寫模組程式碼測試檔案,模擬除錯模組程式碼,如果有錯誤返回第四步,繼續修改程式碼,直到模擬OK。
FPGA開發第六步:配置管腳,編譯程式碼,生成bit檔案,如果時序不滿足要求,需要對時鐘約束。
FPGA開發第七步:下載板卡除錯驗證。
2)、FPGA入門開發板FPGA新手在學習時,配個FPGA開發板,對自己學習,理解FPGA是有很大幫助的。一則練習程式語言,熟練使用開發工具,熟悉開發流程;二則能夠實現自己的小目標,更深入理解FPGA,知道FPGA 能夠做什麼,有學習的方向,不在迷茫。
5、FPGA到底是否適合自己對於想做FPGA開發的童鞋,是否適合做FPGA開發,有沒有思考過?
想做FPGA的童鞋應根據自身的條件來決定:
1)、是否具備工科背景,是否學習了數位電路,類比電路,電路設計,C語言基礎。
2)、是否有專業背景,比如通訊工程,自動化,數字訊號處理。
3)、是否學習過VHDL程式語言。
4)、是否做過FPGA實驗,數位電路實驗。
5)、是否焊接過硬體電路,除錯硬體電路。
6)、是否有決心學習FPGA 。
以上幾點是我自己總結的,僅供參考。具備以上其中幾點的話,FPGA才適合你,否則FPGA會讓你覺得迷茫,覺得是天書。
-
3 # 楊波
經常看到狀態機中一個狀態拉高輸出完成訊號然後下一狀態拉低,這樣的話狀態訊號拉高的時間也就是該模組的 一個時鐘週期,這樣的話外部模組在檢測該訊號時的檢測時鐘就不能小於該時鐘了。 因此我想把這個訊號一直拉高,直到下一次執行操作的開始再重新復位該訊號以保障外部模組能準確檢測到該信 號然後向該模組傳送操作命令。但是具體實現時這個復位訊號應該怎麼放呢?
回覆列表
記住FPGA只是個工具,要做的是用這個工具去實現你的想法,當然實現的過程有好壞之分。目前國內更多的是用FPGA去做通訊,比如一些介面,一些編解碼等等,最近很多創業公司打算用FPGA去做影片處理那塊,我個人覺得要是想更容易找到工作,嵌入式是最好的,然後再使用FPGA做輔助,單單FPGA求職面有限。。