EDA课程设计报告_第1页
EDA课程设计报告_第2页
EDA课程设计报告_第3页
EDA课程设计报告_第4页
EDA课程设计报告_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上湘 潭 大 学 EDA 课程设计报告学 院 信息工程学院 专业班级 电子信息工程2班 学 号 学生姓名 毛圣杰 指导教师 吴亚联 完成日期 2017年9月28日 专心-专注-专业课 程 设 计 任 务 书设计题目篮球竞赛30秒倒计时器设计时间2017年9月28日学生姓名毛圣杰学号班级电子信息工程2班一、设计任务及要求:设计任务: (1)30秒计时器具有显示30秒的计时功能。 (2)系统设置外部操作开关,控制计时器的启动和暂停连续功能。 (3)计时器为30秒递减计时,其计时间隔为1秒。(4)当计时器递减计时到零时,数码显示器不能灭灯,应发出光电报警信号。设计要求: (1

2、)采用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代码调试及仿真2

3、017.9.257下载,系统硬件测试2017.9.25-2017.9.288验收2017.9.289撰写课程设计报告2017.9.29-2017.10.5目 录篮球竞赛30秒倒计时器摘 要:计时器在人类生活中有着非常重要而广泛的应用,古时候人们就开始用沙漏和水漏做定时工具,随着科技和社会的发展,人们开始用全新的方法来改造计时器以达到准确计时的目的。 篮球竞赛计时器就是一种典型的计时器的应用。在篮球比赛中规定球友持球的时间不能超过30秒,否则就是犯规。本课程设计的“篮球竞赛30秒计时器”,可用于篮球比赛中,用于对球员持球时间进行30秒限制,一旦球员持球的时间超过了30秒,它将自动报警从而判定刺球

4、员的犯规。 本文设计用的是实现以中小规模集成电路设计计时器的方法,它是一种典型的数字电路,其中包括了组合逻辑电路和时序电路。它是由秒脉冲产生电路、计数电路、译码显示电路、控制电路及报警电路组成。通过QUARTUS II设计并进行仿真,同时在试验箱上连接制作了硬件实现电路。关键词:30秒计时器;1.系统设计1.1 系统方案设计外部操作开关秒脉冲发生器计数器译码显示控制电路报警电路 图1-1 30秒计时器系统原理框图该系统包括秒脉冲发生器、计数器、译码显示电路、辅助时序控制电路(简称控制电路)和报警电路等5个部分构成。其中,计数器和控制电路是系统的主要部分。计数器完成30s计时功能,而控制电路具有

5、直接控制计数器的启动计数、暂停连续计数、译码显示电路的显示和灭灯功能。为了满足系统的设计要求,在设计控制电路时,应正确处理各个信号之间的时序关系。在操作直接清零开关时,要求计数器清零,数码显示器灭灯。当启动开关闭合时,控制电路应封锁时钟信号CP,同时计数器完成置数功能,译码显示电路显示30s字样;当启动开关断开时,计数器开始计数;当暂停连续开关拨在暂停位置上时,计数器停止计数,处于保持状态;当暂停连续开关拨在连续时,计数器继续递减计数。另外,外部操作开关都应采取去抖动措施,以防止机械抖动造成电路工作不稳定。在经济方面,因为结构简单,便于减少CPU的占用时间,减少能耗,从而降低用电成本,同时能节

6、省操作人员的操作时间,提高了效率,也避免了劳动力的浪费。 1.2 系统RTL图设计图 1-2 表1-1 引脚适配Pin NamePin AssignmentPin Typeclk53Inputclk_out4OutputCLR39InputENB42InputPLD43InputS0376OutputS0277OutputS0179OutputS0080OutputS1370OutputS1273OutputS1174OutputS1075OutputWARN44Output 1.3 代码编写与调试在设计初,由于实验箱有时钟输出,因此编程时没有考虑对时钟的编写,重点放在了对控制电路的实现,控制

7、电路是这次课程设计的核心,要充分理解题目的要求,搞清楚各个功能的嵌套及与时钟的关系。最后是译码显示电路,其目的就是将计数的结果完整的显示在数码管上,代码可以参考课本,属于比较简单的内容。将所有程序编写完毕后,进行编译调试,由于混淆了功能的嵌套关系,虽然编译可以通过,但是从波形仿真不能得到有效的逻辑关系。从新调整过后,基本实现了其功能。为了使系统功能更完整,在最终编程阶段加入了秒脉冲发生器的代码,经过简单的调整后,可以完美的实现系统功能。 2. 系统仿真与测试2.1 系统时序仿真与分析时序仿真前首先要对代码进行编译运行,没有错误之后才可以建立vector waveform file文件,建立文件

