eda课程设计多功能数字钟

合集下载

EDA技术课程设计-多功能数字钟

EDA技术课程设计-多功能数字钟

EDA技术课程设计——多功能数字钟专业:通信c132姓名:苏莹洁138245史晓威138241指导老师:安亚军时间:2015.12.26目录1、设计目的 (3)2、设计系统环境 (3)3、设计性能指标及功能 (3) (3) (3)4、设计总体框图 (3)5、底层文件设计 (4)5.1秒计数器 (4)5.2分钟计数器 (4)5.3小时计数器 (5)5.4整点报时驱动信号产生模块 (5)5.5驱动8位八段共阴扫描数码管的片选驱动信号输出模块 (6)5.6驱动八段字形译码输出模块 (6)6、顶层文件设计 (6)7、心得体会 (7)附录(源程序) (8)1、设计目的掌握各类计数器和分频器以及它们相连的设计方法;掌握多个数码管的原理与方法;掌握CPLD技术的层次化设计的方法;掌握使用VHDL语言的设计思想;对整个系统的设计有一个了解。

2、设计系统环境(1)一台PC机;(2)一套GW48型EDA实验开发系统硬件;(3)X+PLUS Ⅱ集成化的开发系统硬件。

3、设计性能指标及功能3.1设计功能1)具有时、分、秒计数显示功能,以24小时循环计时。

2)时钟计数显示时有LED灯的花样显示。

3)具有调节小时、分钟、秒及清零的功能。

4)具有整点报时功能。

1)时钟计数:完成时、分、秒的正确计时并且显示所计的数字;对秒、分——60进制计数,即从0到59循环计数,时钟——24进制计数,即从0到23循环计数,并且在数码管上显示数值。

2)时间设置:手动调节分钟、小时,可以对所设计的时钟任意调时间,这样使数字钟真正具有使用功能。

我们可以通过实验板上的键7和键4进行任意的调整,因为我们用的时钟信号均是1HZ的,所以每LED灯变化一次就来一个脉冲,即计数一次。

3)清零功能:reset为复位键,低电平时实现清零功能,高电平时正常计数。

可以根据我们自己任意时间的复位。

4)蜂鸣器在整点时有报时信号产生,蜂鸣器报警。

产生“滴答.滴答”的报警声音。

EDA课程设计报告(多功能数字时钟的设计)

EDA课程设计报告(多功能数字时钟的设计)

1 绪论1.1设计目的本次设计的目的就是在掌握EDA实验开发系统的初步使用基础上,了解EDA 技术,加深对计算机体系结构的理解。

通过学习的VHDL语言结合电子电路的设计知识理论联系实际,掌握所学的课程知识,学习VHDL基本单元电路的综合设计应用。

通过对实用数字钟的设计,巩固和综合运用计算机原理的基本理论和方法,理论联系实际,提高设计、分析、解决计算机技术实际问题的独立工作能力。

1.2设计要求(1)熟练掌握VHDL语言的结构特点并能运用到具体实际中。

(2)学会利用复杂的可编程逻辑器件进行简单的电子系统设计。

(3)熟悉并掌握基于EDA实验开发系统设计实际问题的方法和步骤。

(4)通过设计过程提高自己运用所学知识来分析解决问题的能力。

1.3设计内容本课程设计中使用Altera公司的EP2C35系列的FPGA芯片,利用SOPC-NIOSII-EP2C35开发板上的资源和QuartusII软件,实现一个多功能数字时钟。

本设计的任务要求显示格式为小时-分钟-秒钟,整点报时,报时时间为10秒,即从整点前10秒钟开始进行报时提示,喇叭开始发声,直到过整点时,在 5秒LED开始闪烁,过整点后,停止闪烁。

系统时钟选择时钟模块的10KHz,要得到1Hz时钟信号,必须对系统时钟进行10,000次分频。

调整时间的的按键用按键模块的S1和S2,S1调节小时,每按下一次,小时增加一个小时,S2调整分钟,每按下一次,分钟增加一分钟。

另外用S8按键作为系统时钟复位,复位后全部显示00-00-00。

扩展内容:用16*16点阵显示实现日期的动态显示用4×4键盘阵列键盘替换按键实现日期、时钟的调整,用液晶显示模块日期、时间的显示。

1.4设计环境本次课题设计方要用到的开发环境是Altera公司的EDA设计工具软件QuartusII。

Altera公司的工作与EDA厂家紧密结合,使QuartusII软件可以与其它工业标准的设计输入、综合和校验工具相连接。

EDA课程设计——多功能数字钟的设计

EDA课程设计——多功能数字钟的设计

E D A课程设计学院:电气信息学院专业年级:通信工程2013级姓名:学号课题:EDA课程设计指导老师:日期:2016年7月6日第一章多功能数字钟的设计1、设计任务了解数字钟的工作原理,进一步熟悉VHDL语言编写驱动七段数码管显示代码,并且掌握用多进程的方式实现一个综合性的程序。

最终实现硬件和软件多功能数字钟的设计。

(1)显示的格式为小时-分钟-秒钟,是24小时制,整点报时时间为5秒,级从整点前5秒钟开始进行报时提示,LED灯开始闪烁,过整点后,停止闪烁。

(2)系统时钟选择时钟模块的10KHz,要得到1Hz时钟信号,必须对系统时钟进行10000次分频。

(3)调整时间的按键用按键模块的S1和S2,S1调节小时,每按下一次,小时增加一个小时,S2调节分钟,每按下一次,分钟增加一分钟。

另外用S8按键作为系统时钟复位,复位后全部显示00-00-00。

2、方案设计2.1软件设计方案用VHDL语言编写程序实现设计内容中需要实现的功能。

将编写好的VHDL的程序加载到硬件电路中,从而驱动七段数码管时间,并用按键控制时间的变化,用软件仿真验证实验结果。

2.2硬件设计方案在软件方案实现的基础上,将已经运行成功的程序,将结果烧制到硬件电路中,最后生成顶层电路原理图。

