FPGA的电子钟设计(VHDL语言.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
FPGA的电子钟设计(VHDL语言

引言:近年来,随着数字集成电路技术的发展,用以前传统的方法进行芯片或系统设计已不能满足要求, 迫切需要提高设计效率。能大大降低设计难度的VHDL设计方法正在被越来越广泛的采用。VHDL 即超高速集成电路硬件描述语言,诞生于1982 年。1987年底, VHDL被IEEE和美国国防部确认为标准硬件描述语言。此后VHDL 在电子设计领域得到了广泛的接受,并逐步取代了原有的非标准的硬件描述语言。1993年IEEE对VHDL 进行了修订,从更高的抽象层次和系统描述能力上扩展VHDL 的内容,公布了新版本的VHDL,即IEEE标准的1076--1993 版本。现在, VHDL作为IEEE的工业标准硬件描述语言,已成为通用硬件描述语言。 关键字:电子钟、FPGA、VHDL语言 前言:现在电子钟产品可谓百家争鸣,市场上到处可见一些功能齐全的设备,可能基于单片机的比较多,用FPGA设计电子钟可能比较少。因为两个都可以实现同样的功能,而FPGA芯片的价格远比单片机高。出于利润,当然会选择开发成本少的产品。本次设计的目的是为了检验所学的知识(VHDL语言)同时结合实践巩固知识,由于初涉该领域,相关的知识可能不够全面,实践的经验不够,所以本设计旨在能够实现该功能并达到一定的精度,对于各模块设计的优化和性能等方面没有多加考虑。为提高精度,所以本设计采用12MHZ的CLK信号,这样产生的误差也较小。 一、设计目的 1、掌握各类计数器及将它们相连的方法; 2、掌握多个数码管动态显示的原理和方法 3、掌握FPGA技术层次化设计 4、进一步了解VHDL硬件描述语言的设计思想 5、了解有关数字系统的设计 二、设计原理: 数字钟电路的基本结构由两个60进制计数器和一个24进制计数器组成,分别对秒、分、小时进行计时,当计时到23时59分59秒时,再来一个计数脉冲,则计数器清零,重新开始计时。秒计数器的计数时钟CLK为1Hz的标准信号,可以由晶振产生的24 MHz信号通过分频得到。当数字钟处于计时状态时,秒计数器的进位输出信号作为分钟计数器的计数信号,分钟计数器的进位输出信号又作为小时计数器的计数信号时、分、秒的计时结果通过6个数码管来动态显示。数字钟除了能够正常计时外,还应能够对时间进行调整。因此,通过模式选择信号MOD1、MOD2控制数字钟的工作状态,即控制数字钟,使其分别工作于正常计时,调整分、时和设定分、时5个状态。当数字钟处于计时状态时,3个计数器允许计数,且秒、分、时计数器的计数时钟信号分别为CLK,秒的进位, 分的进位;当数字钟处于调整时间状态时,被调的分或时会一秒一秒地增加;当数字钟处于定时状态时,可以设定小时和分;当计时到所设定的时刻时,speak将会被赋予1KHz的脉冲信号用于驱动扬声器,持续1分钟。 三、电子钟相关功能描述如下: (1) 计时功能:这是本计时器设计的基本功能,可进行时、分、秒计时,并显示。 (2) 闹钟功能:如果当前时间与设置的闹钟时间相同,则扬声器发出一段音乐,并维持一分钟。 (3) 调时调分调闹钟功能:当需要校时或者要重新设置闹钟的时间时,可通过实验箱上的按键控制。 四、实现涉及的几个重要模块如下: (1)分频器将较高速的外部时钟频率分频成每分钟一次的时钟频率,以便进行时钟计数。 (2) 计数器实际上是一个异步复位、异步置数的累加器,通常情况下进行时钟累加计数,必要时可置入新的时钟值,然后从该值开始新的计数。 (3 寄存器用于保存用户设置的闹钟时间,是一个异步复位寄存器。 (4) 显示器根据需要显示当前时间、用户设置的闹钟时间或用户通过键盘输入的新的时间,同时判断当前时间是否已到了闹钟时间,实际上是一个多路选择器加比较器。 (5) 控制器是设计的核心部分,按设计要求产生相应的控制逻辑,以控制其他各部分的工作。 (6)乐曲演奏电路,实现闹钟的功能,那时间就发出一段叫“梁祝”的乐音。 实验代码: 1)主程序模块: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity szz is port(clk:in std_logic; md1:in std_logic; md2:in std_logic_vector(1 downto 0); speak:out std_logic; h1,h2,m1,m2,s1,s2:out std_logic_vector(3 downto 0)); end szz; architecture one of szz is signal hou1:std_logic_vector(3 downto 0); signal hou2:

文档评论(0)

shenlan118 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档