EDA课程设计乒乓球游戏机vhd语言l.doc

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
EDA课程设计乒乓球游戏机vhd语言l

目 录 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页 总结(Closing)………………………………………………16页 参考书目(Reference):…………………………………………16页 一、项目名称、内容与要求 二、系统整体架构(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):=0000; ---内部计数器,是4位二进制变量 begin process(clk_1) begin if(clk_1event 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 --异步置位 i=0;count1=0;count2=0;count5=0;count6=0; elsif clk_1event and clk_1=1 then --当处于时钟inclock上升沿时 if count1=10 then count1=0;count5=1;

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档