EDA课程设计——乒乓球比赛游戏机

EDA课程设计——乒乓球比赛游戏机
EDA课程设计——乒乓球比赛游戏机

《电子设计自动化(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设计技术》华南工学院出版社

相关主题
相关文档
最新文档