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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

EDA课程设计篮球倒计时VHDL.docx

1、EDA课程设计篮球倒计时VHDL题目:篮球竞赛30s计时器设计一、设计目的 随着电子技术的高速发展和计算机技术的普遍应用,电子设计也越来越普遍地应用于整个电子行业中。电子设计是人们进行电子产品设计、开发和制造过程中十分关键的一步,其核心就是电子电路的设计。电子设计自动化(EDA)是在电子产品向更复杂、更高级,向数字化、集成化、微型化和低耗能方向发展过程中逐渐产生并日趋完善的电子设计方法,在这种方法中,设计过程的大部分工作(特别是底层工作)均由计算机自动完成,是电子技术发展历程中产生的一种先进的设计方法,是当今电子设计的主流。 在篮球比赛中,规定了球员的持球时间不能超过30秒,否则就犯规了。本课

2、程设计的“篮球竞赛30秒计时器”,可用于篮球比赛中,用于对球员持球时间30秒限制。一旦球员的持球时间超过了30秒,它自动的报警从而判定此球员的犯规。本课程设计是篮球竞赛30秒计时器。此计时器功能齐全,显示30秒倒计时功能,系统设置外部操作开关可以直接清零、启动、暂停,同时应用了七段数码管来显示数值,可以方便地实现断点计时功能,当计时器递减到零时,还会发出光电报警信号。本设计完成的中途计时功能,实现了在许多的特定场合进行时间追踪的功能,在社会生活中也具有广泛的应用价值.二、 设计要求用EDA技术设计一个30s计时器,具体技术要求如下:1、具有30s计时功能,并且能够实时显示计数结果。2、设有外部

3、操作开关,控制计数器实现直接清零、启动以及暂停/连续工作等操作。3、计时器为30s递减计时,计时间隔为1s。4、计时器递减计时到零时,数码显示器不能灭灯,同时发出光电报警信号。三、总体设计原理与内容 1、设计的总体原理 本设计为30秒计数器,它主要由外部开关,控制电路,秒脉冲发生器,计数器,译码器和报警电路组成。各部分相互联系,共同协作,实现电路功能。各部分关系框图如图3-1所示: 图3-1 总体框图 2、设计内容 本设计为30秒计数器,它主要分为三个部分:计数部分,显示部分和控制部分。其中计数器和控制电路是系统的主要部分。计数器完成30s计时功能,而控制电路具有直接控制计数器的启动计数、暂停

4、连续计数、译码显示电路的显示功能。为了满足系统的设计要求,在设计控制电路时,应正确处理各个信号之间的时序关系。在操作直接清零开关CLR时,要求计数器清零,数码显示器不灭灯。 清零开关不工作时置数键才有效,置数键PLD为1时,同时计数器完成置数功能,译码显示电路显示“30”字样;当启动开关为高电平时,计数器开始计数;为了简单起见,我们将暂停与连续的控制与开始用一个键控制。当计数器减到0时,启动报警系统,报警指示灯亮进行报警。通过控制脉冲信号的传送来达到相应的目的。3、设计方案 本设计主要能完成:显示30秒倒计时功能;系统设置外部操作开关,控制计时器的直接清零、启动和暂停/连续功能;在直接清零时,

5、数码管显示器灭灯;计时器为30秒递减计时其计时间隔为1秒;计时器递减计时到零时,数码显示器不灭灯,同时发出光电报警信号等。经分析我们可以用两种方案进行实现:方案一:用VHDL编码进行实现。VHDL是一门硬件描述语言,可以实现各种组合电路及逻辑电路。使用VHDL编码实现,可读性强,易于理解,可以在软仿,硬仿时,依次进行查看其正确性,还能提高自己的编码水平,利于EDA课程的学习与应用。采用静态编码,先设计计数器进行计数,数值通过数码管显示电路进行显示。设置CLOCK为1HZ,数值变化周期为1秒。方案二:也是采用VHDL编码进行实现,但采用的是动态扫描法,设置一个片选信号,分时复用扫描两个数码管。这

6、时就要设置两个时钟,因为1HZ的时钟频率太小了,会使得看到的效果不连续,十位与个位产生分离,效果不好。可以另选一个频率1000HZ左右的时钟信号作为扫描时钟。这种设计节约了能量,延长了数码管的寿命,但引入了片选信号,又增加了一个时钟,所以较第一种方案复杂。方案三:用原理图输入法进行实现。用原理图书输入法也能实现,电路的仿真。但原理图输入法只适合中小型电路,而且需要良好的数字电路基础与电路功底。另外,原理图输入法,比较繁琐,不易于操作。综合比较,选择第一种方案。 四、EDA设计及仿真1、30S倒计时器源程序1.计数模块计数模块,采用和三十秒减计数。计数间隔为1秒。其程序如下所示:-LIBRARY

