当前位置:文档之家› eda技术多功能数字钟系统的设计

eda技术多功能数字钟系统的设计

eda技术多功能数字钟系统的设计
eda技术多功能数字钟系统的设计

郑州大学毕业设计(论文)

题目: EDA技术多功能数字钟系统的设计

指导教师:马蕾职称:讲师

学生姓名:高慧英学号:010********* 专业:电子工程

院(系):物理工程学院

完成时间:

2014年 5 月30 日

摘要

近年来,随着电子技术和通信技术的飞速发展,要求设计研究方面运用电子设计自动化(Electronic Design Automation,简称EDA)工具进行开发。在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA技术的出现,极大地提高了电路设计的效率和可靠性,减轻了设计者的劳动强度。

本设计为通过EDA仿真软件MAX+PLUSII设计一个多功能数字钟,并下载到硬件中实现。本系统的设计电路由计时电路、动态显示电路、闹钟电路、控制电路、显示电路等部分组成。本系统采用动态显示的原理在数码管上显示12小时计时的时刻,具有清零、保持、校时、报时的功能,并在此基础上增加了闹铃、秒表、12小时制计时、A/P显示等功能。在设计过程中,将各部分均模块化,各模块间相互独立,又相互联系。本实验吸收了硬件软件化的思想,大部分功能通过软件来实现,使电路简单明了,系统稳定性大大提高。本系统不仅成功的实现了要求的基本功能,发挥部分也得到完全的实现,而且有一定的创新功能。

关键词数字钟、计数器、多功能、动态显示、原理图、仿真、模块化

Abstract

Recently, with the rapid development of electronic and communication technology, it is required to use Electronic Design Automation (EDA) as a tool in designing systems. EDA derives from the concepts of Computer Aided Design, Computer Aided Manufacture, Computer Aided Test and Computer Aided Engineering in the 1990s. Designers use Hardware Describe Language to accomplish designing files on the platform of software. Then, computer will finish the work of logical compiling, simplification, division, synthesis, optimizing, layout, tracking and simulating automatically, and it can also accomplish the work of proper compiling, logical projecting and downloading of the target chip. As a result, it evidently improves the efficiency and reliability of the circuit design, and it also lighten designer’s workload.

This experiment has designed a multifunctional digital clock via using the MAX+PLUSII, and the basic and extended performances and functions are successfully realized in the hardware. This system includes time circuit, alarm circuit, dynamic display circuit, control circuit, display circuit. In the system, the segment display can display time in the 24-hour format, it includes such functions as clear, hold, check the time and so on. We can also add alarm, stopwatch, 12-hour format display and other functions on that basic. In the designing process, many parts are modularized, they are not only independent but also related. Many functions are finished by the software. So it simples the circuit and enhances the stability of the system. Not only all the basic and extended performances and functions are successfully realized, but also accomplish some innovation functions.

Keywords:Digital clock, arithmometer, multifunctional, dynamic

display,schematic diagram, simulate, modularization

目录

1、引言 (1)

2、 EDA技术介绍 (2)

2.1 EDA技术概况 (2)

2.2 ALTERA QUARTUS II软件介绍 (2)

3、设计电路的内容和功能要求 (4)

3.1 设计内容简介 (4)

3.2 课程设计要求基本要求 (4)

4、硬件语言——Verilog HDL语言简介 (4)

4.1 Verilog HDL发展史 (4)

4.2 Verilog HDL概念 (5)

4.3 Verilog HDL特点 (5)

4.2 Verilog HDL应用实例 (6)

5、方案论证 (6)

5.1 设计方案 (6)

5.2 整体设计方案介绍 (7)

6、各子模块设计的原理和电路 (7)

6.1 模块介绍 (7)

6.2主控制模块的设计及仿真 (7)

6.2.1分频模块 (7)

6.2.2计数器模块 (10)

6.2.3控制模块 (15)

6.2.4 数码管分配 (19)

6.2.5显示模块 (21)

6.2.6报时模块 (23)

7、设计过程中遇到的问题 (26)

结束语 (27)

参考资料 (28)

致谢 (29)

1、引言

多功能数字钟数字钟是采用数字电路实现对时,分,秒。数字显示的计时装置,广泛用于个人家庭,车站, 码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,运运超过老式钟表, 钟表的数字化给人们生产生活带来了极大的方便而且大大地扩展了钟表原先的报时功能。因此,研究数字钟及扩大其应用,有着非常现实的意义。

数字钟计时的标准信号应该是频率相当稳定的1HZ秒脉冲,所以要设置标准时间源。

数字钟计时周期是24小时,因此必须设置24小时计数器,应由模为60的秒计数器和分计数器及模为24的时计数器组成,秒、分、时由七段数码管显示。

为使数字钟走时与标准时间一致,校时电路是必不可少的。设计中采用开关控制校时直接用秒脉冲先后对“时”“分”“秒”计数器进行校时操作。

能进行整点报时。在从59分50秒开始,每隔2秒钟发出一次低音“嘟”的信号,连续五次,最后一次要求最高音“嘀”的信号,此信号结束即达到正点。

本文基于数字钟的的设计原理,利用Altera公司出品QuartusII软件以及相应的实验平台完成设计。通过实验了解QuartusII的各种功能,学习对个子模块设计后的仿真基本方法。利用所学数字电路知识,用电路元件设计数字钟基本部分,经过仿真调试后下载到实验箱上。此次设计的数字钟具有清零、校时和校分功能、计时显示功能、整点报时功能。

2、 EDA技术介绍

2.1 EDA技术概况

20世纪90年代,国际上电子和计算机技术较先进的国家,一直在积极探索新的电子电路设计方法,并在设计方法、工具等方面进行了彻底的变革,取得了巨大成功。在电子技术设计领域,可编程逻辑器件(如CPLD、FPGA)的应用,已得到广泛的普及,这些器件为数字系统的设计带来了极大的灵活性。这些器件可以通过软件编程而对其硬件结构和工作方式进行重构,从而使得硬件的设计可以如同软件设计那样方便快捷。这一切极大地改变了传统的数字系统设计方法、设计过程和设计观念,促进了EDA技术的迅速发展。

EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA技术的出现,极大地提高了电路设计的效率和可*性,减轻了设计者的劳动强度

2.2 ALTERA QUARTUS II软件介绍

Quartus II 是Altera公司的综合性PLD开发软件,支持原理图、VHDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。

Quartus II可以在XP、Linux以及Unix上使用,除了可以使用Tcl脚本完成设计流程外,提供了完善的用户图形界面设计方式。具有运行速度快,界面统一,功能集中,易学易用等特点。

Quartus II支持Altera的IP核,包含了LPM/MegaFunction宏功能模

块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计

速度。对第三方EDA工具的良好支持也使用户可以在设计流程的各个阶段使

用熟悉的第三放EDA工具。

此外,Quartus II 通过和DSP Builder工具与Matlab/Simulink相结合,可以方便地实现各种DSP应用系统;支持Altera的片上可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。

Maxplus II 作为Altera的上一代PLD设计软件,由于其出色的易用

性而得到了广泛的应用。目前Altera已经停止了对Maxplus II 的更新支持,Quartus II 与之相比不仅仅是支持器件类型的丰富和图形界面的改变。Altera在Quartus II 中包含了许多诸如SignalTap II、Chip Editor

和RTL Viewer的设计辅助工具,集成了SOPC和HardCopy设计流程,并

且继承了Maxplus II 友好的图形界面及简便的使用方法。

Altera Quartus II 作为一种可编程逻辑的设计环境, 由于其强大的设

计能力和直观易用的接口,越来越受到数字系统设计者的欢迎。

