簡單設計拔河游戲機包含六個模塊
1. 按鍵模塊:定義輸入輸出及按鍵模塊。
2. 按鍵消抖模塊:給每個按鍵兩個狀態,保證按鍵產生的信號可以消除抖動穩定,給所定按鍵兩個狀態,一個前狀態,一個后狀態,當時鐘時鐘的脈沖沿來臨時,將按鍵狀態賦值給前狀態,設置定時器,當計數計滿后,前狀態值賦給后狀態,按鍵輸出值為前狀態和后狀態的取反的并。
3. 時鐘分頻模塊:將Basys3的100M系統時鐘分頻成為周期為10ms,100Hz頻率
4. 比較模塊:由分頻后的時鐘信號模塊控制按鍵信號模塊,之后進入比較模塊,若A的脈沖數大于B,則Led向A代表方向移動,反之則向B代表方向移動,若相等則不動。由Led的位置決定使能端的開啟與關閉,若移動至A或B的頂端,則使能端控制Led無法再移動。除此還要設計計數器并可以顯示在數碼管上記下獲勝者的盤數。
5. LED移動模塊:在選定一定的時間周期內,檢測按鍵A與按鍵B的產生的脈沖個數,進行比較,若A的脈沖數量大于B,則Led向A方向移動,反之則向B方向移動,若相等則不動。
6. 譯碼模塊:將得到的信號t轉化為Led的顯示,最后賦值給Led輸出端口,并且由數碼管顯示勝利的一方 。
標簽:
verilog
上傳時間:
2020-05-19
上傳用戶:lzj007