基于fpga的数字钟课程设计

基于fpga的数字钟课程设计

ID:1261075

大小:1.76 MB

页数:12页

时间:2017-11-09

基于fpga的数字钟课程设计_第1页
基于fpga的数字钟课程设计_第2页
基于fpga的数字钟课程设计_第3页
基于fpga的数字钟课程设计_第4页
基于fpga的数字钟课程设计_第5页
资源描述:

《基于fpga的数字钟课程设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、计算机与信息工程系《脉冲与数字电路》课程设计报告专业通信工程班级B090507学号B09050722姓名张亚威报告完成日期2011/06/24指导教师秦玉洁评语:成绩:批阅教师签名:批阅时间:1.任务和设计要求设计具有时、分、秒计数显示,以24小时循环计时的时钟电路,带有清零和校准功能;2.设计原理采用硬件描述语言Verilog进行编程,实现20MHZ晶振到1HZ的分频;采用verilog语言实现数字表功能实现的各个模块;通过各个模块的代码生成相应的模块原理图;再将各个模块生成的原理图进行叠加组成一个数字表系统;3.系统设计设计的数字表有6个输入,16个输出;6个输入中,有一个是

2、时钟信号,开发板上的28号引脚输入的50MHZ的时钟信号;一个清零端,当数字表正常显示时,按下清零端可以实现数字钟整体电路图:4.各个模块设计基于EP1C6Q240C8的数字钟设计,有6个模块组成:Fdiv分频模块Control模式选择模块Tune校正模块Zoushi时间正常运行模块Saomiao数码管动态扫描模块;DecoderBCD译码模块;Fdiv模块:功能:实现20MHZ的时钟信号分成10KHZ的信号和1HZ的信号;输入:clk为20MHZ的时钟信号;输出:f10000HZ为10KH的时钟信号;F1HZ为1HZ的时钟信号;Fdiv模块代码:modulefdiv(clk,f

3、10000Hz,f1Hz);outputf10000Hz,f1Hz;inputclk;regf10000Hz,f1Hz;integerCNT1=0,CNT2=0;always@(posedgeclk)beginif(CNT1<1999)beginCNT1=CNT1+1;f10000Hz<=1'b0;endelsebeginCNT1=0;f10000Hz<=1'b1;endendalways@(posedgef10000Hz)beginif(CNT2<9999)beginCNT2=CNT2+1;f1Hz<=1'b0;endelsebeginCNT2=0;f1Hz<=1'b1;end

4、endendmodulefdiv模块波形仿真:由于实际的分频波形仿真中,由于要将20MHZ的分成1HZ的,需要将信号缩小20000000倍,因此,此处采用将20HZ的先分成10HZ,然后再将10HZ的分成1HZ的时钟信号;在仿真中这样整,在实际演示中再改下代码,实现真正的20MHZ到1HZ的分频;它们只是一个倍数关系而已;Control模块:功能:实现电子表的正常显示及时间校正模式的转换;输入:key模式修改键,每来一个高电平,mode加一次。如果mode的值为2,则mode被赋值为1;Reset复位键,如果reset为1,则mode被赋值为0;输出:mode用于输出到下一级模块

5、,进行模式判断;Control模块源代码:modulecontrol(mode,key,reset);inputkey,reset;output[1:0]mode;reg[1:0]mode;always@(posedgekey)beginif(reset)beginmode<=2'b00;endelsebeginmode<=mode+2'b01;if(mode==2)beginmode<=2'b00;endendendendmoduleControl模块波形仿真Tune模块功能:实现秒分时的校正;输入:Mode为模式选择,mode为0时是正常显示时间模式;mode为1时,是秒、分

6、、时加一模式。Mode为2时,是时分秒减一模式;Ht为时调节输入;mt为分调节输入;St为秒调节输入;输出:Aa为秒的个位;Ba为秒的十位;Da为分钟的个位;Ea为分钟的十位;Ga为小时的个位;Ha为小时的十位;Tune调时模块源代码:moduletune(mode,ht,mt,st,aa,ba,da,ea,ga,ha);input[1:0]mode;inputht;inputmt;inputst;output[3:0]aa;output[2:0]ba;output[3:0]da;output[2:0]ea;output[3:0]ga;output[1:0]ha;reg[3:0]

7、aa,da,ga;reg[2:0]ba,ea;reg[1:0]ha;always@(posedgest)beginif(mode==1)beginaa<=aa+1;if(aa==9)beginba<=ba+1;aa<=0;endif(ba==5&&aa==9)ba<=0;endelseif(mode==2)beginaa<=aa-1;if(aa==0)beginba<=ba-1;aa<=9;endif(ba==0&&aa==0)ba<=5;endendalways@(posedg

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。