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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

EDA技术与应用实训报告.docx

1、EDA技术与应用实训报告XX电子科技大学信息科技学院EDA技术及应用实训报告学 号 1252100301姓 名 指导覃琴 20XX 4 月 29 日实训题目:数字日历电路1 系统设计1.1 设计要求1.1.1 设计任务 1用Verilog HDL语言设计出能够在EDA实训仪的I/O设备和PLD芯片实现的数字日历。 2数字日历能够显示年、月、日、时、分和秒。 3用EDA实训仪上的8只八段数码管分两屏分别显示年、月、日和时、分、秒,即在一定时间段内显示年、月、日如20140101,然后在另一时间段内显示时、分、秒如010101099,两个时间段能自动倒换。 4数字日历具有复位和校准年、月、日、时、

2、分、秒的按钮,但校年和校时同用一个按钮,即在显示年、月、日时用此按钮校年,在显示时、分、秒时则用此按钮校时。 5体现创新部分1.1.2 性能指标要求1数字电路能够在一定的时间内显示切换的功能,并且能手动校准年月日和时分秒 2具有复位和进位的功能 3能起到提示的作用,如闹钟或亮彩灯等。1.2 设计思路及设计框图1.2.1设计思路 如图1.2.2所示 1 EDA实训箱上的功能有限,可以用到的有8支数码管和12个lED灯。年、月、日和时、分、秒可以通过数码管显示,年月日和时分秒的切换可以通过拨动开关控制,校正可以通过按键实现。 2输入的秒脉冲由DEA实训仪上的20MHZ晶振经过分频得到,秒脉冲经过6

3、0分频后产生1分钟脉冲信号,在经过60分频后产生1小时的脉冲信号,最后进行24分频,得到1天的脉冲送24进制的 cout输出。在将两个60分频和一个24分频的输出送到送到数码管的译码器输入端,得到24小时的计时显示结果。由此得到数字日历的计时器模块。1.2.2设计框图 cout cout 秒脉冲 图1.2.2数字钟的原理框图2 各个模块程序的设计2.1图1 1HZ秒脉冲的分频模块元件符号 2.1输入的秒脉冲由EDA实训仪上的20MHZ晶振经过分频得到,设计一个输出频率为1HZ的秒脉冲。图1是1HZ秒脉冲的分频模块元件符号图1 1HZ秒脉冲的分频模块元件符号2.2 图2是cnt24与cnt60模

4、块设计的元件符号 图2 cnt24与cnt60模块的元件符号2.3 图3是计时器设计原理图 clk秒时钟输入端,clrn清除输入端,低电平有效;jm、jf 、js分别是校秒、校分和校时的输入端,下降沿有效;qm7.0、qf7.0和qs7.0分别是秒、分、和时的输出端;cout是天脉冲输出端。2.4数字日历电路的设计 数字电路原理图包括包括计时器模块jsq、年月日模块nyr2014、控制模块cour、校时选择模块xs_6、显示选择模块mux_16和流水灯LED提示模块。图4是数字日历设计的原理图。 图4是数字日历设计的原理图 2.5控制模块的设计 图5是控制模块的元件符号图5 控制模块的元件符号

5、 clk是1s时钟输入端;k1和k2是控制输入端,k是控制输出端。k1k2=00或11时是自动显示模块,控制数码器用8s钟时间显示年月日8s显示时分秒,k1k2=01时仅控制显示时分秒,同时用j1、j2、j3校秒、校分和校时,k1k2=10时,仅显示年、月、日,同时用j1、j2、j3校年、校月和校日。2.6校时选择模块的设计 校时选择模块的元件符号如图6所示。k是控制输入端,k=0是,控制将校时按钮j1、j2和j3的信号分别分别送到计时器模块的jm、jf、js,k=1时校时按钮j1、j2、j3的信号分别送到年月日模块的jr、jy、jn。 图6校时选择模块的元件符号2.7显示选择模块 图7是显示

6、选择模块的元件符号。k是控制输入端,K=0时,控制将计时器模块送来的qm7.0、qf7.0、和qs7.0状态信号送到数码管显示。k=1时将年月日送来的qr7.0、qy7.0、qn7.0状态信号送到数码管显示。图7 显示选择模块的元件符号2.8流水灯提示模块的设计 图8是流水灯提示模块的元件符号。clk是一秒钟输入端,K是控制输入端,qy7.0月、qr7.0日是状态信号送到数码管显示。qo11.0是输出的流水灯图8 流水灯提示模块的元件符号3 调试过程 当数字日历得所有模块编译成功后我首次下载到实训箱上时,它并不能实现进位的功能,经调整。数字日历的各基本功能通实现后,在其基础上新增了彩灯控制模块

7、。经过逐条编写和更正。程序最终通过编译并能顺利下载到实训箱上进行验证。4 功能测试4.1 测试仪器与设备 EDA实训箱4.2 性能指标测试当所设定的生日到时流水灯能顺利的实现该提示功能,不过自动显示模块还是没能很准确的进行累加,该功能的延时时间超出了设计的时间。5 实训心得体会从陌生到熟悉,我基本上的摸清了QuartusII9.0的用法。并逐渐掌握了verilog HDL语言的规则。并能编写简单的程序。经过查找资料和各个老师的耐心指导。我完成了数字日历电路的设计。不仅添加了创新部分,还在EDA实训仪上成功实现了它的彩灯旋转功能。并用一个拨动开关来控制灯的亮灭。记得刚开始拿到实训课题时,我那一脸