3、设计的具体实现3.1设计步骤3.1.1打开QUARTUSII软件,新建一个工程3.1.2建完工程之后,再新建一个VHDL File,打开VHDL编辑器对话框;3.1.3按照自己设计方案,在VHDL编辑窗口编写VHDL程序;(程序见附录) 3.1.4编写完VHDL程序后,保存在自己新建的文件夹在D盘的目录下;3.1.5对自己编写的VHDL程序进行编译仿真,对程序的错误进行修改,直到完全通过编译和仿真;3.1.6仿真无误后,依照按键开关、数码管、LED灯与FPGA的管脚连接表进行管脚分配。

分配完成后,在进行编译一次,以使管脚分配生效;3.1.7用下载电缆通过JTAG口将对应的sof文件加载到FPGA中,观察设计结果是否和自己的编程思想一致。

EDA课程设计数字闹钟

EDA课程设计数字闹钟

EDA课程设计数字闹钟一、教学目标本课程旨在通过数字闹钟的设计与实现,让学生掌握EDA(电子设计自动化)的基本原理和方法,培养学生的实践能力和创新精神。

具体目标如下:知识目标:使学生了解数字闹钟的原理和结构,理解时钟芯片的工作原理,掌握EDA工具的使用方法。

技能目标:培养学生使用EDA工具进行数字电路设计的能力,提升学生的编程和调试技能,训练学生的团队协作和沟通能力。

情感态度价值观目标:培养学生对电子科技的兴趣和热情,增强学生解决实际问题的信心和勇气,培养学生负责任的工作态度和良好的团队合作精神。

二、教学内容本课程的教学内容主要包括数字闹钟的原理与设计、时钟芯片的工作原理、EDA工具的使用等。

1.数字闹钟的原理与设计:介绍数字闹钟的工作原理,包括时钟发生器、分频器、计数器等基本组成部分,以及如何实现闹钟功能。

2.时钟芯片的工作原理:讲解时钟芯片的内部结构和工作原理,使学生了解时钟芯片在数字电路中的应用。

3.EDA工具的使用:介绍常用的EDA工具,如Cadence、Altera等,讲解如何使用这些工具进行数字电路设计。

三、教学方法为了提高教学效果,本课程将采用多种教学方法,包括讲授法、案例分析法、实验法等。

1.讲授法:通过讲解数字闹钟的原理、时钟芯片的工作原理以及EDA工具的使用方法,使学生掌握相关知识。

2.案例分析法:分析实际案例,让学生了解数字闹钟设计的过程和注意事项。

3.实验法:让学生动手实践,使用EDA工具设计数字闹钟,提高学生的实践能力。

四、教学资源为了支持教学内容的实施,我们将准备以下教学资源:1.教材:选择合适的教材,如《数字电路与EDA技术》等,为学生提供理论支持。

2.多媒体资料:制作课件、视频等多媒体资料,丰富教学手段,提高学生的学习兴趣。

3.实验设备:准备实验设备,如计算机、EDA工具软件、开发板等,为学生提供实践平台。

4.网络资源:利用网络资源,为学生提供更多的学习资料和实践案例,拓宽学生的视野。

EDA课程设计+(数字钟)

EDA课程设计+(数字钟)

EDA课程设计报告课题名称:多功能数字钟设计多功能数字钟设计一、数字钟简介:20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。

时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。

忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。

但是,一旦重要事情,一时的耽误可能酿成大祸。

钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。

诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、定时启闭电路、定时开关烘箱、通断动力设备,甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。

因此,研究数字钟及扩大其应用,有着非常现实的意义。

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

数字钟的设计方法有许多种,例如,可用中小规模集成电路组成电子钟;也可以利用专用的电子钟芯片配以显示电路及其所需要的外围电路组成电子钟;还可以利用单片机来实现电子钟等等。

这些方法都各有其特点,其中利用单片机实现的电子钟具有编程灵活,并便于功能的扩展。

二、设计要求1. 具有以二十四小时制计时、显示、时间设置的功能。

2. 精度要求为1s。

三、系统功能简介1. 计时:时钟计时:秒——60进制BCD码计数;分——60进制BCD码计数;时——24进制BCD码计数;2. 校时:同时整个计数器有清零,调分,调时功能。

可手动校时,能分别进行时、分的校正3. 显示:具有驱动8位八段共阴极扫描数码管的片选驱动信号输出和八段字形译码输出。

内容规划:(1)根据电路特点,可用层次化结构化设计概念。

将此项设计分成若干模块,规定每一模块的功能和各模块之间的接口。

EDA课程设计——多功能数字钟的设计

EDA课程设计——多功能数字钟的设计

E D A课程设计学院:电气信息学院专业年级:通信工程2013级姓名:学号课题: EDA课程设计指导老师:日期:2016年7月6日第一章多功能数字钟的设计1、设计任务了解数字钟的工作原理,进一步熟悉VHDL语言编写驱动七段数码管显示代码,并且掌握用多进程的方式实现一个综合性的程序。

最终实现硬件和软件多功能数字钟的设计。

(1)显示的格式为小时-分钟-秒钟,是24小时制,整点报时时间为5秒,级从整点前5秒钟开始进行报时提示,LED灯开始闪烁,过整点后,停止闪烁。

(2)系统时钟选择时钟模块的10KHz,要得到1Hz时钟信号,必须对系统时钟进行10000次分频。

(3)调整时间的按键用按键模块的S1和S2,S1调节小时,每按下一次,小时增加一个小时,S2调节分钟,每按下一次,分钟增加一分钟。

另外用S8按键作为系统时钟复位,复位后全部显示00-00-00。

2、方案设计2.1软件设计方案用VHDL语言编写程序实现设计内容中需要实现的功能。

将编写好的VHDL的程序加载到硬件电路中,从而驱动七段数码管时间,并用按键控制时间的变化,用软件仿真验证实验结果。

2.2硬件设计方案在软件方案实现的基础上,将已经运行成功的程序,将结果烧制到硬件电路中,最后生成顶层电路原理图。

3、设计的具体实现3.1设计步骤3.1.1打开QUARTUSII软件,新建一个工程3.1.2建完工程之后,再新建一个VHDL File,打开VHDL编辑器对话框;3.1.3按照自己设计方案,在VHDL编辑窗口编写VHDL程序;(程序见附录) 3.1.4编写完VHDL程序后,保存在自己新建的文件夹在D盘的目录下;3.1.5对自己编写的VHDL程序进行编译仿真,对程序的错误进行修改,直到完全通过编译和仿真;3.1.6仿真无误后,依照按键开关、数码管、LED灯与FPGA的管脚连接表进行管脚分配。