Altera的Quartus II可编程逻辑软件属于第四代PLD开发平台。该平台支持一个工作组环境下的设计要求,其中包括支持基于Internet的协作设计。Quartus平台与Cadence、ExemplarLogic、 MentorGraphics、Synopsys和Synplicity等EDA供应商的开发工具相兼容。改进了软件的LogicLock模块设计功能,增添了FastFit编译选项,推进了网络编辑性能,而且提升了调试能力。支持MAX7000/MAX3000等乘积项器件

在本次设计中,用的软件是Alter公司的QUARTUSII5.0英文版,如下图,就是QUARTUSII5.0启动时出现的界面。

3、设计电路的内容和功能要求

3.1 设计内容简介

综合运用所学的数字逻辑电路和系统设计的知识,学会采用层次化设计的概念,将此次任务分成若干模块,规定某一模块的功能和各模块之间的接口,然后将各模块组合起来构成系统框图。任务要求设计一个多功能数字时钟电路,可以完成00:00:00-11:59:59的计时功能,并且具有清零功能、快速校分校小时、整点报时等基本功能。

3.2 课程设计要求基本要求

1、能进行正常的时、分、秒计时功能;

2、分别由六个数码管显示00小时00分00秒到11小时59分59秒的计时;

3、键1是系统的启停(键1为0停止运行,键1为1时正常工作);

4、键2是系统的清零(键2为0清零,键2为1时不清零);

5、键3是系统的校时开关(键3为0正常工作,键3为1时可以快速校时);

6、键4是系统的校分开关(键4为0正常工作,键4为1时可以快速校分);

4、硬件语言——Verilog HDL语言简介

4.1 Verilog HDL发展史

Verlog HDL的发展历史:

1、1981年Gateway Automation(GDA)硬件描述语言公司成立。

2、1983年该公司的Philip Moorby首创了Verilog HDL,Moorby后来成为Verrlog HDL-XL的主要设计者和Cadence公司的第一合伙人。

3、1984-1985年Moorby设计出第一个关于Verilog HDL的仿真器。

4、1986年Moorby对Verilog HDL的发展又做出另一个巨大的贡献,提出了用于快速门级仿真的XL算法。

5、随着Verilog HDL-XL的成功,Verilog HDL语言得到迅速发展。

6、1987年Synonsys公司开始使用Verilog HDL行为语言作为综合工具的输入。

7、1989年Cadence公司收购了Gateway公司,Verilog HDL成为Cadence

公司的私有财产。

8、1990年初Cadence公司把Verilong HDL和Verilong HDL-XL分开,并

公开发布了Verilog HDL.随后成立的OVI(Open Verilog HDL International)组织负责Verilog HDL的发展,OVI由Verilog HDL的使用和CAE供应商组成,制定标准。

9、1993年,几乎所有ASIC厂商都开始支持Verilog HDL,并且认为Veri log HDL-XL是最好的仿真器。同时,OVI推出2.0版本的Verilong HDL规范,IEEE接收将OVI的Verilong HDL2.0作为IEEE标准的提案。

10、1995年12月,IEEE制定了Verilong HDL的标准IEEE1364-1995.

任何新生事物的产生都有它的历史沿革,早期的硬件描述语言是以一种高

级语言为基础,加上一些特殊的约定而产生的,目的是为了实现RTL级仿真,

用以验证设计的正确性,而不必像在传统的手工设计过程中那样,必须等到完

成样机后才能进行实测和调试。

Verilog HDL就是在用用最广泛的C语言的基础上发展起来的一种件描述语言,它是由GDA(Gateway Design Automation)公司的PhilMoorby在1983年末首创的,最初只设计了一个仿真与验证工具,之后又陆续开发了相关的故障模拟与时序分析工具。1985年Moorby推出它的第三个商用仿真器Verilog-XL,获得了巨大的成功,从而使得Verilog HDL迅速得到推广应用。1989年CADENCE公司收购了GDA公司,使得VerilogHDL成为了该公司的独家专利。1990年CADENCE公司公开发表了Verilog HDL,并成立LVI组织以促进Verilog HDL成为IEEE标准,即IEEE Standard 1364-1995.

4.2 Verilog HDL概念

Verilog HDL是一种硬件描述语言(HDL:Hardware Discription Language),是一种以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能。

4.3 Verilog HDL特点

Verilog HDL的最大特点就是易学易用,如果有C语言的编程经验,可以在一个较短的时间内很快的学习和掌握,因而可以把Verilog HDL内容安排在与ASIC 设计等相关课程内部进行讲授,由于HDL语言本身是专门面向硬件与系统设计的,这样的安排可以使学习者同时获得设计实际电路的经验。与之相比,VHDL的学习要困难一些。但Verilog HDL较自由的语法,也容易造成初学者犯一些错误,这

一点要注意

4.2 Verilog HDL应用实例

一个简单的VerilogHDL的例子:(12位寄存器)

// Verilog Example

// User-Defined Macrofunction

module reg12 ( d, clk, q);

`define size 11

input [`size:0]d;

input clk;

output [`size:0]q;

reg [`size:0]q;

always @(posedge clk)

q = d;

endmodule

5、方案论证

5.1 设计方案

方案一:利用AT89C2051单片机控制的数字钟的硬件结构与软件设计,给出了汇编语言源程序。此数字钟是一个将“时”、“分”、“秒”显示于人的视觉器官的计时装置。它的计时周期为12小时,显示满刻度为12时59分59秒99毫秒,另外应有校时功能。电路由时钟脉冲发生器、时钟计数器、译码驱动电路和数字显示电路以及时间调整电路组成。用晶体振荡器产生时间标准信号,这里采用石英晶体振荡器。根据60秒为1分、60分为1小时、24小时为1天的计数周期,分别组成两个60进制(秒、分)、一个12进制(时)的计数器。构成秒、分、时的计数,实现计时的功能。显示器件选用LED七段数码管。在译码显示电路输出的驱动下,显示出清晰、直观的数字符号。针对数字钟会产生走时误差的现象,在电路中就设计有有校准时间功能的电路方案二:采用自顶向下的设计方法,它由秒计数模块,分计数模块,小时计数

模块,报警模块,秒分时设置模块和译码模块六部分组成。

方案三:用无进位六进制计数器选择数码管的亮灭以及对应的数,循环扫描显示,用六选一选择器选择给定的信号输出对应的数送到七段码译码器。模块进行复位,设置小时和分,输出整点报时信号和时,分,秒信号

5.2 整体设计方案介绍

在整个设计中,数字钟具有记时、闹钟、整点报时、校时和显示的功能。设计分为4个步骤。第一,数字钟的时、分、秒的设计,时钟采用12进制,到了11:59:59,数字钟自动跳到00:00:00,分和秒采用60进制;第二,数字钟闹钟到点闹铃的设计,包括闹钟响的频率(例如每5秒响一次)、以及次数;第三,数字钟的整点报时,到了整点后,会自动的“嘟嘟”响2下;第四,数字钟的校时及显示,包括对时间的调整以及闹钟的调整。各个方面完成后即可对电路进行仿真。

6、各子模块设计的原理和电路仿真

6.1模块介绍

分频模块:产生1Hz、1KHz、2KHz频率

计数器模块:生成60进制、24进制计数器

控制模块:按键控制、按键消抖

显示模块:7段数码管显示器,分别显示小时、分钟、秒

报时模块:进行整点报时

6.2主控制模块的设计及仿真

主控制模块实现对各个功能模块的整体设计,包括对时间显示与调整、日期显示与调整、闹钟显示与调整、秒表操作等的控制

6.2.1分频模块

