EDA技术及应用实训报告_第1页
EDA技术及应用实训报告_第2页
EDA技术及应用实训报告_第3页
EDA技术及应用实训报告_第4页
EDA技术及应用实训报告_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

1、电子科技大学信息科技学院ED般术及应用实训报告学号1252学0301姓名指导教师:覃琴2014 年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实训仪上的20MHZ1振经过分频得到, 秒脉冲经过60分

3、频后产生 1分钟脉冲信号,在经过 60分频后产生1小时的脉冲信号,最后进行 24分频,得到1天的 脉冲送24进制的cout输出。在将两个60分频和一个24分频的输出送到送到数码管的译 码器输入端,得到 24小时的计时显示结果。由此得到数字日历的计时器模块。1.2.2设计框图20MHZ晶振tncoutnt二十四进制 计数器(时)六十进制计 数器(分)校时电路图1.2.2数字钟的原理框图2各个模块程序的设计2.1图1 1HZ秒脉冲的分频模块元件符号- I I M I » ! I I h,设计一个输出频率为1HZ2.忙n输队的秒脉冲由EDA灾训仪上的20MHz晶振经过分频得到的秒脉中图1是

4、1HZ秒M冲的分频模块元件符号I- elk q7.O 4 1I-I- = clrn cout j2.2图2是cnt24与cnt60模块设计的元件符号 | g /"|“ 4 I +F .*,;cnt24i- elk q7.OIi- elm coutc 9¥¥B SV-* E !¥-* BH "V ! av-re 9¥V !-«!«! 9*VB SY" ! W BB h ;cnt605; elk q7.Oi* * ) elm cout i inst7;: *、m waiia ,i 一«/ i v、W

5、 iv*,i » m M «* inst8| ¥«1 q I 电 R 电、 +A I4 I W |fl图2 t24与cnt60模块的元件符号2.3 图3是计时器设计原理图clk 秒时钟输入端,clrn清除输入端,低电平有效;jm、jf 、js分别是校秒、校分和 校时的输入端,下降沿有效;qm7.0、qf7.0和qs7.0分别是秒、分、和时的输出端;cout是“天"脉冲输出端。2.4 数字日历电路的设计数字电路原理图包括包括计时器模块(jsq)、年月日模块(nyr2014 )、控制模块(cour )、校时选择模块(xs_6)、显示选择模块(mux

6、_16)和流水灯(LED)提示模块。图4是数字日图4是数字日历设计的原理图2.5 控制模块的设计图5是控制模块的元件符号二I, Bl I 出 contr:inst24图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是,控制将校时按

7、钮j1、j2 和j3的信号分别分别送到计时器模块的 jm、jf、js,k=1时校时按钮j1、j2、j3的信号分 别送到年月日模块的jr、jy、jn。图8流水灯提示模块的元件符号图6校时选择模块的元件符号2.7 显示选择模块图7是显示选择模块的元件符号。k是控制输入端,K=0时,控制将计时器模块送来的qm7.0 、qf7.0、和qs7.0状态信号送到数码管显示。k=1时将年月日送来的qr7.0、qy7.0 、qn7.0状态信号送到数码管显示。:mux 16l qE7.o qf|7 ,0 qs7.O1 qr7Q qyir -°l *qn15. .0=in5t4图7显示选择模块的元件符号2

8、.8 流水灯提示模块的设计图8是流水灯提示模块的元件符号。clk是一秒钟车入端,K是控制输入端,qy7.0(月)、qr7.0(日)是状态信号送到数码管显示。qo11.0是输出的流水灯3调试过程当数字日历得所有模块编译成功后我首次下载到实训箱上时,它并不能实现进位的功能,经调整。数字日历的各基本功能通实现后,在其基础上新增了彩灯控制模块。经过逐条编写和更正。程序最终通过编译并能顺利下载到实训箱上进 行验证。4功能测试4.1 测试仪器与设备EDA实训箱4.2 性能指标测试当所设定的生日到时流水灯能顺利的实现该提示功能,不过自动显示模块还是没能很准确的进行累加,该功能的延时时间超出了设计的时间。5实

9、训心得体会从陌生到熟悉,我基本上的摸清了QuartusII9.0 的用法。并逐渐掌握了 verilog HDL语言的规则。并能编写简单的程序。经过查找资料和各个老 师的耐心指导。我完成了数字日历电路的设计。不仅添加了创新部分,还在 EDA实训仪上成功实现了它的彩灯旋转功能。并用一个拨动开关来控制灯的 亮灭。记得刚开始拿到实训课题时,我那一脸的茫然,不知从哪儿入手。来 回跑了图书馆好几趟,最后跟着舍友起步。从编写代码开始,经编译后逐个 查找错误并纠正。几番波折,最终完成了数字日历的设计和添加了创新功能。通过此次EDA实训我熟练的掌握了 QuartusII9.0软件,并能通过波形仿 真更加透彻的掌