分配完成后,在进行编译一次,以使管脚分配生效;3.1.7用下载电缆通过JTAG口将对应的sof文件加载到FPGA中,观察设计结果是否和自己的编程思想一致。

eda课程设计——多功能数字钟

eda课程设计——多功能数字钟

课程设计说明书课程名称EDA课程设计题目多功能数字钟课程设计任务书设计题目多功能数字钟设计一、课程设计目的1、综合运用EDA技术,独立完成一个课题的设计,考察运用所学知识,解决实际问题的能力;2、结合理论知识,考察阅读参考资料、文献、手册的能力;3、进一步熟悉EDA技术的开发流程,掌握文件编辑、编译、仿真、下载验证等环节的实现方法和应用技巧;4、锻炼撰写研究报告、研究论文的能力;5、通过本实践环节,培养科学和严谨的工作作风。

二、设计内容、技术条件和要求l、能进行正常的时、分、秒计时功能,分别由6个数码显示24小时、60分钟的计数器显示。

2、能利用实验系统上的按钮实现“校时”、“校分”功能;(1)按下“SA”键时,计时器迅速递增,并按24小时循环;(2)按下“SB”键时,计时器迅速递增,并按59分钟循环,并向“时”进位;(3)按下“SC”键时,秒清零;抖动的,必须对其消抖处理。

3、能利用扬声器做整点报时:(1)当计时到达59’50”时开始报时,频率可为500Hz;计满23小时后回零;计满59分钟后回零。

(2)到达59’59”时为最后一声整点报时,整点报时的频率可定为lKHz。

4定时闹钟功能5、用层次化设计方法设计该电路,用硬件描述语言编写各个功能模块。

6、报时功能。

报时功能用功能仿真的仿真验证,可通过观察有关波形确认电路设计是否正确。

三、时间进度安排1周:(1) 完成设计准备,确定实施方案;(2) 完成电路文件的输入和编译;(4) 完成功能仿真。

2周:(1) 完成文件至器件的下载,并进行硬件验证;(2) 撰写设计说明书。

四、主要参考文献(1)谭会生、瞿遂春,《EDA技术综合应用实例与分析》,西安电子科技大学出版社,2004(2)曹昕燕、周凤臣等,《EDA技术实验与课程设计》,清华大学出版社,2006指导教师签字:2010年9月5日引言:人类社会已进入到高度发达的信息化社会。

信息化社会的发展离不开电子信息产品开发技术、产品品质的提高和进步。

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课程设计 数字时钟

EDA课程设计报告一·设计任务使用硬件描述语言,在CPLD/FPGA上实现一个多功能数字钟。

二·设计要求除按键、LED、扬声器、时钟信号外,整个数字钟的功能要求在一块芯片上实现。

a)具有时,分,秒,计数显示功能,以24小时循环计时;b)具有时间清零功能;c)具有小时、分钟和秒钟调整功能(个位和十位分开调或合起来调)。

d)具有闹钟功能,能预设闹钟时间,精确到秒。

整个数字钟只设一个时钟输入端口,所需不同频率信号在内部分频实现。

(LED扫描频率设为50Hz以上)。

三·设计方案设计采用模块方式,分别为分频模块:产生1Hz的脉冲作为秒的输入,和产生1kHz的脉冲作为数码管显示的动态扫描。

计时模块:秒模块,分模块,时模块。

闹钟模块,显示模块,控制模块。

四·模块端口设置1. 分频模块输入:clkin : 本实验输入为50MHz晶振输出:clk : 为显示模块及始终调节提供1KHz脉冲clkt: 为计数器模块提供1Hz脉冲2. 计时模块m 是模式按键,当m=0 时,进入计时模式,在计时模式下可以进行时间调整。

num3,num4 产生加速调整时间,当其值为1 时,可以快速调整时间,该调整时间的频率由clk 提供。

counta,count1 是手动调节时间。

Turn 接按键,可以改变当前调节的是小时还是分钟,长按turn 键还可以使秒钟信号清零。

sec1,min1,hour1 输出的是计时的秒,分,时。

3.闹钟模块原理:num1,num2 产生加速调整时间,当其值为1 时,可以快速调整时间,该调整时间的频率由clk 提供。

countb,count2 是手动调节闹钟时间。

amin,ahour 是输出的闹钟的分钟和小时4. 控制模块m 是模式按键,当m=0 时,指当前输出的是计时功能;当m=1 时,指当前调整的是闹钟时间;当m=2 时,指当前调整的是计时时间;当m=3 时,此时turn 按键可用于跑表的暂停与开始。

EDA电子钟多功能数字时钟课程设计(含代码)[优秀]

EDA电子钟多功能数字时钟课程设计(含代码)[优秀]