CLK晶振频率50MHZ,分成2KHZ,1KHZ,1HZ的信号。基准1HZ信号作为时钟计时的秒计数时钟信号;分频的1KHZ,2KHZ信号用于报时电路的不同声讯。

程序代码:

library ieee;

use ieee.std_logic_1164.all;

entity fre is

port(

clk ,sel: in std_logic;

clk1hz,clk1khz,clk2khz:out std_logic);

end fre;

architecture beh of fre is

signal data1khz,data2khz,data1hz : std_logic := '0';

begin

clk1hz <= data1hz;

clk1khz <= data1khz;

clk2khz <= data2khz;

clk1khz_pro : process(clk) --产生1khz信号 variable cnt : integer range 0 to 24999;

begin

if clk'event and clk='1' then

if cnt = 24999 then

cnt := 0 ; data1khz <= not data1khz;

else

cnt := cnt + 1;

end if;

end if;

end process clk1khz_pro;

clk2khz_pro : process(clk) --产生2khz信号

variable cnt : integer range 0 to 12499;

begin

if clk'event and clk='1' then

if cnt = 12499 then

cnt := 0 ; data2khz <= not data2khz;

else

cnt := cnt + 1;

end if;

end if;

end process clk2khz_pro;

clk1hz_pro : process(data1khz) --产生1hz 信号

variable cnt : integer range 0 to 499;

begin

if data1khz'event and data1khz='1' then

if sel='0' then cnt:=0;

else if cnt = 499 then

cnt := 0 ;data1hz <= not data1hz ;

else

cnt := cnt + 1;

end if;

end if;

end if;

end process clk1hz_pro;

end beh;

输入模块电路图:

f r e

i n s t c l k s e l c l k 1h

c l k 1k h

c l k 2k h

图1

6.2.2计数器模块

由秒计数器,分计数器,时计数器组成了最基本的数字钟计时电路,两个六十进制计数器与二十四进制计数器组合构成。

程序代码:

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

use IEEE.STD_LOGIC_ARITH.ALL;

entity shuzizhong is

port(

clk_change : in std_logic;

s_en,m_en,h_en:in std_logic;

sel:in std_logic;

secout,minout,hourout :out std_logic;

sl,sh,ml,mh,hl,hh:out std_logic_vector(3 downto 0);

a:out std_logic_vector(15downto 0)

);

end shuzizhong;

architecture behav of shuzizhong is

signal

low_rega,high_rega,low_regb,high_regb,low_regc,high_regc :std_logic_vector( 3 downto 0):="0000";

signal sout,mout,hout :std_logic :='0';

begin

--秒的60进制进制

counter_sec_l : process(clk_change,s_en)

begin

sl<=low_rega;sh<=high_rega;ml<=low_regb;mh<=high_regb;hl<=low_regc;hh<=high _regc;

if clk_change'event and clk_change='1' then

if s_en='1' then

if low_rega="1001" then

low_rega <= "0000";

else

low_rega <= low_rega+'1';

end if;

end if;

end if;

end process counter_sec_l;

counter_sec_h : process(clk_change,s_en,low_rega)

begin

if clk_change'event and clk_change='1' then if s_en='1' then

if low_rega="1001" then if high_rega ="0101"then

high_rega <= "0000";

else

high_rega <= high_rega+'1';

end if;

end if;

end if;

end if;

end process counter_sec_h;

sout <= '1' when low_rega="1001" and high_rega="0101" else '0';

----分钟的60进制设置

counter_min_l : process(clk_change,m_en)

begin

if clk_change'event and clk_change='1' then

if m_en='1' then

if sout='1'or sel='0' then

if low_regb="1001" then

low_regb <= "0000";

else

low_regb <= low_regb+'1';

end if;

end if;

end if;

end if;

end process counter_min_l;

counter_min_h : process(clk_change,m_en,low_regb)

begin

if clk_change'event and clk_change='1' then if sout='1'or sel='0' then

if m_en='1' then

if low_regb="1001" then

if high_regb ="0101"then

high_regb <= "0000";

else

high_regb <= high_regb+'1';

end if;

end if;

end if;

end if;

end if;

end process counter_min_h;

mout <= '1' when low_regb="1001" and high_regb="0101"and sout='1' else '0';

--小时的24进制设置

counter_hour_l : process(clk_change,h_en)

begin

if clk_change'event and clk_change='1' then

if h_en='1' then

if mout='1'or sel='0' then

if low_regc="1001"or hout='1' then

low_regc <= "0000";

else

low_regc <= low_regc+'1';

end if;

end if;

end if;

end if;

end process counter_hour_l;

counter_hour_h : process(clk_change,h_en,hout)

begin

if clk_change'event and clk_change='1' then if mout='1'or sel='0' then

if h_en='1' then

if hout='1' then

high_regc<="0000";

else if low_regc="1001" then

high_regc <= high_regc+'1'; end if;

end if;

end if;

end if;

end if;

end process counter_hour_h;

hout <= '1' when low_regc="0011" and high_regc="0010" else '0'; secout<=sout;minout<=mout;hourout<=hout;

a<=high_regb&low_regb&high_rega&low_rega ;

end behav;

输入模块电路图:

shuzizhong inst clk_change

s_en

m_en

h_en

sel secout minout hourout sl[3..0]sh[3..0]

ml[3..0]

mh[3..0]

hl[3..0]

hh[3..0]

a[15..0]

图2

6.2.3控制模块

分五个状态0状态正常计时,按下按键进入下一状态开始调时模式1,按下按键进入调秒模式2,按下按键进入调分模式3,按下按键进入调小时模式4.按下按键恢复正常计时模式。

程序代码:

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity key_press is

port( set ,mode: in std_logic;

clk1khz,clk1hz: in std_logic;

secout,minout: in std_logic;

clk_change,clk2hz_en:out std_logic ;

sel,s_ce,m_ce,h_ce:out std_logic;

s_en,m_en,h_en:out std_logic );

end key_press;

architecture beh of key_press is

signal key1,key2:std_logic;

signal sce_reg, mce_reg ,hce_reg:std_logic ;

signal ssl,ssen,mmen,hhen:std_logic;

signal con : integer range 0 to 4 :=0;

--按键按下(延时)

begin

key_press2 : process(set,clk1khz)

variable cnt :integer range 0 to 999;

begin

if set='0' then

if clk1khz'event and clk1khz='1'then if cnt=50 and set='0' then

cnt :=cnt+1; key2 <= '1'; else cnt:=cnt+1;key2 <= '0'; end if;

end if;

else

cnt:=0; key2<='0';

end if;

end process key_press2;

key_press1 : process(mode,clk1khz)

variable cnt :integer range 0 to 999;

begin

if mode='0' then

if clk1khz'event and clk1khz='1'then if cnt=50 and mode='0' then

cnt :=cnt+1; key1 <= '1'; else cnt:=cnt+1;key1 <= '0'; end if;

end if;

else

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 设计思路 根据系统设计的要求,系统设计采用自顶层向下的设计方法,由时钟分频部分,计时部分,按键调时部分,数码管显示部分,蜂鸣器四部分组成。这些模块在顶层原理图中相互连接作用 3 设计原理分析 3.1 分频器 分频模块:将20Mhz晶振分频为1hz,100hz,1000hz分别用于计数模块,秒表模块,状态机模块 module oclk(CLK,oclk,rst,clk_10,clk_100); input CLK,rst; output oclk,clk_10,clk_100;

EDA多功能数字钟设计

EDA设计(二) ——多功能数字钟设计 姓名:周婷婷 学号:0904220116 院系:电光学院

