EDA课程设计-万年历电子钟的设计

合集下载

eda数字钟的设计课程设计

eda数字钟的设计课程设计

eda数字钟的设计课程设计一、课程目标知识目标:1. 让学生掌握EDA技术的基本原理和应用;2. 使学生了解数字时钟的工作原理,掌握其设计方法;3. 帮助学生理解数字电路的基本组成,掌握常用数字电路元件的功能和使用方法。

技能目标:1. 培养学生运用EDA软件进行数字电路设计的能力;2. 提高学生动手实践能力,能够独立完成数字钟的搭建和调试;3. 培养学生分析问题和解决问题的能力,学会运用所学知识解决实际工程问题。

情感态度价值观目标:1. 激发学生对电子工程领域的兴趣,培养其探索精神和创新意识;2. 培养学生良好的团队合作精神和沟通能力,学会在团队中发挥个人作用;3. 培养学生具备严谨的科学态度,注重实践操作的安全性和环保意识。

分析课程性质、学生特点和教学要求,本课程旨在通过数字钟的设计与实现,使学生在掌握基本理论知识的基础上,提高实践操作能力和创新设计能力。

课程目标具体、可衡量,便于学生和教师在教学过程中明确预期成果,为后续的教学设计和评估提供依据。

二、教学内容本课程教学内容主要包括以下三个方面:1. EDA技术基本原理:- EDA软件的使用方法与操作流程;- 常用数字电路元件的原理与功能;- 数字电路设计的基本步骤和技巧。

2. 数字时钟工作原理与设计方法:- 数字时钟的基本组成和各部分功能;- 时钟信号的产生、分频和计数原理;- 数字钟电路图设计及仿真分析。

3. 实践操作与调试:- 数字钟电路的搭建与连接;- 调试过程中故障分析与解决;- 数字钟功能测试与性能优化。

教学内容根据课程目标制定,具有科学性和系统性。

教学大纲明确,教学内容安排和进度如下:1. EDA技术基本原理(2课时)2. 数字时钟工作原理与设计方法(3课时)3. 实践操作与调试(4课时)教学内容与教材章节关联紧密,确保学生能够将所学理论知识与实际操作相结合,提高综合运用能力。

三、教学方法针对本课程的教学目标和学生特点,采用以下多样化的教学方法:1. 讲授法:教师通过PPT、板书等形式,系统讲解EDA技术基本原理、数字时钟工作原理与设计方法等理论知识。

基于EDA的万年历

基于EDA的万年历

目录一、设计总体思路1.1课程设计内容-------------------------------------------------1 1.2课程设计要求-------------------------------------------------1 1.3课程设计的意义----------------------------------------------2 1.4设计总体思路-------------------------------------------------2 1.5设计框图-------------------------------------------------------3 二单元电路设计2.1天模块----------------------------------------------------------4 2.2月模块----------------------------------------------------------5 2.3年模块. ---------------------------------------------------------7 2.4星期模块-------------------------------------------------------8 2.5提醒模块-------------------------------------------------------9 2.6控制模块------------------------------------------------------102.7显示模块------------------------------------------------------11三、总电路设计--------------------------------------------------13四、电路调试----------------------------------------------------14五、设计调试总结与体会--------------------------------------16六、附录-----------------------------------------------------------17七、参考文献-----------------------------------------------------18 附:课程设计评分表一、设计总体思路1.1设计总体内容用FPGA为核心器件,用VHDL为设计手段设计制作一个具有大小月份自动调节和闰年补偿功能的数字日历,具体设计要求如下:1、用7个数码管从左到右分别显示年(后两位)、月、日和星期;星期与日之间隔开一位。

基于-EDA的万年历设计

基于-EDA的万年历设计

《EDA技术及其应用》实验报告万年历设计班级姓名学号摘要21世纪是信息爆炸的时代,生活的节奏越来越快,大家的时间观念越来越强,但是老式的钟表以及日历等时间显示工具已经不太合适。

如钟表易坏,需经常维修,日历每天都需要翻页等。

对此,数字万年历的设计就用了用武之地。

