国产精品免费无遮挡无码永久视频-国产高潮视频在线观看-精品久久国产字幕高潮-国产精品99精品无码视亚

分享一些FPGA學習的經驗

發布時間:2018-5-8 16:44    發布者:xyd嵌入式
關鍵詞: fpga
從開始學FPGA到現在粗略算來的話,已經有3個多月了,就目前而言,我并不確定自己算

不算高手們所說的入門了。但是不管現在的水平如何,今天就總結一下自己學習它的感受

或一些認識吧。
       首先,先說一下自己的在學習中所發現自己的不足之處:
1.不會總結。
2.學習的良好習慣沒養成。
   在寫FPGA的基本模塊時,遇到的問題有許多,譬如,寫代碼時的警告,特別是一些不

能忽視的警告,每次遇到時,總是還要檢查一會兒才能改過來,或者有的警告已經出現了

幾次,但是就是解決不掉。每次在學一個模塊時,只要是看懂了,它的一些重點就沒有及

時的記錄在本子上,只有個別的想起來時,才會做筆記。每做完一個模塊,沒有及時記錄

下自己從這個模塊中學到了什么。上面的不足,都是在寫模塊的過程中,自己逐漸暴露出

來的。我很慶幸自己的一些問題能及時的被發現,雖然年前的學習將暫告一段落,但是,

在年后的學習中,我一定會時刻記得自己以前在學習上出現了怎樣的不足,避免類似的事

情再次發生。像遇到警告時,都要記錄下來,通過改正后,要注釋,寫下警告的原因,定

期看一下。我上次寫的一個代碼就沒有注釋現在自己都看不懂了

http://www.51hei.com/mcu/967.html ,每次寫模塊的時候,都要記下重點知識,即使

是自己懂得的,好記性都是比不過爛筆頭的。
       其次,就談一下自己在學習FPGA中,截止目前,學到了什么,認識到那些。
   FPGA簡單的說,就是現場可編程邏輯陣列。它的內部是邏輯單元,它們之間可以用線

連接,至于以怎樣的形式相連,則可以根據應用者寫入的邏輯決定。每次布線都會重新組

合邏輯單元,從而可以任意的編寫不同的邏輯。當然,前提是定義的邏輯塊不超出它可讀

寫的最大值。可能自己說的術語并不專業,又或者是理解或表達的不透徹,但隨著學習的

加深,一定會有更加透徹的理解吧。學習FPGA ,雖然資料很多,但是看的資料并不是很多

,除了看夏宇聞編寫的語法書外,看的最多的就是特權同學的,一個年輕的電子工程師,

他就是通過自己的努力和堅持不懈有了現在的水平,雖然不能說是最好的工程師,但是,

他在這條路上的成長歷程,卻代表著更廣大的青年的奮斗軌跡。他的《深入淺出玩轉FPGA

》這本書,以前只聽網友說不錯,等到自己開始看后,發現里面的內容確實是值得學習,

不僅是學習的層次性,同時里面的方法也是很不錯的。通過看書和做模塊,自己對FPGA中

的幾個學習重點或者說菜鳥必須清楚了解的知識,有了一些自己的看法,首先是阻塞與非

阻塞賦值的區別,阻塞賦值是只要你給一個寄存器賦值了,它在此語句結束后,其值立馬

就改變,而非阻塞賦值卻不同,賦值后,寄存器存儲的值并沒有改變,還是上次所賦得值

,只有當此過程塊結束后,下一次脈沖來時,輸出才會改變,確切的說,某些情況下,可

以將阻塞賦值理解為移位寄存器。它們的不同之處可以有下圖看出:



圖一:非阻塞賦值


圖二:阻塞賦值
       當想把a先賦給b,然后賦給c時,阻塞賦值是b和c在同一個脈沖下,一起等于a,

而非阻塞賦值則是先把a賦給b,在下一個脈沖時,再將b賦給c,這才符合設計的初衷。所以

,在運用時,要注意到它們的不同之處。在時序邏輯中,用非阻塞賦值,而在組合邏輯中

用阻塞賦值。
       除了阻塞與非阻塞賦值的區別要理解清楚外,狀態機又是一個重點,會運用狀態

機非常重要,這是在寫可調時鐘時,自己深刻意識到的,當時寫可調時鐘時,想要調節它

的不同模式,但是又不能在不同的過程塊中,對同一個變量賦值(和C51的不同之處),

所以,當時寫此代碼的時候,走了彎路。這幾次寫的幾個代碼中也用到了狀態機,如:矩

陣鍵盤的掃描,串入并出和并入串出,AD0832。它讓我越來越感覺到,要想控制好一個層

次分明的工作流程,狀態機不可少。而要想寫好一個狀態機,首先要做的就是要確定若干

個狀態,明確各個狀態之間的邏輯關系,轉移條件等等。雖然,到目前為止,自己還有幾

個模塊沒寫完,但是,自己對狀態機已經不再是不知道怎樣用,而變為遇到一個問題時,

總是想到狀態機是否能解決這個問題。我想這也是自己在這方面踏出的第一步吧。除了這

兩點外,讓我感觸很大的就是除法器的編寫,以前在單片機中,用到除法,只需要一個符

號:“/”就能搞定,但是,現在讓自己寫一個除法器,要弄懂它的原理,這讓我意識到,

往往看起來很簡單的一件事,在其背后,總有許多需要我們去挖掘或者說是去認識和學習

的地方。除此之外,我感覺有幾種編程技巧挺不錯的,例如:“Wire    keysign=cnt

[19]”這種置標志位的方法,只有當位寬為19的寄存器“cnt”計數計滿時,keysign才變

為1,同時只保留一個周期,而寄存器“cnt”計滿后,自動清零,當下次計滿時,

keysign才再次被賦值為1;這在矩陣鍵盤的掃描中,是非常重要的。還有就是移位寄存器

的應用,包括位拼接等等,都挺經典的。
       在學習的過程中,通過學習到的這幾種相對較好的編程方法后,我也意識到了自

己在學習中的一些不正確的思想,如:以前總感覺既然是寫代碼的,最好還是自己寫,這

樣才比較好,照著別人寫好的代碼看,感覺好像少點什么似的,這可能是心理作用在做怪,

而這幾次模塊寫下來,自己體悟挺深的,剛開始總是自己想著寫,進度不僅慢,效率也不

是很高。這讓我郁悶不已,后來看別人都是看著別人的代碼改寫的,我想了挺多的。看別

人的代碼,能看懂其實也是一種本事,作為初級者,首先就是一個學習的過程,不可能什

么東西都是“自來熟”,只有先學習別人的長處,掌握了一定的基礎,才能去創新。這一

點,在我看了網上一些人寫的代碼后更加相信:大多數的基本模塊代碼,大家的編程思路

都是非常一樣。只有在編寫一些大型的代碼時,才會在原有的基礎上去進行改進和融合。

而這些技能離不開平時的積累。
       關于以上的總結,我相信在以后的學習中一定會對自己有莫大的幫助,它會時刻

警醒自己,在以前的學習中,自己有哪些不足,以后千萬不能再去犯同樣的錯誤,不斷地

糾正,不斷地進步,相信自己一定會學好FPGA的。
余工Q 二八五九七八零二零三

本文地址:http://www.4huy16.com/thread-525511-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 常見深度學習模型介紹及應用培訓教程
  • Microchip第22屆中國技術精英年會上海首站開幕
  • Microchip第22屆中國技術精英年會——采訪篇
  • 技術熱潮席卷三城,2025 Microchip中國技術精英年會圓滿收官!
  • 貿澤電子(Mouser)專區

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表