多功能数字时钟设计说明:1.系统顶层框图:各模块电路功能如下:1.秒计数器、分计数器、时计数器组成最基本的数字钟,其计数输出送7段译码电路由数码管显示.2.基准频率分频器可分频出标准的1HZ频率信号,用于秒计数的时钟信号;分频出4HZ频率信号,用于校时、校分的快速递增信号;分频出64HZ频率信号,用于对按动“校时”,“校分”按键的消除抖动.2.多功能数字钟结构框图:一、系统功能概述已完成功能1.完成时/分/秒的依次显示并正确计数,利用六位数码管显示;2.时/分/秒各段个位满10正确进位,秒/分能做到满60向前进位,有系统时间清零功能;3.定时器:实现整点报时,通过扬声器发出高低报时声音;4.时间设置,也就是手动调时功能:当认为时钟不准确时,可以分别对分/时钟进行调整;5.闹钟:实现分/时闹钟设置,在时钟到达设定时间时通过扬声器响铃.有静音模式.待改进功能:1. 系统没有万年历功能,正在思考设计方法.2. 应添加秒表功能.二、系统组成以及系统各部分的设计1.时计数模块时计数模块就是一个2位10进制计数器,记数到23清零.VHDL的RTL描述如下:----cnt_h.vhdlibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cnt_h isport(en,clk,clr:in std_logic;dout:out std_logic_vector(7 downto 0);c:out std_logic);end cnt_h;architecture rtl of cnt_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)=X"A" then --个位等于10则十位加1t(7 downto 4):=t(7 downto 4)+1;t(3 downto 0):=X"0"; --个位清零end if;if t>X"23" then --大于23清零t:=X"00";end if;end if;if clr='1' then --异步清零t:=X"00";end if;end if;dout<=t;end process;end rtl;时计数器模块仿真波形如下从仿真波形可知,当计数到23时,下一个时钟上升沿到来时就清零了,符合设计要求.时计数模块框图如下2.分及秒计数模块分及秒计数模块也是一个2位10进制计数器,记数到59清零.VHDL的RTL描述如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cnt_s isport(en,clk,clr:in std_logic;dout:buffer std_logic_vector(7 downto 0);c:out std_logic);end cnt_s;architecture rtl of cnt_s isbeginprocess(en,clk,clr)beginif en='1' thenif clr='1' then --异步清零dout<=X"00";elsif clk 'event and clk='1' thenif dout(3 downto 0)<9 thendout(3 downto 0)<=dout(3 downto 0)+1;c<='0';elsif dout(7 downto 4)<5 thendout(3 downto 0)<=X"0";dout(7 downto 4)<=dout(7 downto 4)+1;elsedout<=X"00";c<='1';end if;end if;else dout<="ZZZZZZZZ";end if;end process;end rtl;分和秒计数器模块仿真波形如下从仿真波形可知,当计数到59时,下一个时钟上升沿到来时就清零了,并且产生进位信号,符合设计要求.分和秒计数模块框图如下3.按键消抖动模块按键消抖动有很多方案,这里选择的是计数消抖,即只当有效电平到来后开始计数,当计数值大于一定值后再输出该有效电平,否则不输出,从而达到消抖目的. VHDL的RTL描述如下:library ieee;use ieee.std_logic_1164.all;entity haoin isport(din,clk:in std_logic;dout:out std_logic); end haoin;architecture rtl of haoin isbeginprocess(din)variable t: integer range 0 to 63:=0;beginif din='1' thenif clk 'event and clk='1'thent:=t+1;if t>10 thendout<='1';t:=t-1;else dout<='0';end if;end if;else dout<='0';t:=0;end if;end process;end rtl;library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity ring isport(clk: in std_logic;clk500: in std_logic;clk1k:in std_logic;beep:out std_logic);end ring;architecture rtl of ring isbeginprocess(clk)variable t: std_logic;variable n: integer range 0 to 15:=0;beginif clk 'event and clk='1' thent:=not t;n:=n+1;end if;if t='1' and n<11 thenbeep<=clk500;elsif n=11 thenbeep<=clk1k;else beep<='Z';end if;end process;end rtl;library IEEE;use IEEE.std_logic_1164.all;use IEEE.std_logic_arith.all;use IEEE.std_logic_unsigned.all;entity clock isport(SA: in std_logic;SB: in std_logic;SC: in std_logic;SD: in std_logic;clk1: in std_logic;dout: buffer std_logic_vector(23 downto 0);--seg_data:out std_logic_vector(7 downto 0);--seg_co米:out std_logic_vector(3 downto 0);beep: out std_logic--led:out std_logic_vector(3 downto 0));end entity clock;architecture rtl of clock isco米ponent cnt_s isport(en,clk,clr:in std_logic;dout:buffer std_logic_vector(7 downto 0);c:out std_logic);end co米ponent;co米ponent cnt_h isport(en,clk,clr:in std_logic;dout:buffer std_logic_vector(7 downto 0));end co米ponent;--co米ponent seg米ain is--port(clk,reset_n:in std_logic;--datain:in std_logic_vector(15 downto 0);--seg_data:out std_logic_vector(7 downto 0);--seg_co米:out std_logic_vector(3 downto 0));--end co米ponent;--co米ponent ring is--port( en: in std_logic;-- clk: in std_logic;--clk500: in std_logic;--clk1k:in std_logic;--beep:out std_logic);--end co米ponent;co米ponent haoin isport(din,clk:in std_logic;dout:out std_logic);end co米ponent;co米ponent naoling isport (h,米:in std_logic_vector(7 downto 0);clk4hzh,clk4hz米:in std_logic;sys_en,sys_rst:in std_logic;h_o,米_o: out std_logic_vector(7 downto 0);beep:out std_logic);end co米ponent;signal reg_h:std_logic_vector(7 downto 0);signal reg_米:std_logic_vector(7 downto 0);signal reg_s:std_logic_vector(7 downto 0);signal reg_米_s:std_logic_vector(7 downto 0):=X"59"; signal reg_米_米:std_logic_vector(7 downto 0):=X"59";signal reg_米_h:std_logic_vector(7 downto 0):=X"59";signal clk_h:std_logic;signal clk_米:std_logic;signal clk_s:std_logic;signal c_s :std_logic;signal c_米:std_logic;signal c_h :std_logic;signal sys_clk1:std_logic;signal sys_clk4:std_logic;signal sys_clk64:std_logic;signal sys_clk500:std_logic;signal sys_clk1k:std_logic;signal clki:integer:=750000;signal sys_rst:std_logic:='0';signal sys_en:std_logic:='1';signal clk_ring,米h:std_logic;signal SAc,SBc,SCc,SDc:std_logic;signal en_r:std_logic;signal NL_reg_h,NL_reg_米:std_logic_vector(7 downto 0);signal NL_ring:std_logic;signal sys_clk4_NL_h,sys_clk4_NL_米:std_logic;beginh:cnt_h port 米ap(en=>sys_en,clk=>clk_h,clr=>sys_rst,dout=>reg_h);米:cnt_s port 米ap(en=>sys_en,clk=>clk_米,clr=>sys_rst,dout=>reg_米,c=>c_米);s:cnt_s port 米ap(en=>sys_en,clk=>sys_clk1,clr=>SCc,dout=>reg_s,c=>c_s);--sled:seg米ain port 米ap(clk=>clk1,reset_n=>SCc,seg_data=>seg_data,seg_co 米=>seg_co米,datain=>dout(15 downto 0));--ring0:ring port 米ap(en=>en_r,clk=>clk_ring,clk500=>sys_clk500,clk1k=>sys_clk1k,beep=>beep); haoin1:haoin port 米ap( SA,sys_clk64,SAc);haoin2:haoin port 米ap( SB,sys_clk64,SBc);haoin3:haoin port 米ap( SC,sys_clk64,SCc);haoin4:haoin port 米ap( SD,sys_clk64,SDc);NL:naoling port 米ap(beep=>NL_ring,h=>reg_h,米=>reg_米,clk4hzh=>sys_clk4_NL_h,clk4hz米=>sys_clk4_NL_米,sys_en=>sys_en,sys_rst=>sys_rst,h_o=>NL_reg_h,米_o=>NL_reg_米);beep<=clk_ring and 米h;--led<=reg_s(3 downto 0);p_sys_clk:process(clk1)variable t1,t4,t64,t500,t1k:integer range 0 to 50000000;beginif clk1 'event and clk1='1' thent1:=t1+1;t4:=t4+1;t64:=t64+1;t500:=t500+1;t1k:=t1k+1;if t1=clki/2 thent1:=0;sys_clk1<=not sys_clk1;end if;if t4=clki/8 thent4:=0;sys_clk4<=not sys_clk4;end if;if t64=clki/128 thent64:=0;sys_clk64<=not sys_clk64;end if;if t500=clki/1000 thent500:=0;sys_clk500<=not sys_clk500;end if;if t1k=clki/2000 thent1k:=0;sys_clk1k<=not sys_clk1k;end if;end if;end process p_sys_clk;p_c:process(SAc,SBc,SCc,SDc)beginif SAc='1' and SDc='0' thenclk_h<=sys_clk4;elseclk_h<=c_米;end if;if SAc='1' and SDc='1' thensys_clk4_NL_h<=sys_clk4;elsesys_clk4_NL_h<='0';end if;if SBc='1' and SDc='0'thenclk_米<=sys_clk4;elseclk_米<=c_s;end if;if SBc='1' and SDc='1'thensys_clk4_NL_米<=sys_clk4;elsesys_clk4_NL_米<='0';end if;if SDc='0' thendout(7 downto 0)<=reg_s;dout(15 downto 8)<=reg_米;dout(23 downto 16)<=reg_h;elsedout(7 downto 0)<="ZZZZZZZZ";dout(15 downto 8)<=NL_reg_米;dout(23 downto 16)<=NL_reg_h;end if;end process p_c;P_ring:process(reg_米,reg_s,sys_clk1k)variable clk_ring_t:std_logic;variable t:std_logic_vector(3 downto 0);beginif reg_米=X"59" and (reg_s=X"50" or reg_s=X"52" or reg_s=X"54" or reg_s=X"56" or reg_s=X"58") thenclk_ring_t:=sys_clk500;elsif reg_米=X"00" and reg_s=X"00" thenclk_ring_t:=sys_clk1k;else clk_ring_t:='Z';end if;if NL_ring='1' thenclk_ring_t:=sys_clk1k;end if;if sys_clk1k 'event and sys_clk1k='1' thent:=t+1;end if;if t>1 then 米h<='1';end if;clk_ring<=clk_ring_t;end process p_ring;end rtl;。

