Quartus乒乓球游戏电路verilog代码DE2-115开发板

名称:Quartus乒乓球游戏电路verilog代码DE2-115开发板(文末下载)

软件:Quartus

语言:Verilog

代码功能:

乒乓球游戏电路

设计任务

设计一个数字系统,模拟

选手 A(左方)和选手 B(右方)

的乒乓球比赛游戏,要求具有

如下功能:

1 裁判按开始键后开始

比赛,首先左方 A 发球,每方

发5个球后自动换发球;

2 能模拟乒乓球台上球

的运动轨迹和击球过程;

③ 能自动判球,统计显示双方得分情况,先获得 15 分者获胜;

④ 判球标准为 : 球到达一方的球拍位置时,若该选手未按击球键则对方得分;若球未

到达击球位置,选手提前击球则击球无效,但不失分。

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

DE2-115开发板照片.png

设计文档.doc

1. 工程文件

2. 程序文件

3. 程序编译

4. 管脚分配

5. RTL图

状态图

6. 仿真图

按键下降沿检测模块

游戏控制模块

数码管显示模块

部分代码展示:

`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 
    );
wire button_posedge_1;
wire button_posedge_2;
wire [7:0] score_1;
wire [7:0] score_2;
//按键下降沿模块
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
    );
//数码管显示模块
display_num i_display_num(
. clk(clk_in),
. score_1(score_1),//分数1
. score_2(score_2),//分数2
. HEX0(HEX0),//数码管0
. HEX1(HEX1),//数码管1
. HEX2(HEX2),//数码管2
. HEX3(HEX3) //数码管3
);
endmodule

  • 18
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值