基于DEA的万年历设计,采用软件开发模块,开发成本底,而且功能设计上有很大的灵活度,需要在软件上进行简单的修该就能实现不同的功能要求,能够满足不同的环境要求。

同时,该设计在精度上远远超过钟表,并且不需要维修,也不用没天的翻页,极其的方便。

且能够添加各种不同的功能要求。

例如:在其上加闹钟,同时显示阴阳历等。

综上所述本设计具有设计方便、功能多样、电路简洁成本低廉等优点,符合社会发展的趋势,前景广阔。

基于EDA的万年历设计,主要完成的任务是使用VHDL语言,在QuartusII 上完成电路的设计,程序的开发,基本功能是能够显示、修改年、月、日、时、分、秒。

电路的设计模块分为几个模块:控制、时间显示调整、时、分、年、月、日各模块。

各个模块完成不同的任务,合在一起就构成了万年历。

软件模块直接在QuartusII上进行,使用VHDL语言,根据各个模块的不同功能和它们之间的控制关系进行编写。

关键字:万年历;EDA;仿真;VHDL;QuartusIIAbstractThe 21st century is the era of information explosion, the pace of life is more and more quick, everyone's concept of time is more and more strong. But the old clock and calendar time displaytools are not very suitable. To this, the design of digital calendar is very useful.Based on DEA perpetual calendar design, the software development cost low and the function design is of great nimbleness. At the same time, the design is more correct than clocks and watches, and don't need to be maintained.And you can add all sorts of different functional requirements. The perpetual calendar based on EDA design, the main task is to use VHDL language to plete circuit design, program development in the QuartusII. Basic function is to display, modify, year, month, day, points, The design of the circuit module can be divided into several modules: control, time display adjustment,, points, year, month, day each module. Each module plete different tasks, and they form a perpetual calendar. Write the program according to the different function of each module and the relationship between them.目录摘要 (2)第一章 EDA技术简介 (5)1.1 EDA技术的发展概况 (5)1.2 EDA技术的基本特征 (5)1.2.1“自顶向下”的设计方法 (5)1.2.2高层次设计 (6)第二章工作原理 (6)2.1任务概述 (6)2.2系统设计思路 (6)2.3系统原理图 (6)2.4工作过程 (7)第三章设计过程 (8)3.1各子模块的VHDL程序以及时序仿真 (8)3.1.1秒/分计时模块 (8)3.1.2时计时模块 (10)3.1.3天计时模块 (11)3.1.4月计时模块 (14)3.1.5年低位计时模块 (17)3.1.6年高位计时模块 (19)3.1.7调时模块 (20)3.1.8控制显示模块 (23)3.2引脚绑定 (25)3.3下载验证 (27)3.3.1模式三的电路图 (27)3.3.2显示输出 (28)总结 (29)参考文献 (29)第一章 EDA技术简介EDA(Electronic Design Automation),即电子设计自动化,是指利用计算机完成电子系统的设计。

电子钟eda课程设计

电子钟eda课程设计

电子钟eda课程设计一、课程目标知识目标:1. 学生理解电子钟的基本工作原理,掌握EDA工具的使用方法;2. 学生掌握数字电路设计的基本流程,能运用Verilog HDL语言进行简单电子时钟的设计;3. 学生了解电子时钟各模块的功能,如分频器、计数器、显示驱动等。

技能目标:1. 学生能运用EDA工具进行电子时钟的原理图绘制、仿真和布局布线;2. 学生通过实际操作,提高动手能力,培养解决问题的能力;3. 学生能够进行小组合作,进行项目分工与协作,培养团队协作能力。

情感态度价值观目标:1. 学生培养对电子技术的兴趣,激发学习热情,形成积极的学习态度;2. 学生通过课程学习,认识到科技对社会发展的作用,培养创新精神和责任感;3. 学生在课程实践中,学会尊重事实,严谨求实,树立正确的价值观。

课程性质:本课程为实践性较强的电子技术课程,结合学生特点和教学要求,注重理论与实践相结合,培养学生实际操作能力和团队协作能力。

学生特点:学生具有一定的电子技术基础和编程能力,对实际操作有较高的兴趣,喜欢探索新知识。