EDA设计-多功能数字钟

EDA设计-多功能数字钟

设计一个数字计时器,可以完成00:00:00到23:59:59的计时功能,并在控制电路的作用下具有保持、清零、快速校时、快速校分、整点报时等功能。

具体实现方法为:首先利用一个模48和两个模1000的计数器将原始的48MHZ转换成数字计时器所需的1HZ。

然后利用1HZ作为时钟,用两个模60和一个模24计数器形成基本数字钟。

快速校时和校分只需利用适当的与门和或门添加到相应计时模块的时钟即可。

至于整点报时,利用相应的判别条件,再连入相应的的频率,最后送到蜂鸣器端口即可完成功能。

对于附加功能闹钟和星期。

闹钟的具体功能为可设置时间,可先清零后再重新设置,到点后以1KHZ鸣叫10秒,期间可关掉闹钟。

具体实现方法为:将开关K5作为闹钟的小时设定,开关K6作为闹钟的分钟设定,均作为计数器的时钟。

当这两个开关上下一次,小时和分钟均增加1。

然后再将闹钟的时间与数字钟的时间相比较,当两者完全相同时,蜂鸣器响起。

对于星期的设置比较简单,只需在数字钟小时模块后添加一个模8计数器,并在显示模块添加星期的相应输出即可。

对于实验调试所需注意的是:要对开关进行消颤,利用D触发器,且添加的频率不能太大。

关键字:分频、计数器、D触发器AbstractDesign a digital timer, which has the timing function counting from 00:00:00 to23:59:59, and can also maintain time 、clear time、rapidly adjust the minutes 、rapidly adjust the hours and timekeeping. The realizing specific methods are as follows .First, use a mold 48 and two mode 1000 counters to turn the original 48 MHz into a digital timer required 1HZ. Second , take the 1HZ as the clock to the basic digital clock formation of two mold 60 and a modulo 24 counters . Use the appropriate AND and OR gates added to the appropriate timing module can realize rapidly adjusting the minutes . As for timekeeping , using the corresponding discriminant conditions, connecting them with the corresponding frequency, and sending to the buzzer port can complete the function.Additional features include alarm clock and counting days of the week. The alarm clock can set the time, can be first cleared and then reseted, can sound for 10 seconds, and in the period can turn off the alarm. The specific method is: take K5 as the switch setting hour and take K6 as the switch setting minute, both as counters’ clock. Once these two switches up and down, hour and minute are both increase 1. Then compare the alarm time with the time of the digital clock . When they are the same, the buzzer start sounding . Setting the week is relatively simple, just adding a modulo 8 counter behind digital clock hour module and adding the corresponding output to the display module.For the debug experiments , use the D flip-flop to eliminate chatter and the frequency added can not be too much.Keywords:frequency converteion、counter、D flip-flop一.设计要求 (3)二.方案论证 (4)三.各子模块设计原理 (6)3.1 脉冲发生电路 (6)3.2 计时电路 (8)3.3 译码显示电路 (11)3.4整点报时电路 (12)3.5保持电路 (13)3.6清零电路 (14)3.7校分、校时电路 (14)3.8闹钟电路 (15)3.9星期电路 (20)四.下载调试 (20)五.结论 (21)六.实验感想 (21)参考文献 (24)附录 (24)多功能数字钟一、设计要求设计一个数字计时器,可以完成00:00:00到23:59:59的计时功能,并在控制电路的作用下具有保持、清零、快速校时、快速校分、整点报时等功能。

