电子时钟课程设计基于VHDL的电子钟的设计.docx

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

电子时钟课程设计基于VHDL的电子钟的设计.docx

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

电子时钟课程设计基于VHDL的电子钟的设计.docx

电子时钟课程设计基于VHDL的电子钟的设计

电子技术课程设计

题目基于VHDL的电子钟的设计

学院名称电气工程学院

指导教师XXX

职称教授

班级电力XXX班

学号2007XXX

学生姓名XXX

2010年01月15日

 

课程设计任务书

学院电气工程学院专业电气工程及其自动化

班级电力XXX班学号2007XXXXXXX

姓名XXX指导老师XXX

一设计课题名称

基于VHDL的电子钟的设计

二电子钟功能

本课题要求所设计的电子钟能够正常进行时、分、秒计时,并显示计时结果。

同时具有校时功能。

三设计要求

1.详细说明设计方案;

2.用VHDL编写设计程序;

3.给出系统仿真结果;

4.进行硬件验证。

 

目录

第一章

1.1引言----------------------------------------------------------------4

1.2课题设计的背景、目的---------------------------------------4

第二章

2.1EDA的简单介绍------------------------------------------------6

2.2VHDL的简单介绍-----------------------------------------------6

2.3Quartus2软件-----------------------------------------------7

第三章

3.1电子钟的结构图--------------------------------------------------9

3.2小时模块------------------------------------------------9

3.3分钟模块----------------------------------------------11

3.4秒钟模块-------------------------------------------12

3.5时间设置模块---------------------------------------------14

心得体会------------------------------------------------------------17

参考文献------------------------------------------------------------18

 

第一章

1.1引言

随着科学技术的不断发展,人们对时间计量的精度要求越来越高。

数字电子钟走时精度高,稳定性好,使用方便,不需要经常调校,数字式电子钟用秒脉冲发生器的精度稳定保证了数字钟的质量,我们利用VHDL语言制作电子钟的详细程序。

1.2课题设计的背景、目的

20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。

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

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

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

生活中很多安全事故都是由于我们忽略了时间的重要性,缺少了时间观念而造成的。

所以要想拥有超强的时间观念,减少由于时间给我们带来的痛苦与灾难,拥有好的手表式个不错的选择。

但是,随着接受皮试的人数增加,到底是哪个人的皮试到时间却难以判断。

所以,要制作一个定时系统。

随时提醒这些容易忘记时间的人。

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

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

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

通过电子钟的设计,巩固计算机组成原理课程,理论联系实际,提高分析、解决计算机技术的实际问题的独立工作能力;掌握用VHDL语言编制简单的小型模块,学会数字钟的设计方法,熟悉集成电路的使用方法,初步掌握电子钟的设计方法并实现时间的显示和校对,并能对数字电子钟进行扩展。

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

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

因此,此次设计与制作电子钟就是为了了解数字钟的原理,从而学会制作电子钟.而且通过数字钟的制作进一步的了解各种在制作中用到的中小规模集成电路的作用及实用方法.且由于数字钟包括组合逻辑电路和时序电路.通过它可以进一步学习与掌握各种组合逻辑电路与时序电路的原理与使用方法以及VHDL语言的应用

 

第二章

2.1EDA的简单介绍

EDA技术作为现代电子设计技术的核心,它依赖功能强大的计算机在EDA工具软件平台上,对以硬件描述语言HDL为系统逻辑手段完成的设计文件,自动的完成逻辑编辑。

逻辑化简、逻辑分割、逻辑综合、结构综合,以及逻辑优化和仿真测试,直至实现既定的电子线路系统功能。

    EDA技术在硬件实现方面融合了大规模集成电路制造技术,IC版图设计技术、ASIC测试和封装技术,FPGA/CPLD编程下载技术、自动测试技术等;在计算机辅助工程方面融合了计算机辅助设计CAD,计算机辅助制造CAM,计算机辅助测试CAT,计算机辅助工程CAE技术以及多种计算机语言设计概念;而在现代电子学方面则容纳了更多的内容,如电子线路设计理论,数字信号处理技术,数字系统建模和优化技术及基于微波技术的长线技术理论等。

         现在对EDA的概念或范畴用得很宽。

包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有EDA的应用。

目前EDA技术已在各大公司、企事业单位和科研教学部门广泛使用。

2.2VHDL的简单介绍

VHDL是于1983年由美国国防部发起创建,有IEEE进一步发展并于1987年作为“IEEE标准1076”发布。

从此,VHDL成为硬件描述语言的业界标准之一。

VHDL语言具有很强的电路描述和建模能力,能从多个层次对数字系统进行建模和描述,从而大大简化了硬件设计任务,提高了设计效率和可靠性。

VHDL具有与具体硬件电路无关和与设计平台无关的特性,并且具有良好的电路行为描述和系统描述的能力,在语言易读性和层次化结构化设计方面表现了强大的生命力和应用潜力。

因此,VHDL支持各种模式的设计方法,自顶向下与自底向上或混合方法,在面对当今许多电子产品生命周期缩短,需要多次重新设计以融入最新技术、改变工艺等方面,VHDL具有良好的适应性。