教学要求:课程要求学生在掌握基本理论知识的基础上,注重实践操作,通过项目实践提高综合运用所学知识解决实际问题的能力。

教师需引导学生主动参与,鼓励学生提问和思考,以实现课程目标。

二、教学内容1. 电子钟原理概述:讲解电子钟的基本工作原理,包括晶振振荡器、分频器、计数器、显示驱动等模块的功能和相互关系。

教材章节:第一章 电子时钟概述2. EDA工具使用:介绍EDA工具的基本操作,如原理图绘制、仿真、PCB布局布线等。

教材章节:第二章 EDA工具使用3. Verilog HDL语言基础:讲解Verilog HDL的基本语法和编程方法,为后续电子时钟设计奠定基础。

教材章节:第三章 Verilog HDL语言基础4. 电子时钟设计与实现:引导学生运用所学知识,进行电子时钟的原理图设计、仿真、编程、调试等。

教材章节:第四章 电子时钟设计与实现5. 课程实践:组织学生进行小组项目实践,分工合作完成电子时钟的设计与制作。

EDA课程设计-万年历电子钟的设计

EDA课程设计-万年历电子钟的设计

EDA课程设计■万年历电子钟的设计作者: 日期:课程设计(论文)任务书信息工程学院________ 学院通信工程专业___________ 2009.2 __________ 班一、______________________________________________________________________________ 课程设计(论文)题目电子钟设计 ___________________________________________________________二、课程设计(论文)工作自2012年1月_3_ 日起至2012 年1月_6 ____________ 日止。

三、___________________________________________________________________________________ 课程设计(论文)地点:华东交通大学4-410,图书馆___________________________________________ 四、课程设计(论文)内容要求:1本课程设计的目的(1)掌握EDA技术及CPLD/FPGA的开发流程;(2)掌握自顶向下的设计思想;(3)掌握实用电子钟的设计原理;(4)掌握系统设计的分析方法;(5)提高学生的科技论文写作能力。

2 •课程设计的任务及要求1) 基本要求:(1)用HDL设计一个多功能数字钟,包含以下主要功能:精确计时,时间可以24 小时制或12 小时制显示;(2)日历:显示年月日星期;(3)能把设计文件进行仿真并下载到实验箱实现功能验证。

2) 创新要求:在基本要求达到后,可进行创新设计,如增加报时等、秒表功能模块。

3) 课程设计论文编写要求(1)要按照书稿的规格打印誊写论文(2)论文包括目录、绪论、正文、小结、参考文献、谢辞、附录等(3)论文装订按学校的统一要求完成4) 答辩与评分标准:(1 )完成系统分析:20分;(2 )完成设计过程:20分;(3)完成仿真:10分;(4)完成下载:10分(5)回答问题:10分。

eda课程设计数字钟设计

eda课程设计数字钟设计

eda课程设计数字钟设计一、课程目标知识目标:1. 学生能理解EDA(电子设计自动化)的基本概念,掌握数字钟的基本原理和设计流程。

2. 学生能描述数字钟的各个模块功能,如计时、显示、调整等,并理解它们之间的协同工作方式。

3. 学生掌握Verilog等硬件描述语言的基本语法,能够利用EDA工具进行基本的数字电路设计和仿真。

技能目标:1. 学生能够运用所学知识,使用EDA工具设计简单的数字时钟电路,并进行功能仿真。

2. 学生通过小组合作,培养团队协作能力和问题解决能力,提高工程实践和项目管理的初步技能。

3. 学生能够运用批判性思维分析设计过程中的问题,提出优化方案,并对设计方案进行改进。

情感态度价值观目标:1. 学生通过数字钟的设计实践,培养对电子工程领域的兴趣和探究精神,激发创新意识和创造潜能。

2. 学生在学习过程中,形成严谨的科学态度和良好的工程意识,认识到技术对日常生活的影响。

3. 学生在小组合作中,学会相互尊重和沟通,培养积极向上的团队精神,增强集体荣誉感。

课程性质分析:本课程为实践性较强的电子设计课程,要求学生将理论知识与实际操作相结合,通过动手实践,深化对电子设计自动化原理的理解。

