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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

基于VHDL的自动打铃设计毕业设计 精品Word文件下载.docx

1、随着EDA 技术的发展和应用领域的扩大与深入,EDA 技术在电子信息、通信、自动控制及计算机应用领域的重要性日益突出。EDA 技术就是以计算机为工具,设计者在EDA软件平台上,对以硬件描述语言HDL(Hardware Description language)为系统逻辑描述手段完成的设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。本设计是基于VHDL语言的自动打铃系统。在论文中,介绍了基于VHDL语言自动打铃系统的思路,整个系统需包含秒计时模块、分计时模块、时计时模块、校时模块、打铃模块。在Quart

2、us II 开发环境中编译和仿真所设计的程序,并逐一调试验证程序的运行状况。仿真和验证的结果表明,该设计方法切实可行,该打铃系统可以实现调时定时打铃功能,具有一定的实际应用性。 关键字:EDA、VHDL、打铃、Quartus IIAbstract With the development of EDA technology and the expansion of application, the function of EDA technology in the field of electronic information communication, automatic control

3、and computer application, is becoming more and more important. EDA technology use computer as a tool. However, designers only need to use the hardware description language HDL to describe the system on the EDA software platform. Then computer automatically finishes partition, synthesis, optimization

4、, simulation and other function until the electronic circuit system achieves the stated performance. This design is based on the VHDL hardware description language to project a system. I introduce ideas of the bell system in this design. All of the design includes second timer module, minute timer m

5、odule, hour timer module, module to adjust time and module to ring the bell according to the require of design. I complete the description of different modules with VHDL language in the Quartus II development environment, and debug one by one to check the operational status of the verification proce

6、ss. Simulation results show that the design method is feasible, and the bell system can be put into practical applications. Keywords: EDA, VHDL, rang the bell, the Quartus II绪论本次毕业设计是基于VHDL的自动打铃系统,而自动打铃就是像现在的学校一样在规定的时间段铃声响起,用以作为每节课的作休时间。而自动打铃系统可以像现在的闹钟功能类似,起到提醒的作用,从早上8点开始计时,每隔一个小时铃声响一次,每次铃声持续响30秒,一直

7、到下午5点都是每隔一个小时响一次铃声,下午5点以后铃声即使一个小时计时到了铃声也不再响了。为了高效率的验证设计的结果另外还需要增加一个校时模块,可以用两个指示灯的亮、灭的状态来区分两个按键的工作状态。增加的两个按键,一个是调分按键,一个是调时按键。开始时按下按键K1时,此时指示灯LED1变亮,指示灯LED提示系统正处于调分的状态,想调至几分时直接按K2按键下N就是想要的N分。再次按K1键一下后,指示灯LED2处于常亮状态,即系统处于调时状态,想要7点即按K2键7下即可。调完时和分的状态后再按K1键一下系统才会处于正常的计时状态,系统处于正常计时时LED1、LED2全都不亮。在整个设计中,首先先

8、做一个顶层模块,以top命名,然后再将各个模块在顶层模块中做好后再生成各模块的元器件,最后在top模块中将各个元器件按功能要求连接好后连进行编译看,是能否通过。通过编译后再按照附录表查询对各个引脚进行设定,引脚设定完后再对顶层文件进行编译,通过编译后再进行波形仿真,如果时序仿真与功能仿真的波形都正确后再到试验箱上下载验证,验证铃声是否在规定时间内响起。第1章 基本概念简介1.1 VHDL简介VHDL是Very High Speed Integrated Circuit Hardware Description Language的缩写,意思是超高速集成电路硬件描述语言。对于复杂的数字系统的设计,

9、它有独特的作用。它的硬件描述能力强,能轻易的描述出硬件的结构和功能。这种语言的应用至少意味着两种重大的改变:电路的设计竟然可以通过文字描述的方式完成;电子电路可以当作文件一样来存储。随着现代技术的发展,这种语言的效益与作用日益明显,每年均能够以超过30%的速度快速成长。VHDL是美国电气和电子工程师协会制定的标准硬件描述语言(IEEE标准1076),它可用于数字电路与系统的描述、仿真和自动设计。另外VHDL作为IEEE标准的硬件描述语言,经过十几年的发展、应用和完善,以其强大的系统描述能力,规范的程序设计结构,灵活的语言表达风格和多层次的仿真测试手段,受到业界的普遍认同和推广,成为现代EDA领

10、域的首选硬件设计语言,而且各大EDA公司推出的EDA工具软件全部支持VHDL。并且随着EDA技术和VHDL的广泛应用,各高等院校也纷纷开设了VHDL电路设计课程,且要求某些专业的本科生、研究生必须掌握用VHDL进行电路系统设计的方法。VHDL已经成为高等教育中电类专业知识结构的重要组成部分。学习者可以用EDA工具软件编辑VHDL文件,使用仿真工具仿真所设计的电路系统,并学会使用综合语句以及下载工具,最终达到能够独立设计硬件电路系统的目的。1.2 FPGA/CPLD简介FPGA是英文Field Programmable Gate Array的缩写,即现场可编程门阵列,它是在PAL、GAL、EPL

