国产久操视频-国产久草视频-国产久热精品-国产久热香蕉在线观看-青青青青娱乐-青青青青在线成人视99

  • 方案介紹
  • 附件下載
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

拔河游戲設(shè)計VHDL代碼Quartus仿真

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

2-25051319100DK.doc

共1個文件

名稱:拔河游戲設(shè)計VHDL代碼Quartus仿真

軟件:Quartus

語言:VHDL

代碼功能:

拔河游戲通常是由兩隊人數(shù)相等的選手在河界兩側(cè)各執(zhí)繩索的一端,聞令后用力拉繩,以將對方拉出河界為勝。而在電子拔河游戲中,這一過程被轉(zhuǎn)化為電子信號的處理和顯示。使用led模擬繩子,通過按鍵按下的快慢來都發(fā)力。

設(shè)計指標(biāo):

電路使用9個發(fā)光二極管表示拔河的“電子繩”,開機后只有中間一個發(fā)亮,此即拔河的中心點。游戲甲乙雙方各持一個按鈕,迅速地不斷地按動產(chǎn)生脈沖,誰按得快,亮點向誰方向移動,每按一次,亮點移動一次。亮點移到任一方終端二極管,這一方就獲勝,此時雙方按鈕均無作用,輸出保持,只有復(fù)位后才使亮點恢復(fù)到中心。由裁判下達比賽開始命令后,甲乙雙方才能輸入信號,否則輸入信號無效。用數(shù)碼管顯示獲勝者的盤數(shù),每次比賽結(jié)束自動給獲勝方加分。

FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com

演示視頻:

設(shè)計文檔:

1.工程文件

2.程序文件

 

3.程序編譯

4.RTL圖

5.仿真圖

整體仿真圖

控制模塊

按鍵檢測模塊

顯示模塊

部分代碼展示:

LIBRARY?ieee;
???USE?ieee.std_logic_1164.all;
???USE?ieee.std_logic_unsigned.all;
--控制模塊
ENTITY?bahe_ctrl?IS
???PORT?(
??????clk???????:?IN?STD_LOGIC;--標(biāo)準(zhǔn)時鐘
??????reset_n????????:?IN?STD_LOGIC;--復(fù)位信號,低有效?
reset_cnt????????:?IN?STD_LOGIC;--計數(shù)復(fù)位信號,低有效?
??????shift1???????:?IN?STD_LOGIC;--選手1
??????shift2???????:?IN?STD_LOGIC;--選手2
??????led????????????:?OUT?STD_LOGIC_VECTOR(8?DOWNTO?0);--9個led
???win1_times?????:OUT?STD_LOGIC_VECTOR(15?DOWNTO?0);--1號獲勝次數(shù)
???win2_times?????:OUT?STD_LOGIC_VECTOR(15?DOWNTO?0)--2號獲勝次數(shù)
???);
END?bahe_ctrl;
ARCHITECTURE?behave?OF?bahe_ctrl?IS
???
???TYPE?State_type?IS?(s_idle,?s_start,?s_left_shift,?s_right_shift,?s_win_1,?s_win_2);??--?定義狀態(tài)
???SIGNAL?state?:?State_Type;????--?創(chuàng)建信號
???SIGNAL?game_led??????:?STD_LOGIC_VECTOR(8?DOWNTO?0)?:=?"000010000";
SIGNAL?win1_num??????:?STD_LOGIC_VECTOR(15?DOWNTO?0)?:=?"0000000000000000";
SIGNAL?win2_num??????:?STD_LOGIC_VECTOR(15?DOWNTO?0)?:=?"0000000000000000";
BEGIN
???PROCESS?(clk)
???BEGIN
??????IF?(clk'EVENT?AND?clk?=?'1')?THEN
?????????IF?((NOT(reset_n))?=?'1')?THEN
????????????state?--復(fù)位狀態(tài)
?????????????????????state?--游戲中
??????????????????IF?(game_led?=?"100000000")?THEN
?????????????????????state?<=?s_win_1;--1號贏
??????????????????ELSIF?(game_led?=?"000000001")?THEN
?????????????????????state?<=?s_win_2;--2號贏
??????????????????ELSIF?(shift1?=?'1')?THEN
?????????????????????state?<=?s_left_shift;--led左移
??????????????????ELSIF?(shift2?=?'1')?THEN
?????????????????????state?<=?s_right_shift;--led右移
??????????????????ELSE
?????????????????????state?--led左移
??????????????????state?--led右移
??????????????????state?
??????????????????state?
??????????????????state?
????????????END?CASE;
?????????END?IF;
??????END?IF;
???END?PROCESS;
???
???
???PROCESS?(clk)
???BEGIN
??????IF?(clk'EVENT?AND?clk?=?'1')?THEN
?????????IF?((NOT(reset_n))?=?'1')?THEN--復(fù)位
????????????game_led?<=?"000010000";
?????????ELSIF?(state?=?s_left_shift)?THEN
????????????game_led?<=?(game_led(7?DOWNTO?0)?&?'0');--led左移
?????????ELSIF?(state?=?s_right_shift)?THEN
????????????game_led?<=?('0'?&?game_led(8?DOWNTO?1));--led右移
?????????END?IF;
??????END?IF;
???END?PROCESS;

點擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=1516

  • 2-25051319100DK.doc
    下載

相關(guān)推薦

曲阳县| 金华市| 灵璧县| 桃源县| 宜兴市| 云龙县| 同仁县| 通化县| 盐城市| 塔城市| 北宁市| 宜昌市| 刚察县| 玉环县| 临澧县| 梁山县| 政和县| 藁城市| 胶州市| 拜城县| 霍山县| 达州市| 方山县| 阿荣旗| 玉山县| 辉县市| 阳曲县| 磐安县| 贺州市| 喀喇| 茌平县| 桐城市| 桃园市| 营山县| 龙山县| 淮安市| 马公市| 宝兴县| 黄山市| 剑川县| 临西县|