ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:353.74KB ,
资源ID:15904930      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/15904930.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(EDA课程设计Word下载.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

EDA课程设计Word下载.docx

1、1、设计一个由甲、乙双方参赛,有裁判的3人乒乓球游戏机。2、用8个(或更多个)LED排成一条直线,以中点为界,两边各代表参赛双方的位置,其中一只点亮的LED指示球的当前位置,点亮的LED依此从左到右,或从右到左,其移动的速度应能调节。3、当“球”(点亮的那只LED)运动到某方的最后一位时,参赛者应能果断地按下位于自己一方的按钮开关,即表示启动球拍击球。若击中,则球向相反方向移动;若未击中,则对方得1分。一方得分时,电路自动响铃3秒,这期间发球无效,等铃声停止后方能继续比赛。4、设置自动记分电路,甲、乙双方各用2位数码管进行记分显示,每计满21分为1局。5、甲、乙双方各设一个发光二极管,表示拥有

2、发球权,每隔5次自动交换发球权,拥有发球权的一方发球才有效。主要参考资料:1 潘松著.EDA技术实用教程(第二版). 北京:科学出版社,2005.2 康华光主编.电子技术基础 模拟部分. 北京:高教出版社,2006.3 阎石主编.数字电子技术基础. 北京:高教出版社,2003.完成期限 2013.3.4 指导教师 专业负责人 2013年 3月8日一、设计思想1、基本原理乒乓球比赛游戏机的设计的原理是应用可编程逻辑器件FPGA芯片为控制核心,附加少量的外围电路,采用VHDL语言编程实现设计而成。此游戏机为由甲,乙双方参赛,裁判参与的3人乒乓球游戏机。用8个LED排成一条直线,以中点为界,两边各自

3、代表参赛双方的位置,其中一只点亮的LED指示球的当前位置,点亮的LED依此从左到右或从右到左。当“球”(点亮的那只LED)运动到某方的最后一位时,参赛者应能果断地按下位于自己一方的按钮开关,即表示启动球拍击球。设置自动记分电路,甲、乙双方各用2位数码管进行记分显示,每计满21分为1局。游戏机的甲、乙双方各设一个发光二极管,表示拥有发球权,每隔5次自动交换发球权,拥有发球权的一方发球才有效。以此,来实现乒乓球比赛游戏机的游戏功能。2、设计框图图1乒乓球比赛游戏系统设计框图该乒乓球比赛游戏系统由裁判端、选手端、控制端、译码器、数码管显示端、时钟及分频器、LED发光二极管球台组成。二、设计步骤和调试

4、过程1、模块设计和相应模块代码该乒乓球比赛游戏机主要包括:乒乓球游戏机外接端口模块设计,比赛状态进程模块设计,译码分数显示模块的设计以及构造体模块设计。(1)乒乓球游戏机外接端口设计 端口设计主要是指定义乒乓球游戏机的控制芯片外接输出与输入相连接的端口。其中包括:复位端口reset,它的作用是当系统出现错误或者无法恢复初始状态时使其复位;甲、乙发球输入端为pat1和pat2,逻辑1分别表示甲方和乙方的发球,逻辑0分别表示甲乙未发球;甲乙击球输入端hit1和hit2,逻辑1分别表示甲击球和乙击球,逻辑0分别表示甲乙未击球;比赛开始按钮start,逻辑1表示开始游戏;逻辑0表示不可以开始游戏;时钟

5、输入端口clk。发光二极管的输出端,逻辑1表示亮,逻辑0表示暗;甲乙各两个译码器。程序如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all; -引用必要的库函数和包集合entity ppyouxi is -实体名为ppyouxi port(reset:in std_logic;clk:start:pat1,pat2:in std_logic_vector(1 to 2);hit1,hit2: -定义各输入输入端口 light:out std

6、_logic_vector(1 to 8); -控制8个发光二极管的输出端口write11,write12,write21,write22:out std_logic_vector(1 to 7); -4 个用于控制 4 个 7 段译码器的输出端口 end ppyouxi;(2)比赛状态进程模块设计 比赛状态进程包括七个状态,分别是waitpat, lighton1, ball2, allow2,lighton8,ball1,和allow1它们代表的具体数值依次是0到6。在波形模拟图中是用数值来表示状态的。状态进程程序如下:process(clk) -clk作为敏感信号触发进程 begin i

7、f reset=1 then -异步置位i=0;count1=00000;count2 -进程处于等待发球状态case serve iswhen 10= i=1;stateend case;when lighton1= -进程处于第一盏灯亮状态=2if hit2=count1+1;=waitpat;else=ball2;end if;when lighton8= -进程处于第八盏灯亮状态 =7;if hit=count2+1;=ball1;when ball1= -进程处于球向乙移动状态if hit1=elsif i=2 then i=allow1;else i -进程处于球向乙移动状态 ou

8、nt1elsif i=7 then i -进程处于允许甲击球状态 then i=2;else count2 -进程处于允许乙击球状态 then ielse count1end process;(3)译码分数显示模块 该模块由七段译码器组成,它是由7段发光二极管组成的用于显示数字的器件,称作记分译码器(mudecoder)。而状态进程中的记分是由5位二进制码来表示的,即count1和count2。以下程序就是实现从5位二进制码转换成七段译码显示。entity mudecoder is 译码器实体定义 port(binaryin:in std_logic_vector(1 to 5); -5位二进

9、制码的输入端口 bcdout1: -七段译码器输出端口 bcdout2:out std_logic_vector(1 to 7) );end mudecoder;architecture m of mudecoder is signal tembinaryin:std_logic_vector(1 to 5); begin process(binaryin) tembinaryin=binaryin; case tembinaryin is -将二进制码转换成七段译码 whenbcdout11111110bcdout20000101100000001011011010001111110010010001100110010110110110011010111110011111100000100011111110100111110110101001011011000110101111

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1