EDA课程设计乒乓球游戏机vhd语言l - 图文

2019-03-04 14:14

《基于FPGA的数字系统设计》项目设计文档 项目名称: 乒乓球比赛游戏机

姓 名: 院 系: 应用技术学院 专 业: 电子信息工程(应电应本) 学 号: 指导教师:

完成时间: 2012年 06月19日

基于FPGA的数字系统设计项目成绩评价表

设计题目 乒乓球比赛游戏机 设计一个乒乓球比赛游戏机,能模拟比赛的基本过程和规则并能自动裁判和记分,具体要求如下: (1)使用乒乓球游戏机的双方在不同位置发球或击球; (2)乒乓球的位置和移动方向由灯亮和依次亮的方向决定。使用者根据球的位置发出相应的动作; (3)比赛用11分为一局来进行,双方设置各自的记分牌,任意一方先记满11分就获胜此局。当记分牌清零后,开始新的一局比赛; (4)比赛结束后音乐自动响起。 用8个LED排成一条直线,以中点为界,两边各代表参赛双方的位置,其中一只点亮的LED指示球的当前位置,点亮的LED依次从左到右,或从右到左,其移动的速度应能调节。 “球”(点亮的那只LED)运动到某方的最后一位时,参赛者应能果断地按下位于自己一方的按纽开关,即表示启动球拍击球,若击中,则球向相反方向运动;若未中,球掉出桌外,则对方得一分。 设置自动记分电路,甲乙双方各用两位数码管进行记分显示,每计满11分为1局。 甲乙双方各设一个发光二极管表示拥有发球权,每隔2次自动交换发球权,拥有发球权的一方发球才有效。 设计要求 设计过程 评价项目 工作量、工作态度和出勤率 指 标 按期圆满的完成了规定的任务,难易程度和工作量符合教学要求,工作努力,遵守纪律,出勤率高,工作作风严谨,善于与他人合作。 项目设计系统架构合理,设计过程简练正确,分析问题思路清晰,结构严谨,文理通顺,撰写规范,图表完备正确。 工作中有创新意识,对前人工作有一些改进或有一定应用价值。 能正确回答指导教师所提出的问题。 满分 30 评分 项目设计成绩评价 课程设计质量 40 创新 答辩 15 15 综合成绩等级 指导教师: 年 月 日

目 录

1 项目名称、内容与要求 ???????????????04页 1.1 设计内容???????????????????04页 1.2 具体要求???????????????????04页

2 系统整体架构(Architecture Description) ?????04页 2.1 设计思路???????????????????04页 2.2 系统原理(包含:框图等阐述与设计说明等内容)?04页

3 系统设计 (含HDL或原理图输入设计)?????????05页 3.1 HDL 代码???????????????????05页 3.2 系统整体电路图(或RTL级电路图)???????12页

4 系统仿真(Simulation Waveform)??????????13页

5 FPGA实现(FPGA Implementation) ?????????14页

6 总结(Closing)??????????????????16页

参考书目(Reference):????????????????16页

一、项目名称、内容与要求

1.1项目名称

乒乓球比赛游戏机 1.2设计内容

设计一个由甲乙双方参赛,二人乒乓球游戏机。

用8个(或更多个)LED排成一条直线,以中点为界,两边各代表参赛双方的位置,其中一只点亮的LED指示球的当前位置,点亮的LED依次从左到右,或从右到左,其移动的速度应能调节。

当“球”(点亮的那只LED)运动到某方的最后一位时,参赛者应能果断地按下位于自己一方的按纽开关,即表示启动球拍击球,若击中,则球向相反方向运动;若未中,球掉出桌外,则对方得一分。

设置自动记分电路,甲乙双方各用两位数码管进行记分显示,每计满11分为1局。 甲乙双方各设一个发光二极管表示拥有发球权,每隔2次自动交换发球权,拥有发球权的一方发球才有效。 1.3具体要求

(1)使用乒乓球游戏机的双方在不同位置发球或击球。

(2)乒乓球的位置和移动方向由灯亮和依次亮的方向决定。使用者根据球的位置发出相应的动作。

(3)比赛用11分为一局来进行,双方设置各自的记分牌,任意一方先记满21分就获胜此局。当记分牌清零后,开始新的一局比赛。 (4)比赛结束后音乐自动响起。

二、系统整体架构(Architecture Description)

2.1设计思路

根据系统设计的要求,乒乓球比赛游戏机的电路原理框图如下:

三、系统设计 (含HDL或原理图输入设计)

3.1 VHDL 代码 比赛模块 library ieee;

use ieee.std_logic_1164.all; use ieee.std_logic_arith.all;

use ieee.std_logic_unsigned.all; --引用必要的库函数和包集合 entity compete is --实体名为pingpong port(reset:in std_logic; clk_1:in std_logic; startbutton:in std_logic; --开始游戏输入端口 serve:in std_logic_vector(1 downto 0); --发球输入端口 hit1,hit2,hit11,hit22:in std_logic; --甲和乙的击球输入端口 light:out std_logic_vector(1 to 8);

sound:out std_logic;--控制8个发光二极管的输出端口 music_begin:out std_logic;--控制音乐开始的输出端口 counta,countb,countc,countd,counte,countf:out std_logic_vector(3 downto 0)); --2个用于控制4个7段译码器的输出端口 end compete;

architecture one of compete is

type pingpong is (waitserve,light1on,ballmoveto2,allow2hit, light8on,ballmoveto1,allow1hit);

---设置7个状态,为枚举数据类型,记为pingpong signal state:pingpong;

signal i:integer range 0 to 8;

signal count1,count2,count3,count4,count5,count6:std_logic_vector(3 downto 0):=\ ---内部计数器,是4位二进制变量 begin

process(clk_1) begin if(clk_1'event and clk_1='1') then if count1=1 and count5=1 or count2=1 and count6=1 then music_begin<='1'; end if; if(reset='1')then music_begin<='0'; end if; end if; end process;

process(clk_1) --状态机进程 --clk_1作为敏感信号触发进程 begin --进程开始 if reset='1' then --异步置位


EDA课程设计乒乓球游戏机vhd语言l - 图文.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:小学作文 春天的回忆

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: