基于Xilinx_FPGA的数字钟设计精选.doc

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于Xilinx_FPGA的数字钟设计精选

各专业全套优秀毕业设计图纸 基于FPGA的多功能数字钟 一、设计题目 基于Xilinx FPGA的多功能数字钟设计 二、设计目的 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文件,观察验证所设计的电路功能。 四、总体设计思路 主体分为分频模块,正常时间模块(包含两个模60计数器和一个模24计数器子模块),闹钟模块(分为一个模60计数器模块,一个模24计数器模块,四个比较器模块),电台报时模块,数码管显示模块(分为模式选择模块,片选信号及扫描程序模块,和译码模块)。将各模块连接好各接线口即得到数字钟顶层模块complete.sch。 五、各模块设计及源代码 1.分频模块 分频模块要将50MHz的时钟信号分成三个分别为1Hz,500Hz,1kHz的三个脉冲信号,设置三个计数器,在三个频率信号分别对应的延时时间进行翻转,就可以得到三个不同的脉冲信号。源代码如下: //freq.v module freq(clk,_1Hz,_500Hz,_1kHz); input clk; output _1Hz,_500Hz,_1kHz; reg _1Hz=0,_500Hz=0,_1kHz=0; reg [24:0] cnt1=0,cnt2=0,cnt3=0; always @(posedge clk) begin if (cnt125d) //if (cnt125d249) //做test仿真时让变化更快 cnt1=cnt1+1;//未达到计数时间计数器加一 else begin _1Hz=~_1Hz;//达到计时时间信号翻转且计数器归零 cnt1=0; end end always @(posedge clk) begin if (cnt225d49999) //if(cnt225d49) cnt2=cnt2+1; else begin _500Hz=~_500Hz; cnt2=0; end end always @(posedge clk) begin if (cnt325d24999) //if (cnt325d25) cnt3=cnt3+1; else begin _1kHz=~_1kHz; cnt3=0; end end endmodule 2.时钟正常显示模块 正常显示模块分为时分秒三个子模块,分别对应一个模24计数器和两个模60计数器。 模24计数器和模60计数器设计都BCD码来表示时分秒的值,每个分为高位和低位,均对应一个十进制的数。对模24计数器,每个脉冲信号来临时当低位小于9时加一;等于9时高位加一且低位置零;且高位小于3,低位小于9,超过时高低位均置零;当高位等于2时,低位只能到3,同时复位nCR低电平时高低位均置零。同理可得模60计数器的设计。根据这个思路,得到模24计数器源代码如下: //counter24.v module counter24(CntH,CntL,nCR,EN,CP); input nCR,EN,CP; output [3:0] CntH,CntL;//分别为高位和低位 reg [3:0] CntH,CntL; always @(pos

文档评论(0)

feixiang2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档