指导老师:花汉兵蒋立平 完成时间:2011年12月15号 多功能数字钟设计 摘要 该实验时利用QuartusII软件设计一个数字钟,进行实验设计和仿真调试,实现了计时,校时,校分,清零,保持和整点报时等多种基本功能,并下载到SmartSOPC实验系统中进行调试和验证。此外还添加了星期功能,使得设计的数字钟功能更加完善。 Abstract :This experiment is to design a digital clock which is based on Quartus software and in which many basic functions like time-counting , hour-correcting , minute-correcting , reset , timing-holding and belling on the hour. And then validated the design on the experimental board . In addition, additional functions like reseting the week make this digital clock a perfect one.

目录 1.设计要求 (4) 2.工作原理 (4) 3.各模块说明 (5) 1)分频模块 (5) 2)计时模块 (9) 3)显示模块 (11) 4)校分与校时模块 (11) 5)清零模块 (12) 6)保持模块 (13) 7)报时模块 (13) 4.扩展模块 (13) 1)星期模块 (13) 5.调试、编程下载 (14) 6.实验中出现问题及解决办法 (14) 7.实验收获与感受 (14)

基于EDA技术的数字时钟设计

电子系统课程设计任务书 设计题目:基于EDA技术的数字时钟设计 设计目的:课程设计是一种复杂的学习实践过程。设计过程采用系统设计的方法,先分析任务,得到系统设计的要求,然后进行总体设计,划分子系统模块,然后进行详细设计,编写各个功能子系统VHDL代码并进行功能仿真,最后进行整个系统总装并仿真。 设计内容:设计一个采用0.5英寸LED数码管显示的数字时钟系统,工作电源5V,它采用24小时制,具有“时”、“分”、“秒”显示,并且可以校正时间显示。 设计要求: 1.由石英晶体多谐振荡器20MHz和分频器产生1Hz标准秒脉冲;(说 明:EDA试验箱中晶振频率20MHz,经试验箱内一系列二分频可将频率降低,但无法直接产生1Hz信号,需要大家根据实际情况编制分频器得到1Hz信号); 2.秒电路、分电路均为60进制计数,时电路为24进制计数; 3.数码管采用动态扫描方式; 4.能动手校时,校时模块功能可以自由发挥。比如可用两个按钮实 现校时,A按钮控制调整项目,B按钮调整数字,B按钮还可以根据按下时间长短实现慢调、快调功能。也可以用三个按钮实现增减两个方向的手动校时。校时用按钮开关不能超过4个; 5.扩展内容:1)进入校时状态后,被调整数字以2Hz闪烁; 2)24/12小时可调,处于12小时制时,要有AM/PM

显示; 3)所有开关加入防抖设计; 4)加入检测外部环境亮度功能,夜间自动降低数码管显示亮度; 5)加入整点报时电路; 6)增加秒表功能; 7)增加报闹功能。 6.以上电路功能除外部环境亮度检测电路外均由VHDL代码实现层次式设计,顶层电路可以采用EDA电路图。 设计成果: 1.课程设计说明书,要求内容完整,图表完备,条理清楚,字迹工 整,程序完整有相应的注解,仿真波形设计合理有必要的分析,引用资料要注明出处。 2.顶层电路原理图,各层电路VHDL代码及仿真波形。

EDA设计_多功能数字钟设计

EDA设计(二)课程设计报告 理工大学 2013 年09 月

目录 摘要及关键字 (3) 一.设计要求 (3) 二.总体方案设计 (3) 三.各子模块设计原理 (4) 1.分频部分 (4) 2.输入部分 (5) 1.防抖模块 (5) 2.输入模块 (6) 3.计时部分 (6) 1.模60的计数器 (6) 2.模24的计数器 (7) 3.校准模块 (7) 4.计时模块 (8) 4.显示部分 (9) 1.显示模块 (9) (1)6选1数据选择器 (10) (2)4-7译码器 (10) 5.闹钟部分 (10) 1.比较模块 (11) 2.选择器 (11) 6.报时部分 (13) 四. 硬件下载与测试 (15)

1.硬件下载 (15) 2.测试 (15) 3.功能扩展 (16) 五.结论 (16) 参考文献 (16) 数字电子钟的设计 摘要及关键字: 数字电子钟是生活中最常用的电子设备之一,其主要功能是能够显示时、分、秒实时信息,并能够方便地进行时、分、秒的初始值设置,以便时间校准。 实现数字电子钟有很多方法,本课程是采用VHDL硬件语言的强大描述能力和EDA工具的结合在电子设计领域来设计一个具有多功能的数字电子钟。 关键字:数字电子钟VHDL硬件语言EDA工具 一.设计要求: 1.设计一个电子钟能够显示时,分,秒;24小时循环显示。 2.电子钟有校时,校分,清零,保持,整点报时和闹钟的功能,具体如下: (1)数字钟最大计时显示23点59分59秒。 (2)在数字钟正常工作时可以对数字钟进行快速校时,校分,即拨动开关K7可以对时进行校正,拨动开关K6可以对分进行校正。 (3)在数字中正常工作情况下可以对其进行不断地复位,即拨动开关K5可以是时,分,秒显示回零。 (4)在数字钟正常工作时拨动开关K4可以使数字钟保持原有显示,停止计时。 (5)整点报时是要求数字钟在每小时整点到来前进行鸣叫,鸣叫频率是在59:53, 59:55, 59:57 为1kHz,59:59为2kHz。 (6)当开关K8等于0就可以看到正常计数时钟界面,有

EDA课设数字钟设计

课程设计报告 课程名称数字系统与逻辑设计 课题名称数字钟设计 专业通信工程 班级 学号 姓名 指导教师乔汇东胡瑛谭小兰 2013年7月7日

湖南工程学院课程设计任务书 课程名称数字系统与逻辑设计课题数字钟设计 专业班级通信工程1101班 学生姓名 学号 指导老师 审批乔汇东 任务书下达日期2013 年6月29日 任务完成日期2013 年7月7日

《数字系统与逻辑设计》课程设计任务书一、设计目的 全面熟悉、掌握VHDL语言基本知识,掌握利用VHDL语言对常用的的 组合逻辑电路和时序逻辑电路编程,把编程和实际结合起来,熟悉编制和调试 程序的技巧,掌握分析结果的若干有效方法,进一步提高上机动手能力,培养 使用设计综合电路的能力,养成提供文档资料的习惯和规范编程的思想。 二、设计要求 1、设计正确,方案合理。 2、程序精炼,结构清晰。 3、设计报告5000字以上,含程序设计说明,用户使用说明,源程序清单 及程序框图。 4、上机演示。 5、有详细的文档。文档中包括设计思路、设计仿真程序、仿真结果及相应 的分析与结论。 三、进度安排 第十九周星期一:课题讲解,查阅资料 星期二:总体设计,详细设计 星期三:编程,上机调试、修改程序 星期四:上机调试、完善程序 星期五:答辩 星期六-星期天:撰写课程设计报告 附: 课程设计报告装订顺序:封面、任务书、目录、正文、评分、附件(A4大小的图纸及程序清单)。 正文的格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。正文的内容:一、课题的主要功能;二、课题的功能模块的划分(要求画出模块图);三、主要功能的实现;四、系统调试与仿真;五、总结与体会;六、附件(所有程序的原代码,要求对程序写出必要的注释);七、评分表。

基于eda的多功能数字钟设计

目录 一.设计说明 (1) I.功能说明 (1) II.功能简介 (1) 二.总体方案分析 (3) 三.各子模块设计原理 (3) I.脉冲分频模块 (3) II.时钟计时模块(包含校定和清零功能) (4) III.显示控制电路 (7) IV.显示模块和计时模块结合 (11) V.整点报时模块 (11) VI.闹钟模块 (13) 四.调试与仿真 (17) I.脉冲发生模块 (17) II.计时电路 (18) III.仿真 (18) 五.收获与体会 (19) 六.附录 (20)

