毕业论文:基于VHDL的FPGA数字钟设计.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
可编程数字系统设计 课程设计实验报告 实验名称: 基于VHDL的数字钟设计 _ 所属课程: 可编程数字系统设计 《可编程数字系统》课程设计 一、课程设计目的: 熟悉EDA工具;掌握用VHDL语言进行数字系统设计的基本方法和过程。 二、设计任务: 设计一数字钟,用数码管显示 基本功能要求: (1) 可以分屏显示时、分、秒,可用数码管的小数点“.”代替时、分、秒的分 隔符“:”,分屏显示是指由于数码管只有4个,不能同时显示时、分、秒,但可以只显示时、分,或只显示分、秒,通过按键来切换这两种显示方式。 (2)可设置时钟的开始时间。设置时,相应的数码管要闪烁,指示当前设置的设置(内容)。 (3)具有闹铃功能,可以设定闹铃时间。闹铃时间到,LED闪烁进行指示。 三、设计原理: 数字钟的逻辑框图如图1所示。它由校时部分、闹钟部分、计时部分、显示部分组成。振荡器产生稳定的高频脉冲信号,作为数字钟的时间基准,然后经过分频器输出标准秒脉冲。秒钟计数器满60后向分计数器进位,分钟计数器满60后向小时计数器进位,时钟计数器按照“24归0”规律计数。计数器的输出分别经译码器送显示。当计时出现误差时或者到达另外一个时区时,可以用校时部分校时、校分、校秒。需要是用闹钟时,可以利用闹钟部分进行定时。 四、系统分析: 根据数字钟的功能,我们可以将它的系统电路设计划分为四个部分:校时部分、闹钟部分、计时部分和显示部分。其中计时部分又划分为秒钟计时模块、分钟计时模块、时钟计时模块,显示部分又划分为BCD译码模块和扫屏输出模块。 数字钟的顶层实体描述如下: --TOP.VHD LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; ENTITY digitalclock IS PORT( --输入时钟 CLK:IN STD_LOGIC; --设定闹钟 ALARM_SET:IN STD_LOGIC; --双键位校时 SET:IN STD_LOGIC; MODE:IN STD_LOGIC; --选择显示方式 CHG:IN STD_LOGIC; --八段译码输出 out_data:OUT STD_LOGIC_VECTOR(7 DOWNTO 0); --输出片选 seg_out:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); --LED输出 ED_OUT:OUT STD_LOGIC ); END digitalclock; ARCHITECTURE EXAMPLE OF digitalclock IS --元件例化 COMPONENT adjuster PORT( --输入时钟 CLK:IN STD_LOGIC; --双键位校时 SET:IN STD_LOGIC; MODE:IN STD_LOGIC; --计数使能,接VCC EN:IN STD_LOGIC; --秒计数器进位输入 S_ENOUT:IN STD_LOGIC; --分计数器进位输入 M_ENOUT:IN STD_LOGIC; --输出1HZ时钟 CLK1HZ:OUT STD_LOGIC; --输出使能 S_CE:OUT STD_LOGIC; M_CE:OUT STD_LOGIC; H_CE:OUT STD_LOGIC ); END COMPONENT; COMPONENT CNT60 PORT( --输入1HZ时钟 CLK1HZ:IN STD_LOGIC; --计数使能 EN:IN STD_LOGIC; --进位输出 ENOUT:OUT STD_LOGIC; --BCD输出 LOW:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); HIGH:OUT STD_LOGIC_VECTOR(3 DOWNTO 0) ); END COMPONENT; COMPONENT CNT24 ORT( --输入1HZ时钟 CLK1HZ:IN STD_LOGIC; --计数使能 EN:IN STD_LOGIC; --BCD输出 LOW:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); HIGH:OUT STD_LOGIC_VECTOR(3 DOWNTO 0) ); END COMPONENT; COMPONENT display PORT( --BCD输入 in_data:

文档评论(0)

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

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

1亿VIP精品文档

相关文档