EDA课程设计——乒乓球比赛游戏机
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《电子设计自动化(EDA)技术》
课程设计报告
题目: 乒乓球比赛游戏机姓名:
院系:
专业:
学号:
指导教师:
完成时间: 年月日
目录
1 课程设计题目、内容与要求………………………………
1.1 设计内容………………………………………………
1.2 具体要求………………………………………………
2 系统设计……………………………………………………
2.1 设计思路………………………………………………
2.2 系统原理(包含:框图等阐述)与设计说明等内容
3 系统实现……………………………………………………
注:此部分阐述具体实现,包含主要逻辑单元、模块、源代码等内容
4 系统仿真……………………………………………………
5 硬件验证(操作)说明……………………………………
6 总结………………………………………………………
7 参考书目…………………………………………………
1课程设计题目、内容与要求
1.1课程设计的题目
乒乓球比赛游戏机
1.2课程设计目的
随着科学技术日益迅速的发展,数字系统已经深入到生活的各个方面。
它具有技术效果好,经济效益高,技术先进,造价较低,可靠性高,维修方便等许多优点。
使我们更加熟练掌握数字系统的设计。
对所学的专业知识有能力更好的应用在实践方面。
1.3课程设计要求
(1)使用乒乓球游戏机的双方在不同位置发球或击球。
(2)乒乓球的位置和移动方向由灯亮和依次亮的方向决定。
使用者根据球的位置发出相应的动作
(3)比赛用21分为一局来进行,双方设置各自的记分牌,任意一方先记满21分就获胜此局。
当记分牌清零后,开始新的一局比赛。
1.4课程设计内容
设计一个由甲乙双方参赛,有裁判的三人乒乓球游戏机。
用8个(或更多个)LED排成一条直线,以中点为界,两边各代表参赛双方的位置,其中一只点亮的LED指示球的当前位置,点亮的LED依次从左到右,或从右到左,其移动的速度应能调节。
当“球”(点亮的那只LED)运动到某方的最后一位时,参赛者应能果断地按下位于自己一方的按纽开关,即表示启动球拍击球,若击中,则球向相反方向运动;若未中,球掉出桌外,则对方得一分。
设置自动记分电路,甲乙双方各用两位数码管进行记分显示,每计满21分为1局。
甲乙双方各设一个发光二极管表示拥有发球权,每隔2次自动交换发球权,拥有发球权的一方发球才有效。
2 系统设计
2.1设计思路:
根据系统设计的要求,乒乓球比赛游戏机的电路原理框图如下:
移位寄存器时钟
3系统实现
设计程序及其部分设计说明
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY CORNA IS
PORT(AF,AJ,BF,BJ,CLK,CLR:IN STD_LOGIC;--AF,BF,为AB发球;BJAJ为接球;CLK为时钟信号;CLR为复位信号
SHIFT:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);--表示LED灯的亮灭,其实也就是乒乓球的位置
YA,YB:OUT STD_LOGIC;--接LED小灯,亮表示拥有发球权
YYY:OUT STD_LOGIC;--当其中任何一方得分时候,YYY为1状态,下面接响铃电路;
AH,AL,BH,BL:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));--双方得分的BCD码
END;
ARCHITECTURE ABHV OF CORNA IS
SIGNAL AMARK,BMARK:INTEGER;--分别用整数表示A B的得分SIGNAL YY:STD_LOGIC;--代表YYY的信号
BEGIN
---------------以下进程是主要程序流程---------------
PROCESS(CLR,CLK)
VARIABLE A,B:STD_LOGIC;
VARIABLE WOJIA,WOJIB:INTEGER;
VARIABLE SHE:STD_LOGIC_VECTOR(7 DOWNTO 0);--led亮灯的位置
--WOJIA:=4;
--WOJIB:=4;
BEGIN
IF CLR='0' THEN--复位信号
A:='0';
B:='0';
SHE:="00000000";--"00000000"代表没有任何一个LED亮
AMARK<=0;
BMARK<=0;
WOJIA:=4;
WOJIB:=4;
ELSIF CLK'EVENT AND CLK='1' THEN
-------------------每五次自动转换发球,主要有WOJIA,WOJIB来控制
IF A='0' AND B='0' AND AF='0' AND WOJIA/=0 THEN--A方发球A:='1';--'1'代表已经发球
YA<='1';YB<='0';
SHE:="10000000";
WOJIA:=WOJIA-1;
ELSIF A='0' AND B='0' AND BF='0' AND WOJIB/=0 THEN--B方发球B:='1';
YA<='0';YB<='1';
SHE:="00000001";
WOJIB:=WOJIB-1;
ELSIF A='1' AND B='0' THEN --A方发出球之后
IF SHE>8 THEN
IF BJ='0' AND AJ='0'THEN--AB都犯规,AB均加分
AMARK<=AMARK+1;
BMARK<=BMARK+1;
YY<='1';
A:='0';
B:='0';
SHE:="00000000";
ELSIF BJ='0' OR AJ='1' THEN--
AMARK<=AMARK+1;
YY<='1';
A:='0';
B:='0';
SHE:="00000000";
ELSE
SHE:='0'&SHE(7 DOWNTO 1);--B方没有击球
END IF;
ELSIF SHE=0 THEN--球从B方出界
AMARK<=AMARK+1;
YY<='1';
A:='0';
B:='0';
ELSE
F BJ='0' AND AJ='0' THEN--B方正常击球
BMARK<=BMARK+1;
YY<='1';
A:='0';
B:='0';
ELSE
SHE:='0'&SHE(7 DOWNTO 1);--B方没有击球
END IF;
END IF;
ELSIF A='0' AND B='1' THEN--A方发球,情况同前
IF SHE<16 AND SHE/=0 THEN
IF AJ='0' AND BJ='0' THEN--Ab过网接球,犯规,AB加分BMARK<=BMARK+1;
AMARK<=AMARK+1;
YY<='1';
A:='0';
B:='0';
SHE:="00000000";
ELSIF AJ='0' AND BJ='1' THEN
ELSE
SHE:=SHE(6 DOWNTO 0)&'0';
END IF;
ELSIF SHE>16 THEN
IF AJ='1' AND BJ='0' THEN
BMARK<=BMARK+1;
AMARK<=AMARK+1;
YY<='1';
A:='0';
B:='0';
SHE:="00000000";
ELSIF AJ='0' AND BJ='0' THEN
AMARK<=AMARK+1;
YY<='1';
A:='0';
B:='0';
SHE:="00000000";
ELSE
SHE:=SHE(6 DOWNTO 0)&'0';
END IF;
ELSIF SHE=0 THEN
BMARK<=BMARK+1;
YY<='1';
A:='0';
B:='0';
ELSE
IF AJ='0' THEN
A:='1';
B:='0';
ELSE
SHE:=SHE(6 DOWNTO 0)&'0';
END IF;
END IF;
END IF;
END IF;
SHIFT<=SHE;YYY<=YY;
END PROCESS;
PROCESS(CLK,CLR,AMARK,BMARK)
VARIABLE AHA,ALA,BHA,BLA:STD_LOGIC_VECTOR(3 DOWNTO 0); VARIABLE TMP1,TMP2:INTEGER;
BEGIN
IF CLR='0' THEN
AHA:="0000";
ALA:="0000";
BHA:="0000";
BLA:="0000";
TMP1:=0;
TMP2:=0;
ELSIF CLK'EVENT AND CLK='1' THEN
IF AMARK>TMP1 THEN
IF ALA="1001" THEN
ALA:="0000";
AHA:=AHA+1;
TMP1:=TMP1+1;
ELSE
ALA:=ALA+1;
TMP1:=TMP1+1;
END IF;
END IF;
IF BMARK>TMP2 THEN
IF BLA="1001" THEN
BLA:="0000";
BHA:=BHA+1;
TMP2:=TMP2+1;
ELSE
BLA:=BLA+1;
TMP2:=TMP2+1;
END IF;
END IF;
END IF;
AL<=ALA;
AH<=AHA;
BL<=BLA;
BH<=BHA;
END PROCESS;
END ABHV;
4系统仿真乒乓球比赛游戏机仿真波形如下图:
图4-1
图4-2
5硬件验证EP1K10TC100-3
6总结
7参考书目
李国丽朱维勇《电子技术实验指导书》中国科技大学出版社
潘松黄继《EDA技术实用教程》科学出版社
王金明《Verilog HDL程序设计教程》
宋万杰罗丰吴顺君《CPLD技术及其应用》西安电子科技大学出版社
张昌凡龙永红彭涛《可编程逻辑器件及VHDL设计技术》华南工学院出版社。