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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

基于EDA自动打铃系统设计课后作业资料.docx

1、基于EDA自动打铃系统设计课后作业资料考试序号:*自动打铃系统设计说明书 学 生 姓 名:* 学 号:*1610 专 业 班 级:电子13-1BF 报告提交日期:2015.11.18 理 工 学 院 物 电 学 院 自动打铃系统设计第一章 设计题目及总体要求简介 2第二章 设计方案说明 3第三章 各部分功能介绍及程序 43.1系统框图 43.2选择的FPGA芯片及配置 43.3各模块(元件)说明 43.3.1 计时器模块及手动校时模块 43.3.2 闹钟模块 53.3.3 显示模块 63.3.4 顶层设计及原理图 7附录: 8 第一章 设计题目及总体要求简介 随着EDA技术的发展和应用领域的扩

2、大与深入,EDA技术在电子信息、通信、自动控制及计算机应用领域的重要性日益突出。EDA技术就是以计算机为工具,设计者在EDA软件平台上,对以硬件语言HDL为系统逻辑描述手段完成的设计文件,然后由是计算机自动地完成逻辑编辑、化简、分割、综合、优化、布局、布线、和仿真直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。 本设计是基于VHDL语言的自动打铃系统。在论文中,介绍了基于CHDL语言自动打铃系统的思路,整个系统需包含计时模块、校时模块、打铃模块。在Quartus II开发环境中编译和仿真所设计的程序,并逐一调试验证程序的运行状况。仿真和验证的结果证明,该设计方法切实可行,该打铃系统可

3、以实现调时定时打铃功能,具有一定的实际应用性本设计是基于VHDL的自动打铃系统,而自动打铃就像是现在的闹钟一样,起到提醒作用,6点起床闹铃,闹铃延迟时间5秒,本设计还是一个实时时钟,通过功能选择键选择计时功能、闹钟功能、手动校时功能。第二章 设计方案说明 自动打铃是一种现代提醒工具,有着广泛的应用,本设计具体实现如下:(1)计时功能,24小时制显示、动态扫描显示、显示格式88-88-88;(2)闹钟功能,6点闹钟,打铃5S;(3)手动校时功能;可设置分、时; 为了高效率验证设计的结果另外增加了一个手动校时模块,用两个按键(选择调分或调时,计数器增加)。在整个设计中,首先先做一个顶层模块,以to

4、p命名,然后再将各个模块在顶层模块中做好再生成各模块元器件,最后在top模块中将各个元件按功能要求连接好后进行编译,看是否通过,设置引脚后对顶层文件编译,在进行波形仿真,如果时序仿真与功能仿真的波形都正确,最后在实验箱上验证铃声是否能响起。第三章 各部分功能介绍及程序3.1系统框图图3.1 自动打铃系统框图3.2选择的FPGA芯片及配置 本设计选择ACEX1K系列EP1K100QC208-3芯片。3.3各模块(元件)说明3.3.1 计时器模块及手动校时模块 计数器模块包括秒计数器模块、分计数器模块、时计数器模块以及功能按键的设计。 给定固定频率的时钟信号,输入计数60秒的计数器模块,等到计数器

5、到60秒的瞬间,进位至60分的分计数器模块加1后,秒计数器模块同时清零从新计时,时计时模块与秒、分计时模块类似,当来自分计时模块的进位达到24瞬间,时计数器模块清零,再从零进行计时。这样秒、分、时计时模块依次进行计时完成24进制的计时功能。 本设计将计时模块集成与一体,还添加了手动校时模块,通过编译后生成计时模块的元器件如图3.1。图3.1 计时、校时模块的元器件通过对该模块的仿真,得到如图3.2的秒计时仿真图,图3.3的分计时仿真图,图3.4的时计时仿真图。图3.2 秒计时仿真图图3.3 分计时仿真图图3.4 时计时仿真图 校时模块的仿真图如图3.5所示。图3.5 校时按键功能仿真 模块说明

6、:K1按键是功能选择按键,若没按下,则默认为普通计时模式,若按下一次,则为闹钟模式,若按下两次,则为手动校时模块。按键turn则为,在模式2下的分校时、时校时选择按键,而m则是哪种校时选择的状态显示变量,按键change则为校时增加按键。由仿真波形可以看出:在模式2中,当turn按下时m的值反转,校时由分校时变为时校时。3.3.2 闹钟模块 闹钟模块利用IF语句实现时间控制,在预设的铃声响起时间给alert一段连续的5S高电平。通过对代码的编译后生成的的闹钟模块的元器件如图3.6所示:图3.6 闹钟模块元器件 仿真图如图3.7所示:图3.7 闹钟模块仿真图仿真说明:有仿真图可得,闹钟时间为06

