- 1、本文档共26页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于FPGA的Verilog-HDL数字钟设计精选
基于FPGA的Verilog HDL数字钟设计专业班级 姓 名 学 号 一、实验目的1.掌握可编程逻辑器件的应用开发技术?——设计输入、编译、仿真和器件编程;2.熟悉一种EDA软件使用;3.掌握Verilog设计方法;?4.掌握分模块分层次的设计方法;?5.用Verilog完成一个多功能数字钟设计;?6.学会FPGA的仿真。二、实验要求功能要求:利用实验板设计实现一个能显示时分秒的多功能电子钟,基本功能:准确计时,以数字形式显示时、分、秒,可通过按键选择当前显示时间范围模式;计时时间范围 00:00:00-23:59:59可实现校正时间功能;可通过实现时钟复位功能:00:00:00扩展功能:定时报:时间自定(不要求改变),闹1分钟(1kHz)---利用板上LED或外接电路实现。仿广播电台正点报时:XX:59:[51,53,55,57(500Hz);59(1kHz)] ---用板上LED或外接报整点时数:XX:00:[00.5-XX.5](1kHz),自动、手动---用板上LED或外接手动输入校时;手动输入定时闹钟;万年历;其他扩展功能;设计步骤与要求:计算并说明采用Basys2实验板时钟50MHz实现系统功能的基本原理。在Xilinx ISE13.1 软件中,利用层次化方法,设计实现模一百计数及显示的电路系统,设计模块间的连接调用关系,编写并输入所设计的源程序文件。对源程序进行编译及仿真分析(注意合理设置,以便能够在验证逻辑的基础上尽快得出仿真结果)。输入管脚约束文件,对设计项目进行编译与逻辑综合,生成下载所需.bit文件。在Basys2实验板上下载所生成的.bit文件,观察验证所设计的电路功能。实验设计功能说明:实现时钟,时间校时,闹铃定时,秒表计时等功能时钟功能:完成分钟/小时的正确计数并显示;秒的显示用LED灯的闪烁做指示;时钟利用4位数码管显示时分;闹钟定时:实现定时提醒及定时报时,利用LED灯代替扬声器发出报时声音;时钟校时:当认为时钟不准确时,可以分别对分钟和小时位的值进行调整;秒表功能:利用4个数码管完成秒表显示: 可以实现清零、暂停并记录时间等功能。秒表利用4位数码管计数;方案说明:本次设计由时钟模块和译码模块组成。时钟模块中50MHz的系统时钟clk分频产生一个1Hz的使能控制信号enable,并以此产生1s的脉冲second_en以实现每秒计时,控制各个模式下的计数显示。由模式控制信号选择当前数码管显示哪个状态:mode=00,时钟常规显示状态,mode=01,闹铃定时状态,mode=10,时钟校时状态,mode=11,秒表计时状态;时钟:利用count,smin0,smin1,shour0,shour1的计数来实现,具体情况见程序; 校时:当turn=1时,调整分位smin1、smin0;当turn=0时,调整小时位shour1、shour0;闹铃:当turn=1时,调整分位amin1、amin0;当turn=0时,调整小时位ahour1、ahour0;秒表:当pause=0时,开始计时;当pause=1时,暂停。实验代码时钟模块module clock(clk, clr, pause, turn, mode, sec, min1, min0, hour1, hour0, alert, LD_alert );input clk; //时钟信号(50MHz)input clr; //清零键input pause; //秒表暂停键input turn; //调整分还是小时位的控制input [1:0]mode; //决定时钟显示功能状态output sec; //接发光二极管output [3:0]min1; //用于输出接数码管4output [3:0]min0; //用于输出接数码管3output [3:0]hour1; //用于输出接数码管2output [3:0]hour0; //用于输出接数码管1output alert; //接发光二极管,代替蜂鸣器output LD_alert; //当闹铃设定后,发光二极管显示wire sec; //秒位显示wire LD_alert; //用于闹铃存在时的提醒显示//wire clk1; //时钟1s//wire clk2; //时钟100ms,用
文档评论(0)