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

小梅哥和你一起深入學習FPGA之點亮LED燈(上)

發布時間:2016-2-18 14:11    發布者:designapp
關鍵詞: FPGA , LED
  在之前更新的目錄里面,并沒有安排這個實驗,第一個實驗應該是獨立按鍵的檢測與消抖。可是,當小梅哥來做按鍵消抖的實驗時,才發現沒有做基本的輸出設備,因此按鍵檢測的結果無法直觀的展示出來。也算是為后續實驗做鋪墊吧,第一個實驗就安排成了點亮LED燈。
  一、 實驗目的
  實現4個LED燈的亮滅控制
  二、 實驗原理
  LED燈的典型電路如下2-1所示,我們控制led燈的亮滅,實質就是去控制FPGA的IO輸給LED負極一個低電平或者高電平。從圖中可知,我們給對應的led負極上一個低電平,就會有對應的電流通過 電阻,流過led燈,于是LED燈就會被點亮;當給led負極一個高電平時,led兩端電壓相等,因此沒有電流流過,led則呈熄滅狀態。
  


  圖2-1 led燈典型電路
  三、 硬件設計
  本實驗的硬件電路即如圖2-1所示,讀者一看即懂,因此本節內容略。
  四、 架構設計
  雖然本實驗只是一個簡單的點亮led燈實驗,整個實驗代碼不過四五行,但是為了遵循小梅哥一直喜歡的那種模塊化的設計理念,因此本設計還是將led的驅動做成子模塊的形式。
  本實驗由兩個模塊組成,分別為led驅動模塊和頂層例化模塊,可能看過其它開發板資料的同學會覺得這樣反而增加了系統的復雜程度,但是,小梅哥如此設計必定有我的道理,圖4-1為本實驗的模塊組織結構
  


  圖4-1 led實驗模塊組織結構圖
  由圖可知本實驗僅有n個輸出端口,對應了n個led燈(為了代碼的可移植性,這里并沒有將led的個數限定死,而是采用了參數化的設計,因此,在實際使用過程中,就可根據實際不同的需要,自由的調整led的個數)。在modelsim仿真過程中,所有信號必須要有復位初始值,因此復位信號(Rst_n)必不可少。可能讀者這里會發現,與我昨天所寫的端口命名規范有出入。如果按照我所出的規范中來命名的話,則應該將復位信號命名為Global_Rst,對于這個問題,暫時小梅哥不做深入解說,其實嚴格意義上來說,這里的這個Rst_n應該只能算是一個內部信號,該信號在實際工程應用中往往由鎖相環產生。這里因為為了配合仿真,因此該信號就暫時被引出來,做了全局復位信號。詳細的關于全局復位與內部復位信號的處理,小梅哥在后面涉及到鎖相環的使用的實驗中會詳細解說。


  表4-1 led實驗端口說明
  五、 代碼組織方式
  本實驗中,每個模塊也就四五行的代碼,因此談不上代碼組織方式,因此本節從略。
  六、 關鍵代碼解讀
  以下是代碼片段:
  module LED_Driver #(parameter Width = 1)/*定義位寬參數*/
  (Rst_n,Sig,Led);/*定義模塊端口*/
  input Rst_n;
  input [Width-1:0] Sig;
  output [Width-1:0] Led;
  assign Led = (Rst_n)?Sig:{Width{1'b1}};/*復位輸出全1,否則按照Sig的值輸出*/
  endmodule
  以上為LED驅動模塊的代碼,第1行定義了一個參數“Width”,即位寬,因此在例化(調用)此模塊時,根據實際需要給Width賦予不同的值,則可實現不同的LED位寬的設置。第4至7行為輸入輸出端口定義,具體信號含義見表4-1。第9行為LED輸出賦值語句,有關該代碼的含義,請讀者自行閱讀夏宇聞老師的《Verilog數字系統設計教程》一書。小梅哥精力和時間實在太有限,沒辦法一一幫大家補充Verilog的知識,望見諒。總之,該語句實現了當復位信號為低電平時(系統處于復位狀態),所有LED全部熄滅;當復位信號為高電平(系統正常工作)時,led輸出對應的Sig信號各位的狀態。
  以下是代碼片段:
  module LED_TOP(Rst_n,Led);
  input Rst_n;
  output [3:0] Led;
  LED_Driver
  #( /*參數例化*/
  .Width (4)
  )
  LED_Driver_inst(/*端口例化*/
  .Rst_n(Rst_n),
  .Sig(4'b1001),/*OFF ON ON OFF*/
  .Led(Led)
  );
  endmodule
  以上為LED實驗的頂層模塊,其中將位寬參數例化為了4,即4個LED。因為沒有其他模塊提供Sig信號,因此直接將該信號賦值為4’b1001。則如果下載到實驗板上,會看到4個led燈分別處于“滅 亮 亮 滅”的狀態。
                               
               
本文地址:http://www.4huy16.com/thread-160854-1-1.html     【打印本頁】

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

廠商推薦

  • Microchip視頻專區
  • 電動兩輪車設計生態系統
  • Microchip第22屆中國技術精英年會上海首站開幕
  • Microchip第22屆中國技術精英年會——采訪篇
  • 常見深度學習模型介紹及應用培訓教程
  • 貿澤電子(Mouser)專區

相關在線工具

相關視頻

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