7、:00,当到6:00时,给alert一个高电平。3.3.3 显示模块 本设计用6位数码管显示,同过位选信号outb经过3-8译码后选择1位数码管,段选信号outa将要显示数据传给数码管,完成显示功能。对代码编译、生成元器件如图3.8所示,仿真图如图3.9所示:图3.8 显示模块元器件图3.9 显示模块仿真图3.3.4 顶层设计及原理图 顶层模块说明:顶层设计即把电路的各个模块放在一个顶层模块中,建立一个TOP顶层文件,在这个模块中分别完成每个模块的编译,统一设定结束时间我1MS。在完成单个模块编译前先把这个模块置顶,成为活的窗口,否则就找不到对应的模块,就会出错。但要注意的是,整个模块名一定为

8、TOP,而且每个模块的名称一定要用英文,在一个单独的模块编译通过时要生成元器件,以便在之后的顶层文件画电路图时用到该元器件。等各个模块都编译完成后,进行模块连接,将每个模块按照其所要求的实现的功能进行连接起来,然后进行引脚设定,设定后的顶层模块电路图如3.10所示:图3.10 顶层模块的电路图顶层设计波形仿真: 先给一个CLK脉冲,若不按K1,则为默认的24小时计时器,按下K1的次数不同即选择不同的功能,1次为闹铃功能,2次为手动校时功能。本设计中,闹铃功能,闹铃时间为6:00。附录:源程序:module conter_time( SL, SH, ML, MH, HL, HH, clr, cl

9、k, k1, turn, change ); output 3:0 SL,SH,ML,MH,HL,HH;input clr,clk,k1,turn,change;reg 3:0 SL=0;reg 3:0 SH=0;reg 3:0 ML=0;reg 3:0 MH=0;reg 3:0HL=0;reg 3:0 HH=0;reg m=1b0;reg 1:0 mode=2d0; always (posedge clk) beginif(k1=1)beginif(mode=2)mode=0;elsemode=mode+1;endendalways (posedge clk) beginif(turn=1)

10、beginm=!m;endendalways (posedge clk) begin if(clr=1) / 1系统复位 begin SL=0; SH=0; ML=0; MH=0; HL=0; HH=0; endelse beginif(SL=9) begin SL=0; if(SH=5)begin SH=0; if(ML=9) begin ML=0; if(MH=5) begin MH=0;if(HL=(HH=2)?3:9) begin HL=0; if(HH=2) begin HH=0; end else HH=HH+1; end else begin HL=HL+1;end end el

11、se MH=MH+1; end else begin ML=ML+1; if(change=1 ) if( mode=2)begincase(m)1d0:ML=ML+1;1d1:HL=HL+1;endcase endend endelse SH=SH+1; end else SL=SL+1; end endendmodule /*显示*/ module show(clr, clk, outa, outb, sl,sh, ml,mh, hh,hl );input3:0 ml;input3:0 mh;input3:0 hl;input3:0 hh;input3:0 sl;input3:0 sh;i

12、nput clk;input clr;output7:0 outa;output2:0 outb;reg3:0 mseg;reg2:0 st;reg2:0 outb;reg7:0 outa;always(posedge clk or posedge clr)begin if(clr=1) st=3b0; else st=st+1;endalways(st)begin case (st) 3b000:begin mseg=sl; outb=3b000; end 3b001:begin mseg=sh; outb=3b001; end 3b010:begin mseg=ml; outb=3b010

13、; end 3b011:begin mseg=mh; outb=3b011; end 3b100:begin mseg=hl; outb=3b100; end 3b101:begin mseg=hh; outb=3b101; end default:begin mseg=0; end endcaseendalways(mseg) /数码管显示begin case(mseg) 4b0001: outa=8b00000110; 4b0010: outa=8b01011011; 4b0011: outa=8b01001111; 4b0100: outa=8b01100110; 4b0101: out

14、a=8b01101101; 4b0110: outa=8b01111101; 4b0111: outa=8b00000111; 4b1000: outa=8b01111111; 4b1001: outa=8b01101111; 4b0000: outa=8b00111111; default: outa=8b00111111; endcaseendendmodule/*闹铃*/module clock(ml, mh, hl, hh, clk, alert, );input3:0 ml,mh,hl,hh;input clk;output alert;reg alert; always(posedge clk )beginif(hh,hl,mh,ml=16h0600)beginalert=1b1;endelse alert=1b0;endendmodule致读者:本设计为本人的课后作业,按键功能尚未实现,也有很多不正确的地方,望指正。谢谢。

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2