学生特点分析:针对高中年级学生,已有一定的电子基础和逻辑思维能力,对新鲜事物充满好奇心,具备自主学习的能力。

教学要求:课程要求教师通过引导和启发,帮助学生将抽象的理论具体化,通过项目式的教学方法,使学生能够将所学知识应用于实际问题的解决中。

二、教学内容本课程教学内容围绕数字钟设计的全过程,分为以下三个部分:1. 理论知识学习:- 电子设计自动化(EDA)基本概念与原理;- 数字时钟的组成、工作原理及各模块功能;- Verilog硬件描述语言的基本语法及使用方法;- 相关电子元器件的特性和应用。

2. 实践操作部分:- 使用EDA工具(如ModelSim、Quartus等)进行基本操作;- 设计数字钟的各个模块,并进行功能仿真;- 对设计过程中出现的问题进行分析,提出优化方案;- 完成数字钟整体设计与调试。

eda数字电子钟课程设计

eda数字电子钟课程设计

eda数字电子钟课程设计一、课程目标知识目标:1. 让学生理解数字电子时钟的基本原理,掌握EDA技术及其在数字电子时钟中的应用。

2. 使学生掌握数字电子时钟的设计流程,包括硬件设计、软件编程及系统调试。

3. 让学生掌握时钟信号的产生、计数、显示等模块的工作原理和电路设计。

技能目标:1. 培养学生运用EDA工具(如Protel、Multisim等)进行电路设计与仿真测试的能力。

2. 培养学生具备编程和调试数字电子时钟程序的基本技能,提高实际动手操作能力。

3. 培养学生团队协作、沟通表达、问题分析和解决的能力。

情感态度价值观目标:1. 培养学生对电子工程学科的兴趣,激发学生学习热情,形成积极的学习态度。

2. 培养学生具有创新意识和实践精神,鼓励学生勇于尝试,不断优化设计方案。

3. 培养学生关注社会发展,了解电子产品在生活中的应用,提高社会责任感和使命感。

分析课程性质、学生特点和教学要求,本课程目标将分解为以下具体学习成果:1. 学生能够独立完成数字电子时钟的电路设计和程序编写。

2. 学生能够运用EDA工具进行电路仿真测试,分析并解决设计中出现的问题。

3. 学生能够以团队形式进行项目汇报,展示设计成果,接受提问并给予解答。

4. 学生通过课程学习,提升对电子工程的兴趣,树立正确的价值观和人生观。

二、教学内容根据课程目标,本章节教学内容主要包括以下三个方面:1. 数字电子时钟原理及EDA技术概述- 时钟信号的产生与计数原理- 数字电子时钟的组成与工作原理- EDA技术简介及其在数字电子时钟设计中的应用2. 数字电子时钟设计与实现- 硬件设计:时钟信号电路、计数器电路、显示电路等- 软件编程:基于单片机的程序编写,实现时钟功能- 系统调试:电路测试、程序调试及优化3. 教学实践与项目汇报- 实践操作:运用EDA工具进行电路设计与仿真测试- 项目实施:分组进行数字电子时钟设计,培养学生的团队协作能力- 项目汇报:展示设计成果,锻炼学生的沟通表达和问题分析解决能力教学内容安排和进度如下:1. 第一周:数字电子时钟原理及EDA技术概述2. 第二周:硬件设计与软件编程基础3. 第三周:系统调试与优化4. 第四周:实践操作与项目实施5. 第五周:项目汇报与评价教学内容与教材章节关联如下:1. 《电子技术基础》第三章:数字电路基础2. 《单片机原理与应用》第四章:单片机程序设计3. 《EDA技术及应用》第二章:EDA工具使用与电路设计实例三、教学方法针对本章节内容,采用以下多样化的教学方法,以激发学生的学习兴趣和主动性:1. 讲授法:用于对基本原理和概念进行系统讲解,如数字电子时钟的工作原理、EDA技术概述等。

EDA课程设计_数字时钟(闹钟)

EDA课程设计_数字时钟(闹钟)