8、的茫然,不知从哪儿入手。来回跑了图书馆好几趟,最后跟着舍友起步。从编写代码开始,经编译后逐个查找错误并纠正。几番波折,最终完成了数字日历的设计和添加了创新功能。通过此次EDA实训我熟练的掌握了QuartusII9.0软件,并能通过波形仿真更加透彻的掌握了程序与该设计。从编程到生成元器件再到波形仿真和成功下载,给我的最大体会是一步一个脚印,付出总会有回报的。6 参考文献 1EDA技术与应用 江国强 2EDA技术与verilog设计 王金明 冷自强附录附录1:仿真波形图部分模块cnt24模块仿真波形图nyr模块仿真波形图附录2:程序清单2.1 分频器模块module s_1 ;input clk;

9、reg 24:0 q;output reg cout;always begin if q=0; /1s else q=q+1; ifq cout=1; /0.5s else cout=0; end Endmodule2.2 cnt24计数器源程序module cnt24; /clk秒时钟输入端,clrn清除输入端,cout天脉冲输出端 input clk,clrn,j; /j校时输入端, output reg 7:0 q; output reg cout; always /j与时钟输入端clk异或就可以达到校时的作用 begin if q=0; /低电平有效 else begin if q=0

10、; else q=q+1; if begin q3:0=0; q7:4=q7:4+1; end if cout=1; else cout=0;end end endmodule2.3 cnt60计数器源程序module cnt60; input clk,clrn,j; output reg 7:0 q; output reg cout; always begin if q=0; else begin if q=0; else q=q+1; if begin q3:0=0; q7:4=q7:4+1; end if cout=1; else cout=0;end end endmodule2.4

11、年月日模块module nyr2014;input clrn,clk,jn,jy,jr;output 15:0 qn;output 7:0qy,qr;reg 15:0 qn;reg7:0 qy,qr;reg clkn,clky;reg7:0 date;reg clkn1, clkn2 , clkn3; initial begin clkn1=1; clkn2=2 ; clkn3=1;endinitial begin qn=h2000;qy=1;qr=1;end always posedge or negedge clrnbegin if qr=1;else beginif qr=1; else

12、 qr=qr+1; if begin qr3:0=0; qr7:4=qr7:4+1; end if clky=1; else clky=0;end end always begin if qy=1; else begin if qy=1; else qy=qy+1; if begin qy3:0=0; qy7:4=qy7:4+1; end if clkn=1; else clkn=0;end end always begin case h01: date=h31; h02: begin if &| date=h29; else date=h28;end h03: date=h31; h04:

13、date=h30; h05: date=h31; h06: date=h30; h07: date=h31; h08: date=h31; h09: date=h30; h10: date=h31; h11: date=h30; h12: date=h31; default :date=h30; endcaseend always posedge or negedge clrn begin if qn3:0=0; else begin if qn3:0=0; else qn3:0= qn3:0+1; if clkn1=0; else clkn1=1;end end always begin i

14、f qn7:4=0; else begin if qn7:4=0; else qn7:4=qn7:4+1; if clkn2=0; else clkn2=1;end endalways begin if qn11:8=0; else begin if qn11:8=0; else qn11:8= qn11:8+1; if clkn3=0; else clkn3=1;end endalways begin if qn15:12=2; else if qn15:12=0; else qn15:12= qn15:12+1; end Endmodule2.5 校时选择模块module xs_6; /k

15、是控制输入端input k,j1,j2,j3;output reg jm,jf,js,jr,jy,jn;always Beginif jm,jf,js=j1,j2,j3;/k=0是,控制将校时按钮j1、j2和j3的信号分别分别送到计时器模块的jm、jf else jr,jy,jn=j1,j2,j3;/k=1时校时按钮j1、j2、j3的信号分别送到年月日模块的jr、jy、jnendEndmodule2.6显示选择模块的设计module mux_16;input k; /k是控制输入端,k=1时将年月日送来的qr、qy、qn状态信号送到数码管显示input7:0 qm,qf,qs,qr,qy;in

16、put15:0 qn;output reg 31:0 q;always beginif begin q31:24=0; q23:0=qs,qf,qm;end else q=qn,qy,qr; endendmodule 2.7控制模块源程序module contr; /clk是1s时钟输入端;k1和k2是控制输入端input clk,k1,k2;output reg k; /k是控制输出端reg3:0 qc;reg rc;always beginqc=qc+1;if qcrc=0;else rc=1;case0:k=rc; /k1k2=00或11时是自动显示模块,控制数码器用8s钟时间显示年月日

17、8s显示时分秒1:k=0; /k1k2=01时仅控制显示时分秒,同时用j1、j2、j3校秒、校分和校时2:k=1; /k1k2=10时,仅显示年、月、日,同时用j1、j2、j3校年、校月和校日3:k=rc; /11endcase endendmodule/在控制模块中使用了一个16分频电路,输出rc时16s的方波,即8s为高电平、8s为低电平用于万年历的自动倒换模式。2.8 生日彩灯模块module czbf ; input clk,k; input 7:0 qy,qr; output reg 11:0 q, qo; reg s,qs,clkn; reg24:0 qq; reg6:0 qss; initial q=5; always begin if qq=0; else qq=qq+1; if clkn=1; else clkn=0; end always begin if begin qs=q11; q=q1;q11=qs;end end always begin qss=qss+1; if qss s=0; else s=1; end always begin if qo=q; else qo=0; end endmodule /当数码管上的月日与某生日相同时,流水灯相继左右旋转。此时可通用拨动开关K控制流水灯的亮灭。

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

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