7、 IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;-ENTITY CNT30 IS PORT (CLK,EN : IN STD_LOGIC; C0,C10 : OUT STD_LOGIC_VECTOR(5 DOWNTO 0); -C0,C10表示十位和个位 END CNT30;-ARCHITECTURE behav OF CNT30 ISBEGIN PROCESS(CLK, EN)VARIABLE TMPA: STD_LOGIC_VECTOR (3 DOWNTO 0); VARIABLE TMPB: STD_LO

8、GIC_VECTOR (3 DOWNTO 0); BEGIN IF CLKEVENT AND CLK=1 THEN -检测时钟上升沿 TMPB:=0011;TMPA:=0000; IF EN = 1 THEN - -检测是否允许计数(同步使能) IF TMPA=0000 THEN IF TMPB/=0000 THEN TMPA:=1001; TMPB:=TMPB-1; END PROCESS;C0=TMPA;C10 S1 S1 S1 S1 S1 S1 S1 S1 S1 S1 S1 S0 S0 S0 S0 S0 S0 S0 S0 S0 S0 S0=0000000; END CASE ;END P

9、ROCESS;END A;2、总源程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;-ENTITY CNT30 IS PORT ( CLK,CLR: IN STD_LOGIC; PLD,ENB : IN STD_LOGIC; -PLD表示复位信号 WARN: OUT STD_LOGIC; S1,S0 : OUT STD_LOGIC_VECTOR(6 DOWNTO 0);-译码输出,S1为十位S0为个位END CNT30;-ARCHITECTURE A OF CNT30 ISSIGNAL DD:

10、STD_LOGIC_VECTOR (3 DOWNTO 0);-DD表示十位SIGNAL SS : STD_LOGIC_VECTOR (3 DOWNTO 0) ; -SS表示个位BEGINPRO1: PROCESS (CLK,CLR,ENB) VARIABLE TMPA: STD_LOGIC_VECTOR (3 DOWNTO 0); VARIABLE TMPB: STD_LOGIC_VECTOR (3 DOWNTO 0); VARIABLE TMPWARN: STD_LOGIC;BEGIN IF CLR=1 THEN TMPA:=0000;TMPB:=0000;TMPWARN:=0; ELSIF

11、 CLKEVENT AND CLK=1 THEN IF PLD=1 THEN TMPB:=0011;TMPA:=0000;TMPWARN:=0;-赋初值 ELSIF ENB=1 THEN IF TMPA=0000 THEN IF TMPB/=0000 THEN TMPA:=1001; TMPB:=TMPB-1; ELSE TMPWARN:=1; END IF; ELSE TMPA:=TMPA-1; END IF; END IF; END IF; SS=TMPA;DD=TMPB;WARN S1 S1 S1 S1 S1 S1 S1 S1 S1 S1 S1 S0 S0 S0 S0 S0 S0 S0

12、S0 S0 S0 S0=0000000; END CASE ;END PROCESS;END A;-2、源程序仿真结果及数据分析(1)仿真结果 图4-2 仿真结果部分波形图 图4-3仿真结果总体波形图(2)数据分析 由仿真结果图可以看出:先清零,再置数,置初始值为30 ,置数后,保持30,直至使能端ENB为高电平,等到上升沿的到来,开始计数,计数器减计数至零时,报警信号WARM变为高电平,发出报警信号。但信号在FPGA器件内部通过连线和逻辑门时,都有一定的延时。延时的大小与连线的长短和门单元的数目有关,同时还受器件的制造工艺、工作电压、温度等的影响。此外,信号的高低电平转换也需要一定的过度时间

13、。由于存在这些因素的影响,多路信号的电平值发生变化时,在信号变化的瞬间,组合逻辑的输出有先后顺序,并不是同时变化,往往会出现一些不正确的“毛刺”,称为“冒险”现象。可以通过改变设计来破坏毛刺的产生的条件,从而减少毛刺的发生。例如,在数字电路设计中,常采用格雷码。还可以利用D触发器消除毛刺。但由于时间和条件的限制没有进行时延现象的消除,在本次设计中没有太大影响,但在以后的工作中是一定要避免的。五、硬件实现1、打开Quartus软件,建立一个工程,将编写好的源代码加载进去进行仿真。2、代码编译成功之后,进行功能仿真,首先建立波形文件,设置时钟参数;将波形文件保存好,进行软件仿真;3、软仿真实现之后

14、,要进行硬仿,即硬件实现。硬件实现简单明了,可以清楚的看到实验的成功与否,而且真实可靠。为了实现硬仿,我们先进行管脚绑定。CLR ,ENB , PLD分别由键8,键7及键6来执行,S1,S0分别由数码管8和数码管7来显示。绑定情况如图4-4所示: 图4-4 管脚绑定图4、管脚绑定好之后,进行编译。5、编译无误后,进行下载硬仿。硬件电路选择模式6,数码管8和数码管7分别显示计数值的十位与个位。键8,键7与键6分别代表清零,启动/暂停/连续与复位键。加载结果如图4-5所示: 图4-5 加载成功图 图 4-6 清零效果显示图 实验箱选择模式6.按下清零键,数码管清零,显示00,并且报警灯不亮。 图

15、4-7 复位效果显示图 释放清零键,按下复位键,显示预置数30,上图为显示效果。 图 4-8 硬件运行效果剪影 释放复位键,按下启动按钮,计数器开始减计数,计数周期为1秒。图为计数器减至19时的效果。 图 4-9 光电报警示意图 计数器继续进行减计数,当减至0时出发光电报警信号进行报警。并保持数码管不灭,保持0状态。直至清零。重复上述过程。六、设计总结1、设计过程中遇到的问题及解决方法在此次设计中,我自己的动手能力有了显著的提高。在软仿的时候一切都比较顺利,但硬仿的时候,却发现有一个不该报警的地方报警了,看程序也没错误,波形也没错误,刚开始怎么也找不出问题,后来我们感觉应该还是程序的问题,便从

16、程序入手,在程序中又强调了一下,报警条件,结果硬仿正确了。所以说,实验就要不断的尝试,VHDL是一门语言,语言有些时候不仅仅是语法这么简单,只有在不断地调试中才能取得成功。在本次设计中,其实我们做了两种方案。第二种方案没有详细提及,该方案采用的时动态扫描。做完第一种方案之后,我们又进行了第二种方案的仿真,在硬仿时发现数码管不能正确显示,出现了乱码现象。这让我们很是费解,软仿没有错误,试验箱也不可能有问题,这是什么原因呢?我们思索了很久,也做了许多尝试,都没有成功。后来忽然间看到模式指示数码管旁边有一个短路帽,这让我哦联想到电路实验中短路帽的转换,所以,我把短路帽从上方拿到了下方,结果就正确显示

17、了。还有一次,同学的显示怎么都成功不了,按了开始就变为0,完全看不到变化现象,我看了程序感觉没错,就觉得是不是时钟设置的问题,我把它的时钟频率调小之后,发现果真正确显示了。2,设计体会为期一周的EDA课程设计就要结束了,在这一周的实训中,我收获颇丰。在此次课程设计之前我对QUARTUS软件已经有了接触,但却没有很深的了解。在此次课程设计时我将梁老师上课的内容在复习理解的基础上有了深刻的理解,对VHDL语言也有了更加熟悉的认知。更重要的是对实验箱的功能及应用更熟练了。本次课程设计是运用VHDL语言将模拟电子技术基础和数字电子技术基础以及电工电子技术的内容相结合,在此次设计的过程中发现了自己对理论

18、知识认识的不足还有在动手操作方面还欠缺锻炼,因此我在此次课程设计的时候加深对老师所教的内容进一步复习,并且在上机练习的时候我就更加加强了对实践的重视。通过这次课程设计我还知道了在学习这条道路上我们不断要加强学习,还要有坚持不懈的学习精神。要将理论知识与实践相结合,要用理论指导实践,用实践来验证理论,让我们学于所用。在这次设计中,我学到了很多东西,尝试到了成功的喜悦,但也有不足的地方,时钟有一点延时,虽然不影响效果,但若能考虑到延时问题,这样既会让所设计的器件的功能更加完善。报警采用的是光电报警,但若能再加上声报警就更完美了。此次课程设计中我还更加体会到合作的重要性,要有协助精神,这样我们才能事

19、半功倍!这次设计比较成功,但是由于时间关系,还是有一些做的不够好的地方。这次设计中得到了老师及同学们的大力帮助,在此衷心的感谢大家的指导与批评。3、对设计的建议 课程设计是一次很好的实践机会,它可以让我们很好的将所学理论知识与具体实际相结合,在实践中检验理论,在忙碌中提高自己,所以我希望在以后的学习中可以得到更多的实践机会。多做课程设计,最好可以提前给出题目,这样我们就可以做好充分的准备,甚至可以做出事物。七、设计生成的电路图 见附图: 八、参考文献1数字电子技术基础 阎石主编 高等教育出版社2 潘松,黄继业.EDA技术实用教程 M .北京:科学出版社, 2002.3 康华光主编.电子技术基础(模拟部分).第四版.北京:高等教育出版社,20014 乔庐峰 王志功 VHDL数字电路设计教程 电子工业出版社。20055 网络资源 篮球30秒计时器 XX文库6 网络资源 计数器 XX文库附图 : 图7-1 总体电路图

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

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