课程设计说明书题目:闹钟学院(系):年级专业:学号:学生姓名:指导教师:教师职称:目录第1章摘要 (1)第2章设计方案……………………………………………………………………………2.1 VHDL简介……………………………………………………………………………2.2 设计思路……………………………………………………………………………第3章模块介绍……………………………………………………………………………第4章 Verilog HDL设计源程序…………………………………………………………第5章波形仿真图…………………………………………………………………………第6章管脚锁定及硬件连线………………………………………………………………心得体会 (17)参考文献 (18)第一章摘要在当今社会,数字电路产品的应用在我们的实际生活中显得越来越重要,与我们的生活联系愈加紧密,例如计算机、仪表、电子钟等等,使我们的生活工作较以前的方式更加方便、完善,带来了很多的益处。

在此次EDA课程,我的设计课题是闹钟,使用VHDL语言进行编程完成。

报告书主要由设计方案、模块介绍、设计源程序、仿真波形图和管脚锁定及硬件连线四部分组成。

设计方案主要介绍了我对于设计课题的大致设计思路,之后各个部分将会详细介绍设计组成及程序。

第二章设计方案§2.1 VHDL简介数字电路主要是基于两个信号(我们可以简单的说是有电压和无电压),用数字信号完成对数字量进行算术运算和逻辑运算的电路我们称之为数字电路,它具有逻辑运算和逻辑处理等功能,数字电路可分为组合逻辑电路和时序逻辑电路。

EDA技术,就是以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,以计算机、大规模可编程逻辑器件的开发软件及实验开发系统为设计工具,通过有关的开发软件,自动完成用软件的方式设计的电子系统到硬件系统的逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、逻辑布局布线、逻辑仿真,直至完成对于特定目标芯片的适配编译、逻辑映射、编程下载等工作,最终形成集成电子系统或专用集成芯片的一门新技术。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

EDA课程设计-万年历电子钟的设计————————————————————————————————作者:————————————————————————————————日期:课程设计(论文)任务书信息工程学院学院通信工程专业2009.2 班一、课程设计(论文)题目电子钟设计二、课程设计(论文)工作自2012年1月 3日起至 2012 年 1月 6 日止。

三、课程设计(论文) 地点: 华东交通大学4-410,图书馆四、课程设计(论文)内容要求:1.本课程设计的目的(1)掌握EDA技术及CPLD/FPGA的开发流程;(2)掌握自顶向下的设计思想;(3)掌握实用电子钟的设计原理;(4)掌握系统设计的分析方法;(5)提高学生的科技论文写作能力。

2.课程设计的任务及要求1)基本要求:(1)用HDL设计一个多功能数字钟,包含以下主要功能:精确计时,时间可以24小时制或12小时制显示;(2)日历:显示年月日星期;(3)能把设计文件进行仿真并下载到实验箱实现功能验证。

2)创新要求:在基本要求达到后,可进行创新设计,如增加报时等、秒表功能模块。

3)课程设计论文编写要求(1)要按照书稿的规格打印誊写论文(2)论文包括目录、绪论、正文、小结、参考文献、谢辞、附录等(3)论文装订按学校的统一要求完成4)答辩与评分标准:(1)完成系统分析:20分;(2)完成设计过程:20分;(3)完成仿真:10分;(4)完成下载:10分(5)回答问题:10分。

5)参考文献:(1)潘松,黄继业编著 .《EDA技术实用教程》,2005 ,科学出版社(2)徐志军,徐光辉编著.《CPLD/FPGA的开发与应用》,电子工业出版社,2001.1(3)/html/85/t-113885.html6)课程设计进度安排内容天数地点构思及收集资料1图书馆设计与调试3实验室撰写论文1图书馆、实验室学生签名:年月日课程设计(论文)评审意见(1)设计程序(40分):优()、良()、中()、一般()、差();(2)仿真结果(10分):优()、良()、中()、一般()、差();(3)下载结果(10分):优()、良()、中()、一般()、差();(4)回答问题(10分):优()、良()、中()、一般()、差();(5)报告成绩(30分):优()、良()、中()、一般()、差();(6)格式规范性及考勤是否降等级:是()、否()评阅人:职称:年月日电子钟的设计摘要基于FPGA的电子钟设计,主要完成的任务是使用Verilog语音,在Quartise2上完成电路的设计,程序的开发,基本功能是能够显示、修改年月日时分秒。

