基于VHDL课程设计数字钟_第1页
基于VHDL课程设计数字钟_第2页
基于VHDL课程设计数字钟_第3页
基于VHDL课程设计数字钟_第4页
基于VHDL课程设计数字钟_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Shanghai Normal University课程设计名称 基于 FPGA 的数字钟设计姓名 专业班级 通信工程(1)班学院 信息与机电工程学院 完成日期 2017 年 6 月目录摘 要 .1一、绪论 .21.1 前言 .21.2 FPGA概述 .21.2.1 FPGA简介 .21.2.2用 FPGA设计数字钟的优点 .31.3硬件描述语言 VHDL .31.4 Quartus软件 .3二、数字钟总体设计方案 .42.1总体结构 .42.2 设计思路 .4三、数字钟各功能模块介绍 .53.1 分频模块 .63.1.1引脚说明及功能介绍 .63.1.2核心源代码及解释 .63.2 控制模块 .73.2.1引脚说明及功能介绍 .73.2.2部分源代码及解释 .73.3 时、分、秒模块 .83.3.1 引脚说明及功能介绍 .83.3.2部分源代码及解释 .83.4 设置时间模块 .93.4.1 引脚说明及功能介绍 .93.4.2部分源代码及解释 .103.5 设置闹钟模块 .103.5.1 引脚说明及功能介绍 .103.5.2部分源代码及解释 .113.6 比较闹钟模块 .123.6.1 引脚说明及功能介绍 .123.6.2部分源代码及解释 .123.7 选择模块 .133.7.1 引脚说明及功能介绍 .133.7.2部分源代码及解释 .133.8 译码模块 .143.8.1 引脚说明及功能介绍 .143.8.2部分源代码及解释 .15四、设计结果图示 .19五、结论 .215.1 遇到的问题和改进 .215.2 工作分配比例 .21六、附录 .221摘 要VHDL 是一种用形式化方法来描述数字化电路和设计数字逻辑系统的语言,设计者可以利用这种语言来描述自己的设计思想,然后利用电子设计自动化工具进行仿真,再自动综合到门级电路,最后用 PLD 实现其功能。与传统设计方法相比,VHDL 描述电路行为的算法设计层次较高、用于较复杂的计算时,能尽早发现存在的问题,缩短设计周期,可独立实现,修改方便,系统硬件描述能力强,语言标准、规范、移植性强,是多层次的硬件描述语言具有很好的实用。本文是基于 VHDL 语言的简易电子数字钟的设计。设计主要是由数码管结合按键来显示相应的时间,可以对时、分进行单独校时,使其显示标准时间,并且具有设置闹钟以及整点半点报时的功能。总的程序由几个各具不同功能的单元模块组,其中包括分频模块、时分秒计数和设置模块、比较器模块、译码显示等模块。关键词 :数字钟、VHDL、状态机2一、绪论1.1 前言随着生产和科学技术发展的需要,现在电子技术的应用已经渗透到了人类生活和生产的各个方面,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。在这个生活节奏飞快的社会,时间概念对人们来说尤为重要。在我们现代的生活中,早已离不开钟表的身影。原始的机械钟只能实现走时报时的功能早已不能满足人们的需求。数字钟是一种数字电路实现时、分、秒计时的装置,通过计时精度很高的石英晶振,采用相应进制的计数器,转化为二进制数,通过译码和显示电路准确的将时间“时”“分”“秒”用数字的方式显示出来。与传统的机械时钟相比具有更高的准确性与直观性,且无机械装置,具有更高的使用寿命。钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、定时启闭电路、定时开关烘箱、通断动力设备,甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。1.2 FPGA概述1.2.1 FPGA简介FPGA 是英文 FieldProgrammable Gate Array 的缩写,即现场可编程门阵列,是由存放在片内 RAM 中的程序来设置其工作状态的,因此,工作时需要对片内的RAM 进行编程。用户可以根据不同的配置模式,采用不同的编程方式。加电时,FPGA 芯片将 EPROM 中数据读入片内编程 RAM 中,配置完成后,FPGA 进入工作状态。掉电后,FPGA 恢复成白片,内部逻辑关系消失,因此,FPGA 能够反复使用。FPGA的编程无须专用的 FPGA 编程器,只须用通用的 EPROM、PROM 编程器即可。当需要修改 FPGA 功能时,只需换一片 EPROM 即可。这样,同一片 FPGA,不同的编程数据,可以产生不同的电路功能。因此,FPGA 的使用非常灵活。 FPGA 有多种配置模式:3并行主模式为一片 FPGA 加一片 EPROM 的方式;主从模式可以支持一片 PROM 编程多片 FPGA;串行模式可以采用串行 PROM 编程 FPGA;外设模式可以将 FPGA 作为微处理器的外设,由微处理器对其编程。1.2.2用 FPGA设计数字钟的优点FPGA 的逻辑功能全部用硬件电路实现,内部有丰富的触发器和 IO 引脚,是ASIC 电路中设计周期最短、开发费用最低、风险最小的器件之一,并且 FPGA 采用高速 CHMOS 工艺,功耗低,可以与 CMOS、 TTL 电平兼容。因此,FPGA 芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。使用 FPGA 可以实现你想实现的任何数字电路,可以定制各种电路,减少受制于专用芯片的束缚,在设计过程中可以灵活的更改设计。因此,利用 FPGA 设计数字钟更加灵活方便。1.3硬件描述语言 VHDLVHDL,即超高速集成电路硬件描述语言,是最早被接纳为 IEEE 标准的硬件描述语言。它是一种多层次的硬件描述语言,覆盖面广,描述能力强,具有良好的可读性,既可以被计算机接受,也容易被理解。因为 VHDL 的硬件描述与工艺技术无关,因此其本身的生命期长,工艺改变时,只需修改相应程序中的属性参数即可,VHDL支持大规模设计的分解与已有设计的再利用,事实上已经成为通用硬件描述语言。1.4 Quartus软件Quartus是 Altera 公司推出的新一代 FPGA/CPLD 开发软件,适合于大规模复杂的逻辑电路设计。它是 Altera 公司的第四代可编程逻辑器件集成开发环境,提供了从设计输入到器件编程的全部功能,同低三代设计工具 MAXPLUS 相比,Quartus设计软件增加了网络编辑功能,提升了调试能力,解决了潜在的设计延迟,同时其强大的设计能力和直观易用的接口,越来越受到数字系统设计者的欢迎。4二、数字钟总体设计方案2.1总体结构图 1 系统结构图2.2 设计思路数字钟的设计模块包括:分频器、“时、分、秒”计数器、设置时间模块、设置闹钟、比较模块、选择模块、控制模块和译码显示电路。每一个功能模块作为一个实体单独进行设计,最后再将各个模块的原理图连接起来。(1)开关 EN(SW0)控制数码管显示,SW0 关闭时显示学号,打开后 24h 计时制计时并显示。(2)校时以及设置闹钟:按下 TIMESET 键开始设置时间,按下 SHIFT 键表示移位,按下 ADD 键对应数字加一,再次按下 TIMESET 键回到走时状态。分钟和时钟校准时,下方 LED 发光表示提示。(3)闹钟:闹钟定时时间到,对应 LED 闪烁,持续 60s。(4)整点、半点报时:当分钟时间为 00 或 30 时,对应不同的 LED 发光。5(5)显示: 6 个 LED 数码管显示小时、分、秒。2.4 RTL图图 2 系统 RTL图6三、数字钟各功能模块介绍3.1 分频模块3.1.1引脚说明及功能介绍图 3 分频模块 bdf图 表 1 分频模块引脚说明引脚 说明CLK 系统 50Mhz 晶振频率EN 开关 SW0,打开时显示时间关闭显示学号输入QUICK 开关 SW1,打开后输出 50hz 频率,关闭时输出 10hz 频率输出CLK_OUT10OR50 输出 10hz 或者 50hz 频率3.1.2核心源代码及解释PROCESS(CLK,EN)VARIABLE TEMP1 : INTEGER RANGE 24999999 DOWNTO 0;VARIABLE TEMP50 : INTEGER RANGE 499999 DOWNTO 0;BEGIN IF EN=1 THEN IF CLKEVENT AND CLK=1THEN IF TEMP1=24999999 THEN TEMP1:=0;Q1=NOT Q1;ELSE TEMP1:=TEMP1+1;END IF;IF TEMP50=499999 THEN TEMP50:=0;Q50=NOT Q50;ELSE TEMP50:=TEMP50+1; -通过计数将较高频率的时钟分频,得到得到较低频率的时钟信号END IF;END IF;ELSE 7TEMP1:=0;Q1=0;TEMP50:=0;Q50=0;END IF;END PROCESS;PROCESS(QUICK)BEGINIF QUICK=0 THEN CLK_OUT1OR50=Q1;-通过按键选择输出的频率ELSE CLK_OUT1OR50=Q50;END IF;END PROCESS;3.2 控制模块3.2.1引脚说明及功能介绍图 4 控制模块 bdf图表 2 控制模块引脚说明引脚 说明ALARM KEY0 按下时,进入闹钟设置输入EN 开关 SW0,打开时显示时间关闭显示学号输出 COUT1.0 输出两个计时和闹钟设置状态3.2.2部分源代码及解释LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论