• 方案介绍
  • 附件下载
  • 相关推荐
申请入驻 产业图谱

乒乓球游戏控制器设计Verilog代码Quartus EP4C开发板

09/17 11:37
275
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

2-2410222001034B.doc

共1个文件

名称:乒乓球游戏控制器设计Verilog代码Quartus? EP4C开发板

软件:Quartus

语言:Verilog

代码功能:

乒乓球游戏控制器

设计任务

设计一个乒乓球游戏控制器,用8个LED组成乒乓球台,用点亮的发光二极管按一定的方向的移动表示球的运动位置。游戏控制器由A、B两人操作,每方设置一个击发球按键,即可用来发球,又可用来击球。比赛规则为:当A按动开关时,靠近A方的第一个LED亮,表示A发球,然后LED从A向B依次点亮,代表球的移动(移动速度为0.5S~1S)。当球移动到靠近B方的第一个灯时,B应该按开关击球,LED向反方向依次点亮,表示球已经击出。若B方提前击球和未击球,则判B方失分,A方得一分。然后重新发球,比赛继续进行。通过数码管来显示双方得分,任何一方先记满9分获胜。每方发两次球后交换发球权。

FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com

本代码已在EP4C开发板验证,EP4C开发板如下,其他开发板可以修改管脚适配:

EP4C开发板.png

演示视频:

设计文档:

1、工程文件

2、程序文件

3、程序编译

4、RTL图

5、管脚分配

部分代码展示:

`timescale?1ns?/?1ps
module?pingpang_game(
????input?clk_in,//50MHz
????input?reset_n,//低电平复位
????input?button_1,//选手1?push?low
????input?button_2,//选手2?push?low
?output?beep,//获胜提示
????output?[7:0]?led,//led,高电平亮?high?light
?output?[7:0]?lednum_select,//数码管段选
????output?[3:0]?bit_select//数码管位选
????);
wire?button_posedge_1;
wire?button_posedge_2;
//按键消抖模块
key_debounce?i1_key_debounce(
?????.?clk(clk_in),
?????.?rst_p(1'b0),
?????.?button_in(button_1),//输入
??.?button_neg(button_posedge_1)//消抖后按键下降沿
);
//按键消抖模块
key_debounce?i2_key_debounce(
?????.?clk(clk_in),
?????.?rst_p(1'b0),
?????.?button_in(button_2),//输入
??.?button_neg(button_posedge_2)//消抖后按键下降沿
);
wire?[7:0]?score_1;
wire?[7:0]?score_2;?
//游戏控制模块
game_ctrl?i_game_ctrl(
????.?clk_in(clk_in),
????.?reset_p(~reset_n),//复位
????.?led(led),//led,高电平亮?high?light
?.?beep(beep),
????.?button_posedge_1(button_posedge_1),//消抖后按键下降沿
????.?button_posedge_2(button_posedge_2),//消抖后按键下降沿
????.?score_1(score_1),//分数1
????.?score_2(score_2)//分数2
????);

点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=1245

  • 2-2410222001034B.doc
    下载

相关推荐