电路的设计模块分为几个模块:分频、控制、时间显示调整、时分、年月日、译码器。

各个模块完成不同的任务,合在一起就构成了电子钟。

至于程序编写,使用Verilog语言,根据各个模块的不同功能和它们之间的控制关系进行编写。

软件模块直接在Quartis2上进行。

进入信息时代,时间观念越来越强,但是老是的钟表以及日历等时间显示工具已经不太合适。

如钟表易坏,需经常维修,日历每天都需要翻页等。

对此,数字钟表的设计就用了用武之地。

基于FPGA的电子钟设计,采用软件开发模块,开发成本底,而且功能设计上有很大的灵活度,需要在软件上进行简单的修该就能实现不同的功能要求,能够满足不同的环境要求。

同时,该设计在精度上远远超过钟表,并且不需要维修,也不用没天的翻页,极其的方便。

且能够添加各种不同的功能要求。

例如:在其上加闹钟,同时显示阴阳历等。

综上所述本设计具有设计方便、功能多样、电路简洁成本低廉等优点,符合社会发展的趋势,前景广阔。

关键字:电子钟;FPGA;仿真;verilog;QuartusII目录摘要 (3)第一章绪论 (5)1.1电子钟的发展 (7)1.2 FPGA简介 (7)第二章电子钟设计原理 (8)2.1 组成模块 (8)2.2 电子钟的工作原理图 (8)第三章电子钟系统部分程序设计与仿真 (10)3.1时分秒模块代码与仿真 (10)3.2年月日模块代码与仿真 (13)3.3具体的电路图 (15)谢辞 (15)参考文献 (17)附录 (18)第一章绪论1.1电子钟的发展钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能,诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、定时启闭路灯等。

所有这些,都是以钟表数字化为基础的。

因此,研究电子万年历及扩大其应用,有非常现实的意义。

数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,因此得到了广泛的使用。

电子万年历从原理上讲是一种典型的数字电路,其中包括了组合逻辑电路和时序电路。

因此,我们此次设计与制做电子万年历就是为了了解数字钟的原理,从而学会制作数字钟。

而且通过万年历的制作进一步了解各种在制作中用到的中小规模集成电路的作用及使用方法,且由于电子万年历包括组合逻辑电路和时序电路,通过它可以进一步学习与掌握各种组合逻辑电路与时序电路的原理与使用方法。

1.2 FPGA简介FPGA是现场可编程门阵列(Field programmable gates array)的英文简称。

是有可编程逻辑模块组成的数字集成电路(IC)。

这些逻辑模块之间用可配置的互联资源。

设计者可以对这些器件进行编程来完成各种各样的任务PLD/FPGA是近几年集成电路中发展最快的产品。

由于PLD性能的高速发展以及设计人员自身能力的提高,可编程逻辑器件供应商将进一步扩大可编程芯片的领地,将复杂的专用芯片挤向高端和超复杂应用。

据IC Insights的数据显示,PLD市场从1999年的29亿美元增长到去年的56亿美元,几乎翻了一番。

Matas预计这种高速增长局面以后很难出现,但可编程逻辑器件依然是集成电路中最具活力和前途的产业。

复杂可编程逻辑器件。

可编程逻辑器件的两种主要类型是现场可编程门阵列(FPGA)和复杂可编程逻辑(CPLD)。

在这两类可编程逻辑器件中,FPGA提供了最高的逻辑密度、最丰富的特性和最高的性能。

现在最新的FPGA器件,如Xilinx Virtex"系列中的部分器件,可提供八百万"系统门"(相对逻辑密度)。

这些先进的器件还提供诸如内建的硬连线处理器(如IBM Power PC)、大容量存储器、时钟管理系统等特性,并支持多种最新的超快速器件至器件(device-to-device)信号技术。

FPGA被应用于范围广泛的应用中,从数据处理和存储,以及到仪器仪表、电信和数字信号处理等。

