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

基于FPGA设计的贪吃蛇小游戏实验课程设计报告+quartus9.1工程源码,可以做为你的学习设计参考。 摘 要 本次电子技术基础课程设计了贪吃蛇游戏,实现了用FPGA来驱动VGA显示贪吃蛇游戏。贪吃蛇的游戏规则是玩家使用PS2键盘操控一条蛇上下左右移动不断吞下苹果,吃下一个苹果蛇身增长一节,当蛇头撞到蛇身或障壁时游戏结束。本课程设计采用Verilog HDL语言编写,涉及到VGA显示,PS2键盘操控,状态机等相关知识。 关键词:FPGA;VGA;PS2;贪吃蛇;Verilog HDL 2.1 游戏设计内容及要求 基本要求: ① 利用FPGA开发板、VGA显示器、PS2键盘实现贪吃蛇游戏。 ② 一条蛇可以看成由许多正方形的“小格子”拼凑成,称作节。节是蛇身上最小的单位。蛇的初始长度确定。 ③ 蛇的初始位置及方向由FPGA开发板随机生成,每次游戏预送100分。 ④ 用户使用开发板键盘及PS2键盘可控制蛇头的方向及速度。蛇在屏幕中运动每安全度过1秒加1分,静止状态每过1秒减1分,当游戏达到200分时自动进入游戏下一关,当游戏分值自动减为0时游戏失败终止。 ⑤ 当贪吃蛇触壁则失败。 ⑥ 实现游戏蛇身变换及游戏积分的自动动态显示。 2.2 系统分析 贪吃蛇是经典小游戏,本设计采用VGA显示的方式将游戏展现出来。游戏中玩家通过四个按键控制蛇的身体上下左右移动来吃屏幕中出现的苹果,苹果是随机出现的。当蛇吃的一个苹果时,蛇身体变长一个单位同时会有另一个苹果出现。如果蛇头撞墙或者撞到自己身体,则游戏失败。 所要设计的贪吃蛇游戏基于Cyclone III系列EP3C5E114C8N的FPGA芯片为硬件,采用Verilog HDL语言编写程序。在本设计中,有个8按键,分别是上、下、左、右、复位和游戏开始,暂停与继续按键。它们都是输入信号,输出是VGA,在电脑屏幕实现VGA显示字符,游戏画面 第3章 贪吃蛇游戏设计 3.1 VGA显示模块设计 显示器扫描方式分为逐行扫描和隔行扫描:逐行扫描是扫描从屏幕左上角一点开始,从左像右逐点扫描,每扫描完一行,电子束回到屏幕的左边下一行的起始位置,在这期间,CRT对电子束进行消隐,每行结束时,用行同步信号进行同步;当扫描完所有的行,形成一帧,用场同步信号进行场同步,并使扫描回到屏幕左上方,同时进行场消隐,开始下一帧。   完成一行扫描的时间称为水平扫描时间,其倒数称为行频率;完成一帧(整屏)扫描的时间称为垂直扫描时间,其倒数称为场频率,即刷新一屏的频率,常见的有60Hz,75Hz等等。标准的VGA显示的场频60Hz,行频31.5KHz。 行场消隐信号:是针对老式显像管的成像扫描电路
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值