名稱:籃球比賽計時器設計VHDL代碼Quartus仿真
軟件:Quartus
語言:VHDL
代碼功能:
籃球比賽計時器
在現(xiàn)今的體育比賽中,計時器起到至關重要的作用。為了滿足籃球比賽的計時需求,我們設計了一款基于FPGA的籃球計時器。設計各個功能子模塊,再通過適當?shù)慕涌诤托盘柧€進行通信和協(xié)調,最終實現(xiàn)籃球比賽計時器。
設計指標:
可以進行比賽計時,具有30秒倒計時,倒計時通過數(shù)碼管顯示;可通過按鍵對計時器清零、置數(shù)、啟動和暫停。通過兩個數(shù)碼管顯示兩隊比分。
當按下復位信號時,模塊復位,按下開始鍵時開始倒計時,按下暫停鍵暫停,再次按下開始鍵時繼續(xù)倒計時,直到倒計時為0后,LED閃爍報警。
FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com
演示視頻:
設計文檔:
1.工程文件
2.程序文件
3.程序編譯
4.RTL圖
5.仿真圖
整體仿真圖
分頻模塊
倒計時模塊
顯示模塊
部分代碼展示:
LIBRARY?ieee; ???USE?ieee.std_logic_1164.all; ???USE?ieee.std_logic_unsigned.all; USE?ieee.std_logic_arith.all; --數(shù)碼管顯示模塊 ENTITY?display?IS ???PORT?( ??????clk?????????:?IN?STD_LOGIC; ?????? ??????second_time??:?IN?STD_LOGIC_VECTOR(7?DOWNTO?0);--秒鐘 ??????score_1????:?IN?STD_LOGIC_VECTOR(3?DOWNTO?0);--1隊分數(shù) ??????score_2??:?IN?STD_LOGIC_VECTOR(3?DOWNTO?0);--2隊分數(shù) ?????? ??????HEX0????????:?OUT?STD_LOGIC_VECTOR(7?DOWNTO?0); ??????HEX1????????:?OUT?STD_LOGIC_VECTOR(7?DOWNTO?0); ??????HEX2????????:?OUT?STD_LOGIC_VECTOR(7?DOWNTO?0); ??????HEX3????????:?OUT?STD_LOGIC_VECTOR(7?DOWNTO?0) ???); END?display; ARCHITECTURE?behave?OF?display?IS ???SIGNAL?second_time_one?:?INTEGER?:=?0; ???SIGNAL?second_time_ten?:?INTEGER?:=?0; ???SIGNAL?score_1_int?:?INTEGER?:=?0; ???SIGNAL?score_2_int?:?INTEGER?:=?0; BEGIN ?????????second_time_one?<=?Conv_Integer(second_time)?-?second_time_ten*10;--獲取秒個位 ?????????second_time_ten?<=?Conv_Integer(second_time)?/?10;--獲取秒十位 score_1_int<=Conv_Integer(score_1); score_2_int<=Conv_Integer(score_2); ??? ???PROCESS?(clk) ???BEGIN ??????IF?(clk'EVENT?AND?clk?=?'1')?THEN ?????????CASE?second_time_one?IS--顯示秒個位 ????????????WHEN?0?=> ???????????????HEX0? ???????????????HEX0? ???????????????HEX0? ???????????????HEX0? ???????????????HEX0? ???????????????HEX0? ???????????????HEX0? ???????????????HEX0? ???????????????HEX0? ???????????????HEX0? ?????????END?CASE; ??????END?IF; ???END?PROCESS;
點擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=1517
閱讀全文