名稱:羽毛球記分牌設計VHDL代碼VIVADO仿真
軟件:VIVADO
語言:VHDL
代碼功能:
羽毛球記分牌:
為羽毛球比賽設計一個記分牌,記錄雙方球員的得分,每當一名球員得分時進行加分。只要有一名玩家得21分,游戲就結束。
誰贏得了游戲,對于玩家1和玩家2使用不同led顯示。贏得游戲后,計分板應在5秒后復位,除非在此時間之前發(fā)出單獨的復位信號。
在比賽中,分數(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
演示視頻:
設計文檔:
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隊得分 ??????score_B????:?IN?STD_LOGIC_VECTOR(7?DOWNTO?0);--B隊得分 ?????? ??????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);--分數(shù)十位 SIGNAL???score_A_one?????:??STD_LOGIC_VECTOR(3?DOWNTO?0);--分數(shù)個位 ???SIGNAL???score_B_ten????:??STD_LOGIC_VECTOR(3?DOWNTO?0);--分數(shù)十位 SIGNAL???score_B_one????:?STD_LOGIC_VECTOR(3?DOWNTO?0);--分數(shù)個位 ???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
代碼文件(付費下載):
點擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=1461
閱讀全文