eda多功能数字时钟课程设计

eda多功能数字时钟课程设计

eda多功能数字时钟课程设计一、课程目标知识目标:1. 学生能理解数字时钟的基本原理,掌握EDA工具的使用方法,并运用相关电路知识设计多功能数字时钟。

2. 学生能够运用所学知识,分析并解释数字时钟电路中各个部分的功能及其相互关系。

3. 学生了解数字时钟在实际生活中的应用,理解其重要性。

技能目标:1. 学生能够运用EDA工具进行电路设计,具备实际操作能力。

2. 学生通过动手实践,培养解决实际问题的能力,提高创新意识和团队协作能力。

3. 学生能够运用所学知识,对数字时钟电路进行调试和优化。

情感态度价值观目标:1. 学生在学习过程中,培养对电子技术的兴趣,激发创新精神。

2. 学生通过团队合作,学会尊重他人,培养良好的沟通能力和团队精神。

3. 学生认识到科技发展对社会进步的重要性,树立正确的价值观。

课程性质:本课程为实践性较强的课程,结合理论教学,注重培养学生的动手能力和实际操作技能。

学生特点:学生具备一定的电子技术基础知识,对实践操作有较高的兴趣。

教学要求:教师需结合理论教学,指导学生进行实践操作,注重启发式教学,引导学生主动探究,提高学生的综合能力。

在教学过程中,关注学生的学习进度,及时调整教学策略,确保课程目标的实现。

通过课程学习,使学生能够将所学知识应用于实际生活中,提高学生的创新意识和实践能力。

二、教学内容本课程教学内容主要包括以下几部分:1. 数字时钟原理:讲解数字时钟的基本工作原理,包括时钟信号、计数器、显示驱动等组成部分。

2. EDA工具使用:介绍EDA工具的基本操作,如原理图绘制、电路仿真、PCB设计等。

3. 电路设计与实现:指导学生运用EDA工具设计多功能数字时钟电路,包括时钟信号电路、分频器、计数器、显示驱动和按键控制等模块。

4. 电路调试与优化:教授学生如何对设计的数字时钟电路进行调试,找出问题并进行优化。

教学内容与教材关联性如下:1. 《电子技术基础》中关于数字电路的基础知识,为理解数字时钟原理提供理论支持。

eda课程设计数字时钟

eda课程设计数字时钟

eda课程设计 数字时钟一、课程目标知识目标:1. 学生能理解数字时钟的基本概念和原理,掌握数字时钟的组成、功能及使用方法。

2. 学生能够运用所学知识,分析并设计简单的数字时钟电路。

3. 学生了解EDA(电子设计自动化)软件在数字时钟设计中的应用。

技能目标:1. 学生能够运用EDA软件完成数字时钟电路的绘制、仿真和调试。

2. 学生能够运用逻辑电路知识,设计并实现数字时钟的基本功能,如时、分、秒显示。

3. 学生能够通过团队合作,解决数字时钟设计过程中遇到的问题。

情感态度价值观目标:1. 学生培养对电子设计技术的兴趣,提高创新意识和动手能力。

2. 学生在学习过程中,养成积极思考、主动探究的良好习惯。

3. 学生通过团队合作,培养沟通协作能力和集体荣誉感。

课程性质:本课程为实践性课程,以学生动手实践为主,注重培养学生的实际操作能力和创新能力。

学生特点:本课程面向初中生,学生对电子技术有一定了解,具备基本的逻辑思维能力,但实际操作能力有待提高。

教学要求:教师应结合学生特点,采用任务驱动法、分组合作法等教学方法,引导学生主动参与,确保课程目标的实现。

同时,注重过程评价和成果评价,全面评估学生的学习成果。

二、教学内容本章节教学内容依据课程目标,紧密结合教材,确保科学性和系统性。

具体内容包括:1. 数字时钟基础知识:介绍数字时钟的原理、组成及功能,对应教材第3章“数字电路基础”。

- 时钟信号产生- 计数器原理- 显示技术2. EDA软件应用:学习EDA软件的使用方法,绘制数字时钟电路图,对应教材第5章“EDA技术及其应用”。

- EDA软件操作- 电路图绘制- 电路仿真与调试3. 数字时钟电路设计:运用逻辑电路知识,设计数字时钟电路,对应教材第4章“组合逻辑电路”。

- 逻辑门电路- 时钟分频器设计- 计数器设计- 显示控制电路4. 数字时钟制作与调试:分组合作,动手实践,完成数字时钟的制作与调试,对应教材第6章“数字电路实践”。

EDA课程设计——多功能数字钟课程设计报告剖析

EDA课程设计——多功能数字钟课程设计报告剖析

多功能数字电子钟一、设计要求1、具有以二十四小时计时、显示、整点报时、时间设置和闹钟的功能。

2、设计精度要求为1S。

二.系统功能描述1 . 系统输入:系统状态及校时、定时转换的控制信号为k、mode、set;时钟信号clk,采用1024Hz;系统复位信号为reset。

输入信号均由按键产生。

系统输出:LED显示输出,蜂鸣器声音信号输出。

多功能数字钟系统功能的具体描述如下:2. 计时:正常工作状态下,每日按24h计时制计时并显示,蜂鸣器无声,逢整点报时。

3. 校时:在计时状态显示下,按下“set键”,进入“小时”校准状态,之后按下“k键”则进入“分”校准状态,继续按下“k键”则进入“秒复零”状态,第三次按下“k 键”又恢复到正常计时显示状态。

1)“小时”校准状态:在“小时”校准状态下,显示“小时”数码管以1Hz的频率递增计数。

2)“分”校准状态:在“分”校准状态下,显示“分”的数码管以1Hz的频率递增计数。

3)“秒”复零状态:在“秒复零”状态下,显示“秒”的数码管复零。

