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

上传人:rrsccc 文档编号:10411722 上传时间:2021-05-15 格式:DOCX 页数:17 大小:264KB
返回 下载 相关 举报
EDA技术与应用实训报告.docx_第1页
第1页 / 共17页
EDA技术与应用实训报告.docx_第2页
第2页 / 共17页
EDA技术与应用实训报告.docx_第3页
第3页 / 共17页
EDA技术与应用实训报告.docx_第4页
第4页 / 共17页
亲,该文档总共17页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《EDA技术与应用实训报告.docx》由会员分享,可在线阅读,更多相关《EDA技术与应用实训报告.docx(17页珍藏版)》请在三一文库上搜索。

1、桂林电子科技大学信息科技学院EDA技术及应用实训报告学号 1252100301姓名指导教师:覃琴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实训仪上的20MHZ晶振

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

4、晶振经过分频得到, 设计一个输出频率为1HZ的秒脉冲。图1 是 1HZ秒脉冲的分频模块元件符号图 1 1HZ 秒脉冲的分频模块元件符号2.2图 2 是 cnt24 与 cnt60 模块设计的元件符号图 2 cnt24 与 cnt60 模块的元件符号2.3图 3 是计时器设计原理图clk 秒时钟输入端, clrn 校时的输入端,下降沿有效;清除输入端,低电平有效;qm7.0、 qf7.0和jm、 jf qs7.0、 js 分别是校秒、校分和分别是秒、分、和时的输出端; cout是“天”脉冲输出端。2.4 数字日历电路的设计数字电路原理图包括包括计时器模块 ( jsq )、年月日模块 ( nyr2

5、014 )、控制模块 (cour )、校时选择模块( xs_6 )、显示选择模块( mux_16)和流水灯( LED)提示模块。图 4 是数字日历设计的原理图。图 4 是数字日历设计的原理图2.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、计校时选择模块的元件符号如图6 所示。 k是控制输入端,k=0是 , 控制将校时按钮j1 、 j2和j3的信号分别分别送到计时器模块的jm、 jf、 js,k=1时校时按钮j1、j2、 j3的信号分别送到年月日模块的jr、 jy、jn。图 6校时选择模块的元件符号2.7 显示选择模块图 7 是显示选择模块的元件符号。k 是控制输入端,K=0 时,控制将计时器模块送来的qm7.0 、 qf7.0 、和 qs7.0 状态信号送到数码管显示。 k=1 时将年月日送来的 qr7.0 、qy7.0 、 qn7.0 状态信号送到数码管显示。图 7显示选择模块的元件符号2.8 流水灯提示模块的设计图 8 是

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

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

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

10、 cout=1; /0.5selse cout=0;endEndmodule2.2 cnt24计数器源程序module cnt24(clk,clrn,j,q,cout);/clk秒时钟输入端,clrn清除输入端,cout“天”脉冲输出端input clk,clrn,j;/j校时输入端,output reg 7:0 q;output regcout;always (posedgeclkjor negedge clrn) /j与时钟输入端clk异或就可以达到校时的作用beginif (clrn) q=0;/低电平有效else beginif (q=h23)q=0;else q=q+1;if(q3:

11、0=ha)beginq3:0=0; q7:4=q7:4+1; endif (q=h23)cout=1;else cout=0;endendendmodule2.3 cnt60计数器源程序module cnt60(clk,clrn,j,q,cout);input clk,clrn,j;output reg 7:0 q;output regcout;always (posedgeclkjor negedge clrn)beginif (clrn) q=0;else beginif (q=h59)q=0;else q=q+1;if(q3:0=ha)beginq3:0=0; q7:4=q7:4+1;

12、endif (q=h59)cout=1;else cout=0;endendendmodule2.4年月日模块modulenyr2014(clrn,clk,jn,jy,jr,qn,qy,qr);input clrn,clk,jn,jy,jr;output 15:0 qn;output 7:0qy,qr;reg 15:0qn;reg7:0 qy,qr; reg clkn,clky; reg7:0 date; reg clkn1,clkn2 , clkn3;initialbegin clkn1=1;clkn2=2 ; clkn3=1;endinitialbeginqn=h2000;qy=1;qr=

