电子时钟课程设计基于VHDL的电子钟的设计_第1页
电子时钟课程设计基于VHDL的电子钟的设计_第2页
电子时钟课程设计基于VHDL的电子钟的设计_第3页
电子时钟课程设计基于VHDL的电子钟的设计_第4页
电子时钟课程设计基于VHDL的电子钟的设计_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、电子技术课程设计题 目 基于vhdl的电子钟的设计 学院名称 电气工程学院 指导教师 xxx 职 称 教授 班 级 电力xxx班 学 号 2007xxx 学生姓名 xxx 2010年 01 月 15 日 课程设计任务书学院 电气工程学院 专业 电气工程及其自动化班级 电力xxx班 学号 2007xxxxxxx 姓名 xxx 指导老师 xxx一 设计课题名称 基于vhdl的电子钟的设计二 电子钟功能本课题要求所设计的电子钟能够正常进行时、分、秒计时,并显示计时结果。同时具有校时功能。三 设计要求1.详细说明设计方案;2.用vhdl编写设计程序;3.给出系统仿真结果;4.进行硬件验证。目录第一章1

2、.1引言-41.2 课题设计的背景、目的-4第二章2.1 eda的简单介绍- 62.2 vhdl的简单介绍- 62.3 quartus2 软件- 7第三章3.1电子钟的结构图 -93.2小时模块 - 93. 3分钟模块 - 113.4 秒钟模块 -123.5 时间设置模块 - 14心得体会 - 17参考文献 - 18第一章1.1 引言随着科学技术的不断发展,人们对时间计量的精度要求越来越高。数字电子钟走时精度高,稳定性好,使用方便,不需要经常调校,数字式电子钟用秒脉冲发生器的精度稳定保证了数字钟的质量,我们利用vhdl语言制作电子钟的详细程序。1.2课题设计的背景、目的 20世纪末,电子技术获

3、得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。 时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。但是,一旦重要事情,一时的耽误可能酿成大祸。生活中很多安全事故都是由于我们忽略了时间的重要性,缺少了时间观念而造成的。所以要想拥有超强的时间观念,减少由于时间给我们带来的痛苦与灾难,拥有好的手表式个不错的选择。但是,随着接受皮试的人数增加,到底是哪个人的皮试到时间却难以判断。所以,

4、要制作一个定时系统。随时提醒这些容易忘记时间的人。 钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、定时启闭电路、定时开关烘箱、通断动力设备,甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。 通过电子钟的设计,巩固计算机组成原理课程,理论联系实际,提高分析、解决计算机技术的实际问题的独立工作能力;掌握用vhdl语言编制简单的小型模块,学会数字钟的设计方法,熟悉集成电路的使用方法,初步掌握电子钟的设计方法并实现时间的显示和校对,并能对数字

5、电子钟进行扩展。电子钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。 电子钟从原理上讲是一种典型的数字电路,其中包括了组合逻辑电路和时序电路。因此,此次设计与制作电子钟就是为了了解数字钟的原理,从而学会制作电子钟.而且通过数字钟的制作进一步的了解各种在制作中用到的中小规模集成电路的作用及实用方法.且由于数字钟包括组合逻辑电路和时序电路.通过它可以进一步学习与掌握各种组合逻辑电路与时序电路的原理与使用方法以及vhdl语言的应用第二章2.1 eda的简单介绍 eda技术作为现代电子设计技术的核心,它

6、依赖功能强大的计算机在eda工具软件平台上,对以硬件描述语言hdl为系统逻辑手段完成的设计文件,自动的完成逻辑编辑。逻辑化简、逻辑分割、逻辑综合、结构综合,以及逻辑优化和仿真测试,直至实现既定的电子线路系统功能。eda技术在硬件实现方面融合了大规模集成电路制造技术,ic版图设计技术、asic测试和封装技术,fpga/cpld编程下载技术、自动测试技术等;在计算机辅助工程方面融合了计算机辅助设计cad,计算机辅助制造cam,计算机辅助测试cat,计算机辅助工程cae技术以及多种计算机语言设计概念;而在现代电子学方面则容纳了更多的内容,如电子线路设计理论,数字信号处理技术,数字系统建模和优化技术及

