名稱:羽毛球記分牌設(shè)計(jì)VHDL代碼VIVADO仿真
軟件:VIVADO
語言:VHDL
代碼功能:
羽毛球記分牌:
為羽毛球比賽設(shè)計(jì)一個(gè)記分牌,記錄雙方球員的得分,每當(dāng)一名球員得分時(shí)進(jìn)行加分。只要有一名玩家得21分,游戲就結(jié)束。
誰贏得了游戲,對于玩家1和玩家2使用不同led顯示。贏得游戲后,計(jì)分板應(yīng)在5秒后復(fù)位,除非在此時(shí)間之前發(fā)出單獨(dú)的復(fù)位信號(hào)。
在比賽中,分?jǐn)?shù)可以是以五種方式評分:
Try — 5 分
Penalty Try — 5 分
Goal-Kick (try-conversion) — 2 分
Field-Goal (drop kick) — 3 分
Penalty goal — 3 分
FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com
演示視頻:
設(shè)計(jì)文檔:
1. 工程文件
2. 程序文件
3. 程序編譯
4. RTL圖
5. Testbench
6. 仿真圖
部分代碼展示:
LIBRARY?ieee; ???USE?ieee.std_logic_1164.all; ???USE?ieee.std_logic_unsigned.all; --顯示模塊 ENTITY?display?IS ???PORT?( ??????clk????????????:?IN?STD_LOGIC; ?????? ??????score_A?????:?IN?STD_LOGIC_VECTOR(7?DOWNTO?0);--A隊(duì)得分 ??????score_B????:?IN?STD_LOGIC_VECTOR(7?DOWNTO?0);--B隊(duì)得分 ?????? ??????bit_sel?????:?OUT?STD_LOGIC_VECTOR(3?DOWNTO?0);--數(shù)碼管位選 ??????seg_sel?????:?OUT?STD_LOGIC_VECTOR(7?DOWNTO?0)--數(shù)碼管段選 ???); END?display; ARCHITECTURE?behave?OF?display?IS component?BCD?IS ???PORT?( ??????clk??????:?IN?STD_LOGIC; ??????binary??:?IN?STD_LOGIC_VECTOR(7?DOWNTO?0); ??????Tens????:?OUT?STD_LOGIC_VECTOR(3?DOWNTO?0); ??????Ones????:?OUT?STD_LOGIC_VECTOR(3?DOWNTO?0) ???); END?component; ???SIGNAL???score_A_ten?????:?STD_LOGIC_VECTOR(3?DOWNTO?0);--分?jǐn)?shù)十位 SIGNAL???score_A_one?????:??STD_LOGIC_VECTOR(3?DOWNTO?0);--分?jǐn)?shù)個(gè)位 ???SIGNAL???score_B_ten????:??STD_LOGIC_VECTOR(3?DOWNTO?0);--分?jǐn)?shù)十位 SIGNAL???score_B_one????:?STD_LOGIC_VECTOR(3?DOWNTO?0);--分?jǐn)?shù)個(gè)位 ???SIGNAL?display_num?:?STD_LOGIC_VECTOR(3?DOWNTO?0)?:=?"0000"; ???SIGNAL?select_bit??:?STD_LOGIC_VECTOR(15?DOWNTO?0)?:=?"0000000000000000"; ???SIGNAL?geshu???????:?STD_LOGIC_VECTOR(2?DOWNTO?0)?:=?"000"; BEGIN
代碼文件(付費(fèi)下載):
點(diǎn)擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=1461