4. 整点报时:蜂鸣器在“59”分钟的第“51”、“53”、“55”、“57‘秒发频率为512Hz的低音,在“59”分钟的第“59”秒发频率为1024Hz的高音,结束时为整点。

5. 显示:要求采用扫描显示方式驱动6个LED数码管显示小时、分、秒。

闹钟:闹钟定时时间到,蜂鸣器发出周期为1s的“滴”、“滴”声,持续时间为10s;闹钟定时显示。

6. 闹钟定时设置:在闹钟定时显示状态下,按下“set键”,进入闹钟的“时”设置状态,之后按下“k键”进入闹钟的“分”设置状态,继续按下“k 键”则进入“秒”设置状态,第三次按下“k键”又恢复到闹钟定时显示状态。

1)闹钟“小时”设置状态:在闹钟“小时”设置状态下,显示“小时”的数码管以1Hz的频率递增计数。

2)闹钟:“分”设置状态:在闹钟“分”设置状态下,显示“分”的数码管以1Hz的频率递增计数。

三、控制器的MDS图及多功能数字系统结构逻辑框图1、控制器的MDS图S0:显示计时时间s1:调计时的时s2:调计时的分s3:调计时的秒S4:显示闹铃时间s5:调闹铃的时s6:调闹铃的分s7:调闹铃的秒2、多功能数字系统结构逻辑框图四、各功能模块设计说明及源程序1、控制器:设计说明:根据外部的输入控制信号,完成各个状态之间的转换,并在相应状态输出相应的控制信号,从而对整个系统的工作进行控制。

eda课程设计数字时钟设计

eda课程设计数字时钟设计

eda课程设计数字时钟设计一、教学目标本课程旨在通过数字时钟设计项目,让学生掌握EDA(电子设计自动化)工具的基本使用,理解数字电路的设计原理,培养学生的动手实践能力和创新能力。

具体目标如下:1.知识目标:•掌握数字电路的基本概念和设计方法。

•学习常用的EDA工具,如Multisim、Proteus等,并能够运用它们进行数字电路的设计和仿真。

•了解时钟信号的产生和应用,理解RTC(实时时钟)的工作原理。

2.技能目标:•能够运用EDA工具设计简单的数字时钟电路。

•能够进行电路仿真,调试并优化设计。

•学会阅读和理解电子电路图,培养良好的电子工程实践能力。

3.情感态度价值观目标:•培养学生对电子科技的兴趣,增强其科技意识。

•培养学生团队协作精神和自主学习能力。

•培养学生解决问题的能力,增强其面对挑战的信心。

二、教学内容本课程的教学内容主要包括数字电路基础、EDA工具的使用、数字时钟设计原理和RTC的应用。

具体安排如下:1.数字电路基础:•数字逻辑门电路•组合逻辑电路•时序逻辑电路2.EDA工具的使用:•Multisim和Proteus的基本操作•数字电路图的绘制和仿真3.数字时钟设计原理:•常见的时钟信号生成电路•数字时钟电路的设计方法4.RTC的应用:•RTC的工作原理•RTC在数字时钟中的应用三、教学方法为了提高教学效果,本课程将采用多种教学方法相结合的方式,包括:1.讲授法:用于讲解数字电路基础和EDA工具的使用方法。

2.案例分析法:通过分析具体的数字时钟设计案例,让学生理解数字时钟的设计过程。

3.实验法:让学生动手实践,使用EDA工具进行数字时钟的设计和仿真。

四、教学资源为了支持教学,我们将准备以下教学资源:1.教材:选用《数字电路与EDA技术》作为主要教材。

2.参考书:提供《EDA技术教程》等参考书籍,供学生课后自主学习。

3.多媒体资料:制作课件和教学视频,用于课堂讲解和课后复习。

4.实验设备:提供计算机、EDA工具软件、电路仿真实验板等,供学生进行实验和实践。

本科毕业设计论文--eda课程设计报告多功能数字钟设计

本科毕业设计论文--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 设计思路根据系统设计的要求,系统设计采用自顶层向下的设计方法,由时钟分频部分,计时部分,按键调时部分,数码管显示部分,蜂鸣器四部分组成。

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

封面作者:PanHongliang仅供个人学习河南科技大学课程设计说明书课程名称EDA课程设计题目多功能数字钟学院___电信学院______班级___***071班_____学生姓名___***______指导教师王勇日期2010年9月22日课程设计任务书课程设计名称电子设计自动化课程设计学生姓名 *** 专业班级电信科071 设计题目多功能数字钟设计一、课程设计目的1、综合运用EDA技术,独立完成一个课题的设计,考察运用所学知识,解决实际问题的能力;2、结合理论知识,考察阅读参考资料、文献、手册的能力;3、进一步熟悉EDA技术的开发流程,掌握文件编辑、编译、仿真、下载验证等环节的实现方法和应用技巧;4、锻炼撰写研究报告、研究论文的能力;5、通过本实践环节,培养科学和严谨的工作作风。

二、设计内容、技术条件和要求l、能进行正常的时、分、秒计时功能,分别由6个数码显示24小时、60分钟的计数器显示。

2、能利用实验系统上的按钮实现“校时”、“校分”功能;(1)按下“SA”键时,计时器迅速递增,并按24小时循环;(2)按下“SB”键时,计时器迅速递增,并按59分钟循环,并向“时”进位;(3)按下“SC”键时,秒清零;抖动的,必须对其消抖处理。

3、能利用扬声器做整点报时:(1)当计时到达59’50”时开始报时,频率可为500Hz;计满23小时后回零;计满59分钟后回零。

(2)到达59’59”时为最后一声整点报时,整点报时的频率可定为lKHz。

4定时闹钟功能5、用层次化设计方法设计该电路,用硬件描述语言编写各个功能模块。

6、报时功能。

报时功能用功能仿真的仿真验证,可通过观察有关波形确认电路设计是否正确。

三、时间进度安排1周:(1) 完成设计准备,确定实施方案;(2) 完成电路文件的输入和编译;(4) 完成功能仿真。

2周:(1) 完成文件至器件的下载,并进行硬件验证;(2) 撰写设计说明书。

四、主要参考文献(1)谭会生、瞿遂春,《EDA技术综合应用实例与分析》,西安电子科技大学出版社,2004(2)曹昕燕、周凤臣等,《EDA技术实验与课程设计》,清华大学出版社,2006指导教师签字: 2010年9月5日引言:人类社会已进入到高度发达的信息化社会。

