eda电子时钟设计.docx

上传人:b****8 文档编号:9687353 上传时间:2023-05-20 格式:DOCX 页数:13 大小:273.99KB
下载 相关 举报
eda电子时钟设计.docx_第1页
第1页 / 共13页
eda电子时钟设计.docx_第2页
第2页 / 共13页
eda电子时钟设计.docx_第3页
第3页 / 共13页
eda电子时钟设计.docx_第4页
第4页 / 共13页
eda电子时钟设计.docx_第5页
第5页 / 共13页
eda电子时钟设计.docx_第6页
第6页 / 共13页
eda电子时钟设计.docx_第7页
第7页 / 共13页
eda电子时钟设计.docx_第8页
第8页 / 共13页
eda电子时钟设计.docx_第9页
第9页 / 共13页
eda电子时钟设计.docx_第10页
第10页 / 共13页
eda电子时钟设计.docx_第11页
第11页 / 共13页
eda电子时钟设计.docx_第12页
第12页 / 共13页
eda电子时钟设计.docx_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

eda电子时钟设计.docx

《eda电子时钟设计.docx》由会员分享,可在线阅读,更多相关《eda电子时钟设计.docx(13页珍藏版)》请在冰点文库上搜索。

eda电子时钟设计.docx

eda电子时钟设计

湖南人文科技学院

课程设计报告

课程名称:

VHDL语言与EDA课程设计

 

设计题目:

电子时钟设计

系别:

通信与控制工程系

专业:

电子信息工程

班级:

学生姓名:

学号:

起止日期:

2011年6月13日~2011年6月24日

指导教师:

教研室主任:

 

指导教师评语:

 

指导教师签名:

年月日

成绩评定

项目

权重

成绩

1、设计过程中出勤、学习态度等方面

0.2

2、课程设计质量与答辩

0.5

3、设计报告书写及图纸规范程度

0.3

总成绩

教研室审核意见:

 

教研室主任签字:

年月日

教学系审核意见:

 

主任签字:

年月日

 

摘要

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

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

本次课程设计要求设计一个数字钟,基本要求为数字钟的时间周期为24小时60分60秒,数字钟显示时、分、秒,数字钟的时间基准一秒对应现实生活中的时钟的一秒。

电路通过使用数字元件,采用三个计数器来构成完成二十四小时的数字钟设计,并且将译码器和二选一数字选择器配合使用来完成动时间写出。

此外,使能端和暂停端控制信号用来控制电路,使得该电路可以完成暂停、预置时间、等一系列的功能。

关键词:

计数器;译码器;二选一数字选择器;使能端;暂停端。

 

目录

设计要求1

1、方案论证与对比1

1.2方案二2

1.3两种方案的对比2

2、各功能模块设计2

2.1计数器2

2.2时间设置模块3

2.3二选一数据选择器3

2.4时间显示模块3

2.5顶层文件框架描述3

3、调试与操作说明4

4、课程设计心得与体会5

5、元器件及仪器设备明细表5

6、致谢6

7、参考文献6

8、附录6

附录1秒,分计数模块6

附录2时计数器模块7

附录3二选一数据选择器8

附录416进制转换为10进制8

电子时钟设计

设计要求

1.能显示时分秒;

2.设置启停开关;

3.能进行暂停;

4.用户可以调整时间。

1、方案论证与对比

按照设计要求,本次的设计分为计数器模块,控制器模块和译码器模块。

根据各个模块的不同,我们的设计上提出了以下两种不同的方案。

1.1方案一

图1.方案一结构图

通过二选一数据选择器选择输出为CLK时钟信号还是数据控制信号,从而使计数器计数,计数器将结果传输给时间显示模块,最后再将16进制数转换为10进制数,在通过数码显示器显示。

当数据选择器输出为CLK时钟信号时,计数器开始计时工作,将输入信号设置为1Hz,则为标准时钟。

当数据选择器输出为数据控制端时,则可通过外部按键改变计数器始终变换,从而改变计数器结果,起到数据写入,预置时间的作用。

1.2方案二

图2.方案二结构图

由CLK传输1Hz信号,计数开始计数,实现标准时钟功能,当控制器关闭,数据传输给时间显示模块,再通过数码显示器显示。

当控制器打开,通过外部按键数据通过控制器输入进计数器,计数器再将结果传输给时间显示模块,从实现到时间预置功能。

1.3两种方案的对比

相同点:

两方案的计数器和时间显示模块的设计思想相同。

不同点:

方案一是二选一数据选择器输出来控制计数器的时钟输入,而方案二是通过控制器来控制计数器的输入输出。

两者相比,虽然方案二结构简单、思路易懂,但方案二需要使用双向端口,而双向端口在控制方面不如二选一数据选择器易操作,准确。

因此,综合考虑,我们选择了方案一进行设计。

2、各功能模块设计

2.1计数器

A.秒计数模块:

秒计数,在频率为1HZ的时钟下以60次为循环计数,并产生进位信号影响分计数;

B.分计数模块:

分计数,在秒进位信号为高电平时,计数一次,同样以60次为一个循环计数,同时产生分进位信号影响时计数;

C.时计数模块:

时计数,在分进位信号为高电平时,计数一次,以24次为一个循环计数。

2.2时间设置模块

设置调试使能端,可以调时,分,秒。

基本功能是在外部按键后产生低电平跳变到高电平的脉冲,从而模拟出时间脉冲信号输入给计数器。

总共有3个同样的部件,分别控制秒,分,时的计数器。

2.3二选一数据选择器

设置时能段,可以使输出受使能段控制。

基本操作,当使能端为‘0’,将CLK脉冲信号输出,当使能端为‘1’时,将外部按键信号输出。

总共有3个同样的部件,分别控制秒,分,时的计数器。

