基于FPGA的Verilog-HDL数字钟设计--.docxVIP

  • 16
  • 0
  • 约1.12万字
  • 约 42页
  • 2021-01-26 发布于天津
  • 举报
基于 基于FPGA勺Verilog HDL数字钟设计 基于FPGA的Verilog-HDL数字 钟设计-- 专业班级 姓名 学号 一、 实验目的 掌握可编程逻辑器件的应用开发技术 设计输入、编译、仿真和器件编程; 熟悉一种EDA软件使用; 掌握Verilog设计方法; 掌握分模块分层次的设计方法; 用Verilog完成一个多功能数字钟设计 学会FPGA的仿真。 二、 实验要求 功能要求: 利用实验板设计实现一个能显示时分秒的多 功能电子钟,基本功能: 1) 准确计时,以数字形式显示时、分、秒,可 通过按键选择当前显示时间范围模式; 2) 计时时间范围 00:00:00 — 23:59:59 3) 可实现校正时间功能; 4) 可通过实现时钟复位功能:00:00:00 扩展功能: 5) 定时报:时间自定(不要求改变),闹1分钟 (1kHz)---利用板上LED或外接电路实现。 6) 仿广播电台正点报时: XX:59:[51,53,55,57(500Hz);59(1kHz)] ---用板上LED或外接 7) 报整点时数:XX:00:[00.5-XX.5](1kHz), 自动、手动---用板上LED或外接 8) 手动输入校时; 9) 手动输入定时闹钟; 10) 万年历; 11) 其他扩展功能; 设计步骤与要求: 1) 计算并说明采用Basys2实验板时钟50MHz 实现系统功能的基本原理。 2) 在Xilinx ISE13.1 软件中,利用层次化 方法,设计实现模一百计数及显示的电路系 统,设计模块间的连接调用关系,编写并输 入所设计的源程序文件。 3) 对源程序进行编译及仿真分析(注意合理设 置,以便能够在验证逻辑的基础上尽快得出 仿真结果)。 4) 输入管脚约束文件,对设计项目进行编译与 逻辑综合,生成下载所需.bit文件。 5) 在Basys2实验板上下载所生成的.bit文 件,观察验证所设计的电路功能。 三、实验设计 功能说明:实现时钟,时间校时,闹铃定时,秒 表计时等功能 1.时钟功能:完成分钟/小时的正确计数并显 示;秒的显示用LED灯的闪烁做指示; 时钟利用4位数码管显示时分; 2?闹钟定时:实现定时提醒及定时报时,利用 LED灯代替扬声器发出报时声音; 时钟校时:当认为时钟不准确时,可以分别 对分钟和小时位的值进行调整; 秒表功能:利用4个数码管完成秒表显示: 可以实现清零、暂停并记录时间等功能。 秒表利用4位数码管计数; 方案说明:本次设计由时钟模块和译码模块组 成。时钟模块中50MHz的系统时钟elk分频产生 一个1Hz的使能控制信号enable,并以此产生 1s的脉冲seeond_en以实现每秒计时,控制各 个模式下的计数显示。 由模式控制信号选择当前数码管显示哪个状态: mode=O0时钟常规显示状态, mode=01闹铃定时状态, mode=10时钟校时状态, mode=11秒表计时状态; 时钟:禾U用 count ? sminO,smini ‘shourO ‘shourl 的计数来实现,具体情况见程序; 校时:当turn=1时,调整分位smin1、sminO ; 当turn=O时,调整小时位 shourl、shourO ; 闹铃:当turn=1时,调整分位amin1、aminO; 当turn=O时,调整小时位 ahour1、ahourO ; 秒表:当pause=O时,开始计时;当pause=1时, 暂停。 四、实验代码 时钟模块 module clock(clk, clr, pause, turn, mode, sec, mini, minO, hourl, hourO, alert, LD_alert \. ); in put clk; //时钟信号 (50MHz) in put clr; // 清零键 in put pause; // 秒表暂停键 in put turn; // 调整分还是小 时位的控制 in put [1:0]mode; // 决定时钟显示 功能状态 output sec; // 接发光二极管 output [3:0]mi n1; // 用于输出接数 码管4 output [3:0]mi nO; // 用于输出接数 码管3 output [3:0]hour1; // 用于输出接数 码管2 output [3:0]hour0; // 用于输出接数 码管1 output alert; // 接发光二极 管,代替蜂鸣器 output LD_alert; // 当闹铃设定 后,发光二极管显示 wire sec; // 秒位显示 wire LD alert; // 用于闹铃存在 时的提醒显示 //wire clkl; // 时钟 1s //wire clk2; // 时钟 100

文档评论(0)

1亿VIP精品文档

相关文档