资源描述:
《EDA数字钟设计报告.docx》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、《EDA技术》课程设计报告题 目:多功能数字时钟学 院:物电学院专业班级:2012级电产学 号:50028姓 名:桂鹏彬2014.11.18目录一摘要------------------------------------------------------------------------二设计正文(一)课程设计目标------------------------------------------------------(二)课程设计实现的功能--------------------------------------------(
2、三)设计原理-------------------------------------------------------------三、总结-----------------------------------------------------------------------一,摘要数字钟的设计实验让我们更加了解了verilog语言,培养了我们动手操作的能力,通过本次实验基本掌握了Verilog语言中的数据类型,数据定义以及常见语句,比如case语句,if语句以及状态机的使用,同样还学会了模块的组成,如何使模块例化,模块的调用等等。二设计
3、正文(一)课程设计目标设计一个数字钟。要求:(1)能正常走时,时分秒各占2个数码管,时分秒之间用小时个位和分钟个位所在数码管的小数点隔开;(2)能用按键调时调分;(3)能整点报时,到达整点时,蜂鸣器响一秒;(4)拓展功能:秒表,闹钟,闹钟可调。(二)课程设计实验的功能:设计一个数字钟。要求:(1)能正常走时,时分秒各占2个数码管,时分秒之间用小时个位和分钟个位所在数码管的小数点隔开;(2)能用按键调时调分;(3)能整点报时,到达整点时,蜂鸣器响一秒;(三)设计原理moduleled(iclk50m,oclk1hz,oclk10khz);input
4、iclk50m;outputoclk1hz,oclk10khz;regoclk1hz,oclk10khz;reg[31:0]cnt1;reg[31:0]cnt2;always@(posedgeiclk50m)beginif(cnt1<)cnt1<=cnt1+1;elsebegincnt1<=0;oclk1hz<=~oclk1hz;endendalways@(posedgeiclk50m)beginif(cnt2<2500)cnt2<=cnt2+1;elsebegincnt2<=0;oclk10khz<=~oclk10khz;endendendmo
5、dulemoduleclock(iclk50m,k0,k1,k2,oFM,oseg,wela);inputiclk50m;inputk0,k1,k2,k3;outputoFM;output[7:0]oseg;output[5:0]wela;wiremclk_1hz;wiremclk10khz;wire[5:0]msec,mmin,mhour;ledu1(.iclk50m(iclk50m),.oclk1hz(mclk_1hz),.oclk10khz(iclk10khz));cntu2(.iclk_1hz(mclk_1hz),.iclk10khz(i
6、clk10khz),.k2(k2),.k1(k1),.k0(k0),.osec(msec),.omin(mmin),.ohour(mhour));seg7u3(.isec(msec),.imin(mmin),.ihour(mhour),.iclk10khz(iclk10khz),.oseg(oseg),.wela(wela),.oFM(oFM));endmodulemodulecnt(iclk3hz,iclk10khz,iclk_1hz,k0,k1,k2,k3,osec,omin,ohour);inputiclk10khz;inputiclk3h
7、z;inputiclk_1hz;inputk0,k1,k2,k3;outputosec,omin,ohour;reg[5:0]osec,omin,ohour;reg[2:0]status;always@(posedgeiclk10khz)beginif(!k0)status=status+1;if(status>2)status=0;endalways@(posedgeiclk_1hz)begincase(status)0:beginosec<=osec+1;if(osec==59)beginosec<=0;omin<=omin+1;if(omi
8、n==59)beginomin<=0;ohour<=ohour+1;if(ohour==23)ohour<=0;endendend1:b