10、握了程序与该设计。从编程到生成元器件再到波形仿真和成功下 载,给我的最大体会是一步一个脚印,付出总会有回报的。6参考文献1 EDA支术与应用江国强2 EDA术与verilog 设计王金明冷自强附录附录1:仿真波形图(部分模块)cnt24模块仿真波形图nyr模块仿真波形图else cout=0;end附录2:程序清单2.1 分频器模块module s_1 ( clk,cout);input clk;reg 24:0 q;output reg cout;always (posedge clk)beginif (q=20000000-1) q=0; /1selse q=q+1;if(q<=10

11、000000-1) cout=1; /0.5selse cout=0;endEndmodule2.2 t24计数器源程序module t24(clk,clrn,j,q,cout); /clk秒时钟输入端,clrn 清除输入端,cout "天"脉冲输出端input clk,clrn,j;/j校时输入端,output reg 7:0 q;output reg cout;always (posedge clkAj or negedge clrn) /j与时钟输入端 clk 异或就可以达到校时的作用beginif (clrn) q=0;/低电平有效else beginif (q=&

12、#39;h23) q=0;else q=q+1;if (q3:0='ha) beginq3:0=0; q7:4=q7:4+1; endif (q='h23) cout=1;end endmodule2.3 t60计数器源程序module t60(clk,clrn,j,q,cout);input clk,clrn,j;output reg 7:0 q;output reg cout;always (posedge clkAj or negedge clrn) beginif (clrn) q=0;else beginif (q='h59) q=0;else q=q+1;i

13、f (q3:0='ha) beginq3:0=0; q7:4=q7:4+1; endif (q='h59) cout=1;else cout=0;endendendmodule2.4 年月日模块module nyr2014(clrn,clk,jn,jy,jr,qn,qy,qr);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;regclknl, clkn2 , clkn3;initial begin clkn1=1;

14、 clkn2=2 ; clkn3=1;endinitial begin qn='h2000;qy=1;qr=1;endalways (posedge (ckjr) or negedge clrn)beginif (clrn) qr=1;else beginif (qr=date) qr=1;else qr=qr+1;if (qr3:0='ha) beginqr3:0=0; qr7:4=qr7:4+1; endif (qr=date) clky=1;else clky=0;endendalways (posedge clkyAjy or negedge clrn)beginif

15、(clrn) qy=1;else beginif (qy='h12) qy=1;else qy=qy+1;if (qy3:0='ha) beginqy3:0=0; qy7:4=qy7:4+1; endif (qy='h12) clkn=1;else clkn=0;endendalwaysbegincase(qy)'h01: date='h31;'h02: beginif (qn/4=0)&(qn/100!=0)|(qn/400=0) date='h29;'h03: date='h31;else date='

16、h28;end'h04: 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;endcaseendalways (posedge (clknAjn) or negedge clrn) b

17、eginif (clrn) qn3:0=0;else begin if (qn3:0=9) qn3:0=0;else qn3:0= qn3:0+1;if (qn3:0=9) clkn1=0;else clkn1=1;endendalways (posedge clknl or negedge clrn)beginif (clrn) qn7:4=0;else begin if (qn7:4=9) qn7:4=0;else qn7:4=qn7:4+1;if (qn7:4=9) clkn2=0;else clkn2=1;endendalways (posedge clkn2 or negedge c

18、lrn)beginif (clrn) qn11:8=0;else begin if (qn11:8=9) qn11:8=0;else qn11:8= qn11:8+1;if (qn7:4=9) clkn3=0;else clkn3=1;endendalways (posedge clkn3 or negedge clrn) beginif (clrn) qn15:12=2;else if (qn15:12=9) qn15:12=0;else qn15:12= qn15:12+1;endEndmodule是控制输入端是,控制将校时按钮j1、j2和j3的信号分别分时校时按钮j1、j2、j3的信号分

19、别送到年月日2.5 校时选择模块module xs_6(k,jm,jf,js,jr,jy,jn,j1,j2,j3); /kinput k,j1,j2,j3;output reg jm,jf,js,jr,jy,jn;alwaysBeginif (k=0) jm,jf,js=j1,j2,j3;/k=0别送到计时器模块的jm、jfelse jr,jy,jn=j1,j2,j3;/k=1模块的jr、jy、jnendEndmodule2.6 显示选择模块的设计module mux_16(k,qm,qf,qs,qr,qy,qn,q);input k;kqn状态信号送到数码管显示input7:0 qm,qf,

20、qs,qr,qy;input15:0 qn;output reg 31:0 q;alwaysbeginif(k=0) beginq31:24=0;q23:0=qs,qf,qm;end else q=qn,qy,qr;endendmodule是控制输入端,k=1时将年月日送来的qr、qy、2.7控制模块源程序module contr(clk,k1,k2,k); clk input clk,k1,k2;output reg k;kreg3:0 qc;reg rc;always (posedge clk)beginqc=qc+1;if (qc<8)rc=0;else rc=1;case(k1,k2)0:k=rc;k1k2=00间显示年月日8s显示时分秒1:k=0;k1k2=01校分和校时2:k=1;k1k2=10年、校月和校日3:k=rc;11是1s时钟输入端;k1和k2是控制输入端是控制输出端或11时是自动显示模块, 控制数码

温馨提示

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

评论

0/150

提交评论