eda课程设计报告多功能数字钟设计大学论文
eda数字时钟课程设计论文
eda数字时钟课程设计论文一、课程目标知识目标:1. 理解数字时钟的基本原理,掌握EDA工具的使用方法。
2. 学习数字时钟设计的基本流程,包括时钟信号生成、分频、计数等模块的设计与实现。
3. 了解数字时钟的显示原理,掌握七段显示译码器的应用。
技能目标:1. 培养学生运用所学知识进行数字电路设计的能力。
2. 培养学生运用EDA工具进行电路仿真、调试的能力。
3. 培养学生团队协作、沟通表达的能力。
情感态度价值观目标:1. 激发学生对电子设计的兴趣,培养创新意识和动手能力。
2. 培养学生严谨的科学态度,注重实验数据的真实性。
3. 增强学生的自信心,勇于面对和解决问题。
本课程针对高年级学生,结合学科特点和教学要求,将目标分解为具体的学习成果。
课程性质为实践性较强的设计课,注重培养学生的实际操作能力和团队合作精神。
通过本课程的学习,学生能够掌握数字时钟设计的基本方法,提高电子设计能力,培养良好的情感态度价值观。
二、教学内容本课程教学内容主要包括以下三个方面:1. 数字时钟原理及设计流程- 了解数字时钟的基本原理,包括时钟信号、分频器、计数器等组成部分。
- 学习数字时钟设计的基本流程,结合教材相关章节,进行实例分析。
2. EDA工具的使用- 介绍EDA工具的基本功能,如原理图绘制、仿真、PCB设计等。
- 结合教材,学习使用EDA工具进行数字时钟电路的设计与仿真。
3. 数字时钟电路设计与实现- 分析并设计数字时钟的各个功能模块,如时钟信号生成、分频、计数、显示等。
- 结合教材章节,进行具体电路设计,列举所需元器件及参数。
教学进度安排如下:1. 第一周:数字时钟原理及设计流程学习。
2. 第二周:EDA工具的使用方法及操作练习。
3. 第三周:数字时钟电路设计与实现,包括各功能模块设计和整体调试。
教学内容注重科学性和系统性,结合教材章节,使学生能够循序渐进地掌握数字时钟的设计方法。
同时,通过实践操作,提高学生的动手能力和实际应用能力。
EDA设计实验报告——数字钟的设计
EDA设计实验报告——数字钟的设计摘要随着现在社会的快速发展,人们都电子产品的要求越来越高,因而电子产品无论从制作上还是从销售上都要求很高。
要制作一个应用性比较好的电子产品就离不开数字电路,大到超级计算机、小到袖珍计算器,很多电子设备都有数字电路。
数字系统是一个能够对数字信号进行加工,传递,和存储的实体,它由实现各种功能的数字逻辑电路相互连接而成。
用来处理数字信号的电子线路称为数字电路,数字集成电路的基本逻辑单元是逻辑门,一块集成电路芯片所容纳的逻辑门数量反映了芯片的集成度,集成度越高,单个芯片所实现的逻辑功能越强。
数字电路在生活中应用广泛,而我所学习的专业为电子信息工程,对于数字电路的熟悉程度要更彻底,所以我选择设计数字钟电路。
在本次设计的课题中,其目的是得到一个计时准确的数字时钟。
在数字钟的制作过程中,要得到准确的计时,就必须对组成电路的每一部分的要求要高。
整个电路是由振荡器电路、分频器电路、时间计数单元、译码驱动电路、数码管五个部分组成。
整个电路的核心部分是振荡电路,振荡电路应采取晶体振荡,晶体振荡器输出频率为32768HZ,在设计中我们采用CD4060来完成电路的振荡和分频,以便于得到1HZ的输出频率。
在计数电路中采用了74LS161计数,74LS161是直接清零的计数器,在电路中起计数和分频的作用。
为了能够得到即准确又清楚的输出,电路采用了译码驱动和数码显示,译码器为74LS247(BCD七段显示译码器)。
译码驱动电路将计数器输出的8421BCD码转换为数码管需要的逻辑状态,并且为保证数码管正常工作提供足够的工作电流。
整个电路的设计有严密的逻辑关系。
关键词:计数器,译码器,振荡器,分频器,译码驱动目录摘要 (5)目录 (6)设计任务描述 (7)设计思路 (8)设计方案 (9)1.引言 (10)2.各部分的分析 (12)2.1、振荡电路 (12)2.2、分频电路 (13)2.3、时间计数电路 (13)2.4、译码驱动电路 (14)2.5、校时电路 (15)2.6、数码显示电路 (16)3.电路的逻辑功能 (17)3.1、十进制 (18)3.2、六进制 (18)3.3、二十四进制 (18)结论 (18)致谢 (21)参考文献 (22)附录A1.1 (23)附录A1.2 (24)附录A1.3 (25)设计任务描述1 设计题目题目:数字钟电路2设计要求(1)以二十四小时为一个周期计时。
EDA课程设计报告电子钟
EDA课程设计报告电子钟EDA课程设计报告——数字钟设计班级:学号:姓名:一、设计任务设计一台能显示时、分、秒的数字钟。
具体要求如下:(1)由实验箱上的时钟信号经分频产生秒脉冲;(2)计时计数器用24进制计时电路;(3)可手动校时, 能分别进行时、分的校正;(4)整点报时;选做: 可设置闹时功能, 当计时计到预定时间时, 扬声器发出闹铃信号, 闹铃时间为4s, 并可提前终止闹铃。
二、试验目的(1)掌握时十进制、六进制和二十四进制计数器的设计方法。
(2)掌握多位计数器相连的设计方法。
(3)掌握多位共阴极扫描显示数码管的驱动及编码。
三、总体设计方案本数字系统实现数字钟的基本的计时功能, 输入8Hz的时钟, 经过分频产生1Hz的时钟信号, 采用24/12小时制计时, 能显示时、分、秒。
本系统还具有校正功能, 能够进行时分的校时, 当计时器运行到59分59秒开始报时, 另外还能够设定闹钟, 当按下闹铃开关时, 可在规定时间闹铃, 当开关复位时, 闹铃停止。
本数字钟实际上是一个对频率(1Hz)进行计数的计数电路。
由于计数的起始时间不可能与标准时间一致, 故需要在电路上加一个校时电路, 同时分频后的1Hz时间信号必须做到准确稳定。
一般使用石英晶体振荡器电路构成数字钟。
数字钟的基本组成本数字钟的实现可分为以下几个模块:(1) 秒计数模块: 秒计数, 在频率为1Hz的时钟下以60次为循环计数, 并产生进位信号影响分计数;(2) 分计数模块: 分计数, 在秒进位信号为高电平时, 计数一次, 同样以60次为一个循环计数, 同时产生分进位信号影响时计数;(3) 时计数模块: 时计数, 在分进位信号为高电平时, 计数一次, 以24/12次为一个循环计数;(4) 频率产生模块: 产生8Hz的计数频率, 经过分频得到1Hz 频率;(5) 时间显示模块: 数码管经过动态显示, 同时进行一定频率的扫描显示时, 分, 秒。
(6) 时间设置模块: 设置调试使能端, 能够调时, 分, 秒。
EDA2_多功能数字钟设计_毕业设计论文
EDA设计(2) ————多功能数字钟设计院系:电子工程与光电技术学院本实验利用QuartusII软件,结合所学的数字电路的知识,采用自顶向下的分析方法。
首先分析了多功能数字钟的设计要求、所需实现的功能,然后分析了实现每个功能所需要的基础模块,最后进一步分析了各种基础模块。
在具体设计时,采用的是自底向上的设计方法。
首先设计各种基础模块,然后设计各种功能模块,最后进行综合设计。
本次设计除了实现基本的时钟电路外,还实现了整点报时、闹钟、日期、星期、秒表等多种功能。
报告首先分析了整个数字中电路的工作原理,其中重点解释说明了个子模块的设计原理及调试、编译、仿真、下载等过程。
其次对最终结果进行总结及提出课后对于其他附加电路的部分思考。
在报告的最后总结了此次实验过程中出现的问题困难和相应解决方法。
Abstract:Using the QuartusII, we design a digital clock of 24 hours with learning electric circuit knowledge,adopts the top-down analysis method .Above all ,it analyses the design requirement and the required functionality of Multi function Digital Clock .And then it analyses the needed basic modules which can achieve each function .Lastly ,it analyses each basic module further .When it comes to the specific design ,it adopts the bottom-up design method .Firstly ,it designs each basic module .Then , it designs the function modules based on the basic modules .Finally ,it integrates all the designs .Besides the function of basic clock ,it also achieves functions of hourly chime, alarm, date, week and clock. To begin with,the report analysis functional theory of the whole digital circuit, in which emphasize designing principle of different parts separately and debugging, simulating, compiling, programming. Moving forward are the conclusion of the final out-coming and partial thinking about some other extra circuit which cannot accomplish in class. Finally, I will summarize sorts of problems and difficulties encountered in the process and respectively solutions关键词:计数功能组合多功能数字时钟同步整点报时下载检验Key word: counting combination of functions multi-function digital clock、Synchronous、 A little bit whole tell the time download inspection一、实验内容 (3)二、题目简介 (3)三、基本要求 (3)3.1 设计的基本要求 (3)3.2 设计提高部分要求 (3)四、方案论证 (3)五、基本电路各个功能的模块设计 (6)4.1 脉冲发生电路 (6)4.2 计时电路 (10)4.3 较分校时电路 (13)4.4 清零电路 (15)4.5 保持电路 (16)4.6 报时电路 (16)4.7 译码显示电路 (17)4.8 消颤电路 (19)4.9 各种组合电路 (20)六、附加功能的设计 (21)6.1 星期电路 (21)6.2 秒表电路 (22)七、实验的改进 (25)7.1 较分校时较星期的改进 (25)八、实验的电路设计总图 (26)九、实验中遇到的困难及改进方法 (26)9.1 最大的困难:数字钟计数器的设计 (26)十、正在设计还未能实现的功能 (27)10.1 闹钟电路 (27)十一、电路下载 (29)十二、实验感想 (30)十三、鸣谢 (31)十四、参考文献 (31)一、实验内容:利用QuartusII软件设计一个数字钟,并下载到SmartSOPC实验系统中。
EDA实验多功能数字钟课程设计报告
. . -.课程设计报告设计题目:EDA实现多功能数字钟. . -.课程设计 任务书题目 EDA 实验多功能数字钟 任务与要求一、实验任务:用FPGA 器件和EDA 技术实现多功能数字钟的设计 条件:1、MAX+Plus 软件2、FPGA 实验开发装置根本功能:1、以数字形式显示时、分、秒的时间; 2、小时计数器为24进制; 3、分、秒计数器为60进制。
二、小时计数器为24进制原理图如下:…………………………装………………………………订对该图进展编译及波形仿真如下:分析及结论:小时计数器是24进制用当下面的74161到9时等下个脉冲来是向上面一个74161进位使的上面的74161记数。
但是等到上面的计到2时下面的将不能超过4所以等上面的计到2,下面的计到4时就将两个74161共同预置。
从而实现00—24分的记数功能。
仿真波形显示里23小时到00分的循环的过程仿真到位。
对上述仿真波形图进展打包工作,将24进制图建立成模块:三、分计数器为60进制原理图如下:对该图进展编译及波形仿真如下:分析及结论:分计数器是60进制的。
当下面的74161到9时等下个脉冲来是向上面一个74161进位使的上面的74161计数,到5时将两个74161共同预置。
从而实现00—59秒的记数功能。
Cp60S为向分的进位信号上跳沿有效。
仿真波形显示里59秒到00秒的循环的过程,仿真到位。
对上述仿真波形图进展打包工作,将60进制图建立成模块:四、秒计数器为60进制原理图如下:对该图进展编译及波形仿真如下分析及结论:秒计数器是60进制的。
当下面的74161到9时等下个脉冲来是向上面一个74161进位使的上面的74161计数,到5时将两个74161共同预置。
从而实现00—59秒的记数功能。
Cp60S为向分的进位信号上跳沿有效。
仿真波形显示里59秒到00秒的循环的过程,仿真到位。
对上述仿真波形图进展打包工作,将60进制图建立成模块:五、多功能数字钟的主体局部原理图如下:仿真波形图如下:六、下载1、添加译码模块后的原理图对上述图形进展编译及波形图如下2、选用器件3、分配引脚号4、对器件进展下载下载模块的原理图如下七、心得体会:充分体会到了合作的重要性,在协同中觉察自己的缺乏,认真听取同伴的意见。
数字逻辑EDA电子钟课程设计报告
多功能数字钟设计说明:1.系统顶层框图:各模块电路功能如下:1.秒计数器、分计数器、时计数器组成最根本的数字钟,其计数输出送7段译码电路由数码管显示。
2.基准频率分频器可分频出标准的1HZ频率信号,用于秒计数的时钟信号;分频出4HZ频率信号,用于校时、校分的快速递增信号;分频出64HZ频率信号,用于对按动"校时〞,"校分〞按键的消除抖动。
2.多功能数字钟构造框图:一、系统功能概述已完成功能1.完成时/分/秒的依次显示并正确计数,利用六位数码管显示;2.时/分/秒各段个位满10正确进位,秒/分能做到满60向前进位,有系统时间清零功能;3.定时器:实现整点报时,通过扬声器发出上下报时声音;4.时间设置,也就是手动调时功能:当认为时钟不准确时,可以分别对分/时钟进展调整;5.闹钟:实现分/时闹钟设置,在时钟到达设定时间时通过扬声器响铃。
有静音模式。
待改良功能:1. 系统没有万年历功能,正在思考设计方法。
2. 应添加秒表功能。
二、系统组成以及系统各局部的设计1.时计数模块时计数模块就是一个2位10进制计数器,记数到23清零。
VHDL的RTL描述如下:----t_h.vhdlibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entityt_h isport(en,clk,clr:in std_logic;dout:out std_logic_vector(7 downto 0);c:out std_logic);endt_h;architecture rtl oft_h issignal t:std_logic_vector(7 downto 0);beginprocess(en,clk,clr)variable t:std_logic_vector(7 downto 0);beginif en='1' then --异步使能if clk 'event and clk='1' thent:=t+1;if t(3 downto 0)=*"A" then --个位等于10则十位加1t(7 downto 4):=t(7 downto 4)+1;t(3 downto 0):=*"0"; --个位清零end if;if t>*"23" then --大于23清零t:=*"00";end if;end if;if clr='1' then --异步清零t:=*"00";end if;end if;dout<=t;end process;end rtl;时计数器模块仿真波形如下从仿真波形可知,当计数到23时,下一个时钟上升沿到来时就清零了,符合设计要求。
EDA课程设计_数字时钟(闹钟)
课程设计说明书题目:闹钟学院(系):年级专业:学号:学生姓名:指导教师:教师职称:目录第1章摘要 (1)第2章设计方案……………………………………………………………………………2.1 VHDL简介……………………………………………………………………………2.2 设计思路……………………………………………………………………………第3章模块介绍……………………………………………………………………………第4章 Verilog HDL设计源程序…………………………………………………………第5章波形仿真图…………………………………………………………………………第6章管脚锁定及硬件连线………………………………………………………………心得体会 (17)参考文献 (18)第一章摘要在当今社会,数字电路产品的应用在我们的实际生活中显得越来越重要,与我们的生活联系愈加紧密,例如计算机、仪表、电子钟等等,使我们的生活工作较以前的方式更加方便、完善,带来了很多的益处。
在此次EDA课程,我的设计课题是闹钟,使用VHDL语言进行编程完成。
报告书主要由设计方案、模块介绍、设计源程序、仿真波形图和管脚锁定及硬件连线四部分组成。
设计方案主要介绍了我对于设计课题的大致设计思路,之后各个部分将会详细介绍设计组成及程序。
第二章设计方案§2.1 VHDL简介数字电路主要是基于两个信号(我们可以简单的说是有电压和无电压),用数字信号完成对数字量进行算术运算和逻辑运算的电路我们称之为数字电路,它具有逻辑运算和逻辑处理等功能,数字电路可分为组合逻辑电路和时序逻辑电路。
EDA技术,就是以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,以计算机、大规模可编程逻辑器件的开发软件及实验开发系统为设计工具,通过有关的开发软件,自动完成用软件的方式设计的电子系统到硬件系统的逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、逻辑布局布线、逻辑仿真,直至完成对于特定目标芯片的适配编译、逻辑映射、编程下载等工作,最终形成集成电子系统或专用集成芯片的一门新技术。
毕业设计毕业论文基于eda的多功能数字电子钟的设计仿真研究[管理资料]
本科生毕业论文基于EDA的多功能数字电子钟的设计仿真研究独创性声明本人郑重声明:所呈交的毕业论文(设计)是本人在指导老师指导下取得的研究成果。
除了文中特别加以注释和致谢的地方外,论文(设计)中不包含其他人已经发表或撰写的研究成果。
与本研究成果相关的所有人所做出的任何贡献均已在论文(设计)中作了明确的说明并表示了谢意。
签名:年月日授权声明本人完全了解许昌学院有关保留、使用本科生毕业论文(设计)的规定,即:有权保留并向国家有关部门或机构送交毕业论文(设计)的复印件和磁盘,允许毕业论文(设计)被查阅和借阅。
本人授权许昌学院可以将毕业论文(设计)的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编论文(设计)。
本人论文(设计)中有原创性数据需要保密的部分为(如没有,请填写“无”):签名:年月日指导教师签名:年月日摘要本设计利用大规模集成电路CPLD,设计了多功能数字电子钟,由于采用了层次化结构化设计方法,将其分成若干个功能模块设计、仿真、调试,最后将各功能模块组合起来联试。
设计采用VHDL硬件描述语言实现,时间显示采用八位LED数码管显示。
该数字电子钟可直接清零,对“时”和“分”进行修改校正,还可实现整点报时,整点报时的同时LED灯花样显示。
关键词:CPLD;多功能数字电子钟;VHDLABSTRACTUsing large-scale integrated circuit CPLD, designs a multifunctional digital electric clock, as a result of using the hierarchical structure design method, it will be divided into several functional modules to design, simulate, and debug, and finally combine these functional modules to test and run. This design uses the VHDL hardware description language, the time display uses eight LED digital tube to display. This digital electric clock can be directly reseted, it can modify"hour" and "minute". It also can reach integral point to alert , at the same time, the LED lights lighten by turn.Key words:CPLD; a multifunctional digital electric clock; VHDL目录1前言 (1)CPLD器件介绍 (1)VHDL语言介绍 (1)MAX+plusII开发工具介绍 (2)2 设计的要求、目的及硬件要求 (4)设计要求(数字电子钟的功能) (4)设计目的 (4)硬件要求 (4)3 设计原理 (5)4 系统设计 (7)系统的顶层图 (7)实验连线 (8)分、秒计数器模块 (8)小时计数器模块 (8)扬声器及彩灯声光报警模块 (11)时间数据扫描分时选择模块 (13)LED显示驱动功能 (14)5 数字电子钟VHDL文本 (15)6 系统调试与性能分析 (26)仿真波形 (26)下载及调试 (32)性能分析 (33)总结 (34)参考文献 (35)致谢 (36)1前言CPLD器件介绍CPLD复杂可编程逻辑器件,是由PAL和GAL器件发展出来的逻辑器件,相比之下它具有规模较大,结构较复杂的特点,属于大规模数字集成电路的范畴。
EDA课程设计报告之数字时钟设计(免费哦~)
计算机科学与技术学院EDA课程设计报告设计题目:数字时钟的设计班级:姓名:学号:日期:2011年6月20日一、系统设计要求1、具有时、分、秒的计数显示功能,24小时循环显示。
2、具有异步清零、预置初值功能,实现LED动态显示,整点报时采用声音报时,几点报几下。
3、采用元件例化方式实现各模块间的连接。
二、系统设计方案1、整个模块采用两个时钟,一个时钟的频率为一秒,用于程序秒的输入。
另一个时钟频率较高,用于七段显示器的选择端口三八译码器的输入时钟。
2、时分秒皆采用两个位的计数,一位代表十位,一位代表个位。
分秒为60进制,时为24进制。
个位逢九向十位进一,秒逢59向分进一,分逢59向时进一。
3、在小时的子程序里把两位小时数转换成一位数作为报时程序的输入。
三、主要VHDL源程序秒—底层LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY SECOND ISPORT (CLK1,R:IN STD_LOGIC;CO1:OUT STD_LOGIC;S0,S1:OUT STD_LOGIC_VECTOR(7 DOWNTO 0));END ;ARCHITECTURE XIA OF SECOND ISBEGINPROCESS(CLK1,R,SS0,SS1)VARIABLE SSS0,SSS1:STD_LOGIC_VECTOR(7 DOWNTO 0);BEGINIF R='1' THEN SSS0:="";SSS1:="";ELSIF CLK1'EVENT AND CLK1='1' THENIF SSS1="" AND SSS0=""THEN CO1<='1';SSS0:=""; SSS1:="";ELSIF SSS0="" THEN SSS0:="";SSS1:=SSS1+1;ELSE SSS0:=SSS0+1;CO1<='0';END IF;END IF;S0<=SSS0;S1<=SSS1;END PROCESS;END ;分—底层LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY MINUTE ISPORT (CLK2,R,S:IN STD_LOGIC;MM0,MM1:IN STD_LOGIC_VECTOR(3 DOWNTO 0);CO2:OUT STD_LOGIC;M0,M1:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));END ;ARCHITECTURE XIA OF MINUTE ISBEGINPROCESS(CLK2,R,S,MM0,MM1)VARIABLE MMM0,MMM1:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINIF R='1' THEN MMM0:="0000";MMM1:="0000";ELSIF S='1' THEN MMM0:=MM0;MMM1:=MM1;ELSIF CLK2'EVENT AND CLK2='1' THENIF MMM1="0101" AND MMM0="1001"THEN CO2<='1';MMM0:="0000"; MMM1:="0000";ELSIF MMM0="1001" THEN MMM0:="0000";MMM1:=MMM1+1;CO2<='0'; ELSE MMM0:=MMM0+1;CO2<='0';END IF;END IF;M0<=MMM0;M1<=MMM1;END PROCESS;END ;时—底层LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.std_logic_unsigned.all;ENTITY HOUR ISPORT (CLK3,R,S:IN STD_LOGIC;HH0:IN STD_LOGIC_VECTOR(3 DOWNTO 0);HH1:IN STD_LOGIC_VECTOR(1 DOWNTO 0);H0:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);H1:OUT STD_LOGIC_VECTOR(1 DOWNTO 0);NUMBER2:OUT STD_LOGIC_VECTOR(7 DOWNTO 0));END ;ARCHITECTURE XIA OF HOUR ISBEGINPROCESS(CLK3,R,S,HH0,HH1)VARIABLE HHH0:STD_LOGIC_VECTOR(3 DOWNTO 0);VARIABLE HHH1:STD_LOGIC_VECTOR(1 DOWNTO 0);VARIABLE NUMBER1,NUMBER0:STD_LOGIC_VECTOR(7 DOWNTO 0);BEGINIF R='1' THEN HHH0:="0000";HHH1:="00";ELSIF S='1' THEN HHH0:=HH0;HHH1:=HH1;ELSIF CLK3'EVENT AND CLK3='1' THENIF HHH0="0011" AND HHH1="10"THEN HHH0:="0000";HHH1:="00";ELSIF HHH0="1001" THEN HHH1:=HHH1+1;HHH0:="0000"; ELSE HHH0:=HHH0+1;END IF;END IF;H0<=HHH0;H1<=HHH1;IF HHH1="00" THEN NUMBER0:="";ELSIF HHH1="01" THEN NUMBER0:="";ELSIF HHH1="10" THEN NUMBER0:="";END IF;NUMBER1:=NUMBER0+HHH0;IF NUMBER1="" THEN NUMBER2<="";ELSIF NUMBER1>"" THEN NUMBER2<=NUMBER1-"";ELSE NUMBER2<=NUMBER1;END IF;END PROCESS;END ;报时—底层LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY RING ISPORT(CLK4,CLK5:IN STD_LOGIC;NUMBER:IN STD_LOGIC_VECTOR(7 DOWNTO 0);P:OUT STD_LOGIC);END;ARCHITECTURE ONE OF RING ISBEGINPROCESS(CLK4,CLK5,NUMBER)VARIABLE R:STD_LOGIC;VARIABLE TEX:STD_LOGIC_VECTOR(7 DOWNTO 0);BEGINIF CLK4='1' THENIF (NUMBER/=""AND TEX<NUMBER) THEN R:=CLK5;ELSE R:='0';END IF;IF CLK5'EVENT AND CLK5='1' THENIF TEX<NUMBER THENTEX:=TEX+1;END IF;END IF;ELSE TEX:="";END IF;P<=R;END PROCESS;END;显示—底层LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY dec7s ISPORT(a1,a2:IN STD_LOGIC_VECTOR(7 DOWNTO 0);a3,a4,a5:IN STD_LOGIC_VECTOR(3 DOWNTO 0); a6:IN STD_LOGIC_VECTOR(1 DOWNTO 0);led7s1,led7s2,led7s3,led7s4,led7s5,led7s6 :OUT STD_LOGIC_VECTOR(7 DOWNTO 0)); END;ARCHITECTURE one OF dec7s ISBEGINPROCESS(a1,a2,a3,a4,a5,a6)BEGINCASE a1 ISWHEN ""=>led7s1<="";WHEN ""=>led7s1<="";WHEN ""=>led7s1<="";WHEN ""=>led7s1<="";WHEN ""=>led7s1<="";WHEN ""=>led7s1<="";WHEN ""=>led7s1<="";WHEN ""=>led7s1<="";WHEN ""=>led7s1<="";WHEN ""=>led7s1<="";WHEN OTHERS=>led7s1<="";END CASE;CASE a2 ISWHEN ""=>led7s2<="";WHEN ""=>led7s2<="";WHEN ""=>led7s2<="";WHEN ""=>led7s2<="";WHEN ""=>led7s2<="";WHEN ""=>led7s2<="";WHEN ""=>led7s2<="";WHEN ""=>led7s2<="";WHEN ""=>led7s2<="";WHEN ""=>led7s2<="";WHEN OTHERS=>led7s2<="";END CASE;CASE a3 ISWHEN "0000"=>led7s3<="";WHEN "0001"=>led7s3<="";WHEN "0010"=>led7s3<="";WHEN "0011"=>led7s3<="";WHEN "0100"=>led7s3<="";WHEN "0101"=>led7s3<="";WHEN "0110"=>led7s3<="";WHEN "0111"=>led7s3<="";WHEN "1000"=>led7s3<="";WHEN "1001"=>led7s3<="";WHEN OTHERS=>led7s3<=""; END CASE;CASE a4 ISWHEN "0000"=>led7s4<="";WHEN "0001"=>led7s4<="";WHEN "0010"=>led7s4<="";WHEN "0011"=>led7s4<="";WHEN "0100"=>led7s4<="";WHEN "0101"=>led7s4<="";WHEN "0110"=>led7s4<="";WHEN "0111"=>led7s4<="";WHEN "1000"=>led7s4<="";WHEN "1001"=>led7s4<="";WHEN OTHERS=>led7s4<=""; END CASE;CASE a5 ISWHEN "0000"=>led7s5<="";WHEN "0001"=>led7s5<="";WHEN "0010"=>led7s5<="";WHEN "0011"=>led7s5<="";WHEN "0100"=>led7s5<="";WHEN "0101"=>led7s5<="";WHEN "0110"=>led7s5<="";WHEN "0111"=>led7s5<="";WHEN "1000"=>led7s5<="";WHEN "1001"=>led7s5<="";WHEN OTHERS=>led7s5<=""; END CASE;CASE a6 ISWHEN "00"=>led7s6<="";WHEN "01"=>led7s6<="";WHEN "10"=>led7s6<="";WHEN OTHERS=>led7s6<=""; END CASE;END PROCESS;END one;顶层LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY TOP ISPORT (CP,CLK,R0,S0:IN STD_LOGIC;SM0,SM1,SH0:IN STD_LOGIC_VECTOR(3 DOWNTO 0);SH1:IN STD_LOGIC_VECTOR(1 DOWNTO 0);SEL:OUT STD_LOGIC_VECTOR(2 DOWNTO 0);Y:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);PP:OUT STD_LOGIC);END;ARCHITECTURE XIA OF TOP ISSIGNAL Y0,Y1:STD_LOGIC_VECTOR(7 DOWNTO 0);SIGNAL Y2,Y3,Y4:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL Y5:STD_LOGIC_VECTOR(1 DOWNTO 0);SIGNAL YY6,YY1,YY2,YY3,YY4,YY5,YY7,PNUMBER:STD_LOGIC_VECTOR(7 DOWNTO 0); SIGNAL CO11,CO22:STD_LOGIC;component SECONDPORT (CLK1,R:IN STD_LOGIC;CO1:OUT STD_LOGIC;S0,S1:OUT STD_LOGIC_VECTOR(7 DOWNTO 0));end component;component MINUTEPORT (CLK2,R,S:IN STD_LOGIC;MM0,MM1:IN STD_LOGIC_VECTOR(3 DOWNTO 0);CO2:OUT STD_LOGIC;M0,M1:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));end component;component HOURPORT (CLK3,R,S:IN STD_LOGIC;HH0:IN STD_LOGIC_VECTOR(3 DOWNTO 0);HH1:IN STD_LOGIC_VECTOR(1 DOWNTO 0);H0:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);H1:OUT STD_LOGIC_VECTOR(1 DOWNTO 0);NUMBER2:OUT STD_LOGIC_VECTOR(7 DOWNTO 0));end component;component RINGPORT(CLK4,CLK5:IN STD_LOGIC;NUMBER:IN STD_LOGIC_VECTOR(7 DOWNTO 0);P:OUT STD_LOGIC);end component;component dec7sPORT(a1,a2:IN STD_LOGIC_VECTOR(7 DOWNTO 0);a3,a4,a5:IN STD_LOGIC_VECTOR(3 DOWNTO 0);a6:IN STD_LOGIC_VECTOR(1 DOWNTO 0);led7s1,led7s2,led7s3,led7s4,led7s5,led7s6:OUT STD_LOGIC_VECTOR(7 DOWNTO 0));end component;BEGINYY7<="";U1:SECOND PORT MAP(CLK1=>CLK,R=>R0,S0=>Y0,S1=>Y1,CO1=>CO11); U2:MINUTE PORT MAP(CLK2=>CO11,R=>R0,S=>S0,M0=>Y2,M1=>Y3,CO2=>CO22,MM0=>SM0,MM1=>SM1);U3:HOUR PORT MAP(CLK3=>CO22,R=>R0,S=>S0,H0=>Y4,H1=>Y5,HH0=>SH0,HH1=>SH1,NUMBER2=>PNUMBER);U4:RING PORT MAP(CLK4=>CO22,CLK5=>CLK,NUMBER=>PNUMBER,P=>PP); U5:dec7s PORT MAP(a1=>Y0,led7s1=>YY1,a2=>Y1,led7s2=>YY2,a3=>Y2,led7s3=>YY3,a4=>Y3,led7s4=>YY4,a5=>Y4,led7s5=>YY5,a6=>Y5,led7s6=>YY6);PROCESS(CP)VARIABLE SELL:STD_LOGIC_VECTOR(2 DOWNTO 0);BEGINIF CP'EVENT AND CP='1' THENIF SELL="111" THEN SELL:="000" ;ELSE SELL:=SELL+1;END IF;END IF;CASE SELL ISWHEN "000"=>Y<=YY1;WHEN "001"=>Y<=YY2;WHEN "010"=>Y<=YY3;WHEN "011"=>Y<=YY4;WHEN "100"=>Y<=YY5;WHEN "101"=>Y<=YY6;WHEN OTHERS=>Y<=YY7;END CASE;SEL<=SELL;END PROCESS;END;四、系统仿真/硬件验证五、设计中遇到的问题与体会自己想了哈。
EDA课程设计论文 24制数字钟数字钟设计.
EDA 课程设计报告书数字钟设计设计者指导老师:学号:专业班级: XXXXXXXXX 学院 201X.X.XX目录1. 摘要,关键字...............................................................3 2. 正文 (3)2.1设计任务及要求............................................................3 2.2方案选择与论证............................................................3 2.3方案的原理框图及其说明...................................................4 2.4硬件选择.....................................................................4 2.5系统设计详述...............................................................4 2.6系统仿真及分析............................................................ 6 2.7下载测试及分析............................................................9 2.8收获体会、存在问题和进一步的改进意见等 (10)3. 参考文献 (10)VHDL 语言实现数字电子钟的设计作者:xxx 指导老师:xxx (xx 大学xxxx 学院 xxx xxxx )[摘要]:随着基于PLD 的EDA 技术的发展和应用领域的扩大与深入,EDA 技术在电子信息、通信、自动控制及计算机应用等领域的重要性日益突出。
基于eda数字时钟设计课程设计论文本科论文
西安建筑科技大学课程设计(论文)任务书专业班级:学生姓名:指导教师(签名):一、课程设计(论文)题目数字时钟设计二、本次课程设计(论文)应达到的目的培养自己逻辑设计能力和采用EDA方法进行设计的思想。
三、本次课程设计(论文)任务的主要内容和要求(包括原始数据、技术参数、设计要求等)1.设计一个具有时,分,秒,计数显示功能并以24小时循环计时和清零,调节小时、分钟功能及整点报时功能,整点报时的同时LED灯花样显示的数字时钟。
2. 完成全部流程:设计规范文档、模块设计、代码输入、功能仿真、约束与综合、布局布线、时序仿真、下载验证等。
四、应收集的资料及主要参考文献[1]潘松.EDA技术与VHDL(第4版).北京:清华大学出版社,2013.80~86.[2]阎石.数字电子技术基础. 北京:高等教育出版社,1998.46~54.[3]谭会生.EDA技术及应用.西安:西安电子科技大学出版社,2001.187~196.[4]潘松,王国栋.基于EDA技术CPLD/FPGA应用前景.北京:清华大学出版社,1993.35~74.[5]邢建平,曾繁泰.VHDL程序设计教程.北京:清华大学出版社,2005.38~47.五、审核批准意见教研室主任(签字)摘要日常生活中数字时钟非常常见,而数字时钟设计的实现方法有很多种,比如可以用单片机实现,也可以通过画电路控制原理图实现。
但是本次课程设计利用EAD技术实现,利用QuartusII软件设计一个数字时钟,进行电路设计和仿真调试,实现了计时,校时,清零,显示和整点报时等多种基本功能,并下载到实验仪器进行调试和验证。
在本次课程设计的过程中,根据设计要求和所要达到的目的,利用QuartusⅡ软件成功仿真出了数字时钟的各个信号状态的波形,并且在得到仿真波形的同时给出了分析结果。
关键词:数字时钟,VHDL,QuartusⅡ,仿真波形AbstractDigital clock in daily life is very common, and the realization of digital clock design method has many kinds, such as can be achieved with a single chip, can also be achieved by drawing circuit control schematic. But the curriculum design using ead technology design, using Quartus II software to design a digital clock, and debug the circuit design and simulation, has realized the time, school, school, clear, keep and the whole point timekeeping and other basic functions, and download to experiment instrument testing and verification. In the curriculum design process, according to the design requirements and to achieve the purpose of, using Quartus II software simulation waveforms of the digital clock of each state of the signal lamp, and get waveform simulation and analysis result is given.Keywords:Digital clock, VHDL, Quartus II, simulation waveforms目录一.绪论 (1)二.数字时钟设计原理 (2)2.1 QuartusⅡ软件介绍 (2)2.2 数字时钟设计原理 (2)三.设计要求和目的 (3)3.1 设计要求 (3)3.2 设计目的 (3)四.电路设计方案分析 (4)4.1 数字时钟总体设计状态图 (4)4.2 数字时钟总设计电路图 (5)4.3 方案论证分析 (5)4.4 子模块电路设计原理 (5)4.4.1 时、分、秒计数显示电路原理 (6)4.4.2 数码管扫描片选驱动模块 (11)4.4.3 整点报时驱动电路 (14)4.4.4 按键抖动消除电路模块 (16)五. 综合仿真测试过程及结果 (18)5.1 全程综合与编译 (18)5.2 仿真测试 (18)5.3 仿真波形图 (19)六. 总结 (22)参考文献 (23)一.绪论人类社会已进入到高度发达的信息化社会。
本科毕业设计论文--eda课程设计报告多功能数字钟设计
湖北大学物电学院EDA课程设计报告(论文)题目:多功能数字钟设计专业班级: 14微电子科学与工程*名:**时间:2016年12月20日指导教师:万美琳卢仕完成日期:2015年12月20日多功能数字钟设计任务书1.设计目的与要求了解多功能数字钟的工作原理,加深利用EDA技术实现数字系统的理解2.设计内容1,能正常走时,时分秒各占2个数码管,时分秒之间用小时个位和分钟个位所在数码管的小数点隔开;2,能用按键调时调分;3,能整点报时,到达整点时,蜂鸣器响一秒;4,拓展功能:秒表,闹钟,闹钟可调3.编写设计报告写出设计的全过程,附上有关资料和图纸,有心得体会。
4.答辩在规定时间内,完成叙述并回答问题。
目录(四号仿宋_GB2312加粗居中)(空一行)1 引言 (1)2 总体设计方案 (1)2.1 设计思路 (1)2.2总体设计框图 (2)3设计原理分析 (3)3.1分频器 (4)3.2计时器和时间调节 (4)3.3秒表模块 (5)3.4状态机模块 (6)3.5数码管显示模块 (7)3.6顶层模块 (8)3.7管脚绑定和顶层原理图 (9)4 总结与体会 (11)多功能电子表摘要:本EDA课程主要利用QuartusII软件Verilog语言的基本运用设计一个多功能数字钟,进行试验设计和软件仿真调试,分别实现时分秒计时,闹钟闹铃,时分手动较时,时分秒清零,时间保持和整点报时等多种基本功能关键词:Verilog语言,多功能数字钟,数码管显示;1 引言QuartusII是Altera公司的综合性PLD/FPGA开发软件,支持原理图、VHDL、VerilogHDL 以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程,解决了传统硬件电路连线麻烦,出错率高且不易修改,很难控制成本的缺点。
利用软件电路设计连线方便,修改容易;电路结构清楚,功能一目了然2 总体设计方案2.1 设计思路根据系统设计的要求,系统设计采用自顶层向下的设计方法,由时钟分频部分,计时部分,按键调时部分,数码管显示部分,蜂鸣器四部分组成。
《多功能数字钟》EDA实验报告
《EDA课程设计》实验报告多功能数字钟姓名:学号:联系方式:成绩:1.摘要在当代,随着人类社会进入到高度发达的信息化社会。
信息技术的发展起着越来越大的作用,它几乎涉及到我们日常生活的每个领域,可以说要衡量一个当今社会的发展文明程度信息化技术的发展程度是一个非常重要的指标.众所周知,信息化社会的发展离不开电子信息技术产品的开发、产品品质的提高和改善。
电子信息产品随着科学技术的进步,其电子器件和设计方法更新、换代的速度快的惊人,几乎是日新月异。
然而实现这种进步的主要原因就是电子设计技术和电子制造技术的发展,其核心就是电子设计自动化(EDA,Electronics Design Automation)技术,EDA技术的发展和推广应用又极大地推动了电子信息产业的发展。
为保证电子系统设计的速度和质量,适应“第一时间推出产品”的设计要求,EDA技术正逐渐成为不可缺少的一项先进技术和重要工具。
目前,在国内电子技术教学和产业界的技术推广中已形成“EDA热”,完全可以说,掌握EDA技术是电子信息类专业学生、工程技术人员所必备的基本能力和技能。
由于基于PLD的EDA技术的发展和应用领域的扩大和深入,EDA技术在电子信息、通信、自动控制及计算机应用领域的重要性日益提高。
EDA技术在电子系统设计领域越来越普及,本设计主要利用VHDL语言在EDA平台上设计一个电子数字钟,它的计时为24小时小时制,显示满刻度为23时59分59秒,另外还具有校时功能和闹钟功能。
总的程序由几个各具不同功能的单元模块程序拼接而成,其中包括分频程序模块,时、分、秒计数和校时程序模块、数据选择器程序模块、显示程序模块和例化程序模块.并且使用QUARTUS II软件进行电路波形仿真,下载到EDA实验箱进行验证。
作为现在的大学生应熟练掌握这门技术,为以后的发展打下良好的基础,本实验设计是应用QuartusII环境及VHDL语言设计一个时间可调的数字时钟。
EDA多功能数字钟设计报告
江汉大学文理学院EDA课程设计报告课程设计题目多功能数字钟部(系)信息技术学部专业姓名学号指导教师2014年 12 月 29 日目录一、设计目的 (1)二、设计要求 (1)三、硬件方案 (1)3.1 设计思路 (1)3.2 设计框图 (2)3.3 数字钟主控电路状态表 (3)四、软件方案 (4)4.1 按键消抖模块 (4)4.2 时钟计数器模块 (5)4.3 显示译码模块 (13)4.4 分频器模块 (15)4.5 主控制电路模块 (16)4.5.1 计数器控制模块 (16)4.5.2 闹钟计数器模块 (19)4.5.3 闹钟控制模块 (21)4.5.4 显示输出控制模块 (25)4.5.5 led控制模块 (26)4.5.6 主控模块 (29)4.6 电子钟系统原理图 (29)五、实现过程中遇到的问题及措施 (30)六、设计心得体会 (30)七、参考文献 (31)一、设计目的本课程设计的目的是熟练掌握相关软件的使用和操作。
能对VHDL语言程序进行编译,调试,以及通过计算机仿真,得到正确的仿真波形图,并根据所得仿真波形图分析判断并改进所设计的电路。
在成功掌握软件操作基础上,将所数字电路的基础课知识与VHDL语言的应用型知识结合起来并与实际设计,操作了解起来,即“理论了解实际”。
深入了解VHDL语言的作用与价值,对用硬件语言设计一个电路系统开始具备一个较完整的思路与较专业的经验。
对EDA技术有初步的认识,并开始对EDA 技术的开发创新有初步的理解。
二、设计要求设计一个能进行时、分、秒计时的十二小时制或二十四小时制的数字钟,并具有定时与钟功能,能在设定的时间发出闹铃音,能非常方便地对小时、分钟和秒进行手动调节以校时间,每逢整点,产生报时音报时。
三、硬件方案3.1 设计思路根据设计要求进行分析,数字钟应当有计数器,分频器,按键消抖,闹钟,显示及主控模块构成。
分频器用来提供时钟,计数器用于计时,按键消抖为系统提供准确的按键控制信号输入,闹钟用于提供闹钟功能,显示模块显示时间,主控模块根据按键输入控制各个模块以实现所需求功能。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
湖北大学物电学院EDA课程设计报告(论文)题目:多功能数字钟设计专业班级: 14微电子科学与工程姓名:黄山时间:2016年12月20日指导教师:万美琳卢仕完成日期:2015年12月20日多功能数字钟设计任务书1.设计目的与要求了解多功能数字钟的工作原理,加深利用EDA技术实现数字系统的理解2.设计内容1,能正常走时,时分秒各占2个数码管,时分秒之间用小时个位和分钟个位所在数码管的小数点隔开;2,能用按键调时调分;3,能整点报时,到达整点时,蜂鸣器响一秒;4,拓展功能:秒表,闹钟,闹钟可调3.编写设计报告写出设计的全过程,附上有关资料和图纸,有心得体会。
4.答辩在规定时间内,完成叙述并回答问题。
目录(四号仿宋_GB2312加粗居中)(空一行)1 引言 (1)2 总体设计方案 (1)2.1 设计思路 (1)2.2总体设计框图 (2)3设计原理分析 (3)3.1分频器 (4)3.2计时器和时间调节 (4)3.3秒表模块 (5)3.4状态机模块 (6)3.5数码管显示模块 (7)3.6顶层模块 (8)3.7管脚绑定和顶层原理图 (9)4 总结与体会 (11)多功能电子表摘要:本EDA课程主要利用QuartusII软件Verilog语言的基本运用设计一个多功能数字钟,进行试验设计和软件仿真调试,分别实现时分秒计时,闹钟闹铃,时分手动较时,时分秒清零,时间保持和整点报时等多种基本功能关键词:Verilog语言,多功能数字钟,数码管显示;1 引言QuartusII是Altera公司的综合性PLD/FPGA开发软件,支持原理图、VHDL、VerilogHDL 以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程,解决了传统硬件电路连线麻烦,出错率高且不易修改,很难控制成本的缺点。
利用软件电路设计连线方便,修改容易;电路结构清楚,功能一目了然2 总体设计方案2.1 设计思路根据系统设计的要求,系统设计采用自顶层向下的设计方法,由时钟分频部分,计时部分,按键调时部分,数码管显示部分,蜂鸣器四部分组成。
这些模块在顶层原理图中相互连接作用3 设计原理分析3.1 分频器分频模块:将20Mhz晶振分频为1hz,100hz,1000hz分别用于计数模块,秒表模块,状态机模块module oclk(CLK,oclk,rst,clk_10,clk_100);input CLK,rst;output oclk,clk_10,clk_100;reg [32:0]cnt,cnt1,cnt2;reg oclk,clk_10,clk_100;always@(posedge CLK or negedge rst) beginif(!rst)begincnt<=0;oclk<=0;endelseif(cnt<10000-1)cnt<=cnt+1;elsebegincnt<=0;oclk=~oclk;endendalways@(posedge CLK or negedge rst) beginif(!rst)begincnt1<=0;clk_10<=0;endelseif(cnt1<=10000000-1)cnt1<=cnt1+1;elsebegincnt1<=0;clk_10<=~clk_10;endendalways@(posedge CLK or negedge rst)beginif(!rst)begincnt2<=0;clk_100<=0;endelseif(cnt2<100000-1)cnt2<=cnt2+1;elsebegincnt2<=0;clk_100=~clk_100;endendendmodule3.2计时器和时间调节计时模块:检测posedge clk_10 并进行计数,同时能调时调分,最后是整点报时部分module cni(clk_10,rst,tiaoshi,tiaofen,ge,shi,bai,qian,wan,shiwan,bee);input clk_10,rst,tiaoshi,tiaofen;output reg[3:0]ge,shi,bai,qian,wan,shiwan,bee;always@(posedge clk_10 or negedge rst)beginif(!rst)beginge<=0;shi<=0;bai<=0;qian<=0;wan<=0;shiwan<=0;endelsebeginif((!tiaofen)&&(bai<9))bai<=bai+1;else beginif((!tiaofen)&&(qian<5))begin bai<=0;qian<=qian+1;endif((!tiaoshi)&&(wan<9))wan<=wan+1;else beginif((!tiaoshi)&&(shiwan<2))begin wan<=0;shiwan<=shiwan+1;endelse beginif((shiwan==2)&&(wan==4))begin ge<=0;shi<=0;bai<=0;qian<=0;wan<=0;shiwan<=0;end if(ge<9)ge<=ge+1;elsebeginge<=0;if(shi<5)shi<=shi+1;elsebeginshi<=0;if(bai<9)bai<=bai+1;elsebeginbai<=0;if(qian<5)qian<=qian+1;elsebeginqian<=0;if(wan<3)wan<=wan+1;elsebeginwan<=0;if(shiwan<2)shiwan<=shiwan+1;elseshiwan<=0;endendendendendendendendendendalways@(posedge clk_10)beginif((ge==0)&&(shi==0)&&(bai==0)&&(qian==0))bee=0;elsebee=1;endendmodule3.3秒表模块与计时部分类似,总体思想是调整进制和提高信号频率,如下module miaobiao(clk_100,tm,m6,m5,m4,m3,m2,m1);input tm,clk_100;output m6,m5,m4,m3,m2,m1; reg [3:0] m6,m5,m4,m3,m2,m1; always@(posedge clk_100 ) beginif (tm)beginm6<=0;m5<=0;m4<=0;m3<=0;m2<=0;m1<=0;endelsebeginif(m1<9)m1<=m1+1;elsebeginm1<=0;if(m2<9)m2<=m2+1;elsebeginm2<=0;if(m3<9)m3<=m3+1;elsebeginm3<=0;if(m4<9)m4<=m4+1;elsebeginm4<=0;if(m5<9)m5<=m5+1;elsebeginm5<=0;if(m6<9)m6<=m6+1;elsem6<=0;endendendendendendendendmodule3.4状态机模块一般通过逻辑抽象,得出状态转换图,状态化简,状态分配,用三段式写法入下modulestate(clk1k,rst,tm,num,wela,ge,shi,bai,qian,wan,shiwan,m6,m5,m4,m3,m2,m1);input clk1k,rst,tm,ge,shi,bai,qian,wan,shiwan,m6,m5,m4,m3,m2,m1;output num,wela;wire [3:0]ge,shi,bai,qian,wan,shiwan,m6,m5,m4,m3,m2,m1;reg [3:0]num;reg [5:0]wela;reg [3:0]current_state,next_state;parameter[3:0]D1=1;parameter[3:0]D2=2;parameter[3:0]D3=3;parameter[3:0]D4=4;parameter[3:0]D5=5;parameter[3:0]D6=6;parameter[3:0]D01=7;parameter[3:0]D02=8;parameter[3:0]D03=9;parameter[3:0]D04=10;parameter[3:0]D05=11;parameter[3:0]D06=12;always@(posedge clk1k or negedge rst) beginif(!rst)current_state<=D1;elsecurrent_state<=next_state;endalways@(current_state )beginif(tm==0)begincase(current_state)D1:beginnum=m1;wela=6'b111110;if(clk1k)next_state=D01;elsenext_state=D1;endD01:beginnum=12;wela=6'b1111101;if(clk1k)next_state=D2; elsenext_state=D01;endD2:beginnum=m2;wela=6'b111101; if(clk1k)next_state=D02; elsenext_state=D2;endD02:beginnum=12;wela=6'b111011; if(clk1k)next_state=D3; elsenext_state=D02;endD3:beginnum=m3;wela=6'b111011; if(clk1k)next_state=D03; elsenext_state=D3;endD03:beginnum=12;wela=6'b110111; if(clk1k)next_state=D4; elsenext_state=D03;endD4:beginnum=m4;wela=6'b110111; if(clk1k)next_state=D04; elsenext_state=D4;endD04:beginnum=12;wela=6'b101111; if(clk1k)next_state=D5; elsenext_state=D04;endD5:beginnum=m5;wela=6'b101111; if(clk1k)next_state=D6; elsenext_state=D05;endD05:beginnum=12;wela=6'b011111;if(clk1k)next_state=D6;elsenext_state=D05;endD6:beginnum=m6;wela=6'b011111;if(clk1k)next_state=D06;elsenext_state=D6;endD06:beginnum=12;wela=6'b111110;if(clk1k)next_state=D1;elsenext_state=D06;endendcaseendelsebegincase(current_state)D1:begin num=ge;wela=6'b111110;if(clk1k)next_state=D01;elsenext_state=D1;endD01:begin num=15;wela=6'b111101;if(clk1k)next_state=D2;elsenext_state=D01;endD2:begin num=shi;wela=6'b111101;if(clk1k)next_state=D02;elsenext_state=D2;endD02:begin num=15;wela=6'b111011;if(clk1k)next_state=D3;elsenext_state=D02;endD3:begin num=bai;wela=6'b111011;if(clk1k)next_state=D03;elsenext_state=D3;endD03:begin num=15;wela=6'b110111;if(clk1k)next_state=D4;elsenext_state=D03;endD4:begin num=qian;wela=6'b110111;if(clk1k)next_state=D04;elsenext_state=D4;endD04:begin num=15;wela=6'b101111;if(clk1k)next_state=D5;elsenext_state=D04;endD5:begin num=wan;wela=6'b101111;if(clk1k)next_state=D05;elsenext_state=D5;endD05:begin num=15;wela=6'b011111;if(clk1k)next_state=D6;elsenext_state=D05;endD6:begin num=shiwan;wela=6'b011111;if(clk1k)next_state=D06;elsenext_state=D6;endD06:begin num=15;wela=6'b111110;if(clk1k)next_state=D1;elsenext_state=D06;enddefault: next_state=D1;endcaseendendendmodule3.5数码管显示模块module SEG7(num,wela,SEG);input [3:0]num;input [5:0]wela;output SEG;reg [7:0]SEG;always@(num)beginif((wela==6'b111011)||(wela==6'b101111))begincase(num)0:SEG=8'b01000000;1:SEG=8'b01111001;2:SEG=8'b00100100;3:SEG=8'b00110000;4:SEG=8'b00011001;5:SEG=8'b00010010;6:SEG=8'b00000010;7:SEG=8'b01111000;8:SEG=8'b00000000;9:SEG=8'b00011000;default:SEG =8'b11111111;endcaseendelsebegincase(num)0:SEG=8'b11000000;1:SEG=8'b11111001;2:SEG=8'b10100100;3:SEG=8'b10110000;4:SEG=8'b10011001;5:SEG=8'b10010010;6:SEG=8'b10000010;7:SEG=8'b11111000;8:SEG=8'b10000000;9:SEG=8'b10011000;default:SEG =8'b11111111;endcaseendendendmodule3.6顶层模块所有模块通过元件例化进顶层模块module clock(tm,clk,rst,tiaoshi,tiaofen,wela,SEG,bee);input clk,rst,tiaoshi,tiaofen,tm;output [5:0]wela;output [7:0]SEG;output bee;wire net1;wire net9;wire net10;wire [3:0]net2;wire [3:0]net3;wire [3:0]net4;wire [3:0]net5;wire [3:0]net6;wire [3:0]net7;wire [3:0]net8;wire [3:0]m6,m5,m4,m3,m2,m1;oclk u1(.CLK(clk),.oclk(net1),.rst(rst),.clk_10(net9),.clk_100(net10));stateu2(.clk1k(net1),.rst(rst),.num(net2),.tm(tm),.wela(wela),.ge(net3),.shi(net4),.bai(net5 ),.qian(net6),.wan(net7),.shiwan(net8),.m6(m6),.m5(m5),.m4(m4),.m3(m3),.m2(m2), .m1(m1));SEG7 u3(.num(net2),.wela(wela),.SEG(SEG));cniu4(.clk_10(net9),.rst(rst),.tiaoshi(tiaoshi),.tiaofen(tiaofen),.ge(net3),.shi(net4),.bai(ne t5),.qian(net6),.wan(net7),.shiwan(net8),.bee(bee));miaobiaou5(.tm(tm),.clk_100(net10),.m6(m6),.m5(m5),.m4(m4),.m3(m3),.m2(m2),.m1(m1));endmodule3.7管脚绑定和顶层原理4总结与体会通过学习,我对多功能数字钟已经有过一定的了解,对于程序,不断的调试仿真过程是必不可少的,无论多么仔细的编程,思路上的漏洞总是存在的,并且会完全体现在实验结果上,在不断的调试仿真过程中,许多问题的暴露使得我们不仅对数字电路原理有了更加深刻的了解也使我们对QuartusII平台的使用规则有了更多的了解。