2.4时间显示模块

有计数器输出的数据分7位标准矢量,显示时为16进制数,通过CONV部件将其转换为10进制数输出。

2.5顶层文件框架描述

将以上所描述的各功能模块的VHDL语言文件在QuartusⅡ工具软件上打包成可调用的元件,然后再将名功能模块元件调入原理图编辑窗中并连接好,最后得到的顶层文件原理图如图3所示。

图3.顶层原理图

3、调试与操作说明

1)、建立工程。

2)、对顶层文件进行时序仿真,得到仿真波形如下图示:

图4.顶层文件仿真图

3)、引脚锁定——如下图所示。

图5.引脚锁定表

4、课程设计心得与体会

本次课程设计的VHDL语言程序已在QuartusⅡ工具软件上进行了编译、仿真和调试,并通过编程器下载到了EP1C6Q240C8芯片。

经过实践验证,本设计是正确的,仿真数据与实际波形发生器的试验箱运行结果完全一致,达到预期目的,设计成功。

本文给出的设计思想也适用于其他基于计数器的设计。

我们这次课程设计是通过小组的讨论与实验所完成的,在进行过程中碰到了一些困难。

采用的是QuartusⅡ来完成设计的,因此对于QuartusⅡ软件的使用也提出了一定的要求。

其次,由于VHDL程序编写得不够好,以致于综合器在编译时出现了一些错误,需要多次修改程序直到编译成功。

再次,在仿真时没有正确的结果,经过多次修改,终于得到正确的时序仿真波形。

通过这次实验我感觉到我的动手能力得到很大我加强。

在这次课程设计中,我学会了怎样去根据课题的要求去设计电路和调试电路。

动手能力得到很大的提高。

从中我发现自己并不能很好的熟练去使用我所学到的EDA技术与VHDL语言。

在以后的学习中我们要加强对理论与实际相结合。

而且通过这次实验,体现了团队合作的重要性和交流的必要性。

表1元器件及仪器设备明细表

5、元器件及仪器设备明细表

 

符号

型号/参数

数量

备注

计算机

联想

1台

EDA/SOPC实验开发系统

GW48-PK2

1套

QuartusⅡ6.0开发软件

1套

6、致谢

本次课程设计主要由我们两人共同完成,其间当然老师也同样是付出了大量的时间和精力来帮助我们。

不管怎么样,我们都会欣然接受现实,因为我们努力过了。

同时我们也要衷心地感谢我们所有的老师,以及帮助我们的同学们,要是没你们的帮助我们是不能这么好的完成这次的课程设计。

7、参考文献

[1]边计年,薛宏熙译.用VHDL设计电子线路.北京:

清华大学出版社,2000

[2]李宗伯,王蓉晖译.VHDL设计表示和综合.北京:

机械工业出版社,2002

[3]高书莉,罗朝霞.可编程逻辑设计技术及应用.北京:

人民邮电出版社,2004

[4]黄正谨,徐坚.CPLD系统设计技术入门与应用.北京:

电子工业出版社,2005

[5]黄仁欣,EDA技术实用教程.北京:

清华大学出版社,2008

8、附录

附录1秒,分计数模块

libraryieee;

useieee.std_logic_1164.all;

useieee.std_logic_unsigned.all;

entitycntis

port(CLK,RST,EN:

instd_logic;

CQ:

outstd_logic_vector(6downto0);

COUT:

outstd_logic);

endcnt;

architecturebehavofcntis

begin

process(CLK,RST,EN)

variableCQI:

std_logic_vector(6downto0);

begin

ifRST='1'thenCQI:

=(others=>'0');

elsifCLK'eventandCLK='1'then

ifEN='1'then

ifCQI<59thenCQI:

=CQI+1;

elseCQI:

=(others=>'0');endif;

endif;

endif;

ifCQI=59then

ifclk='1'thenCOUT<='1';

elsecout<='0';endif;endif;

CQ<=CQI;

endprocess;

endbehav;

附录2时计数器模块

libraryieee;

useieee.std_logic_1164.all;

useieee.std_logic_unsigned.all;

entitycnt1is

port(CLK,RST,EN:

instd_logic;

CQ:

outstd_logic_vector(6downto0)

);

endcnt1;

architecturebehav1ofcnt1is

begin

process(CLK,RST,EN)

variableCQI:

std_logic_vector(6downto0);

begin

ifRST='1'thenCQI:

=(others=>'0');

elsifCLK'eventandCLK='1'then

ifEN='1'then

ifCQI<24thenCQI:

=CQI+1;

elseCQI:

=(others=>'0');endif;

endif;

endif;

CQ<=CQI;

endprocess;

endbehav1;

附录3二选一数据选择器

libraryieee;

useieee.std_logic_1164.all;

entitymux21ais

port(a,b:

instd_logic;

s:

instd_logic;

y:

outstd_logic);

endmux21a;

architecturecqofmux21ais

begin

y<=awhens='0'elseb;

endarchitecturecq;

附录416进制转换为10进制

libraryieee;

useieee.std_logic_1164.all;

useieee.std_logic_arith.all;

useieee.std_logic_unsigned.all;

entityconvis

port(clk:

instd_logic;

in16:

instd_logic_vector(6downto0);

out1,out2:

outstd_logic_vector(3downto0));

endentityconv;

architecturebhvofconvis

begin

process(clk,in16)

variabletmp,q1,q2,q3:

integer;

begin

tmp:

=conv_integer(in16);

q1:

=tmp/10;

q2:

=q1/10;

q3:

=q2/10;

ifclk'eventandclk='1'then

out1<=conv_std_logic_vector(tmprem10,4);

out2<=conv_std_logic_vector(q1rem10,4);

endif;

endprocess;

endbhv;

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 法律文书

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2