用VHDL进行电子系统设计的一个很大的优点是设计者可以专心致力于其功能的实现,而不需要对不影响功能的与工艺有关的因素花费过多的时间和精力。

一.VHDL在工程设计中的优点:

(1)与其他的硬件描述语言相比,VHDL具有更强的行为描述能力,从而决定了他成为系统设计领域最佳的硬件描述语言。

强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。

(2)VHDL丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计系统的功能可行性,随时可对设计进行仿真模拟。

(3)VHDL语句的行为描述能力和程序结构决定了他具有支持大规模设计的分解和已有设计的再利用功能。

符合市场需求的大规模系统高效、高速的完成必须有多人甚至多个代发组共同并行工作才能实现。

(4)对于用VHDL完成的一个确定的设计,可以利用EDA工具进行逻辑综合和优化,并自动的把VHDL描述设计转变成门级网表。

(5)VHDL对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管理最终设计实现的目标器件是什么,而进行独立的设计。

二.VHDL语言的开发流程

(1)文本编辑:

用任何文本编辑器都可以进行,也可以用专用的HDL编辑环境。

通常VHDL文件保存为.vhd文件。

(2)功能仿真:

将文件调入HDL仿真软件进行功能仿真,检查逻辑功能是否正确(也叫前仿真,对简单的设计可以跳过这一步,只在布线完成以后,进行时序仿真)。

(3)逻辑综合:

将源文件调入逻辑综合软件进行综合,即把语言综合成最简的布尔表达式和信号的连接关系。

逻辑综合软件会生成.edf(edif)的EDA工业标准文件。

(4)布局布线:

将.edf文件调入PLD厂家提供的软件中进行布线,即把设计好的逻辑安放到PLD/FPGA内。

(5)编程下载:

确认仿真无误后,将文件下载到芯片中。

2.3Quartus2软件

Quartus2在基于VHDL程序设计中拥有输入设计流程,其包括设计输入,综合,适配,仿真测试和编程下载等方法。

Quartus2与其他应用软件相比,他提供了更强大、更直观便捷和操作灵活的原理图输入设计功能,同时还配备了更丰富的适用于各种需要的元件库,其中包括基本的逻辑元件,宏功能元件,以及类似于IP核的参数可设置的宏功能块LPM库。

与传统的数字电路实验相比,Quartus2提供原理图输入设计功能具有不可比拟的优势和先进性:

1)设计者不必具备许多诸如编程技术,硬件描述语言等知识就能迅速入门,完成较大规模的电路设计系统。

2)能进行任意层次的数字系统设计,传统的数字电路实验只能完成单一层次的设计。

3)能对系统中的任意层次,或任一元件的功能进行精确的时序仿真。

4)通过时序仿真能迅速定位电路系统中的错误所在,并及时纠正。

在对电子钟的设计中,由于对编程知识掌握量有限,所以利用了Quartus2的原理图输入设计方法的优势而对电子钟电路进行设计,从而得到各模块的设计流程。

 

第三章

利用Quartus2原理图输入设计方法,将电子钟的各模块电路:

小时,分,秒及校时模块在原理图中画出,并对其引脚进行设置,经过验证得到准确的电路原理图。

3.1电子钟的原理图

在此结构图中分为四个模块,每个模块的作用分别为:

1.小时模块。

通过复位和使能端的控制,进行小时间的切换,其进制为24进制,当显示器上的数字显示到23:

59:

59时小时立马复位为零,再进行重新计时。

2.分钟模块。

其控制原理与小时模块基本相同,所不同之处为其进制为60进制,进行电子钟分钟的控制。

3.秒钟模块。

其功能与作用于分钟模块相同。

4.校时模块。

当电子钟可以进行计时之后,我们要求可以对时间进行调节,所以在这个模块中附加了对分钟与小时的调节功能。

并且在这个环节中,当我们对分或小时进行调节时,所要调节的显示器上的数字会进行闪烁,当我们对数字进行切换之后就会达到稳定的计时效果。

3.2小时模块

小时模块采用24进制,由四进制与六进制构成。

其程序如下:

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYhourIS

PORT(CLK0,CLK1,RST,EN:

INSTD_LOGIC;

q1,q0:

OUTSTD_LOGIC_VECTOR(3DOWNTO0));

ENDhour;

ARCHITECTUREbehavOFhourIS

signalCLK:

STD_LOGIC;

signalCQ1:

STD_LOGIC_VECTOR(7DOWNTO0);

signalC0:

STD_LOGIC_VECTOR(3DOWNTO0);

signalC1:

STD_LOGIC_VECTOR(3DOWNTO0);

BEGIN

cq1<=c1&c0;

PROCESS(CLK,RST,EN)

BEGIN

caseenis

when'1'=>clk<=clk1;

when'0'=>clk<=clk0;

whenothers=>null;

endcase;

IFRST='1'THENc1<=(OTHERS=>'0');c0<=(OTHERS=>'0');

ELSIFCLK'EVENTANDCLK='1'THEN

IFc0<9THENc0<=c0+1;

