欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    EDA课程设计报告-篮球竞赛30秒倒计时器(16页).doc

    • 资源ID:36395598       资源大小:192.50KB        全文页数:16页
    • 资源格式: DOC        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    EDA课程设计报告-篮球竞赛30秒倒计时器(16页).doc

    -EDA课程设计报告-篮球竞赛30秒倒计时器-第 14 页湘 潭 大 学 EDA 课程设计报告学 院 信息工程学院 专业班级 电子信息工程2班 学 号 学生姓名 指导教师 完成日期 2017年9月28日 课 程 设 计 任 务 书设计题目篮球竞赛30秒倒计时器设计时间2017年9月28日学生姓名学号2015550605班级电子信息工程2班一、设计任务及要求:设计任务: (1)30秒计时器具有显示30秒的计时功能。 (2)系统设置外部操作开关,控制计时器的启动和暂停连续功能。 (3)计时器为30秒递减计时,其计时间隔为1秒。(4)当计时器递减计时到零时,数码显示器不能灭灯,应发出光电报警信号。设计要求: (1)采用VHDL语言编写程序,并在QUARTUS II平台中进行仿真,下载到EDA实验箱进行验证。 (2)编写设计报告,要求包括方案选择、程序清单、调试过程、测试结果及心得体会。 (3)设计地点:信息楼401,EDA实验室。二、进度安排:序号各阶段完成的内容完成时间1查阅相关文献资料、课题调研2017.9.20-2017.9.222掌握设计软件、制订进度计划2017.9.20-2017.9.223系统方案的比较和选定2017.9.224画出VHDL设计框图,确定各模块或进程的端口或信号,画出系统的RTL图2017.9.235编写VHDL代码2017.9.23-2017.9.256代码调试及仿真2017.9.257下载,系统硬件测试2017.9.25-2017.9.288验收2017.9.289撰写课程设计报告2017.9.29-2017.10.5目 录1.系统设计51.1 系统方案设计51.2 系统RTL图设计61.3 代码编写与调试72. 系统仿真与测试82.1 系统时序仿真与分析82.2硬件下载与测试93. 收获与体会104. 参考文献115. 附录12附录1:代码12附录2:硬件测试结果图14附录3:问题回答记录表16篮球竞赛30秒倒计时器摘 要:计时器在人类生活中有着非常重要而广泛的应用,古时候人们就开始用沙漏和水漏做定时工具,随着科技和社会的发展,人们开始用全新的方法来改造计时器以达到准确计时的目的。 篮球竞赛计时器就是一种典型的计时器的应用。在篮球比赛中规定球友持球的时间不能超过30秒,否则就是犯规。本课程设计的“篮球竞赛30秒计时器”,可用于篮球比赛中,用于对球员持球时间进行30秒限制,一旦球员持球的时间超过了30秒,它将自动报警从而判定刺球员的犯规。 本文设计用的是实现以中小规模集成电路设计计时器的方法,它是一种典型的数字电路,其中包括了组合逻辑电路和时序电路。它是由秒脉冲产生电路、计数电路、译码显示电路、控制电路及报警电路组成。通过QUARTUS II设计并进行仿真,同时在试验箱上连接制作了硬件实现电路。关键词:30秒计时器;1.系统设计1.1 系统方案设计外部操作开关秒脉冲发生器计数器译码显示控制电路报警电路 图1-1 30秒计时器系统原理框图该系统包括秒脉冲发生器、计数器、译码显示电路、辅助时序控制电路(简称控制电路)和报警电路等5个部分构成。其中,计数器和控制电路是系统的主要部分。计数器完成30s计时功能,而控制电路具有直接控制计数器的启动计数、暂停连续计数、译码显示电路的显示和灭灯功能。为了满足系统的设计要求,在设计控制电路时,应正确处理各个信号之间的时序关系。在操作直接清零开关时,要求计数器清零,数码显示器灭灯。当启动开关闭合时,控制电路应封锁时钟信号CP,同时计数器完成置数功能,译码显示电路显示30s字样;当启动开关断开时,计数器开始计数;当暂停连续开关拨在暂停位置上时,计数器停止计数,处于保持状态;当暂停连续开关拨在连续时,计数器继续递减计数。另外,外部操作开关都应采取去抖动措施,以防止机械抖动造成电路工作不稳定。在经济方面,因为结构简单,便于减少CPU的占用时间,减少能耗,从而降低用电成本,同时能节省操作人员的操作时间,提高了效率,也避免了劳动力的浪费。 1.2 系统RTL图设计图 1-2表1-1 引脚适配Pin NamePin AssignmentPin Typeclk53Inputclk_out4OutputCLR39InputENB42InputPLD43InputS0376OutputS0277OutputS0179OutputS0080OutputS1370OutputS1273OutputS1174OutputS1075OutputWARN44Output1.3 代码编写与调试在设计初,由于实验箱有时钟输出,因此编程时没有考虑对时钟的编写,重点放在了对控制电路的实现,控制电路是这次课程设计的核心,要充分理解题目的要求,搞清楚各个功能的嵌套及与时钟的关系。最后是译码显示电路,其目的就是将计数的结果完整的显示在数码管上,代码可以参考课本,属于比较简单的内容。将所有程序编写完毕后,进行编译调试,由于混淆了功能的嵌套关系,虽然编译可以通过,但是从波形仿真不能得到有效的逻辑关系。从新调整过后,基本实现了其功能。为了使系统功能更完整,在最终编程阶段加入了秒脉冲发生器的代码,经过简单的调整后,可以完美的实现系统功能。 2. 系统仿真与测试2.1 系统时序仿真与分析时序仿真前首先要对代码进行编译运行,没有错误之后才可以建立vector waveform file文件,建立文件之后加入引脚,设置合适的终止时间(在此次设计中我设置的终止时间为3.5ms),设置各个输入引脚的波形并仿真即可得到对应的仿真波形图。图 1-2如图,clk为高频时钟输入信号,由于频率过高所以在波形图上显示的为黑线,但可以通过编写的分频计程序将其分频;clk_out为系统内部的时钟总线,其相对于clk显得频率就小了很多,其为实现各个控制功能提供时序;CLR为清零控制端,与时钟信号无关,因此为异步清零,当期为1时,可以看到计数器被清零;PLD为置数端,上升沿触发,因此为同步置数,当其为高电平时,计数器显示30;ENB为使能端,高电平有效,当其为1时,系统开始工作;WARN为警示输出端,当计数满了之后,输出高电平;S0和S1为计数输出,为四位向量,通过译码可以转换为数字在数码管上显示,在波形图上也可以看到从30到00的倒计时的过程。在第一次仿真时,由于没有注意clk_out的电平持续时间,在设置PLD的高电平时间过小,完全嵌套在clk_out的高电平中,无法实现有效触发。第二次仿真时更正了PLD的持续时间,得到了如图正确的波形仿真。2.2硬件下载与测试硬件下载:将编程电缆插入计算机的并行接口上同时将编程电缆的另一端接在试验箱上。l 按照引脚编号链接线路。 l 将程序下载进试验箱。l 下载完成。硬件测试:l 将清零端置高电平,观察数码管显示状态。若显示正常,则将清零端置低电平。l 将置数端置高电平,观察数码管显示状态。若显示正常,则将置数端置低电平。l 打开使能端,观察其是否正常计数,若计数正常,关闭使能端,观察其是否可以暂停计数。l 待计数完毕后,观察警示led是否正常发光。l 测试完毕。3. 收获与体会本次课程设计是将模拟电子技术基础和数字电子技术基础以及电工电子技术的内容相结合,在此次设计的过程中发现了自己对理论知识认识的不足还有在动手操作方面还欠缺锻炼,因此我在此次课程设计的时候加深对老师所教的内容进一步复习,并且在上机练习的时候我就更加加强了对实践的重视。通过这次课程设计我还知道了在学习这条道路上我们不断要加强学习,还要有坚持不懈的学习精神。要将理论知识与实践相结合,要用理论指导实践,用实践来验证理论,让我们学于所用。 此外,这次课程设计让我对学习的态度有了进一步的改变,事在人为,想做好一件事就要踏踏实实,兢兢业业,心无旁骛。唯有这般,才能事半功倍,学有所成。最后,还要感谢吴亚联老师的悉心指导,指导我顺利完成课设。4. 参考文献1 潘松,黄继业.EDA技术实用教程 M .北京:科学出版社, 2002. 2 杨君,王景存.基于VerilogHDL的流水线的设计方法及应用J.武汉科技大学学报(自然科学版) ,2002,25(4): 394396. 3 郝国法,黄睿,郝琳,等.FPGA在设计中的应用J.武汉科技大学学报(自然科学版),2001,24(2):178180. 4 王景存,李炳生,郝国法,等.用FPGA实现数字逻辑分析仪设计J.武汉科技大学学报(自然科学版),2001,24(1):298300. 5 胡华春,石玉.数字锁相环原理与应用M.上海科学技术出版社,1990.5. 附录附录1:代码LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY bsk30 ISPORT(clk,CLR: INSTD_LOGIC;PLD,ENB : INSTD_LOGIC; -PLD表示复位信号 WARN: OUT STD_LOGIC; clk_out : out std_logic ; S1,S0 : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);-译码输出,S1为十位S0为个位END bsk30;ARCHITECTURE A OF bsk30 ISsignal cnt : std_logic_vector(3 downto 0);signal clk1: STD_LOGIC; BEGINPRO1: process(clk) begin if clk'EVENT AND clk='1' THEN if cnt = "1111" then cnt <= "0000" clk1 <= not clk1; else cnt <= cnt + "1" end if; end if; clk_out <= clk1;end process;PRO2:PROCESS (clk1,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 clk1'EVENT AND clk1 ='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; S0<=TMPA;S1<=TMPB;WARN<=TMPWARN; END PROCESS; -PROT2显示部分PROCESS(S1) BEGIN CASE S1 IS -十位显示部分WHEN "0000" => S1 <="0111111"-显示0WHEN "0001" => S1 <="0000110"-显示1WHEN "0010" => S1 <="1011011"-显示2WHEN "0011" => S1 <="1001111"-显示3WHEN "0100" => S1<="1100110"-显示4WHEN "0101" => S1 <="1101101"-显示5WHEN "0110" => S1 <="1111101"-显示6WHEN "0111" => S1 <="0000111"-显示7WHEN "1000" => S1 <="1111111"-显示8WHEN "1001" => S1 <="1101111"-显示9WHEN OTHERS =>S1<="0000000" END CASE ;END PROCESS; PROCESS(S0)BEGIN CASE S0 IS -个位显示部分WHEN "0000" => S0 <="0111111"-显示0WHEN "0001" => S0 <="0000110"-显示1WHEN "0010" => S0 <="1011011"-显示2WHEN "0011" => S0 <="1001111"-显示3WHEN "0100" => S0<="1100110"-显示4WHEN "0101" => S0 <="1101101"-显示5WHEN "0110" => S0 <="1111101"-显示6WHEN "0111" => S0 <="0000111"-显示7WHEN "1000" => S0 <="1111111"-显示8WHEN "1001" => S0 <="1101111"-显示9WHEN OTHERS =>S0<="0000000" END CASE ;END PROCESS;END A; 附录2:硬件测试结果图附图1 清零工作状态附图2 置数工作状态附图3 正常倒计时状态附图4 倒计时结束警示状态附录3:问题回答记录表学号: 2015550605 姓名: 毛圣杰 专业、班级:电子信息工程二班 老师所提问题:1) CLR与PLD在时序上有什么区别?2) 进程的执行顺序是怎样的?3) 译码显示中的case语句还可以用什么表示?学生问题回答:1)CLR与时间无关,为异步清零,PLD与时间有关,上升沿触发,为同步置数。2)进程并行执行,互相之间不干扰。3)最简单的可以用if-else语句表示。课程设计报告评阅序号评阅内容优秀良好中等及格不及格1报告格式是否规范,图表是否规范、清晰2报告内容是否充实,有无详细的设计方案和代码设计思路与过程3有无代码调试过程中出现的错误及解决方法介绍4系统时序波形仿真分析和硬件测试的介绍是否详细5是否认真详细地总结了本次课程设计的收获和体会6附录是否齐全 报告成绩: 指导教师: 年 月 日

    注意事项

    本文(EDA课程设计报告-篮球竞赛30秒倒计时器(16页).doc)为本站会员(1595****071)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开