基于 FPGA乒乓球比赛游戏机设计

乒乓球游戏机 系统组成
乒乓球比赛游戏机的组成如图1 所示。比赛规则约定:五局三胜; 1 分一局; 裁判发出比赛开始信号,触发FPGA 内部随机数发生器模块产生首次发球权方;比赛进行中,选手连续两次获得发球权后, 发球权交予 对方,如未获发球权方发球, 裁判端犯规音响电路鸣响;6 个LED 排列成行模拟乒乓球台(因为我的开发板上只有6个LED灯,比赛开始时候 中间两个灯亮 ,如果有条件的话有10来个灯最好了); 点亮的LED 模拟乒乓球,受 FPGA 控制从左到右或从右到左移动; 比赛选手通过按钮输入模拟击球信号, 实现 LED 移位方向的控制; 若发亮的LED 运动在球台中点至对方终点之间时,对方未能及时按下击球按钮使其向相反方向移动, 即失去一分。

2 功能模块设计
图1 中,基于FPGA 设计的控制端为整个系统的核心,其内部主要由简易随机数发生器、 发球权控制器、 乒乓球位置控制器、 甲乙方计分控制器、 犯规音响控制器等模块组成。整个控制端采用模块化设计,先用 Verilog 语言编写功能模块,然后用顶层原理图将各功能模块连接起来。设计的难点在于协调各模块工作,严格遵守各信号间时序关系。本系统采用 50M Hz系统时钟。
2. 1 简易随机数发生器比赛首次发球权由随机数发生器产生的数据决定,其随机性要求不严, 因此,采用非常简单的模式产生,即一旦FPGA 上电, 系统时钟百分频产生一方波信号square,当裁判闭合开始比赛开关产生 start 信号上升沿时,读取此时squar e信号值作为随机数发生器输出data_rand。模块仿真如图 2 所示, 结果满足设计要求。此模块设计时保证了 square 信号周期应远大于 start 信号上升沿建立时间, 保证随机数据的正确读取。

  1. 2 发球权控制器
    发球权控制器的控制过程为: 如果按下复位按钮,发球权数码管显示8, 否则, 开始比赛开关闭合时, 显示随机数发生器的值( 0 或 1, 0 代表甲方、 1 代表乙方) 。而在比赛中,为遵守发球权交换规则, 设计甲乙双方计分器总和信号sum是不为0 的偶数时(即计分总次低位变化时) , 发球权数码管显示
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值