ELSEc0<=(OTHERS=>'0');

IFc0=9THENc1<=c1+1;

ENDIF;

endif;

ENDIF;

if(c1=2andc0=4)thenc0<=(OTHERS=>'0');c1<=(OTHERS=>'0');

ENDIF;

q1<=c1;q0<=c0;

ENDPROCESS;

ENDbehav;

得到的仿真波形如下:

3.3分钟模块

分钟模块采用十进制和六进制构成

原理图为

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYminute1IS

PORT(CLK0,CLK1,RST,EN:

INSTD_LOGIC;

q1,q0:

OUTSTD_LOGIC_VECTOR(3DOWNTO0);

COUT:

OUTSTD_LOGIC);

ENDminute1;

ARCHITECTUREbehavOFminute1IS

signalCLK:

STD_LOGIC;

signalCQ1:

STD_LOGIC_VECTOR(7DOWNTO0);

signalC0:

STD_LOGIC_VECTOR(3DOWNTO0);

signalC1:

STD_LOGIC_VECTOR(3DOWNTO0);

BEGIN

cq1<=c1&c0;

PROCESS(CLK,RST,EN)

BEGIN

caseenis

when'1'=>clk<=clk1;

when'0'=>clk<=clk0;

whenothers=>null;

endcase;

IFRST='1'THENc1<=(OTHERS=>'0');c0<=(OTHERS=>'0');

ELSIFCLK'EVENTANDCLK='1'THEN

IFc0<9THENc0<=c0+1;

ELSEc0<=(OTHERS=>'0');

IFc0=9THENc1<=c1+1;

ENDIF;

endif;

ENDIF;

if(c1=5andc0=9)thencout<='1';ELSECOUT<='0';endif;

if(c1=6andc0=0)thenc0<=(OTHERS=>'0');c1<=(OTHERS=>'0');

ENDIF;

q1<=c1;q0<=c0;

ENDPROCESS;

ENDbehav;

得到的仿真波形如下:

3.4秒钟模块

采用十进制和六进制构成

原理图为

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYsecondIS

PORT(CLK,RST,EN:

INSTD_LOGIC;

q1,q0:

OUTSTD_LOGIC_VECTOR(3DOWNTO0);

COUT:

OUTSTD_LOGIC);

ENDsecond;

ARCHITECTUREbehavOFsecondIS

signalCQ1:

STD_LOGIC_VECTOR(7DOWNTO0);

signalC0:

STD_LOGIC_VECTOR(3DOWNTO0);

signalC1:

STD_LOGIC_VECTOR(3DOWNTO0);

BEGIN

cq1<=c1&c0;

PROCESS(CLK,RST,EN)

BEGIN

IFRST='1'THENc1<=(OTHERS=>'0');c0<=(OTHERS=>'0');

ELSIFCLK'EVENTANDCLK='1'THEN

IFEN='1'THEN

IFc0<9THENc0<=c0+1;

ELSEc0<=(OTHERS=>'0');

IFc0=9THENc1<=c1+1;

ENDIF;

endif;

ENDIF;

ENDIF;

if(c1=5andc0=9)thencout<='1';ELSECOUT<='0';endif;

if(c1=6andc0=0)thenc0<=(OTHERS=>'0');c1<=(OTHERS=>'0');

ENDIF;

q1<=c1;q0<=c0;

ENDPROCESS;

ENDbehav;

得到的仿真波形如下:

3.5时间设置模块

此模块实行对时间进行校正

原理图为

libraryieee;

useieee.std_logic_1164.all;

useieee.std_logic_unsigned.all;

entitysstis

port(clk:

instd_logic;

m1,m0,s1,s0:

instd_logic_vector(3downto0);

y:

outstd_logic);

endsst;

architectureoneofsstis

begin

process(clk)

begin

ifclk'eventandclk='1'then

ifm1="0000"andm0="0000"ands1="0000"ands0="0000"then

y<='1';elsey<='0';

endif;

endif;

endprocess;

endone;

得到的仿真波形如下:

将各模块进行连接,然后进行仿真,得到的总程序的仿真波形如下:

-

 

心得体会:

通过此次课程设计,令我感受颇深,在平时的学习中,虽然书本上的知识都掌握了,但是如果不联系实际,不把所掌握的知识与实践相结合,也就是我们所说的死学习,是达不到我们所要的理想水平的。

所以为了将我们所学习的东西充分的理解掌握,就必须经常思考,用实验验证我们的所学成果。

在理论与实际相结合的过程中我们要勤思考,多请教,尽自己最大的努力将设计做好。

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

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

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

课程设计中虽然遇到了很多困难,特别是软件一些功能还比较陌生,但是在老师的指导和帮助下能去亲手实践,经过多次练习掌握并熟练。

一些程序的检测和改正还需要我们耐心仔细去探索。

 

参考文献

1.潘松等.EDA技术实用教程

2.卢毅,赖杰.VHDL与数字电路设计

3.林明权.VHDL数字控制系统设计范例

4.

 

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

当前位置:首页 > 经管营销 > 经济市场

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

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