一.设计说明 I.功能说明: 设计一个能进行时、分、秒计时的十二小时制或二十四小时制的数字钟,并具有定时与闹钟功能,能在设定的时间发出闹铃音,能非常方便地对小时、分钟和秒进行手动调节以校时间,每逢整点,产生报时音报时。系统框图如图1-1所示: 图1-1 多功能数字钟系统框图 II.功能简介 此设计问题可分为主控电路、计数器模块和扫描显示三大部,主控电路中各种特殊功能的实现设计问题的关键。 用两个电平信号A、B进行模式选择,AB=00为模式0,系统为计时状态;AB=01为模式1,系统为手动校时状态;AB=10为模式2,系统为闹钟设置状态。 设置一个cd信号,当cd=00时,表示在手动校对时,选择调整时部分;当cd=01时,表示在手动校对时,选择调整分钟部分;。当cd=10时,表示在手动校对时,选择调整秒部分 设置一个change信号,在手动校时或闹钟设置模式下,每按一次,计数器

加1。 设置一个reset信号,当reset=0时,整个系统复位;当reset=1时,系统进行计时或其他特殊功能操作。 设置一个闹钟设置信号reset1,当reset1=1时,对闹钟进行设置,当reset1=0时,关闭闹钟信号。 设置一个E信号,当E=0时,表示在手动校对时,选择调整时部分;当E=1时,表示在手动校对时,选择调整分钟部分 设置状态显示信号(连发光二极管):LD_alert指示是否设置了闹铃功能;LD_h指示当前调整的是小时信号;LD_m指示当前调整的是分钟信号。 当闹钟功能设置后(LD_alert=1),系统应启动一个比较电路,当计时与预设闹铃时间相等时,启动闹铃声,直到关闭闹铃信号有效。 整点报时部分由分和秒计时同时为0(或60)启动,与闹铃共用一个扬声器驱动信号out。 系统计时时钟为clk=1Hz,选择另一时钟clk_lk=1kHz作为产生闹铃声、报时音的时钟信号。 主控电路状态表如表1-1所示。硬件系统示意图如图1-2所示。 表 1-1 数字钟主控电路状态表

eda,verilog数字钟设计报告

数字钟 一、任务解析 用Verilog硬件描述语言设计数字钟,实现: 1、具有时、分、秒计数显示功能,以二十四小时循环计时。 2、具有调节小时,分钟的功能,调整时对应的数字闪烁。 3、具有整点报时及闹铃时间可调的功能。 4、数字钟具有四种模式:正常显示、时间调整、闹铃时间调整、秒表。 二、方案论证 没有闹铃功能 三、重难点解析 选择模式:module beii(clr,selin_key,beii_out); input clr,selin_key; output [1:0]beii_out; wire [1:0]beii_out; reg [1:0]selout_key; always@(negedge clr or posedge selin_key) begin if(!clr) selout_key=0; else begin if(selout_key==2) selout_key=0; else selout_key=selout_key+1;end end assign beii_out=selout_key; endmodule

头文件中: module clk_top(clr,clk,upkey,downkey,sel,a,b,c,d,e,f,g,p,clr_key,selin_key); clr:清零clk:50M时钟 upkey:向上调downkey:向下调 clr_key:恢复初始状态selin_key:模式选择 四、硬件资源分配 60进制module mycnt60(clr,clk,upkey,downkey,selout,q,c); input clk,clr,upkey,downkey;//upkey为加按键 input [1:0] selout; output[7:0] q;//60进制输出 output c;//进位溢出位 reg c; reg[7:0] q; wire new_clk1,ckb,ckc,ckd,cko; assign new_clk1=clk|((!selout[0]&selout[1])&(upkey|downkey)); LCELL AA(new_clk1,ckb);//信号延迟 LCELL BB(ckb,ckc); LCELL CC(ckc,ckd); LCELL DD(ckd,cko); initial c=0; always @(posedge cko or negedge clr )begin if(!clr) q=8'h00; else begin if(selout==2) begin if(upkey)begin if(q==8'h59) q=8'h00; else if(q==8'h?9) q=q+4'h7; else q=q+1; end else if(downkey)begin if(q==8'h00) q=8'h59; else if(q==8'h?0) q=q-4'h7; else q=q-1; end

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

哈尔滨工业大学(威海) 电子学课程设计报告带有整点报时的数字钟设计与制作 姓名: 蒋栋栋 班级: 0802503 学号: 080250331 指导教师: 井岩

目录 一、课程设计的性质、目的和任务 (3) 二、课程设计基本要求 (3) 三、设计课题要求 (3) 四、课程设计所需要仪器 (4) 五、设计步骤 (4) 1、整体设计框图 (4) 2、各个模块的设计与仿真 (4) 2.1分频模块 (4) 2.2计数器模块 (6) 2.3控制模块 (10) 2.4数码管分配 (13) 2.5显示模块 (14) 2.6报时模块 (16) 六、调试中遇到的问题及解决的方法 (18) 七、心得体会 (18)

一、课程设计的性质、目的和任务 创新精神和实践能力二者之中,实践能力是基础和根本。这是由于创新基于实践、源于实践,实践出真知,实践检验真理。实践活动是创新的源泉,也是人才成长的必由之路。 通过课程设计的锻炼,要求学生掌握电路的一般设计方法,具备初步的独立设计能力,提高综合运用所学的理论知识独立分析和解决问题的能力,培养学生的创新精神。 二、课程设计基本要求 掌握现代大规模集成数字逻辑电路的应用设计方法,进一步掌握电子仪器的正确使用方法,以及掌握利用计算机进行电子设计自动化(EDA)的基本方法。 三、设计课题要求 (1)构造一个24小时制的数字钟。要求能显示时、分、秒。 (2)要求时、分、秒能各自独立的进行调整。 (3)能利用喇叭作整点报时。从59分50秒时开始报时,每隔一秒报时一秒,到达00分00秒时,整点报时。整点报时声的频率应与其它的报时声频有明显区别。 #设计提示(仅供参考): (1)对频率输入的考虑 数字钟内所需的时钟频率有:基准时钟应为周期一秒的标准信号。报时频率可选用1KHz和2KHz左右(两种频率相差八度音,即频率相差一倍)。另外,为防止按键反跳、抖动,微动开关输入应采用寄存器输入形式,其时钟应为几十赫兹。 (2)计时部分计数器设计的考虑 分、秒计数器均为模60计数器。 小时计数为模24计数器,同理可建一个24进制计数器的模块。 (3)校时设计的考虑 数字钟校准有3个控制键:时校准、分校准和秒校准。 微动开关不工作,计数器正常工作。按下微动开关后,计数器以8Hz频率连续计数(若只按一下,则计数器增加一位),可调用元件库中的逻辑门建一个控制按键的模块,即建立开关去抖动电路(见书70页)。 (4)报时设计的考虑

EDA数字钟设计

EDA数字钟设计报告 姓名: xxx 学号:xxxxxxx 专业:电子与通信工程 日期:2014-11-7 江苏科技大学电信院 2014-11-7

