EDA时钟实验报告.doc

EDA时钟实验报告.doc

ID:53053902

大小:148.60 KB

页数:5页

时间:2020-03-31

EDA时钟实验报告.doc_第1页
EDA时钟实验报告.doc_第2页
EDA时钟实验报告.doc_第3页
EDA时钟实验报告.doc_第4页
EDA时钟实验报告.doc_第5页
资源描述:

《EDA时钟实验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、学校:五邑大学学院:信息工程学院姓名:梁杰帆实验:数字时钟一、实验目的:1.了解VHDL的程序设计,学会编写,调试,运行和仿真。2.掌握数字顶层原理图的设计与仿真。3.掌握多位计数器相连的设计方法。4.掌握十二进制,六十进制计数器的设计方法。二、设计要求使用顶层原理图与Verilog语言设计一个数字时钟,要求可以显示时,分,秒。三、顶层原理图设计3.1、模六十计数器模六十计数器由一个模六与模十的lpm计数器组合而成。3.2、模十二计数器模十二计数器有两个模十的74160计数器组合而成。整体结构图:功能描述:电路时钟由FPBA内部50MHZ脉冲提供,经由50M_100HZ_fenpin模块分频为

2、100HZ的脉冲。输入mod60的计数器,当作秒计时。mod60计数器计数值达到59时自动清零,并输出一个脉冲给第二个mod60计数器,当作分计时。当第二个mod60计数器计数值达到59时,自动清零,输出一个脉冲给mod12计数器,当mod12计数器计数值达到12自动清零。完成了十二小时的计时,并重新开始计时。由于计数器输出为四位的BCD码,故需要将BCD码转换成七位二进制才能显示相应数字。四、Verilog语言设计modulemod60(clk,clr,HL,HH,ML,MH,SL,SH,);inputclk,clr;outputreg[6:0]HL,HH,ML,MH,SL,SH;reg[7

3、:0]count_outS,count_outM,count_outH;wirecountS,countM;//秒计数部分always@(posedgeclkorposedgeclr)beginif(clr)count_outS<=0;//同步清零elsebeginif(count_outS[3:0]==9)begincount_outS[3:0]<=0;//低四位满九即清零if(count_outS[7:4]==5)count_outS[7:4]<=0;//低四位满九且高四位满五时高四位清零elsecount_outS[7:4]<=count_outS[7:4]+1;//低四位满九且高四位不

4、满五时高四位加一endelsecount_outS[3:0]<=count_outS[3:0]+1;//低四位不满九时低四位加一endendassigncountS=(count_outS==59)?1:0;//当秒计数值达到59是countS产生一个脉冲always@(*)//47译码显示begincase(count_outS[7:4])//高四位显示4'd0:SH=~7'b1111110;4'd1:SH=~7'b0110000;4'd2:SH=~7'b1101101;4'd3:SH=~7'b1111001;4'd4:SH=~7'b0110011;4'd5:SH=~7'b1011011;d

5、efault:SH=~7'b1111110;endcasecase(count_outS[3:0])//低四位显示4'd0:SL=~7'b1111110;4'd1:SL=~7'b0110000;4'd2:SL=~7'b1101101;4'd3:SL=~7'b1111001;4'd4:SL=~7'b0110011;4'd5:SL=~7'b1011011;4'd6:SL=~7'b1011111;4'd7:SL=~7'b1110000;4'd8:SL=~7'b1111111;4'd9:SL=~7'b1111011;default:SL=~7'b1111110;endcaseend//minuteal

6、ways@(posedgeclrorposedgecount_outS)//产生清零信号或产生秒计数满59进位信号进入这个alwaysbeginif(clr)count_outM<=0;//同步清零elsebeginif(count_outM[3:0]==9)begincount_outM[3:0]<=0;//低四位满九即清零if(count_outM[7:4]==5)count_outM[7:4]<=0;//低四位满九且高四位满五时高四位清零elsecount_outM[7:4]<=count_outM[7:4]+1;//低四位满九且高四位不满五时高四位加一endelsecount_outM

7、[3:0]<=count_outM[3:0]+1;//低四位不满九时低四位加一endendassigncountM=(count_outM==59)?1:0;//当秒计数值达到59是countS产生一个脉冲always@(*)//47译码显示begincase(count_outS[7:4])//高四位显示4'd0:MH=~7'b1111110;4'd1:MH=~7'b0110000;4'd2:M

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

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

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