第二章电子钟设计原理2.1 组成模块此电子钟系统主要由一下几个模块组成:1.控制模块 :该模块实现对各个功能模块的整体控制,对时间显示与调整、日期显示与调整,由使用者决定是显示日期还是时间,当使用者不参与控制时,时间和日期每隔一段时间会自动轮流显示。

2.时间及其调整模块:顾名思义就是对时间进行调整。

3.时间显示动态位选模块4.显示控制模块:显示控制模块的功能是控制显示日期还是时间,在设计的过程中由于没有足够的数码管,把日期和时间分成了两个模块,至于显示那一个这由该模块完成任务。

5.日期显示与设置模块6.译码器模块:在数码管上显示当前时间和日期。

7.分频模块:是为了得到一个周期为秒的脉冲,该脉冲主要用于秒的走到。

2.2 电子钟的工作原理图分频模块控制模块时间显示调整模块时分模块年月模块显示控制模块译码器图1 流程图在电脑上通过软件Max+plus2对万年历电路图的引脚进行绑定,编译,然后与EDA试验箱连接,把文件配置通过JTAG口载入FPGA中,选择实验电路模式进行硬件测试。

通过学习,理论上学习了EDA试验箱的原理,对试验箱内部的组件,以及组件之间的链接有了更深的了解.从开始分析电子钟原理,在定义底层文件名称,编写底层文件程序,生成模块——分频模块,秒模块,分模块,时模块,年月日模块,控制模块,显示模块,然后链接各个模块组成顶层,到最终完成测试,虽然辛苦但是当画出功能图时,还是很高兴的,以下为各模块组成的功能图图2 功能设计图第三章电子钟系统部分程序设计与仿真3.1时分秒模块代码与仿真时间及其设置模块主要完成时间的自动正常运行与显示,以及在相应的功能号下,实现时间的调整与设置。

计数器秒脉冲信号经过6级计数器,分别得到“秒”个位、十位、“分”个位、十位以及“时”个位、十位的计时。

“秒”“分”计数器为六十进制,小时为二十四进制。

六十进制计数由分频器来的秒脉冲信号,首先送到“秒”计数器进行累加计数,秒计数器应完成一分钟之内秒数目的累加,并达到60秒时产生一个进位信号,所以,选用两片cc40192和一片cc4011组成六十进制计数器,来实现六十进制计数。

其中,“秒”十位是六进制,“秒”个位是十进制。

二十四进制计数利用异步清零端实现起从23——00的翻转,其中“24”为过渡状态不显示。

其中,“时”十位是3进制,“时”个位是十进制。

以下为其具体的代码。