11、D等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个新概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。FPGA的基本特点包括:首先它采用FPGA设计ASIC电路,用户不需要投片生产,就能得到合用的芯片。其次,FPGA可做其它全定制或半定制ASIC电路的中试样片

12、,FPGA内部有丰富的触发器和IO引脚,而且FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。最重要的是FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。随着电子设计自动化(EDA)技术的发展,利用计算机辅助设计和用高密度可编程逻辑器件实现数字系统已经成为发展趋势。本次毕业设计就利用VHDL 语言的强大的电路描述和建模能力设计基于FPGA的电子时钟,可以提高利用计算机辅助设计和用高密度可编程逻辑器件实现数字系统的能力。1.3 Quartus II的简介 Quartus II 是Al

13、tera公司继Max+plus II之后开发的一种针对其公司生产的系列CPLD/PGFA器件的综合性开发软件,它的版本不断升级,从4.0版到10.0版, Quartus II 的优软件界面友好,使用便捷,功能强大,是一个完全集成化的可编程逻辑设计环境,是先进的EDA工具软件。该软件具有开放性、与结构无关、多平台、完全集成化、丰富的设计库、模块化工具等特点,支持原理图、VHDL、VerilogHDL以及AHDL( Altera Hardware Description Language)等多种设计输入形式。内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。Quartu

14、s II可以在XP、Linux以及Unix上使用,除了可以使用Tcl脚本完成设计流程外,还提供了完善的用户图形界面设计方式,具有运行速度快,界面统一,功能集中,易学易用等特点。Quartus II支持Altera公司的MAX 3000A系列、MAX 7000系列、MAX 9000系列、ACEX 1K系列、APEX 20K系列、APEX II系列、FLEX 6000系列、FLEX 10K系列,支持MAX7000/MAX3000等乘积项器件,支持MAX II CPLD系列、Cyclone系列、Cyclone II、Stratix II系列、Stratix GX系列等。还支持IP核,包含了LPM/M

15、egaFunction宏功能模块库,用户可以充分利用成熟的模块,简化了设计的复杂性,加快了设计速度。此外,Quartus II 通过和DSP Builder工具与Matlab/Simulink相结合,可以方便地实现各种DSP应用系统。它还支持Altera的片上可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。 此外Quartus II对第三方EDA工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三方EDA工具。 Altera的Quartus II可编程逻辑软件属于第四代PLD开发平台,该平台支持一个工作组环境下的设计要求,其中包括

16、支持基于Internet的协作设计。Quartus平台与Cadence、ExemplarLogic、 MentorGraphics、Synopsys和Synplicity等EDA供应商的开发工具相兼容。改进了软件的LogicLock模块设计功能,增添 了FastFit编译选项,推进了网络的编辑功能,而且提高了调试能力。第2章 设计整体概述 2.1 设计方案自动打铃是一种现代提醒工具,有着广泛的应用。例如学校的上课铃声,每天在既定的时间响铃,就是是自动打铃系统的具体应用。打铃系统设置从早上的8点开始计时打铃,每隔一个小时铃声持续响30秒,这样一直持续到下午的17点。17点以后再出现的打铃间隔时间

17、,铃声也不会再响起,直到第二天的早晨重新开始从8点正常计时响铃。利用IF语句控制打铃的时间,在规定的时间内到打设既定的打铃间隔时间时给出一个30秒的高电平脉冲,让铃声连续响起。此外还要增加一个校时模块,因为时钟都会存在计时误差,所以增加一个校时模块也是为了调整准确的时间,功能验证时也可以调至铃声响起的前一分钟,检测打铃功能是否正确。其具体实现如下:(1) 每隔一个小时打铃一次,但是不能让铃声一直响,给一个控制打铃时间的功能,让打铃响起30秒后停止。即到打铃时间是会给出一个30秒的高电平脉冲。(2) 因为自动打铃系统不是24小时都在计时打铃,在晚上的时候会停止打铃功能。即设定打铃系统只在早上8点

18、至下午17点的时间段内在规定的时间内响铃。其他时间自动打铃系统处于休眠状态。(3) 增加一个自动校时模块,可以进行校时,还可以使打铃模块尽快到铃声响起的前一分钟。(4) 显示模块是让时钟信号在实验箱上的八个数码管上显示,将打铃响起的时间显示在数码管上,调分时对应的LED1指示灯亮,按K2键可以在数码管上看到分在增加。同样调时时对应的LED2指示灯亮,按K2键可以让时增加。让计时模块重新回到正常计时,只要两个按键的指示灯不亮状态就可以正常计时,否则指示灯亮计数器就不能正常计时,即秒到59时不会网分上进位。(5) 整个时钟系统中,秒、分是60进制计数器,由二进制数7位表示。而时是24进制计数器,仅