8、之后加入引脚,设置合适的终止时间(在此次设计中我设置的终止时间为3.5ms),设置各个输入引脚的波形并仿真即可得到对应的仿真波形图。图 1-2如图,clk为高频时钟输入信号,由于频率过高所以在波形图上显示的为黑线,但可以通过编写的分频计程序将其分频;clk_out为系统内部的时钟总线,其相对于clk显得频率就小了很多,其为实现各个控制功能提供时序;CLR为清零控制端,与时钟信号无关,因此为异步清零,当期为1时,可以看到计数器被清零;PLD为置数端,上升沿触发,因此为同步置数,当其为高电平时,计数器显示30;ENB为使能端,高电平有效,当其为1时,系统开始工作;WARN为警示输出端,当计数满了之

9、后,输出高电平;S0和S1为计数输出,为四位向量,通过译码可以转换为数字在数码管上显示,在波形图上也可以看到从30到00的倒计时的过程。在第一次仿真时,由于没有注意clk_out的电平持续时间,在设置PLD的高电平时间过小,完全嵌套在clk_out的高电平中,无法实现有效触发。第二次仿真时更正了PLD的持续时间,得到了如图正确的波形仿真。2.2硬件下载与测试硬件下载:将编程电缆插入计算机的并行接口上同时将编程电缆的另一端接在试验箱上。l 按照引脚编号链接线路。 l 将程序下载进试验箱。l 下载完成。硬件测试:l 将清零端置高电平,观察数码管显示状态。若显示正常,则将清零端置低电平。l 将置数端

10、置高电平,观察数码管显示状态。若显示正常,则将置数端置低电平。l 打开使能端,观察其是否正常计数,若计数正常,关闭使能端,观察其是否可以暂停计数。l 待计数完毕后,观察警示led是否正常发光。l 测试完毕。3. 收获与体会本次课程设计是将模拟电子技术基础和数字电子技术基础以及电工电子技术的内容相结合,在此次设计的过程中发现了自己对理论知识认识的不足还有在动手操作方面还欠缺锻炼,因此我在此次课程设计的时候加深对老师所教的内容进一步复习,并且在上机练习的时候我就更加加强了对实践的重视。通过这次课程设计我还知道了在学习这条道路上我们不断要加强学习,还要有坚持不懈的学习精神。要将理论知识与实践相结合,

11、要用理论指导实践,用实践来验证理论,让我们学于所用。 此外,这次课程设计让我对学习的态度有了进一步的改变,事在人为,想做好一件事就要踏踏实实,兢兢业业,心无旁骛。唯有这般,才能事半功倍,学有所成。最后,还要感谢吴亚联老师的悉心指导,指导我顺利完成课设。4. 参考文献 1 潘松,黄继业.EDA技术实用教程M.北京:科学出版社,2002.2杨君,王景存.基于VerilogHDL的流水线的设计方法及应用J.武汉科技大学学报(自然科学版),2002,25(4):394396.3郝国法,黄睿,郝琳,等.FPGA在设计中的应用J.武汉科技大学学报(自然科学版),2001,24(2):178180.4王景存

12、,李炳生,郝国法,等.用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_logi

13、c ; 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 clkEVENT AND clk=1 THEN if cnt = 1111 then cnt = 0000; clk1 = not clk1; else cnt = cnt + 1; end if; end

14、 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 clk1EVENT AND clk1 =1 THEN IF PLD=1 THEN TMPB:=0011;TMPA:=00

15、00;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 S1 S1 S1 S1 S1 S1 S1 S1 S1 S1 S1 S0 S0 S0 S0 S0 S0 S0 S0 S0 S0 S0=; END CASE ;END PROCESS;END A; 附录2:硬件测试结果图附图1 清零工作状态附图2 置数工作状态附图3 正常倒计时状态附图4 倒计时结束警示状态附录3:问题回答记录表学号: 姓名: 毛圣杰 专业、班级:电子信息工程二班 老师所提问题:1) CLR与PLD在时序上有什么区别?2) 进程的执行顺序是怎样的?3) 译码显示中的case语句还可以用什么表示?学生问题回

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论