//秒module second(clrn,clk,jf,qm,enmin);input clrn,clk,jf;output[7:0] qm;output enmin;reg[7:0] qm;reg[3:0] qml;reg[7:4] qmh;reg carry1;always@(posedge clk or negedge clrn) beginif(~clrn) begin{qmh,qml}=0;endelse if((qmh==5)&&qml==9)begin{qmh,qml}=0;carry1=1;endelse if ((qmh==5)&&(qml<9))begin qmh=qmh;qml=qml+1;carry1=0;endelse if((qmh<5)&&(qml==9))begin qmh=qmh+1;qml=0;carry1=0;endelse if((qmh<5)&&(qml<9))begin qmh=qmh;qml=qml+1;carry1=0;endqm={qmh,qml};endassign enmin=carry1|jf;Endmodule图3 秒仿真图//分module minute(clrn,clk,jh,qf,enhour);input clrn,clk,jh;output[7:0] qf;output enhour;reg[7:0] qf;reg[3:0] qfl;reg[7:4] qfh;reg carry1;always @(posedge clk or negedge clrn)beginif(~clrn) begin{qfh,qfl}=8'h00;carry1=0;endelse if((qfh==5)&&(qfl==9))begin {qfh,qfl}=8'h00;carry1=1;end else if((qfh<5)&&(qfl<9)) begin qfh=qfh;qfl=qfl+1;carry1=0;end else if((qfh<5)&&(qfl==9))begin qfh=qfh+1;qfl=0;carry1=0;end else begin qfh=qfh;qfl=qfl+1;carry1=0;endqf={qfh,qfl};endassign enhour=carry1|jh;endmodule图4 分仿真图//时module hour(clrn,clk,qs,cout);input clrn,clk;output [7:0] qs;output cout;reg[7:0] qs;reg[3:0] qsl;reg[7:4] qsh;reg carry1;always@(posedge clk or negedge clrn)//miaobeginif (~clrn) begin {qsh,qsl}=8'h00;carry1=0; endelse if((qsh==1)&&(qsl==7))begin {qsh,qsl}=8'h00;carry1=1;endelse if((qsh==2)&&(qsl<3)) begin qsh=qsh;qsl=qsl+1;carry1=0;end else if(qsl==9)begin qsh=qsh+1;qsl=0;carry1=0;endelse begin qsh=qsh;qsl=qsl+1;carry1=0;endqs={qsh,qsl};endassign cout=carry1;endmodule图5 时仿真图3.2年月日模块代码与仿真该模块实现的是日期的自动工作功能,//年月日module nyr2009(clrn,clk,jn,jy,jr,qn,qy,qr);input clrn,clk,jn,jy,jr;output [15:0] qn;output[7:0] qy,qr;reg [15:0] qn;reg[7:0] qy,qr;reg clkn,clky;reg[7:0] date;reg clkn1,clkn2,clkn3;initial begin clkn1=1;clkn2=1;clkn3=1;endinitial begin qn='h2000;qy=1;qr=1;endalways@(posedge (clk^jr) or negedge clrn)//日计数begin if(~clrn) qr=1;else begin if(qr==date)begin qr=1;clky=1;endelse if(qr[7:4]==date[7:4]&&qr[3:0]==date[3:0])Begin qr[7:4]<=qr[7:4];qr[3:0]<=qr[3:0];clky<=1;endelse if(qr[3:0]==9)begin qr[7:4]<=qr[7:4]+1;qr[3:0]=0;endelse if(qr[7:4]<date[7:4]&&qr[3:0]<date[3:0])Begin qr[7:4]<=qr[7:4];qr[3:0]<=qr[3:0]+1;clky<=0;endelse begin qr[7:4]=qr[7:4];qr[3:0]=qr[3:0]+1;clky<=0;end endendalways @ (posedge (clky^jy) or negedge clrn )//月计数begin if(~clrn) qy=1;else begin if(qy=='h12)qy=1;else qy=qy+1;if(qy[3:0]=='ha)Begin qy[3:0]=0;qy[7:4]=qr[7:4]+1;endif(qy=='h12)clkn=1;else clkn=0;Endendalways//每月的天数Begin case(qy)'h01:date='h31;'h02: if(((qn%4==0)&(qn%100!==0))||(qn%400==0)) date='h29;else date='h28;'h03:date='h31;'h04:date='h30;'h05:date='h31;'h06:date='h31;'h07:date='h31;'h08:date='h31;'h09:date='h30;'h10:date='h31;'h11:date='h30;'h12:date='h31;default:date='h30;endcaseendalways@(posedge (clkn^jn) or negedge clrn )//年计数beginif(~clrn) qn[3:0]=0;else begin if(qn[3:0]==9) qn[3:0]=0;else qn[3:0]=qn[3:0]+1;if(qn[3:0]==9) clkn1=0;else clkn1=1;endendalways@(posedge (clkn1) or negedge clrn)Beginif(~clrn) qn[7:4]=0;else beginif(qn[7:4]==9) qn[7:4]=0;else qn[7:4]=qn[7:4]+1;if(qn[7:4]==9)clkn2=0;else clkn2=1;endendalways@(posedge (clkn2) or negedge clrn)beginif(~clrn) qn[11:8]=0;else beginif(qn[11:8]==9) qn[11:8]=0; else qn[11:8]=qn[11:8]+1; if(qn[11:8]==9) clkn3=0;else clkn3=1;endendalways@(posedge (clkn3) or negedge clrn)Begin if(~clrn) qn[15:12]=2;else begin if(qn[15:12]==9) qn[15:12]=0;else qn[15:12]=qn[15:12]+1;endendendmodule图5 年月日仿真图3.3具体的电路图将时间和日期两个模块连接起来之后,便可得到大体的框架图了。

相关文档
最新文档