资源描述:
《finalreport基于fpga的数字钟的设计与实现original》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、2015年电子科学与技术专业课程设计基于FPGA的数字钟的设计与实现姓名:学号:学院:专业:年级:摘要利用QuarterII软件在DEO上设计一个数字钟,采用模块例化的程序设计思想,用verilog分别把十进制、六进制、二十四进制、二十八、二十九进制、三十进制、三十一进制、十二进制、三千进制计数器,四位、十六位二选一选择器、四-七译码器例化到顶层模块级联,实现秒、分、时、日、月、年的计数,其中不同月、年对应不同天数,特别是有闰年的影响。关键词:Quarter11verilog例化DEOAbstractDesigningadigitalclockwithQuarterIIsoft
2、wareonDEO,adoptingprogrammabledesigningidealofblockinstantiationwithverilogrespectivelytodecimal,hex,roundhex,two2&29decimal,threedecimal30,31decimal,duodecimalthreethousandbinarycounter,four,sixteensecondelectionselector,four-sevencasesofdecodermoduletothetopblockofthecascade,tocountseconds
3、,minutes,hours,days,months,years,whereindifferentmonth,yearcorrespondingtodifferentdays,thereisaleapyearespeciallyimpact.摘要IIAbstractII目录III1.任务及任务要求41.1任务41.2系统整体架构:52.系统软件设计62」分计时、秒计时:72.2.1十进制计数器:7222六进制计数器:82.2.360进制计数器:82.3小时计时:92.4日期计吋:92.5选择152.6数码管显示:162.7顶层17㘀㘀总结20㘀㘀参考文献20任务及任务要求1.1
4、任务设计一个能进行时、分、秒计时的十二小时制或二十四小时制的数字钟,并具有定时与闹钟功能,能在设定的时间发出闹铃音,能方便地对小时、分钟和秒进行手动调节以校时间,每逢整点,产生报时音报时。基本要求:利用Quartusll软件设计出具有校时功能的数字钟,并能够通过数码管显示,定吋闹铃,整点报吋,吋间的校准;通过Modelsim仿真。了解DEII70开发板,完成管脚配置,利用DEII70(896C6)进行验证。其中报时和闹铃功能通过LED灯实现。可扩展设计,使数字钟具有更加丰富的功能,例如:通过开关切换,完成口期和时间的显示切换。如果学生有FPGA开发板,可以使用自己的开发板完成设
5、计。完成报告,并于7月14H10:00统一交至信息学馆505。发挥部分:(1)闰年影响;1.2系统整体架构:Coyear图1整体计数秒年mux2_lselectbetweenyearandothers选择显示系统软件设计分频时钟:moduledivider5OM(clk.clkout);inputelk;outputregclkout=0;reg[25:0]Qtemp=0;regclktemp=0;always@(posedgeelk)beginif(Qtemp==24999999)Qtemp<=0;elseQtemp<=Qtemp+1;endalways@(Qtemp)beg
6、inif(Qtemp==24999999)clktemp=1;elseclktemp=O;end//////tff//////always@(posedgeelk)clkout<=clkoutAclktemp;endmoduleelkclktempclkout图350M分频2.1分计时、秒计时:2.1.1十进制计数器:modulecounter10(load,D,en,clrn,clk,Q,Co);inputload,en,elm,elk;input[3:0]D;output[3:0]Q;outputCo;reg[3:0]Q=0;always@(posedgeelkorpose
7、dgeelm)beginif(clrn==l)Q<=0;elseif(load==l)Q<=D;elseif(en==l)beginif(Q==9)Q<=0;elseQ<=Q+1;endendassignCo=Q[3]&Q[0]&en;endmodule2.1.2六进制计数器:modulecounter6(load,D,en,clrn,clk,Q,Co);inputload,en,clrn,elk;input[2:0]D;outputf2:0]Q;outputCo;reg[2:0]Q=0;a