19、需要5位二进制码就可以表示。2.2 设计原理图在整个系统设计中,应用到的模块有秒计时模块、分计时模块、时计时模块、校时模块和显示器模块。系统框图如图2.1所示: CLK K1 K2图2.1 系统框图2.3 设计流程图 图2.2 自动打铃的设计流程图第3章 各模块设计分析3.1 计数器模块计数器模块包括秒计数器模块、分计数模块、时计数模块以及功能按键的设计。给定固定频率的时钟信号,输入计数60秒的秒计数器模块电路,等待计数到60秒的瞬间,进位至60分的分计数器模块电路加1后,秒计数器电路同时清为零重新计时。分计数器模块电路与秒计数器模块电路功能类似,当分计时模块计时到60分的瞬间时计时模块电路加

20、1,分计时模块清为零重新进行计时。时计时模块与秒、分计时模块类似,当来自分计时模块的进位达到24瞬间,时计数器模块清为零,再从零进行计时。这样秒、分、时计时模块依次进行计时完成24进制的计时功能。3.1.1 秒和分计数器模块秒计时模块和分计数器模块都为60进制的计数器,其代码为:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY second IS PORT(clk:IN STD_LOGIC; q1,q2:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); c:OUT S

21、TD_LOGIC);END ENTITY second;ARCHITECTURE art OF second IS SIGNAL q11,q22:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGIN PROCESS(clk) BEGIN IF clkEVENT AND clk=1 THEN q11=q11+; IF q11=9 AND q22/=5 THEN =0000 q22=q22+ END IF; IF q22=5 AND q11=9 THEN c= ELSE 0 END PROCESS; q1=q11;q2=q22;END ARCHITECTURE art;秒和分计时模

22、块编译完成后生成的秒的元器件为图3.1、3.2所示 图3.1 秒模块的元器件 图3.2 分计时模块的元器件给定输入信号进行波形仿真得到秒、分计时模块的波形仿真如图3.3图3.3 秒、分计数器模块的输出仿真波形模块说明:由仿真波形图可以看出,当秒或分计时到59时,给C一个高电平脉冲,即分或时计时模块加1,秒或分计时模块清零后开始重新计时。3.1.2 时计数器模块时计数器模块为24进制的计数器,其代码为:ENTITY hour IS q1,q2:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END ENTITY hour;ARCHITECTURE art OF hour IS

23、IF q11=9 THEN IF q22=2 AND q11=3 THEN 时计时模块编译通过后生成的时计时模块的元器件如图3.4所示图3.4时计时模块的元器件图时计时模块采用24进制的计时器模式,输出仿真波形为图3.5:图3.5 时计时模块的仿真波形由仿真波形图可以看出,当时计数到23时时计数器模块清零后,再重新开始从0时计时。3.2 计时校时模块计时校时模块的代码为:USE IEEE.STD_LOGIC_1164. ALL;ENTITY jiaoshi ISPORT(sec,min: -调时模块的输入信号 k1,k2: -调时模块的控制,调时信号输入 fen,shi:OUT STD_LOG

24、IC; -各计数器的输入时钟信号 led1,led2: -工作模式显示灯的控制信号END ENTITY jiaoshi;ARCHITECTURE art OF jiaoshi ISSIGNAL a:STD_LOGIC_VECTOR(1 downto 0);PROCESS(k1,k2) IF k1EVENT AND k1= THEN a=a+1; IF a=2 THEN afen=sec;shi=min; - 模式0正常计时 led1led2NULL;END CASE;END PROCESS;计时校时模块编译通过后,生成校时模块的元器件,计时校时模块的元器件图为图3.6:图3.6计时校时模块的元

25、器件给定输入信号后校时模块的输出仿真波形如图3.7所示:图3.7计时校时模块的仿真波形由仿真波形可以看出,K1键是控制调时调分按键,按一下K1键系统处于调分状态,并且LED1灯常亮即提示此时处于调分状态,再按K2键对分进行加时。若再次按K1键系统就会处于调时状态,此时LED2灯常亮。按K2键系统就会对时进行加时作用。等分别对系统进行调时、调分后要让系统处于正常计时状态,再次按K1键使指示灯LED1、LED2都不亮的情况下系统才会正常计时。由仿真波形图可知,此时所调的时间为2:02分。3.3 打铃功能模块打铃功能模利用IF语句实现时间控制,在预设的铃声响起的时间给C一段连续的30秒的高电平,30

26、秒的高电平控制是用IF语句判断秒计数器的计数实现的。打铃功能模块的代码为:ENTITY ring IS PORT(s1,s2,min1,min2,h1,h2:IN STD_LOGIC_VECTOR(3 DOWNTO 0); clk,clk1: q1,q2,q3,q4,q5,q6:END ENTITY ring;ARCHITECTURE art OF ring IS SIGNAL q11:STD_LOGIC_VECTOR(7 DOWNTO 0); SIGNAL q22: SIGNAL q33: SIGNAL q44: constant js:INTEGER:=29; q11=s2 & s1; q33=h2 & h1; q22=min2 & min1; q6=h2;q5=h1;q4=min2;q3=min1;=s2;q1 AND q1100110000) T

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

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