电子设计自动化计分器的VHDL设计EDA-乒乓球游戏机的VHDL设计.pptVIP

  • 17
  • 0
  • 约4.62千字
  • 约 16页
  • 2021-03-31 发布于北京
  • 举报

电子设计自动化计分器的VHDL设计EDA-乒乓球游戏机的VHDL设计.ppt

本任务在任务二和任务三的基础上,利用所学的状态机 设计乒乓球游戏机。 任务四 乒乓游戏机的VHDL设计 4.1 状态转移图 Final Result Wait State A to B B to A A To B B to A 图4-1 状态转换图 状态的6种状态及其含义 状态 含义 WaitState 等状态,等待A或B方得开球 AtoB 球从A向B移动 BtoA 球从B向A移动 Ascore A得1分 Bscore B得1分 FinalResult 比赛结束(最终判分),在此状态下需要按复位键,才能开始下一轮比赛 4.2 乒乓游戏机的状态元件符号 元件符号: CLK CLEAR RESET INCREASEA STARTA INCREASEB HITA TABLELIGHT[0….8] HITB STARTB AWIN SCOREA[4…0] BWIN SCOREB[4…0] 图1-2 状态机的元件符号设计 4.3 乒乓游戏机的引脚设计 引脚设计说明: CLK 10Hz的时钟,可由系统的时钟分频得到。此时钟决定了球移动的速度,可根据实际需要调查 RESET 复位键,比赛重新开始,记分清0 STARTA 、STARTB A和B双方的开球键 HITA、 HITB A和B双方的击球键(可以将其与开球键合并) CLEAR 将记分清0(给积分器的控制信号) INCREASEA、INCREASEB 分别为A B双方的加分信号(给记分器的控制信号) SCOREA、SCOREA A B双方的分数(由计分器给出) LIGHT 接8个发光二级管 AWIN、BWIN 分别接发光二极管,表示A或B方胜出 4.4 球台控制器的VHDL设计 LIBRARY IEEE; USE IEEE.Std_logic_1164.ALL; USE IEEE.Std_logic_Unsigned.ALL; ?ENTITY Statemachine IS PORT (CLK:IN Std_logic; Reset:IN Stc_logic; startA,startb,HitA,HitB:IN Std_logic; ScoreA,ScoreB:IN Integer RANGE 0TO 21; Clear,IncreaseA,IncreaseB:OUT Std_logic; Tablelight:OUT Std_logic_Vector(0 TO 7); AWin,Bwin:OUT Std_logic); END statemachine; 库 程序包 实体 ARCHITECTURE Behav OF Statemachine IS TYPE State_type IS (Waitstate,AtoB,BtoA,AScore,BScore,FinaLResult); SIGNAL State:State_type; SIGNAL TableState:Integer Range 0 TO 7; BEGIN PROCESS(Clk,Reset) BEGIN IF Reset='1'THEN --按下复位键,比赛开始 State=WaitState; --进入等待状态 Clear='1'; --记分器清0 AWin='0'; BWin='0'; 结 构 体 4.4 球台控制器的VHDL设计 ELSIF rising_edge(Clk)THEN CASE State IS WHEN WaitState= Clear='0'; IncreaseA='0'; IF((ScoreA=21)OR(ScoreB=21)THEN --如果1方先达到21分,比赛结束 State=FinalResult; ELSE IF StartA='1'THEN --如果A开球 State=A to B; --球从A向B方移动 TableState=0; --A方第1个灯点亮? 4.4 球台控制器的VHDL设计 结 构 体 ELSE IF StartB='1'THEN --如果B开球(A、

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档