您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > (Verilog-HDL)数字时钟设计
实验报告课程名称:可编程逻辑器件与数字系统设计实验项目:数字时钟设计专业班级:姓名:学号:实验室号:实验组号:实验时间:批阅时间:指导教师:成绩:沈阳工业大学实验报告专业班级:学号:姓名:实验名称:数字时钟设计1.实验目的:熟悉QuartusII6.0运行环境,掌握基本使用方法;学会使用QuartusII编写程序,进行下载验证。2.实验内容:(1)60进制计数器;(2)24进制计数器;(3)调用24进制和60进制计数器制作数字时钟。3.实验方案(1)编写题目要求的程序;(2)按照要求将相关程序进行检测和调试,运行正确的程序;(3)程序完成后,将其与实验箱连接,并打开电源;(4)下载程序到芯片内;(5)观察程序功能是否成功实现。4.实验步骤或程序详细过程见附录。5.程序运行结果运行结果如下图所示:24进制计数器首次运行程序时,没有任何出错状况;而在下载后,发现24进制计数器中的频率有些快,只要把频率的短路针调到1Hz即可,没有其他问题。附录A(24进制计数器)1、功能实现与程序选择24进制计数器是实现从0到23的计数。由此可以运用VerilogHDL语言将此功能实现。2、程序运行与调试modulecount24(Rd,EN,CLK,Qh,Ql,C);inputRd,EN,CLK;output[3:0]Qh,Ql;outputC;reg[3:0]Qh,Ql;regC;60进制计数器6.出现的问题及解决方法initialbeginQh=4'd0;Ql=4'd0;C=0;endalways@(posedgeCLK)beginif(EN==1)beginif(Rd==0)beginQh=4'd0;Ql=4'd0;C=0;endelseif(Qh4'd2&&Ql4'd9)Ql=Ql+1;elseif(Qh4'd2&&Ql==4'd9)beginQh=Qh+1;Ql=4'd0;endelseif(Qh==4'd2&&Ql4'd3)Ql=Ql+1;elsebeginQh=4'd0;Ql=4'd0;C=0;endif(Qh==4'd2&&Ql==4'd3)C=1;endendendmodule3、保存一个名称,建立一个和module模块的名称一致的工程并进行调试。4、新建一个波形文件,并且把各变量都输入到里面,绘制出波形。波形同上面的程序运行结果相同。附录B(60进制计数器)1、功能实现与程序选择60进制计数器是实现从0到59的计数。由此可以运用VerilogHDL语言将此功能实现。2、程序运行与调试modulecount60(Rd,EN,CLK,Qh,Ql,C);inputRd,EN,CLK;output[3:0]Qh,Ql;outputC;reg[3:0]Qh,Ql;regC;initialbeginQh=4'd0;Ql=4'd0;C=0;endalways@(posedgeCLK)beginif(EN==1)if(Rd==0)beginQh=4'd0;Ql=4'd0;C=0;endelseif(Ql4'd9)Ql=Ql+1;elseif(Qh4'd5&&Ql==4'd9)beginQh=Qh+1;Ql=4'd0;endelsebeginQh=4'd0;Ql=4'd0;C=0;endif(Qh==4'd5&&Ql==4'd9)C=1;endendmodule3、保存一个名称,建立一个和module模块的名称一致的工程并进行调试。4、新建一个波形文件,并且把各变量都输入到里面,绘制出波形。波形同上面的程序运行结果相同。附录C(数字时钟)1、功能实现与程序选择数字时钟是实现从一天24小时的显示,精确到秒。(需要调用前面24进制计数器和60进制计数器的程序)由此可以运用VerilogHDL语言将此功能实现。2、程序运行与调试moduleclock(Rd,EN,CLK,Qhh,Qhl,Qmh,Qml,Qsh,Qsl);inputRd,EN,CLK;output[3:0]Qhh,Qhl,Qmh,Qml,Qsh,Qsl;count60A1(Rd,EN,CLK,Qsh,Qsl,Cs);count60A2(Rd,EN,nCs,Qmh,Qml,Cm);count24A3(Rd,EN,nCm,Qhh,Qhl);notA4(nCs,Cs);notA5(nCm,Cm);endmodule3、保存一个名称,建立一个和module模块的名称一致的工程并进行调试。4、输入管脚,查表对应输入。保存后再调试,没有错误后,就可以下载到试验箱了。5、下载到实验箱观察程序结果是否如预期一样。
本文标题:(Verilog-HDL)数字时钟设计
链接地址:https://www.777doc.com/doc-4190403 .html