名称:乒乓球比赛游戏设计Verilog代码Quartus仿真
软件:Quartus
语言:Verilog
代码功能:
乒乓球比赛游戏
设计一个数字系统,模拟选手 A(左方)和选手 B(右方)的乒乓球比赛游戏,要求具有如下功能:
1、裁判按开始键后开始比赛,首先左方 A 发球,每方发5个球后自动换发球;
2、能模拟乒乓球台上球的运动轨迹和击球过程;
3、能自动判球,统计显示双方得分情况,先获得 15 分者获胜;
4、判球标准为 : 球到达一方的球拍位置时,若该选手未按击球键则对方得分;若球未到达击球位置,选手提前击球则击球无效,但不失分。
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
演示视频:
设计文档:
1. 乒乓球游戏功能
设计一个乒乓球游戏,模拟选手 A(左方)和选手 B(右方)的乒乓球比赛游戏,要求具有如下功能:
1、裁判按开始键后开始比赛,首先左方 A 发球,每方发5个球后自动换发球;
2、能模拟乒乓球台上球的运动轨迹和击球过程;
3、能自动判球,统计显示双方得分情况,先获得 15 分者获胜;
4、判球标准为 : 球到达一方的球拍位置时,若该选手未按击球键则对方得分;若球未到达击球位置,选手提前击球则击球无效,但不失分。
QuartusII 9.0软件
2. 工程文件
3. 程序文件
4. 程序编译
5. RTL图
6. 仿真图
按键下降沿检测模块
游戏控制模块
数码管显示模块
部分代码展示:
//数码管显示模块 module?display_num( input?clk, input?[7:0]?score_1,//分数1 input?[7:0]?score_2,//分数2 output?reg?[7:0]?HEX0,//数码管0 output?reg?[7:0]?HEX1,//数码管1 output?reg?[7:0]?HEX2,//数码管2 output?reg?[7:0]?HEX3//数码管3 ); wire?[3:0]?data1; wire?[3:0]?data2; wire?[3:0]?data3; wire?[3:0]?data4; //除以10得十位,取余得个位 assign?data1=score_1/10;//十位 assign?data2=score_1%10;//个位 assign?data3=score_2/10;//十位 assign?data4=score_2%10;//个位 //数码管显示 always@(posedge?clk) begin case(data4) 4'd0?:?HEX0=?8'hc0;? 4'd1?:?HEX0=?8'hf9;? 4'd2?:?HEX0=?8'ha4;? 4'd3?:?HEX0=?8'hb0;? 4'd4?:?HEX0=?8'h99;? 4'd5?:?HEX0=?8'h92; 4'd6?:?HEX0=?8'h82;? 4'd7?:?HEX0=?8'hf8;? 4'd8?:?HEX0=?8'h80;? 4'd9?:?HEX0=?8'h90;? default:HEX0=?8'hc0;? endcase end
点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=1381
439