基于硬件描述语言VHDL的电子钟设计.doc
《基于硬件描述语言VHDL的电子钟设计.doc》由会员分享,可在线阅读,更多相关《基于硬件描述语言VHDL的电子钟设计.doc(33页珍藏版)》请在咨信网上搜索。
毕 业 设 计 设计题目:基于硬件描述语言VHDL的电子钟设计 姓 名 学 院 计算机科学与技术学院 专 业 信息工程 年 级 2004级 学 号 042210212 指导教师 2008年6月10日 独 创 声 明 本人郑重声明:所呈交的毕业论文(设计),是本人在指导老师的指导下,独立进行研究工作所取得的成果,成果不存在知识产权争议。尽我所知,除文中已经注明引用的内容外,本论文(设计)不含任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体均已在文中以明确方式标明。 此声明的法律后果由本人承担。 作者签名: 二〇〇 年 月 日 毕业论文(设计)使用授权声明 本人完全了解鲁东大学关于收集、保存、使用毕业论文(设计)的规定。 本人愿意按照学校要求提交论文(设计)的印刷本和电子版,同意学校保存论文(设计)的印刷本和电子版,或采用影印、数字化或其它复制手段保存论文(设计);同意学校在不以营利为目的的前提下,建立目录检索与阅览服务系统,公布论文(设计)的部分或全部内容,允许他人依法合理使用。 (保密论文在解密后遵守此规定) 论文作者(签名): 二〇〇 年 月 日 毕业设计选题报告 姓名 性别 女 学院 计算机科学与技术学院 年级 2004级 学号 042210212 设计题目 基于硬件描述语言VHDL的电子钟设计 课题来源 教学 课题类别 应用研究 选做本课题的原因及条件分析: 数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,并且数字钟正逐渐向小型化、多功能化发展。 电子设计自动化(EDA)技术发展越来越迅速,利用计算机辅助设计已成为发展趋势。VHDL语言具有强大的电路描述和建模能力,用VHDL开发的数字电路与开发平台以及硬件实现芯片无关,可移植性、可重用性好。VHDL语言能够在系统级、行为级、寄存器传输级、门级等各个层次对数字电路进行描述,并可以在不同层次进行不同级别的仿真,能极大得保证设计的正确性和设计指标的实现。 Quartus Ⅱ设计软件提供了一个完整的、多平台的设计环境,它可以轻易满足特定设计项目的要求。 指导教师意见: 数字钟是一种典型的数字电路,其中包括了组合逻辑电路和时序电路。设计与制做数字钟就是为了了解数字钟的原理,从而学会制作数字钟.而且通过数字钟的制作进一步的了解各种在制作中用到的中小规模集成电路的作用及实用方法。通过它可以进一步学习与掌握各种组合逻辑电路与时序电路的原理与使用方法。选题较有实用价值,同意选题。 签名: 年 月 日 学院毕业论文(设计)领导小组意见: (公章) 年 月 日 毕业设计任务下达书 院(系)计算机科学与技术学院 专业 信息工程 学号042210212姓名 现将毕业设计任务下达书发给你。毕业设计任务下达书内容如下: 一、 毕业设计题目 基于硬件描述语言VHDL的电子钟设计 二、 主要内容 对此电子钟系统进行合理的功能分析后,确定系统功能模块。系统设计采用自顶向下的设计方法,用VHDL进行分模块设计,完成系统的功能。 三、 具体要求 本次设计是应用硬件描述语言VHDL进行编程,仿真并硬件实现电子钟系统。利用开发平台Quartus Ⅱ,并在 CPLD上实现该系统。电子钟系统包括正常计时,闹钟,定时器等模块。 四、 主要参考文献 [1] 林明权.VHDL数字控制系统设计范例[M]. 北京;电子工业出版社, 2003 [2] 雷伏容.VHDL电路设计[M]. 北京;清华大学出版社,2006 [3] 陈荣,陈华.VHDL芯片设计[M]. 北京;机械工业出版社,2006 [4] 杨恒,李爱国等. FPGA/CPLD最新实用技术指南[M]. 北京;清华大学出版社, 2005 五、进程安排 阶段 起止日期 主 要 内 容 准备开题阶段 2008.1.18~2008.3.3 根据选题,搜集材料,学习相关理论知识. 设计实现阶段 2008.3.4~2008.5.20 完成系统整体设计及实现主模块功能. 说明书完成阶段 2008.5.21~2008.6.10 各个模块功能实现调试,撰写说明书 答辩阶段 2008.6.14~2007.6.15 修改完善设计,准备答辩. 六、本毕业设计任务下达书于 2008 年1 月28 日发出。毕业设计应于 2008 年 6月 10 日前完成后交指导教师,由指导教师评阅后提交毕业论文(设计)答辩委员会。 七、毕业设计任务下达书一式两份,一份给学生,一份留学院存档。 指导教师: 签发于200 年 月 日 分管院长: 签发于200 年 月 日 毕业设计开题报告 姓名 性别 女 学院 计算机科学与技术学院 年级 2004级 学号 042210212 预计完成时间 2008.6.10 设计题目 基于硬件描述语言VHDL的电子钟设计 课题来源 教学 课题类别 应用研究 指导教师 毕业设计实施方案: 第一阶段:选题 基于硬件描述语言VHDL的电子钟设计。 第二阶段:开题 深入了解VHDL语言,了解复杂电子系统的设计方法,分析电子钟系统的功能; 第三阶段:完成系统各个模块的设计,并进行改进,测试。 第四阶段:根据设计内容撰写设计说明书。 第五阶段:准备答辩。 设计主要内容(提纲): 1、采用自顶向下设计方法设计电子钟,进行电子钟的顶层模块的设计和仿真验证; 2、将系统划分成若干个底层子模块,并进行仿真验证; 3、经EDA开发平台Quartus Ⅱ综合成门级电路,进行门级仿真验证; 4、下载到CPLD上,完成硬件实现。 指导教师意见: 阅读了相关参考文献,掌握VHDL的基本使用,确定了电子钟的功能,采用自顶向下的设计方法设计电子钟系统,选取Quartus Ⅱ作为开发平台,制定了较为可行的实施方案,同意开题。 签名: 年 月 日 学院毕业论文(设计)领导小组意见: (公章) 年 月 日 (签章) 年 月 日 毕业设计结题报告 姓名 性别 女 学院 计算机科学与技术学院 年级 2004级 学号 042210212 设计题目 基于硬件描述语言VHDL的电子钟设计 课题来源 教学 课题类别 应用研究 指导教师 本课题完成情况介绍(包括研究过程、实验过程、结果分析、存在的问题及应用情况等。) 第一阶段选题,基于自己硬件描述语言VHDL的了解和对硬件设计技术的兴趣,并结合自己的实际,我选择了这个设计题目。 第二阶段开题,根据选题内容进行充分的学习和准备,做好前期的工作。 第三阶段电子钟的设计。根据前面设计结果和掌握的技术进行系统的设计,这期间与老师多次交流,反复修改。 最后完成定稿。 本文重点对电子钟的各个功能模块进行分析设计仿真,并且进行了硬件实现。当然一些模块的功能较为单一,有待于日后的完善。 指导教师意见: 设计采用VHDL硬件描述语言设计了一个电子钟系统。该系统在开发软件Quartus Ⅱ环境中设计完成,给出了设计该数字系统的流程和方法,最后通过CPLD实现预定功能。基本完成工作量,同意结题。 签名: 年 月 日 学院毕业论文(设计)领导小组意见: (公章) 年 月 日 (公章) 年 月 日 年 月 日 设计成绩 毕业设计成绩评定表 学院:计算机科学与技术学院 学号:042210212 姓 名 设计总成绩: 设计题目 基于硬件描述语言VHDL的电子钟设计 指 导 教 师 评 语 设计采用自顶向下的方法,用硬件描述语言VHDL完成了一个简单电子钟系统的设计,实现了正常计时、计时器、闹钟三个功能。给出了设计该数字系统的流程和方法,最后通过CPLD实现预定功能。较好完成任务书规定的工作量。设计说明书撰写认真,结构合理,表达通顺,符合规范化要求,同意答辩。 评定成绩: 签名: 年 月 日 评 阅 人 评 语 评定成绩: 签名: 年 月 日 答 辩 小 组 评 语 答辩成绩: 组长签名: 年 月 日 注:1、论文(设计)总成绩=指导教师评定成绩(50%)+评阅人评定成绩(20%) +答辩成绩(30%) 2、将总成绩由百分制转换为五级制,填入本表相应位置。 目 录 1 引言 1 2 相关知识介绍 1 2.1 VHDL介绍 2 2.2 自顶向下设计方法 3 2.3 QUARTUS Ⅱ开发平台 3 2.4 CPLD简介 4 3 电子钟系统设计方案 4 3.1 电子钟系统设计要求 4 3.2 系统设计方案概述及工作原理 4 4 电子钟顶层设计 5 4.1 顶层设计分析 5 4.2 顶层电路图 6 5 各模块电路的设计 6 5.1 正常计数时间功能模块 6 5.1.1 分频组件设计 7 5.1.2 60进制计数器设计 7 5.1.3 24进制计数器设计 8 5.2 定时器设定于计时功能模块 9 5.2.1 定时器组件设计思路及原理图 9 5.2.2 定时器仿真波形 10 5.3 闹钟模块设计 11 5.3.1 闹钟组件的设计思路及原理图 11 5.3.2 仿真波形 11 5.4 输出选择与数码转换模块设计 12 5.4.1 秒/分查表组件设计 12 5.4.2 小时查表组件设计 13 5.5 扫描多路输出模块 14 5.5.1 BIN2LED 组件设计 14 5.5.2 SCAN4 组件设计 15 5.5.3 SCAN2 组件设计 16 6 各模块硬件实现结果 17 6.1 正常计数模块的硬件实现结果 18 6.2 定时模块的硬件实现结果 19 6.3 闹钟模块硬件实现结果 20 7 小结 20 参考文献: 20 致 谢 21 附录:部分模块代码 21 鲁东大学毕业设计 基于硬件描述语言VHDL的电子钟设计 孔祥莉 (计算机科学与技术学院,信息工程专业,2004级2班,042210212) 摘 要:VHDL(Very High Speed Integrated Circuit Hardware Description Language 即超高速集成电路硬件描述语言)在当今电子工程领域已经成为通用的硬件描述语言。本文使用VHDL硬件描述语言设计了一个电子钟系统。该系统在开发软件Quartus Ⅱ环境中设计完成,本文给出了设计该数字系统的流程和方法,最后通过CPLD实现预定功能。 关键词:硬件描述语言;VHDL;Quartus Ⅱ;电子钟;CPLD Design of Electronic clock Based On Hardware Description Language VHDL Kong Xiangli (School of Computer Science & Technology,Information Engineering, Class 2 Grade 2004, 042210212) Abstract: VHDL(Very High Speed Integrated Circuit Hardware Description Language)has become the common hardware description language in today’s electronic engineering field. This article introduces by using VHDL how to design an electronic clock system, which is finished under the Quartus Ⅱenvironment. This article introduces the process and method of the digital system design and left the CPLD to realize the predetermined function. Key words:hardware description language; VHDL; Quartus Ⅱ;electronic clock;CPLD 1 引言 随着电子技术的飞速发展,各种电子设备及数字系统的复杂度、集成度越来越高,现代电子产品性能进一步提高,产品更新换代的节奏越来越快,要求产品开发周期短、开发成本低、保密性和可修改及可扩展性好,因此对集成电路的设计方法不断提出了新的要求,因此EDA技术应运而生。所谓EDA(Electronic Design Automation)技术,是依赖目前功能已十分强大的计算机为工具,代替人完成数字系统设计、逻辑综合、布局布线和仿真工作的技术。 目前,EDA技术已经成为支撑现代电子设计的通用平台,并逐步向支持系统级设计的方向发展。只有以硬件描述语言和逻辑综合为基础的自顶向下的设计方法才能满足日趋复杂的数字系统设计要求。硬件描述语言有很多种,本文应用具有强大的电路描述和建模能力的VHDL语言进行电子钟系统设计,为以后深入学习和应用电子系统现代设计方法打好基础,并具有工程实用性。 2 相关知识介绍 本文所设计的电子钟系统是运行在QuartusⅡ环境下的一个小型的数字系统。我采用了自顶向下的设计方法,应用功能强大的硬件描述语言VHDL完成系统的设计仿真。下面就本设计所用到的技术作一下简单的介绍。 2.1 VHDL介绍 VHDL是Very High Speed Integrated Circuit Hardware Description Language的缩写,是在ADA语言的基础上发展起来的硬件描述语言。 VHDL诞生于1983年,1987年12月,VHDL被接纳为标准硬件描述语言,即IEEE1076标准。经过不断更改和改善,1993年,VHDL重新修订并增加了一些功能,即IEEE 1076-93标准。目前在电子工程领域,作为IEEE的工业标准硬件描述语言,VHDL已成为事实上的通用硬件描述语言。 电路设计的描述层次可分为系统级、算法级、寄存器传输级、门级和晶体管级,VHDL的建模范围可以从最抽象的系统级一直到门级,从多个层次对电路进行模拟仿真。它除了具有硬件特征的语句外,其语言形式和描述风格以及句法和一般的计算机高级语言相当类似,然而它又有同软件语言完全不同的性质。 以下是一个VHDL的实例: LIBRARY IEEE; --IEEE库使用说明语句 USE IEEE.STD_LOGIC_1164.ALL; ENTITY mux21 IS --实体说明部分 PORT( a,b:IN STD_LOGIC; s:IN STD_LOGIC; y:OUT STD_LOGIC ); END ENTITY mux21; ARCHITECTURE mux21a OF mux21 IS --结构体说明部分 BEGIN PROCESS(a,b,s) BEGIN IF s=’0' THEN y<=a; ELSE y<=b; END IF; END PROCESS; END ARCHITECTURE mux21a; 这个程序是一个简单的2选1多路选择器的VHDL完整描述。它体现出了VHDL程序的一般结构:使用库(Use)定义区——实体(Entity)定义区——结构(Architecture)定义区。其中Use定义区描述的是这个程序使用的定义库,类似于C语言的头文件包括; Entity 定义区描述的电子的外部结构,就是指元件的输入和输出接口,它用以定义一个芯片的管脚状态;Architecture定义区里面是这个程序的关键部分,包括算法,功能,硬件的行为等都是在Architecture区里面描述的。 一个完整的VHDL程序是对一个功能元件从外部和内部两个方面来进行描述,由于元件本身具有层次性,因此它既可以作为完成某一功能的逻辑电路单元而独立存在,也可以作为一个部件,和其他功能元件一起构成更复杂的功能元件或数字系统,因此其单元的概念很清晰,可以灵活地应用于自顶向下的数字系统设计流程。 2.2 自顶向下设计方法 本设计采用自顶向下的设计方法来完成电子钟系统。所谓自顶向下的设计方法,是指在设计过程中,从数字系统的最高层次出发,进行仿真验证,再将系统划分成各个子模块。然后再对各个子模块进行仿真验证,合格之后经EDA开发平台由计算机自动综合成门级电路,进行门级仿真验证。自顶向下的方法强调在每个层次进行仿真验证,以保证系统性能指标的实现,以便于在早期发现和纠正设计中出现的错误。 自顶向下设计方法有一些突出的优点: (1)适应于复杂和大规模的数字系统的开发,便于层次式、结构化的设计思想。 (2)各个子系统可以同时并发,缩短设计周期。 (3)对于设计的系统进行层层分解,且在每一层次进行仿真验证,设计错误可以在早期发现,提高了设计的正确性。 (4)逻辑综合之前的设计工作与具体的实现工艺、器件等无关,因此,设计的可移植性良好。 2.3 Quartus Ⅱ开发平台 Quartus II是Altera公司的第四代可编程逻辑器件集成开发环境,提供从设计输入到器件编程的全部功能。Quartus II可以产生并识别EDIF网表文件、VHDL网表文件,为其他 EDA 工具提供了方便的接口;可以在Quartus II集成环境中自动运行其他 EDA 工具。Quartus II 软件的开发流程可概括为以下几步:设计输入、设计编译、设计时序分析、设计仿真和器件编程,具有FPGA和CPLD芯片设计的所有阶段的解决方案。 (1)设计输入 Quartus II软件在File菜单中提供“New Project Wizard...”向导,引导设计者完成项目的创建。当设计者需要向项目中添加新的VHDL文件时,可以通过“New”选项选择添加。 (2)设计编译 Quartus II编译器完成的功能有:检查设计错误、对逻辑进行综合、提取定时信息、在指定的Altera系列器件中进行适配分割,产生的输出文件将用于设计仿真、定时分析及器件编程。 (3)设计定时分析 单击Project菜单下的“Timing Settings...”选项,可以方便地完成时间参数的设定。Quartus II软件的时序分析功能在编译过程结束之后自动运行,并在编译报告的Timing Analyses文件夹中显示。 (4)设计仿真 Quartus II软件允许设计者使用基于文本的向量文件(.vec)作为仿真器的激励,也可以在Quartus II软件的波形编辑器中产生向量波形文件(.vwf)作为仿真器的激励。 (5)器件编程 设计者可以将配置数据通过MasterBlaster或ByteBlasterMV通信电缆下载到器件当中,通过被动串行(Passive Serial)配置模式或JTAG模式对器件进行配置编程,还可以在JTAG模式下给多个器件进行编程。 2.4 CPLD简介 CPLD 是Complex Programmable Logic Device的缩写,即复杂可编程逻辑器件,内部结构为“与或阵列”。该结构来自于典型的 PAL 、GAL 器件的结构。任意一个组合逻辑都可以用“与或”表达式来描述,所以该“与或阵列”结构能实现大量的组合逻辑功能。 CPLD是一种用户根据各自需要而自行构造逻辑功能的数字集成电路。其基本设计方法是借助集成开发软件平台,用原理图、硬件描述语言等方法,生成相应的目标文件,通过下载电缆将代码传送到目标芯片中,实现设计的数字系统。 CPLD具有编程灵活、集成度高、设计开发周期短、适用范围宽、开发工具先进、设计制造成本低、对设计者的硬件经验要求低、标准产品无需测试、保密性强、价格大众化等特点,可实现较大规模的电路设计,因此被广泛应用于产品的原型设计和产品生产(一般在10,000件以下)之中。几乎所有应用中小规模通用数字集成电路的场合均可应用CPLD器件。CPLD器件已成为电子产品不可缺少的组成部分。 3 电子钟系统设计方案 3.1 电子钟系统设计要求 (1)能够对秒、分、小时进行计时,每日按24小时计时制; (2)能够作为计时器使用; (3)能够设定闹钟; 3.2 系统设计方案概述及工作原理 根据系统设计要求,系统设计采用自顶向下设计方法,由正常计时模块、定时器模块、闹钟模块、数码转换模块、扫描多路输出模块组成。 (1)首先按下复位开关rst进行复位清零操作,电子钟从新计时开始。 (2)为了便于时钟计数,需要1hz的时钟信号。而实验箱上提供给系统的频率大于1hz,这里取22.1184MHZ,所以要对频率进行分频,用来实现系统输入信号产生一个1hz的时钟信号。 (3)为了设定闹钟,本文设计了一个目标时间调整程序。将alarm的开关转成on,ok键是off时,6个数字即显示00:00:00,以等待输入。当按下调秒键sec_tune时,秒针将从0持续增加到59后,再返回0,任何时刻弹出按键即显示当时的值,调分键与调时键的原理与此相同。当ok键是on时,则停止设定,显示时间便到正常计时。 (4)计时器的原理与闹钟程序有相似之处。将stop的开关转成on,ok键是off时,6个数字即显示00:00:00,以等待输入。当按下调秒键sec_tune时,秒针将从0持续增加到59后,再返回0,任何时刻弹出按键即显示当时的值,调分键与调时键的原理与此相同。当ok键是on时,则停止设定,显示时间为所设定的计时起始时间,并开始进行计时,直到计时器显示00:00:00为止。 (5)为了节省6个七段显示器显示所需的电流消耗,本文利用视觉暂留原理来让七段显示器轮流来显示。 4 电子钟顶层设计 4.1 顶层设计分析 对于电子钟的设计,这里将采用自顶向下的设计方法进行设计,因此首先需要进行电子钟的顶层设计。本节将首先介绍电子钟的系统结构和模块划分,然后设计出顶层VHDL设计程序。 根据前边叙述的电子钟的设计要求、工作原理和设计方案,这里给出设计系统结构框图和外部管脚图分别如图4.1和图4.2所示。 电子钟系统 正常计时模块 定时器模块 闹钟模块 数码转换模块 块多路块换模块设计方案,这里不难给出设计系统机构框图如下所示。 扫描多路输出模块 图4.1 系统结构框图 图4.2 系统外部管脚图 由电子钟的外部管脚图可知,系统的输入输出信号包括: (1)复位开关信号rst:输入信号; (2)外部输入的时钟信号clk:输入信号; (3)闹钟触发信号alarm:输入信号; (4)定时器信号stop:输入信号; (5)定时器计时开始信号ok:输入信号; (6)秒/分/时调整信号sec_tune,min_tune,hour_tune:输入信号; (7)闹钟/定时器标志信号led_alarm,led_stop:输出信号; (8)LED七段译码管的输出信号seg4[0..6],seg2[0..6]:输出信号。 由图4.1知,系统划分了五个模块,划分的这五个模块,每个模块都包含若干个组件,因此首先建立一个程序包把所有的组件包含在一起,以便于主程序模块的调用,然后再对每个组件进行编程设计。 4.2 顶层电路图 顶层电路图见附页。 5 各模块电路的设计 5.1 正常计数时间功能模块 系统必须维持一个持续不断计数的时钟,从时间00:00:00到23:59:59循环不断。首先将22.1184MHZ的系统输入脉冲除以22118400得到1HZ的基本秒输入,然后除以60得到分数,再除以60得到小时数,再除以24得一个满日指针,这些功能的实现要用到三种组件:分频组件,60进制计时组件,24进制计时组件。 5.1.1 分频组件设计 本设计采用的是CPLD芯片EP1K100QC208-3,内部晶振为22.1184MHz,但是数码显示管位扫描信号和其他模块的工作频率是1Hz。所以要用分频组件来对输入时钟进行22118400分频。 下面图5.1是生成的分频组件元器件图形。 接口:clk——时钟输入,输入信号22.1184MHz f1hz——1Hz输出信号 图5.1分频组件器件图 在QuartusⅡ软件中进行仿真后,得到仿真时序图如图5.2 图5.2 分频组件仿真波形图 由图5.2知,输入信号的周期是80ns,输出信号的周期是1769472118ns,1769472118除以80约等于22118400,证明分频是正确的。 5.1.2 60进制计数器设计 为了让计算过程容易阅读,个位数信号one(0~9)与十位数信号ten(0~5)先以整数形式出现,计算完成后再转换成位矢量形式(信号ones和tens),便于以后转换成七段LED显示码。虽然十进制仅需2位的位矢量,但为统一以后的七段显示器输出显示的需要,这里是以4位的位矢量表示的。if_then语句与适当的条件进位适合时钟计时,十进制的进位归零必须配合个位数的进位归零,而个位数的进位归零则不必配合十进制的进位归零,所以在if_then 语句中,十进制的计数动作应放在内层。秒数的计数以1Hz的输入为触发信号,分数的计数以秒数的进位输出full_sec作为触发。 下面图5.3是60进制计数器器件图形。 接口: carry:1hz时钟信号或者是秒的进位信号 rst:复位信号 times:输出十进制的秒数或分数 full:进位信号 图5.3 60进制计数器器件图 在QuartusⅡ软件中进行仿真后,得到仿真时序图如图5.4 图5.4 60进制计数器仿真波形图 由图5.4知,每来一个carry上升沿,计数器就加1,当计数器当到达第60个上升沿时,full=1,times由59归零,仿真符合60进制计数器的要求。 5.1.3 24进制计数器设计 24进制计数器的结构和原理与60进制计数器相类似,只是将除以60改为除以24,并在接收60分进位指针carry时,检查是否同时为23小时,再决定进位与否。因此个为数信号one与十位数信号ten 先以整数形式出现,计算完成后再转换成位矢量形式,便于以后转成了LED显示码。虽然十进制仅需2位的位矢量,但为统一以后的七段显示器输出显示的需要,这里是以4位的位矢量表示的。个位数的进位归零在十进制为2时,必须在one等于3时进位,同时送出进位指针full=1,1小时后将指针归零。 下面图5.5是生成的24进制计数器器件图形。 接口:carry:1hz时钟信号或者是分的进位信号 rst:复位信号 times:输出十进制的小时数 full:进位信号 图5.5 24进制计数器器件图 在QuartusⅡ软件中进行仿真后,得到仿真时序图如图5.6 图5.6 24进制计数器仿真波形 由上图5.6知,carry信号的周期是1ms,当到达第24个上升沿时,full=1,times归零。仿真符合24进制计数器的要求。 5.2 定时器设定于计时功能模块 在此模块中,先利用定时器组件设定定时器的计时时间,并执行计时动作,取得计时中止指针,然后由计时中止指针标示出计时中止状态led_stop=’1’。 5.2.1 定时器组件设计思路及原理图 将stop的开关转成on,ok键是off时,6个数字即显示00:00:00,以等待输入。当按下调秒键sec_tune时,秒针将从0持续增加到59后,再返回0,任何时刻弹出按键即显示当时的值,调分键与调时键的原理与此相同。当ok键是on时,则停止设定,显示时间为所设定的计时起始时间,并开始进行计时,直到计时器显示00:00:00为止。 接口:rst:复位信号 hz1:系统时钟1hz stop:输入停止信号 ok:计时是否开始 sec_tune:按下以调秒 min_tune:按下以调分 hour_tune:按下以调时 stop_sec:定时秒数 stop_min:定时分数 stop_hour:定时小时数 index:定时器输出停止信号 disp:显示信号 图5.7定时组件器件图 5.2.2 定时器仿真波形 在QuartusⅡ软件中进行仿真后,得到仿真时序图如图5.8 图5.8定时器仿真波形 由图5.8知,当ok=1时,确定定时时间为5秒,然后时间递减,减到零后完成定时。此时index=1,定时结束。 5.3 闹钟模块设计 在此模块中,先利用alarm_set组件确定闹钟的设定时刻,然后确认指针开关ok处于ok处于on(‘1’)时,开始进行目前正常时间与闹钟设定时间的对比动作,对比完成即设定alarm_index为1,然后再进一步标示出闹钟设定状态led_alarm=’1’。 5.3.1 闹钟组件的设计思路及原理图 闹钟的功能就是设定特定的时间然后与正常时间对比,时间相同特定的等就会亮。这个组件的功能是调整秒分时以确定闹钟时间,并配合alarm,ok两键来确定动作。 接口: rst:复位信号 hz1:系统时钟1hz alarm:输入闹钟信号 ok:闹钟是否开始 sec_tune:按下以调秒 min_tune:按下以调分 hour_tune:按下以调时 sec:闹钟的秒数 min:闹钟的分数 hour:闹钟的小时数 图5.9闹钟组件器件图 5.3.2 仿真波形 在QuartusⅡ软件中进行仿真后,得到仿真时序图如图5.10。 图5.10 闹钟模块仿真波形 由图5.10,当按下alarm键,即alarm=1时,可以进行调时分秒,然后当ok=1时,闹钟设定结束。 5.4 输出选择与数码转换模块设计 通常6个时分秒数字所显示的是正常的计时闹钟,但在闹钟与定时器时间设定过程中,必须显示正在设定的闹铃时间或定时器计时时间。另外,在定时器计时过程中,为了观察进行时间,必须显示正在计时的剩余时间。本模块的功能就是进行输出选择,并进行数码转换来完成将输出时间由整数形式转成BCD形式的工作。本模块用到了秒/分查表组件和小时查表组件。 5.4.1 秒/分查表组件设计 在此设计中,为了计算方便,前面的都是以整数来处理时间,但在电路中,数值均以二进制的形式存储,所以需要设计一个查表程序来将秒数或分数的0到59共60个整数转换成二进制编码的十进制(BCD)表示法,以便将来转换成七段显示器格式输出。 下面图5.11是生成的秒/分查表器件图形。 接口: interg:输入0到59的整数信号 one:输出个位的BCD码 ten:输出十位的BCD码 图5.11秒/分查表组件器件图 在QuartusⅡ软件中进行仿真后,得到仿真时序图如图5.12 图5.12 秒/分查表组件仿真波形 由图知,十进制转化成二进制,one代表十进制的个位,ten代表十进制的十位。例如18是00011000。仿真结果证明程序可行。 5.4.2 小时查表组件设计 小时查表组件的思路与秒/分组件相似,只是将小时数0到23共24个整数转换成二进制编码表示。 下面图5.13是小时查表器件图 接口:interg:输入0到23的整数信号 one:输出个位的BCD码 ten:输出十位的BCD码 图5.13 小时查表组件器件图 在QuartusⅡ软件中进行仿真后,得到仿真时序图如图5.14 图5.14小时查表组件仿真波形图 由图知,十进制转化成二进制,one代表十进制的个位,ten代表十进制的十位。例如5是00000101。仿真结果证明程序可行。 5.5 扫描多路输出模块 为了节省IC的输出引脚及耗电量,可以将4组数字输出或2组数字输出作为多路输出;另外使用四合一型七段显示器与视觉暂留效应可降低显示耗电量。首先将6个数字通过bin2led组件将BCD码转换成七段显示器码,然后分别将分秒的4个数字通过scan4组件扫描输出,而将小时数的2个数字通过scan2组件扫描输出,最后完成整个电子钟的功能。 5.5.1 bin2led 组件设计 在一般电路中,数值均以二进制的形式存储与计算,但是要将其输出值七段译码管显示时,则必须提供一个电路模块专门将二进制转换成十进制输出使用。此处我们以查表方式来设计转换电路,使用并行语句with_select,列出0到9等10中对照数值情况。若为10及其以上的数字,则显示错误信息“E”。本设计用的实验平台的七段译码管是- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 硬件 描述 语言 VHDL 电子钟 设计
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【pc****0】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【pc****0】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【pc****0】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【pc****0】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文