1 引言 数字钟通过数字电路技术实现时、分、秒计时,与机械钟相比具有更高的准确性和直观性,具有更长的使用寿命,已得到广泛的使用。数字钟的设计方法有许多种,例如可用中小规模集成电路组成电子钟,也可以利用专用的电子钟芯片配以显示电路及其所需要的外围电路组成电子钟,还可以利用单片机来实现电子钟等等。这些方法都各有其特点,本次电子线路课程设计是在vhdl基础上设计并制作一个可以调控的数字钟。 1.1 实验目的与要求 1.1.1 实验目的 (1)掌握GW48PK2++实验系统的基本用法以及vhdl语言的使用: (2)巩固元件例化、元件调用的基本方法,以及数码管、按键扫描的相关 知识。 1.1.2实验要求 (1)采用元件例化、元件调用实现整体设计; (2)利用按键进行调时; (3)能在实验箱进行仿真验证。 2 系统设计 2.1 原理图设计 数字钟原理图,如图1 图1 数字钟原理图 如图1所示,该系统主要包含六个模块,分为分频器、计数以及显示模块三 大部分,另有按键进行时间控制。

2.2 各模块设计 2.2.1分频器 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity div is port(clk0:in std_logic; clk_1Hz,clk_1kHz:out std_logic); end entity; architecture one of div is signal q1Hz:integer range 0 to 10000000-1 ; signal q1kHz:integer range 0 to 10000-1 ; begin process(clk0) begin if clk0'event and clk0='1'then if q1Hz<5000000-1 then clk_1Hz<='0';q1Hz<=q1Hz+1; elsif q1Hz=10000000-1 then q1Hz<=0; else clk_1Hz<='1';q1Hz<=q1Hz+1; end if; if q1kHz<5000-1 then clk_1kHz<='0';q1kHz<=q1kHz+1; elsif q1kHz=10000-1 then q1kHz<=0; else clk_1kHz<='1';q1kHz<=q1kHz+1; end if; end if; end process; end; 该模块将10MHz的时钟进行分频,产生1S和1mS的信号传递给计数与显示

EDA实验数字计时器设计

