名称:乒乓球游戏控制器verilog(代码在文末付费下载)
软件:Quartus
语言:Verilog
要求:
乒乓球控制器(数码管显示各3位:2位显示当前局分数,1位赢得局数,再有一个数码管显示当前局数)
-
利用显示灯表示球网和乒乓球
-
利用显示灯表示球台的边界
-
在球网和球台边界范围内,用开关回接乒乓球
代码下载:乒乓球游戏控制器verilog带报告_Verilog/VHDL资源下载
代码网:hdlcode.com
部分代码展示
`timescale 1ns / 1ps module pingpang_game( input clk_in,//50MHz input reset_n,//复位 input start,//开始 input button_1,//选手1 input button_2,//选手2 output win_led,//获胜提示 output [5:0] led,//led,高电平亮 high light output [7:0] HEX0,//数码管0 output [7:0] HEX1,//数码管1 output [7:0] HEX2,//数码管2 output [7:0] HEX3,//数码管3 output [7:0] HEX_win1,//1号赢的局数 output [7:0] HEX_win2,//2号赢的局数 output [7:0] HEX_total//总的局数 ); wire button_posedge_1; wire button_posedge_2; wire [7:0] score_1; wire [7:0] score_2; wire[3:0] winnum_1;//1号获胜局数 wire[3:0] winnum_2;//2号获胜局数 wire [3:0] winnum_add;//总局数 //按键下降沿模块 key_debounce i1_key_debounce( . clk(clk_in), . button_in(button_1),//输入 . button_pos(button_posedge_1)//消抖后按键上升沿 ); //按键下降沿模块 key_debounce i2_key_debounce( . clk(clk_in), . button_in(button_2),//输入 . button_pos(button_posedge_2)//消抖后按键上升沿 ); //游戏控制模块 game_ctrl i_game_ctrl( . clk_in(clk_in), . reset_n(reset_n), . start(start),//复位 . led(led),//led,高电平亮 high light . win_led(win_led), . button_posedge_1(button_posedge_1),//消抖后按键上升沿 . button_posedge_2(button_posedge_2),//消抖后按键上升沿 . score_1(score_1),//分数1 . score_2(score_2),//分数2 . winnum_1(winnum_1),//1号获胜局数 . winnum_2(winnum_2),//2号获胜局数 . winnum_add(winnum_add) //总局数 ); //数码管显示模块 display_num i_display_num( . clk(clk_in), . score_1(score_1),//分数1 . score_2(score_2),//分数2 . winnum_1(winnum_1),//1号获胜局数 . winnum_2(winnum_2),//2号获胜局数 . winnum_add(winnum_add), //总局数 . HEX0(HEX0),//数码管0 . HEX1(HEX1),//数码管1 . HEX2(HEX2),//数码管2 . HEX3(HEX3),//数码管3 . HEX_win1(HEX_win1),//1号赢的局数 . HEX_win2(HEX_win2),//2号赢的局数 . HEX_total(HEX_total)//总的局数 ); endmodule
设计报告(文档点击可下载):
设计报告.doc
设计文档(文档可下载)
1. 工程文件
2. 程序文件
3. 程序编译
4. RTL图
5. 仿真图
按键检测模块
控制模块
显示模块
设计文档.doc