7、基于微波技术的长线技术理论等。现在对eda的概念或范畴用得很宽。包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有eda的应用。目前eda 技术已在各大公司、企事业单位和科研教学部门广泛使用。2.2 vhdl的简单介绍vhdl是于1983年由美国国防部发起创建,有ieee进一步发展并于1987年作为“ieee标准1076”发布。从此,vhdl成为硬件描述语言的业界标准之一。vhdl语言具有很强的电路描述和建模能力,能从多个层次对数字系统进行建模和描述,从而大大简化了硬件设计任务,提高了设计效率和可靠性。vhdl具有与具体硬件电路无关和与设计平台无关的特性,并且具有良

8、好的电路行为描述和系统描述的能力,在语言易读性和层次化结构化设计方面表现了强大的生命力和应用潜力。因此,vhdl支持各种模式的设计方法,自顶向下与自底向上或混合方法,在面对当今许多电子产品生命周期缩短,需要多次重新设计以融入最新技术、改变工艺等方面,vhdl具有良好的适应性。用vhdl进行电子系统设计的一个很大的优点是设计者可以专心致力于其功能的实现,而不需要对不影响功能的与工艺有关的因素花费过多的时间和精力。一vhdl在工程设计中的优点:(1)与其他的硬件描述语言相比,vhdl具有更强的行为描述能力,从而决定了他成为系统设计领域最佳的硬件描述语言。强大的行为描述能力是避开具体的器件结构,从逻

9、辑行为上描述和设计大规模电子系统的重要保证。 (2)vhdl丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计系统的功能可行性,随时可对设计进行仿真模拟。 (3)vhdl语句的行为描述能力和程序结构决定了他具有支持大规模设计的分解和已有设计的再利用功能。符合市场需求的大规模系统高效、高速的完成必须有多人甚至多个代发组共同并行工作才能实现。(4)对于用vhdl完成的一个确定的设计,可以利用eda工具进行逻辑综合和优化,并自动的把vhdl描述设计转变成门级网表。 (5)vhdl对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管理最终设计实现的目标器件是什么,而进行独立的设计

10、。二vhdl语言的开发流程 (1)文本编辑:用任何文本编辑器都可以进行,也可以用专用的hdl编辑环境。通常vhdl文件保存为.vhd文件。 (2)功能仿真:将文件调入hdl仿真软件进行功能仿真,检查逻辑功能是否正确(也叫前仿真,对简单的设计可以跳过这一步,只在布线完成以后,进行时序仿真)。 (3)逻辑综合:将源文件调入逻辑综合软件进行综合,即把语言综合成最简的布尔表达式和信号的连接关系。逻辑综合软件会生成.edf(edif)的eda工业标准文件。 (4)布局布线:将.edf文件调入pld厂家提供的软件中进行布线,即把设计好的逻辑安放到pld/fpga内。 (5)编程下载:确认仿真无误后,将文件

11、下载到芯片中。2.3 quartus2 软件quartus2在基于vhdl程序设计中拥有输入设计流程 ,其包括设计输入,综合,适配,仿真测试和编程下载等方法。quartus2与其他应用软件相比,他提供了更强大、更直观便捷和操作灵活的原理图输入设计功能,同时还配备了更丰富的适用于各种需要的元件库,其中包括基本的逻辑元件,宏功能元件,以及类似于ip核的参数可设置的宏功能块lpm库。与传统的数字电路实验相比,quartus2提供原理图输入设计功能具有不可比拟的优势和先进性:1) 设计者不必具备许多诸如编程技术,硬件描述语言等知识就能迅速入门,完成较大规模的电路设计系统。2) 能进行任意层次的数字系统