数字计时器设计 一、实验目的 1、掌握常见集成电路的工作原理和使用方法。 2、学会单元电路的设计调试方法。 3、掌握QuartusII软件的基本使用方法及会用其设计调试数字计时器。 二、实验设计要求 1、能进行正常的时、分、秒计时功能; 2、分别由六个数码管显示时分秒的计时; 3、系统有保持、清零、校时、校分功能; 4、使时钟具有整点报时功能(当时钟计到59'53"时开始计时,分别在 59'53",59'55",59'57"报时频率500Hz,在59'59"报时频率1000Hz); 5、闹表设定功能。 三、整体电路的工作原理 原理框图: 脉冲产生电路将硬件上的48MHz脉冲依次分频使其产生1Hz脉冲,输入计时器电路,计时器电路时分秒对应的模24、模60、模60计数器采用同步触发方式实现00:00:00~ 23:59:59计时。

校时校分电路通过校时、校分开关的切换来改变计时器电路时分秒对应的模24、模60、模60计数器CLK 端输入脉冲及使能端的设置实现。 保持电路通过使计时器三个计数器使能端置0的方法来实现。 清零电路通过使计时器三个计数器清零端置0的方法来实现。 整点报时电路通过脉冲产生电路的分频及若干门电路组合实现。 闹表: 先设计一48选24的译码选择电路对计时器电路与闹钟定时电路的输出进行选择,界面显示切换通过设置一开关对译码选择电路的控制实现。 定时定分电路设计原理与上校时校分电路一致。 闹铃的设置是先通过一比较电路判断此时计时器电路的时分与闹钟定时电路是否一致来判断是否响铃,铃声是通过数据选择器及若干门电路来对响铃频率的设定。 最后设置一闹铃开关来实现闹表的开关。 四、各子模块设计原理及仿真波形 1、脉冲发生电路(分频电路) 原理图见附表1 用到了四分频、六分频、八分频和一千分频电路,下面以六分频和一千分频为列说明: A 、六分频电路: 它是应用了三个JK 触发器构成的T 触发器,[1][2][1][0]t q q q =+ [2][2][1][0][1]t q q q q =+ [2][1][0]q q q 依次循环输出:000 001 010 101 110 111;从而输出[2]q 就是将clk 六 分频,且脉宽仍为50% 仿真波形:

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

EDA课程设计 实用多功能数字钟 学院:机械与电子工程学院 专业:电子科学与技术 班级: 学号: 姓名: 指导教师: 2012年1月13日

摘要:本次课程设计用Verilog语言,选择Quartus II 开发工具来设计多功能数字钟。就在前不久,我们还刚刚完成了单片机的多功能时钟的设计,继而又做EDA电子钟实验。通过两者之间的对比可以发现EDA的许多特点。电子设计自动化(EDA Electronic Design Automation)技术是一种以计算机作为工作平台,以EDA软件工具为开发环境,以硬件描述语言和原理图描述为设计入口,以可编程逻辑器为实验载体,以ASIC、SOC和SOPC嵌入式系统为设计目标,以数字系统系统设计为应用方向的电子产品自动化设计技术。而QuartusⅡ是Altera 公司推出的的第四代PLD开发系统。主要用于设计新器件和大规模CPLD/FPGA。使用QuartusⅡ的设计者不需精通器件内部的复杂结构。设计者可以用自己熟悉的设计工具(如原理图输入或硬件描述语言)建立设计,QuartusⅡ把这些设计转自动换成最终所需的格式。设计方法分为:硬件描述语言,verilog语言描述。verilog语言描述可能精确和简练地表示电路的逻辑功能,现在PLD的设计过程中广泛使用。以上是对EDA和QuartusⅡ的了解。本次EDA的课程设计虽然时间有限,但是设计的题目《多功能数字钟》很贴近人的日常生活,让我们学生对最基本的电子产品有个深入的认识。本次的课程设计是基于Verilog HDL的多功能数字钟,完成时、分、秒的显示功能。设计利用Verilog HDL语言自顶向下的设计理念,突出其作为硬件描述语言的良好的可读性、可移植性以及易于理解等优点。整个程序语言功能主要包含计时,闹钟,校时,整点报时等功能。 关键词:EDA软件,Verilog语言,Quartus II 开发工具,多功能时钟

EDA课程设计--带有整点报时的数字钟设计与制作

电子学课程设计报告带有整点报时的数字钟设计与制作

目录 一、课程设计的性质、目的和任务 (3) 二、课程设计基本要求 (3) 三、设计课题要求 (3) 四、课程设计所需要仪器 (4) 五、设计步骤 (4) 1、整体设计框图 (4) 2、各个模块的设计与仿真 (4) 2.1分频模块 (4) 2.2计数器模块 (6) 2.3控制模块 (10) 2.4数码管分配 (13) 2.5显示模块 (14) 2.6报时模块 (16) 六、调试中遇到的问题及解决的方法 (18) 七、心得体会 (18)

一、课程设计的性质、目的和任务 创新精神和实践能力二者之中,实践能力是基础和根本。这是由于创新基于实践、源于实践,实践出真知,实践检验真理。实践活动是创新的源泉,也是人才成长的必由之路。 通过课程设计的锻炼,要求学生掌握电路的一般设计方法,具备初步的独立设计能力,提高综合运用所学的理论知识独立分析和解决问题的能力,培养学生的创新精神。 二、课程设计基本要求 掌握现代大规模集成数字逻辑电路的应用设计方法,进一步掌握电子仪器的正确使用方法,以及掌握利用计算机进行电子设计自动化(EDA)的基本方法。 三、设计课题要求 (1)构造一个24小时制的数字钟。要求能显示时、分、秒。 (2)要求时、分、秒能各自独立的进行调整。 (3)能利用喇叭作整点报时。从59分50秒时开始报时,每隔一秒报时一秒,到达00分00秒时,整点报时。整点报时声的频率应与其它的报时声频有明显区别。 #设计提示(仅供参考): (1)对频率输入的考虑 数字钟内所需的时钟频率有:基准时钟应为周期一秒的标准信号。报时频率可选用1KHz和2KHz左右(两种频率相差八度音,即频率相差一倍)。另外,为防止按键反跳、抖动,微动开关输入应采用寄存器输入形式,其时钟应为几十赫兹。 (2)计时部分计数器设计的考虑 分、秒计数器均为模60计数器。 小时计数为模24计数器,同理可建一个24进制计数器的模块。 (3)校时设计的考虑 数字钟校准有3个控制键:时校准、分校准和秒校准。 微动开关不工作,计数器正常工作。按下微动开关后,计数器以8Hz频率连续计数(若只按一下,则计数器增加一位),可调用元件库中的逻辑门建一个控制按键的模块,即建立开关去抖动电路(见书70页)。 (4)报时设计的考虑

eda 实现多功能数字钟

一、标题:EDA实现多功能数字钟 二、任务书:设计要求是用FPGA器件和EDA技术实现多功能数字钟的设计, ⑴控制功能包括①以数字形式显示时、分、秒的时间;②小时计数 器为24进制;③分、秒计数器为60进制;④有两个使能端起到校 时、校分的作用,同时按无效;⑤每小时的59分51、53、55、57、 59分别以四长声一短声进行模拟电台仿真;⑥让信号灯在晚上19 点至早上5点亮;⑵在Max+plusⅡ软件系统平台上建立多功能数 字钟电路的顶层电路文件并完成编译和仿真,并对器件进行下载检 查。 三、关键词:数字钟原理电路编译仿真下载 四、数字钟电路系统的组成框图: 五、各功能模块设计、仿真波形及其分析说明: 1、小时计时模块:

仿真波形: 分析说明: 当小时的高四位为0、1时,小时的低四位为九时,在下一个时钟的上跳延来了之后,高四位加一;当小时的高四位为2,同时低四位为3时,小时的高低 四位都清零。实现从00到23的循环计数。

2、分钟计时模块: 仿真波形: 分析说明: 当分钟的高四位为0、1、2、3、4时,小时的低四位为九时,在下一个时钟的上跳延来了之后,高四位加一;当分钟的高四位为5时,同时低四位为9时,

分钟的高低四位都清零,实现从00到59的循环计数。 3、秒计时模块(与分计时模块相同); 4、校时、校分模块: 仿真波形:

分析说明: SWM、SWH两开关先设置1,秒时钟,分时钟,小时时钟分别设置为不同频率的时钟,当开关SWM置0即按下时,秒时钟CPS对分钟进行校对,即如图所示CPM在SWM为0时频率与CPS相同;同理,当SWH为0时用秒时钟对小时进行校对,即CPH在SWH为0时频率与CPS相同。当SWM、SWH 都不为0时,分钟、小时正常计时。 5、整点报时模块:

EDA数字钟设计

摘要:应用VHDL语言编程,进行了多功能数字钟的设计,并在MAX PLUSⅡ环境下通过了编译、仿真、调试。 关键词:VHDL;EDA;数字钟;仿真图 0.引言 随着科学技术的迅猛发展,电子工业界经历了巨大的飞跃。集成电路的设计正朝着速度快、性能高、容量大、体积小和微功耗的方向发展。基于这种情况,可编程逻辑器件的出现和发展大大改变了传统的系统设计方法。可编程逻辑器件和相应的设计技术体现在三个主要方面:一是可编程逻辑器件的芯片技术;二是适用于可逻辑编程器件的硬件编程技术,三是可编程逻辑器件设计的EDA开发工具,它主要用来进行可编程逻辑器件应用的具体实现。在本实验中采用了集成度较高的FPGA 可编程逻辑器件, 选用了VHDL硬件描述语言和MAX + p lusⅡ开发软件。VHDL硬件描述语言在电子设计自动化( EDA)中扮演着重要的角色。由于采用了具有多层次描述系统硬件功能的能力的“自顶向下”( Top - Down)和基于库(L ibrary - Based)的全新设计方法,它使设计师们摆脱了大量的辅助设计工作,而把精力集中于创造性的方案与概念构思上,用新的思路来发掘硬件设备的潜力,从而极大地提高了设计效率,缩短 了产品的研制周期。MAX + p lusⅡ是集成了编辑器、仿真工具、检查/分析工具和优化/综合工具的这些所有开发工具的一种集成的开发环境,通过该开发环境能够很方便的检验设计的仿真结果以及建立起与可编程逻辑器件的管脚之间对应的关系。 1. EDA简介 20世纪90年代,国际上电子和计算机技术较先进的国家,一直在积极探索新的电子电路设计方法,并在设计方法、工具等方面进行了彻底的变革,取得了巨大成功。在电子技术设计领域,可编程逻辑器件(如CPLD、FPGA)的应用,已得到广泛的普及,这些器件为数字系统的设计带来了极大的灵活性。这些器件可以通过软件编程而对其硬件结构和工作方式进行重构,从而使得硬件的设计可以如同软件设计那样方便快捷。这一切极大地改变了传统的数字系统设计方法、设计过程和设计观念,促进了EDA技术的迅速发展。 EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL 完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。 这些器件可以通过软件编程而对其硬件结构和工作方式进行重构,从而使得硬件的设计可以如同软件设计那样方便快捷。这一切极大地改变了

南理工EDA2多功能数字钟设计实验报告(蒋立平)——优秀

EDAⅡ实验报告 --多功能数字钟 学院专业: 学生学号: 指导老师:蒋立平 交稿时间:2012年3月25日

摘要 本实验借助于quartusⅡ软件设计一个多功能的数字时钟,具有24小时计时、星期显示、保持、清零、校分校时校星期、整点报时等基本功能,并在此基础上添加了闹钟、音乐闹钟、秒表等附加功能。同时,留有万年历的接口可以方便的进行扩展。.利用quartusⅡ进行相应的设计、仿真、调试,最后下载到SmartSOPC实验系统上验证设计的正确性。 关键词:多功能数字时钟,quartusⅡ,计时,星期显示,整点报时,闹钟,秒表 ABSTRACT This experiment is to design a multifunctional digital clock with quartus Ⅱ.The multifunctional digital clock has varities of the functions like 24-hour timer,week,keeping,clearing zero,adjusting time and chime on integral hour .It also include additional functions such as alarm clock,stopwatch and so on.At the sametimes,it can be added calendar.we designed and simulated with quartusⅡ.Finally downloaded it to the experiment platform to test. Key words:multifunctional digital clock,quartusⅡ,time,week,chime on integral hour, alarm clock,stopwatch

EDA数字时钟课程设计

课程设计报告 学生姓名学号 班级 专业电子信息工程 题目数字时钟设计 指导教师 2011 年11 月

一、任务和设计要求 1. 熟悉集成电路的引脚安排。 2. 掌握各芯片的逻辑功能及使用方法。 3. 了解数字钟的组成及工作原理。 4. 熟悉数字钟的设计与制作。 1.设计指标 (1)时间以24 小时为一个周期; (2)显示时、分、秒; (3)有校时功能,可以分别对时及分进行单独校时,使其校正到标准时间; (4)计时过程具有报时功能,当时间到达整点前 5 秒进行蜂鸣报时。 2.设计要求 (1)画出电路原理图(或仿真电路图); (2)元器件及参数选择; (3)电路仿真与调试 二、设计原理 设计思路 根据系统设计要求,系统设计采用自顶向下设计方法,由时钟分频部分、计时部分、按键部分调时部分和显示部分五个部分组成。这些模块都放在一个顶层文件中。 1)时钟计数: 首先下载程序进行复位清零操作,电子钟从00:00:00计时开始。sethour可以调整时钟的小时部分, setmin可以调整分钟,步进为1。 由于电子钟的最小计时单位是1s,因此提供给系统的内部的时钟频率应该大于1Hz,这里取100Hz。CLK端连接外部10Hz的时钟输入信号clk。对clk进行计数,当clk=10时,秒加1,当秒加到60时,分加1;当分加到60时,时加1;当时加到24时,全部清0,从新计时。 用6位数码管分别显示“时”、“分”、“秒”,通过OUTPUT( 6 DOWNTO 0 )上的信号来点亮指定的LED七段显示数码管。 2)时间设置: 手动调节分钟、小时,可以对所设计的时钟任意调时间,这样使数字钟真正具有使用功能。我们可以通过实验板上的键7和键4进行任意的调整,因为我们用的时钟信号均是1HZ的,所以每LED灯变化一次就来一个脉冲,即计数一次。 3)清零功能: reset为复位键,低电平时实现清零功能,高电平时正常计数。可以根据我们自己任意时间的复位。 总体结构图