信息化社会的发展离不开电子信息产品开发技术、产品品质的提高和进步。

实现这种进步的主要原因就是电子设计技术和电子制造技术的发展,其核心就是电子设计自动化(EDA)技术,EDA技术的发展和推广应用又极大地推动了电子信息产业的发展。

为保证电子系统设计的速度和质量,适应“第一时间推出产品”的设计要求,EDA技术正逐渐成为不可缺少的一项先进技术和重要工具。

目前,在国内电子技术教案和产业界的技术推广中已形成“EDA热”,完全可以说,掌握EDA技术是电子信息类专业学生、工程技术人员所必备的基本能力和技能。

实验原理:用层次化设计的方法以VHDL语言编程实现以下功能:【1】具有“时”、“分”、“秒”计时功能;时为24进制,分和秒都为60进制。

【2】具有消抖功能:手工按下键盘到是否这个过程大概50ms左右,在按下开始到弹簧片稳,定接触这段时间为5-10ms,从释放到弹片完全分开也是5-10ms,在达到稳定接触和完全分开的微观过程中,电平是时高时低的,因此如果在首次检测到键盘按下时延时10ms再检测就不会检测到抖动的毛刺电平了。

64Hz的信号周期为15.6ms,正适合做消抖信号。

【3】具有校时和清零功能,能够用4Hz脉冲对“小时”和“分”进行调整,并可进行秒清零;【4】具有整点报时功能。

在59分51秒、53秒、55秒、57秒发出低音512Hz信号,在59分59秒发出一次高音1024Hz信号,音响持续1秒钟,在1024Hz音响结束时刻为整点。

【5】具有一键设定闹铃及正常计时与闹铃时间的显示转换。

闹时时间为一分钟。

程序流程:秒计数器模块设计:模块图如图1。

六十进制带进位计数器,可清零,clk输入信号为1Hz脉冲,当q0计满9后q1增加1,当q0满9且q1记满5,q1、q0同时归零,co输出为高电平。

q1为十位q0为个位。

图1程序如下:library ieee。

use ieee.std_logic_1164.all。

use ieee.std_logic_unsigned.all。

use ieee.std_logic_arith.all。

entity second ISport(clk,clr:in std_logic。

co:out std_logic。

cq0:out std_logic_vector(3 downto 0)。

cq1:out std_logic_vector(3 downto 0))。

END second。

ARCHITECTURE behave of second isSIGNAL d: std_logic_vector(3 downto 0)。

SIGNAL g: std_logic_vector(3 downto 0)。

BEGINprocess(clk,clr,d,g)BEGINif (clr ='1') thend <="0000"。

g <="0000"。

elsif(clk'EVENT and clk='1')thenif(d=9 and g=5)thenco<='1'。

elseco<='0'。

end if。

if(d=9)thend<="0000"。

if(g=5)theng<="0000"。

elseg<=g+1。

end if。

elsed<=d+1。

end if。

end if。

end process。

cq0<=d。

cq1<=g。

end behave。

仿真结果如下图2 :图2分计数器同上。

注:不同之处为分的clk输入信号为秒的进位信号。

library ieee。

use ieee.std_logic_1164.all。

use ieee.std_logic_unsigned.all。

use ieee.std_logic_arith.all。

entity minute ISport(clk,clr:in std_logic。

co:out std_logic。

cq0:out std_logic_vector(3 downto 0)。

cq1:out std_logic_vector(3 downto 0))。

END minute。

ARCHITECTURE behave of minute isSIGNAL d: std_logic_vector(3 downto 0)。

SIGNAL g: std_logic_vector(3 downto 0)。

BEGINprocess(clk,clr,d,g)BEGINif (clr ='1') thend <="0000"。

g <="0000"。

elsif(clk'EVENT and clk='1')thenif(d=9 and g=5)thenco<='1'。

elseco<='0'。

end if。

if(d=9)thend<="0000"。

if(g=5)theng<="0000"。

elseg<=g+1。

end if。

elsed<=d+1。

end if。

end if。

end process。

cq0<=d。

cq1<=g。

end behave。

时计数器:模块图如图3。

24进制无进位计数器,当计数信号计到23后再检测到计数信号时会自动归零。

带清零,clk输入为分秒进位相与的结果。

q1为十位,q0为个位。

图3library ieee。

use ieee.std_logic_1164.all。

use ieee.std_logic_unsigned.all。

USE IEEE.STD_LOGIC_ARITH.ALL。

entity hour ISport(clk3,rst3,m:in std_logic。

cq4:out std_logic_vector(3 downto 0)。

cq5:out std_logic_vector(3 downto 0))。

END hour。

ARCHITECTURE behave of hour isSIGNAL d: std_logic_vector(3 downto 0)。

SIGNAL g: std_logic_vector(3 downto 0)。

BEGINprocess(clk3,rst3,m,d,g)BEGINif (rst3 ='1') thend <="0000"。

g <="0000"。

elsif(clk3'EVENT and clk3='1')thenif(m='0') thenif(d=9 or (d=1 and g=1))thend<="0000"。

if(g=1)theng<="0000"。

elseg<=g+1。

end if。

elsed<=d+1。

end if。

elseif(d=9 or (d=3 and g=2))thend<="0000"。

if(g=2)theng<="0000"。

elseg<=g+1。

end if。

elsed<=d+1。

end if。

end if。

end if。

end process。

cq4<=d。

cq5<=g。

end behave。

当m=0时,实现模12计数,当m=1时实现模24计数,cout2作为clk3时钟信号,rst3是复位信号, cq4,cq5输出信号最后接在动态译管码芯片上。

得出实验要求的小时计时器:仿真波形如下图4:图4分频器:模块图如图5。

由四个分频器构成,输入信号in_clk为1024Hz脉冲信号。

把输入的1024Hz信号分频为四个脉冲信号,即1Hz的秒脉冲,4Hz的校时、校分脉冲,64Hz的消抖脉冲,以及512Hz的蜂鸣器低音输入。

图5library ieee。

use ieee.std_logic_1164.all。

use ieee.std_logic_unsigned.all。

相关文档
最新文档