12、设计,传统的数字电路实验只能完成单一层次的设计。3) 能对系统中的任意层次,或任一元件的功能进行精确的时序仿真。4) 通过时序仿真能迅速定位电路系统中的错误所在,并及时纠正。在对电子钟的设计中,由于对编程知识掌握量有限,所以利用了quartus2的原理图输入设计方法的优势而对电子钟电路进行设计,从而得到各模块的设计流程。 第三章利用quartus2原理图输入设计方法,将电子钟的各模块电路:小时,分,秒及校时模块在原理图中画出,并对其引脚进行设置,经过验证得到准确的电路原理图。3.1电子钟的原理图在此结构图中分为四个模块,每个模块的作用分别为:1.小时模块。通过复位和使能端的控制,进行小时间的切

13、换,其进制为24进制,当显示器上的数字显示到23:59:59时小时立马复位为零,再进行重新计时。2.分钟模块。其控制原理与小时模块基本相同,所不同之处为其进制为60进制,进行电子钟分钟的控制。3.秒钟模块。其功能与作用于分钟模块相同。4.校时模块。当电子钟可以进行计时之后,我们要求可以对时间进行调节,所以在这个模块中附加了对分钟与小时的调节功能。并且在这个环节中,当我们对分或小时进行调节时,所要调节的显示器上的数字会进行闪烁,当我们对数字进行切换之后就会达到稳定的计时效果。3.2 小时模块小时模块采用24进制,由四进制与六进制构成。其程序如下: library ieee;use ieee.st

14、d_logic_1164.all;use ieee.std_logic_unsigned.all;entity hour is port (clk0,clk1,rst,en : in std_logic; q1,q0 : out std_logic_vector(3 downto 0); end hour;architecture behav of hour issignal clk : std_logic;signal cq1 : std_logic_vector(7 downto 0);signal c0 : std_logic_vector(3 downto 0);signal c1 :

15、 std_logic_vector(3 downto 0);begincq1clkclknull;end case; if rst = 1 then c1 0) ; c0 0) ; elsif clkevent and clk=1 then if c0 9 then c0 = c0 + 1; else c0 0); if c0 = 9 then c1 = c1 + 1; end if; end if; end if;if (c1=2 and c0=4) then c0 0);c1 0); end if; q1=c1;q0=c0; end process;end behav;得到的仿真波形如下:

16、3.3 分钟模块分钟模块采用十进制和六进制构成原理图为library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity minute1 is port (clk0,clk1,rst,en : in std_logic; q1,q0 : out std_logic_vector(3 downto 0); cout : out std_logic ); end minute1;architecture behav of minute1 issignal clk : std_logic;signal cq1

17、 : std_logic_vector(7 downto 0);signal c0 : std_logic_vector(3 downto 0);signal c1 : std_logic_vector(3 downto 0);begincq1clkclknull;end case;if rst = 1 then c1 0) ; c0 0) ; elsif clkevent and clk=1 then if c0 9 then c0 = c0 + 1; else c0 0); if c0 = 9 then c1 = c1 + 1; end if; end if; end if;if (c1=

18、5 and c0=9)then cout= 1;else cout =0;end if; if (c1=6 and c0=0) then c0 0);c1 0); end if; q1=c1;q0=c0; end process;end behav;得到的仿真波形如下:3.4 秒钟模块采用十进制和六进制构成原理图为library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity second is port (clk,rst,en : in std_logic; q1,q0 : out std_log

19、ic_vector(3 downto 0); cout : out std_logic ); end second;architecture behav of second issignal cq1 : std_logic_vector(7 downto 0);signal c0 : std_logic_vector(3 downto 0);signal c1 : std_logic_vector(3 downto 0);begincq1= c1 & c0; process(clk, rst, en) begin if rst = 1 then c1 0) ; c0 0) ; elsif cl

20、kevent and clk=1 then if en = 1 then if c0 9 then c0 = c0 + 1; else c0 0); if c0 = 9 then c1 = c1 + 1; end if; end if; end if; end if;if (c1=5 and c0=9)then cout= 1;else cout =0;end if; if (c1=6 and c0=0) then c0 0);c1 0); end if; q1=c1;q0=c0; end process;end behav;得到的仿真波形如下:3.5 时间设置模块此模块实行对时间进行校正原理图为 library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity sst isport (clk :in std_logic; m1,m0,s1,s0:in std_logic_vector(3 downto 0); y:out std_logic);end sst;archi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论