EDA课程设计 多功能数字钟设计程序清单 数字系统设计与verilog HDL(第四版) 王金明

EDA课程设计 多功能数字钟设计程序清单 数字系统设计与verilog HDL(第四版) 王金明 /*引脚锁定基于DE2一70,芯片为EP2C70F896,信号定义如下: Clk50m: 50MHz 时钟输, mode: 模式选择0:计时模式1:设置闹钟模式 mcheck: 手动调整时间 turn: 手动调整时间,在时、分之间选择 change: 对选中的数据调整 led hourl,led_hour0,led_minul,led_minu0,led_secl,led sec0; alert: 闹钟输出 ld_alert: 是否设置了闹钟 ld_hour,id_min,ld_sec:在调整时,指示选中了时,分还是秒*/ moduleclock(clk50m,mode,turn,change,mreset,led_hour1,led_hour0,led_minu1,led _minu0,led_sec1,led_sec0, alert,ld_alert,ld_check,ld_hour,ld_min,ld_sec); input clk50m; input mode; // key0键 input turn; //keyl键 input change; // key2 键 input mreset; //switch0复位,低电平有效 output alert; //gpioO->IOAO output ld_alert; //ledgO-led19 output ld_check; //ledgl-led22 output ld_hour; //ledr3-led13 output ld_min; //ledr9-led9

EDA数字时钟

设计报告 课程名称在系统编程技术任课教师周泽华 设计题目EDA数字钟设计班级09自动化1班姓名王冰 学号0905071010 日期2012/6/4

前言 随着基于PLD的EDA技术的发展和应用领域的扩大和深入,EDA技术在电子信息、通信、自动控制及计算机应用领域的重要性日益提高。 作为现在的大学生应熟练掌握这门技术,为以后的发展打下良好的基础,本实验设计是应用QuartusII环境及VHDL语言设计一个时间可调的数字时钟。使自己熟练使用QuartusII环境来进行设计,掌握VHDL语言的设计方法。要注重理论与实践之间的不同,培养自己的实践能力!

目录 一、课程设计任务及要求 (3) 1.1实验目的 (3) 1.2功能设计 (3) 二、整体设计思想 (3) 2.1性能指标及功能设计 (3) 2.2总体方框图 (4) 三、详细设计 (4) 3.1数字钟的基本工作原理: (4) 3.1.1时基T 产生电路 (4) 3.1.2调时、调分信号的产生 (4) 3.1.3计数显示电路 (5) 3.2设计思路 (5) 3.3设计步骤 (6) 3.3.1工程建立及存盘 (6) 3.3.2工程项目的编译 (7) 3.3.3目标芯片的选择 (8) 3.3.4时序仿真 (9) 3.3.5引脚锁定 (10) 3.3.6硬件测试 (11) 3.3.7实验结果 (12) 四、设计总结 (12) 五、附录 (13) 5.1 VHDL源程序 (13) 5.2电路图 (18) 5.3仿真波形 (18)

一、课程设计任务及要求 1.1实验目的 1)熟练地运用数字系统的设计方法进行数字系统设计; 2)能进行较复杂的数字系统设计; 3)按要求设计一个数字钟。 1.2功能设计 1)有时、分、秒计数显示功能,以24小时循环计时; 2)设置复位、清零等功能; 3)有校时功能,可以分别对时及分进行单独校时,使其校正到标准时间; 4)时钟计数显示时有LED灯显示; 5)具有整点报时功能。 二、整体设计思想 2.1性能指标及功能设计 1)时、分、秒计时器 时计时器为一个24进制计数器,分、秒计时器均为60进制计数器。当秒计时器接受到一个秒脉冲时,秒计数器开始从1计数到60,此时秒显示器将显示00、01、02、...、59、00;每当秒计数器数到00时,就会产生一个脉冲输出送至分计时器,此时分计数器数值在原有基础上加1,其显示器将显示00、01、02、...、59、00;每当分计数器数到00时,就会产生一个脉冲输出送至时计时器,此时时计数器数值在原有基础上加1,其显示器将显示00、01、02、...、23、00。即当数字钟运行到23点59分59秒时,当秒计时器在接受一个秒脉冲,数字钟将自动显示00点00分00秒。 2)校时电路 当开关拨至校时档时,电子钟秒计时工作,通过时、分校时开关分别对时、分进行校对,开关每按1次,与开关对应的时或分计数器加1,当调至需要的时与分时,拨动reset开关,电子钟从设置的时间开始往后计时。

EDA多功能数字时钟设计实验报告

EDA(一)设计(2)之 多 功 能 数 字 钟 南京理工大学 电子科学与光电技术学院2005级 作者: 高策学号: 0504220224 同组: 黄文浩学号: 0504220242 指导教师:蒋立平时间:08-3-18

目录 内容摘要 (3) 一.引言 (4) 二、实验要求 (4) 三、方案论证 (5) 四、各模块设计 (6) 1、分频器模块 (6) 2、计时模块 (8) 3、闹铃模块 (10) 4、彩铃模块 (12) 5、显示模块 (13) 6、整点报时模块 (14) 7、秒表模块 (15) 8、万年历模块 (16) 9、动态显示模块 (19) 10、闪烁模块 (20) 五、整体电路功能综述 (22) 六、实验中的问题及解决方法 (24) 七、总结体会 (25) 八、实验的收获与感受 (26)

中文摘要 本实验利用QuartusII软件,结合所学的数字电路的知识设计一个24时多功能数字钟,具有正常分、秒计时,动态显示,保持、清零、快速校分、整点报时、闹钟功能。 文章分析了整个电路的工作原理,还分别说明了各子模块的设计原理和调试、仿真、编程下载的过程,并对最终结果进行总结,最后提出了在实验过程中出现的问题和解决的方案。 通过实验掌握了一些逻辑组合器件的基本功能和用法,同时体会到了利用软件设计电路的方便快捷,避免了硬件布线的繁琐,提高了效率。 关键词数字计数器动态显示保持清零快速校分整点报时闹钟软件设计 外文摘要 Title DIGITAL CLOCK DESIGN PROPOSAl Abstract Using the QuartusII, we design a digital clock of 24 hours with learning electric circuit knowledge. The circuit can keep the time, display, reset, adjust the minute and hour, ring the time in the round number time and alarm clock. The paper has analyzed the principle of all work and explained the designing principle of different parts separately. By debugging, simulating, compiling, programming, I put forward a matter and give a settling plan. I know about the basic functions and using method of some electric pieces in this experiment. At the same time, I realized the convenience of making use of the software to carry on the electric circuit, which is fast, avoided the hardware cloth line tedious, and raised the efficiency. Keywords digital counter, dynamic display, keep, clear, check time, time, alarm clock,software design

相关主题
文本预览
相关文档 最新文档