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