欢迎来到天天文库
浏览记录
ID:58863405
大小:127.00 KB
页数:6页
时间:2020-09-22
《基于VerilogHDL及DE2开发板的数字钟设计.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、《EDA技术与VerilogHDL》课程实验报告实验项目名称:基于VerilogHDL及DE2开发板的数字钟设计一、实验项目名称基于VerilogHDL及DE2开发板的数字钟设计二、实验目的和要求(1)实验目的1.掌握VerilogHDL语言的基本运用;2.熟悉QuartusⅡ的简单操作;3.掌握一个基本EDA工程设计流程;4.掌握时钟的设计基本原理。(2)实验要求1.能够正常输出时钟信号,进行计时和显示2.能够通过按钮进行时钟的校对三、实验内容和原理时钟共使用两类主要模块来实现其功能。其总体结构如下图所示。其中校时模块根据是否处于校时状态,选择给予计数模块哪个驱动信号。(1)计数模块功能:该
2、模块主要实现三个显示部分(时、分、秒)的计数和正常进位,以及按照规定的方式输出信号,实现方式:本模块主要通过计数器来实现,本模块中包含有三个主要计数部分,分别是十进制、六进制以及二十四进制,其中六进制和十进制共同组成六十进制,即实现分和秒的计数,之所以将其分开是便于分别显示个位和十位,通过编写计数器,来计数信号的数量,从而实现时分秒按各自的进制正常计数,同时,本模块将前一时钟单位的进位信号作为下一时钟单位的clk,即从后向前驱动,这样便实现了时钟的正常运转。(1)校时模块功能:本模块实现在给予时钟一个set信号后,时钟进入校时状态,此时,时、分、秒均进入静止状态即停止计时,然后通过三个按钮se
3、th(校时)setm(校分)rst(校秒)来进行时间校对,其中seth(setm)在每按一下时,时(分)在原来的基础上加一,而rst按下后则会让秒清零。实现方式:本模块为实现当得到一个set信号后,进入校时,而再一次信号后又进入正常状态,将set信号作为一个驱动信号,然后另设一个set0信号使其每得到一个set信号后翻转一次,其初始值为0,翻转后为1。当set0值为1时,便将分和时的驱动信号锁定为seth和setm,这样时钟便冻结住了,此时每按一次seth或setm便可驱动计数器在原有时或分基础上加一。同时考虑到对秒精确置数不实用,因此秒针改为按rst键置零的方式进行,其实现方式是当rst为1
4、时,秒针计数器清零。当校时完毕后,再按一次set键,set0便重新置零,此时各计数器的驱动信号恢复正常(1)数码管显示译码模块该模块将输入的四位二进制代码(8421)码译成8位输出,用以驱动数码管的8个i/o口,由于开发板上的数码管是共阳极的,所以输出为‘0’时数码管上相应LED被点亮,例如:当输入为“0001”时,输出为“”。(2)分频模块由于开发板上的可用时钟为50MHz,不能直接用来作为秒计时器的输入时钟,必须前置分频器,将分频后的1Hz时钟输入至秒计时器。一、操作方法与实验步骤步骤1:编写各个模块的VHDL代码并进行编译与波形仿真,仿真无误后生成元件符号。步骤2:设计数字钟电路的顶层文
5、件,在顶层文件中调入第—步中生成的元件符号,并根据连接关系将它们连接在一起。步骤3:引脚分配,为顶层设计文件中的各个输入输出端口分配芯片相应的引脚。步骤4:下载程序到芯片,观看实验现象是否为预想的那样。同时使用清零按键看能否实现清零,时间正常走动情况下通过按键能否实现校时。一、实验数据记录与处理图(1)计数模块波形仿真(stpin:秒针十进制位,shpin:秒针六进制位)图(2)校时模块波形仿真(set:校时信号;seth修改“时”信号,setm:修改“分”信号;rst:秒清零信号)图(3)整体仿真一、实验结果与分析通过对仿真结果的观察,本实验能够正确的计时和实现校时功能。下载成功后,拨动开关
6、DP4至髙电平,使六个数码管复位淸零;拨动开关DP4至低电平,数字钟开始自动计时,此过程中可以通过1键设置小时数,2键设置分钟数。当秒数满60则进一位,分钟数满60进一位,当显示为23:59:59时,秒数在加一则显示00:00:00,同时指示一天结束的LED灯亮10秒,之后从新计时。二、教员评语
此文档下载收益归作者所有