名称:乒乓球游戏电路设计Verilog代码VIVADO仿真
软件:VIVADO
语言:Verilog
代码功能:
乒乓球游戏电路
设计任务
设计一个数字系统,模拟选手 A(左方)和选手 B(右方)的乒乓球比赛游戏,要求具有如下功能:
1. 裁判按开始键后开始比赛,首先左方 A 发球,每方发5个球后自动换发球;
2.能模拟乒乓球台上球的运动轨迹和击球过程;
3.能自动判球,统计显示双方得分情况,先获得 15 分者获胜;
4.判球标准为 : 球到达一方的球拍位置时,若该选手未按击球键则对方得分;若球未到达击球位置,选手提前击球则击球无效,但不失分。
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
演示视频:
1.设计文档
2.工程文件
3.程序文件
4.程序编译
5.RTL图
6.仿真代码(testbench)
7.仿真图
整体仿真图
按键下降沿检测模块
游戏控制模块
显示模块
部分代码展示:
`timescale?1ns?/?1ps module?pingpang_game_tb(); ????reg?clk_in;//50MHz ?reg?reset_n;//复位 ????reg?start;//开始 ????reg?button_1;//选手1? ????reg?button_2;//选手2? ?wire?win_led;//获胜提示 ????wire?[5:0]?led;//led,高电平亮?high?light ????wire?[7:0]?HEX0;//数码管0 ????wire?[7:0]?HEX1;//数码管1 ????wire?[7:0]?HEX2;//数码管2 ????wire?[7:0]?HEX3;//数码管3? pingpang_game?i_pingpang_game( ????.?clk_in(clk_in),//50MHz ?.?reset_n(reset_n),//复位 ????.?start(start),//开始 ????.?button_1(button_1),//选手1? ????.?button_2(button_2),//选手2? ???.?win_led(win_led),//获胜提示 ???.?led(led),//led,高电平亮?high?light ???.?HEX0(HEX0),//数码管0 ???.?HEX1(HEX1),//数码管1 ???.?HEX2(HEX2),//数码管2 ???.?HEX3(HEX3)//数码管3? ????); initial?begin reset_n=0;//复位 start=1;//开始 button_1=1;//选手1? button_2=1;//选手2? #100; reset_n=1; #1000; start=0;//开始 #100; start=1;//开始 #1000; button_1=0;//选手1? #100; button_1=1;//选手1? #5000;
点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=1097
阅读全文