13、1;endalways (posedge(clkjr) 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;elseclky=0;endendalways (posedgeclkyjyor negedge clrn)beginif (clrn) qy=1;else beginif (qy=h12)qy=1;else qy=qy+1;if(qy3:0=ha)beginqy3

14、:0=0; qy7:4=qy7:4+1; endif (qy=h12)clkn=1;elseclkn=0;endendalwaysbegincase(qy)h01: date=h31;h02: beginif (qn/4=0)&(qn/100!=0)|(qn/400=0)date=h29;else date=h28;endh03:date=h31;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

15、:date=h30;endcaseendalways (posedge(clknjn) or negedge clrn)beginif (clrn) qn3:0=0;else beginif (qn3:0=9)qn3:0=0;elseqn3:0= qn3:0+1;if(qn3:0=9)clkn1=0;elseclkn1=1;endendalways (posedgeclkn1 or negedge clrn)beginif (clrn) qn7:4=0;else beginif (qn7:4=9)qn7:4=0;elseqn7:4=qn7:4+1;if(qn7:4=9) clkn2=0;els

16、eclkn2=1;endendalways (posedgeclkn2 or negedge clrn)beginif (clrn) qn11:8=0;else beginif (qn11:8=9)qn11:8=0;else qn11:8= qn11:8+1;if(qn7:4=9) clkn3=0;elseclkn3=1;endendalways (posedgeclkn3 or negedge clrn)beginif (clrn) qn15:12=2;elseif (qn15:12=9)qn15:12=0;else qn15:12= qn15:12+1;endEndmodule2.5校时选

17、择模块module xs_6(k,jm,jf,js,jr,jy,jn,j1,j2,j3);/k是控制输入端inputk,j1,j2,j3;output reg jm,jf,js,jr,jy,jn;alwaysBeginif (k=0) jm,jf,js=j1,j2,j3;/k=0是 , 控制将校时按钮j1 、j2 和 j3 的信号分别分别送到计时器模块的jm、 jfelsejr,jy,jn=j1,j2,j3;/k=1时校时按钮j1 、j2 、j3 的信号分别送到年月日模块的 jr 、 jy 、 jnendEndmodule2.6 显示选择模块的设计module mux_16(k,qm,qf,q

18、s,qr,qy,qn,q);inputk;/k是控制输入端,k=1 时将年月日送来的qr 、 qy、qn 状态信号送到数码管显示input7:0qm,qf,qs,qr,qy;input15:0qn;output reg31:0q;alwaysbeginif(k=0) beginq31:24=0;q23:0=qs,qf,qm;endelse q=qn,qy,qr;endendmodule2.7 控制模块源程序module contr(clk,k1,k2,k); /clk是 1s 时钟输入端 ;k1 和 k2 是控制输入端input clk,k1,k2;output reg k;/k是控制输出端r

19、eg3:0 qc;reg rc;always (posedge clk)beginqc=qc+1;if (qc8)rc=0;else rc=1;case(k1,k2)0:k=rc;/k1k2=00或 11 时是自动显示模块, 控制数码器用8s 钟时间显示年月日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 的方波,即8

20、s 为高电平、 8s 为低电平用于万年历的自动倒换模式。2.8生日彩灯模块moduleczbf (clk,k,qy,qr,q,qo);inputclk,k;input 7:0qy,qr;outputreg 11:0 q, qo;regs,qs,clkn;reg24:0qq;reg6:0qss;initialq=5;always( posedgeclk)begin if (qq=2000000-1) qq=0; else qq=qq+1;if (qq=2000000-1)clkn=1; else clkn=0;endalways (posedgeclkn)beginif (s) begin qs

21、=q11; q=q1;q11=qs;endendalways (posedgeclkn)beginqss=qss+1;if(qss63)s=0; elses=1;endalwaysbegin if (qy=h05&qr=h13&k) qo=q;else qo=0;endendmodule/ 当数码管上的月日与某生日相同时,流水灯相继左右旋转。此时可通用拨动开关K 控制流水灯的亮灭。宁可累死在路上,也不能闲死在家里!宁可去碰壁,也不能面壁。是狼就要练好牙,是羊就要练好腿。什么是奋斗?奋斗就是每天很难,可一年一年却越来越容易。不奋斗就是每天都很容易,可一年一年越来越难。能干的人,不在情绪上计较,只在做事上认真;无能的人!不在做事上认真,只在情绪上计较。拼一个春夏秋冬!赢一个无悔人生!早安!献给所有努力的人

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1