EDA数字时钟课程设计

发布 2022-09-30 21:29:28 阅读 9250

一:课程设计的背景与目的。

全面熟悉、掌握vhdl语言基本知识,掌握利用vhdl语言对常用的的组合逻辑电路和时序逻辑电路编程,把编程和实际结合起来,熟悉编制和调试程序的技巧,掌握分析结果的若干有效方法,进一步提高上机动手能力,培养使用设计综合电路的能力,养成提供文档资料的习惯和规范编程的思想。

1、eda技术。

人类社会已进入到高度发达的信息化社会。信息化社会的发展离不开电子信息产品开发技术、产品品质的提高和进步。电子信息产品随着科学技术的进步,其电子器件和设计方法更新换代的速度日新月异。

实现这种进步的主要原因就是电子设计技术和电子制造技术的发展,其核心就是电子设计自动化(eda)技术,eda技术的发展和推广应用又极大地推动了电子信息产业的发展。为保证电子系统设计的速度和质量,适应“第一时间推动产品”的设计要求,eda技术正逐步成为不可缺少的意向先进技术和重要工具。

2、课程设计的目的。

1)理解eda开发应用系统的基本思路及方法;

2)练习使用vhdl语言编写应用程序的基本步骤;

3)学习eda开发过程及资料收集与整理,学会撰写课程设计报告;

4)了解数字时钟。

3、实验环境:

1)max+plusii 10.2操作环境。

二、数字时钟的总体结构设计。

数字时钟是计数器的综合应用,由分频器,十分之一秒,秒钟,分钟,时钟组成。十分之一秒由十进制计数器组成,秒由六十进制计数器组成,分钟由六十进制计数器组成,时钟由十二进制计数器组成,时钟的计时范围是00:00:

00:0—11:59:

59:9。同时为了显。

示当前时钟的时间,在设计一个显示电路。另外清零电路只需要输入一些控制信号给时钟电路即可。

数字时钟电路的设计分为分频器模块,十分之一秒计数模块,秒模块,分计数模块,小时计数模块,利用vhdl设计数字时钟显示电路的各个模块,并用eda工具对各个模块进行**验证,然后把各个模块进行整合,最后显示相应的输出状态。

通过以上分析可得以下框图:

2、数字时钟的子模块设计。

本系统主要由十分之一秒计数器、秒计数器、分钟计数器、小时计数器构成,采用自。

顶向下的设计方法,子模块利用vhdl语言设计,小时采用12进制,分钟采用60进制,秒采用60进制和十分之一秒采用10进制。

时钟信号的频率由振荡器产生,由于最小单位是十分之一秒,所以时钟信号经分频器后输出频率为10hz的秒脉冲clk。时钟电路的输入端clk是连续脉冲,clrn是高电平系统复位,en是高电平使能端,输出端是十分之一秒的个位,秒的个位,十分之一秒的十位,分钟个位,分钟十位,时钟个位,时钟十位,最后由7个数码显示管显示各位的值。

1)分频器:

library ieee;

use entity fenpin is

port( clka:in std_logic;

clki: out std_logic);

end entity;

architecture one of fenpin is

signal cnt_10hz: integer range 0 to 399;

beginprocess(clka)

beginif(clka'event and clka='1') then

cnt_10hz<=cnt_10hz+1;

if(cnt_10hz=399) then

cnt_10hz<=0;

elsif(cnt_10hz<199) then

clki<='1';

elseclki<='0';

end if;

end if;

end process;

end one;

**图:2)十分之一秒计数器:

程序如下:library ieee;

use use

entity second_01 is

port ( clk: in std_logic;

clr: in std_logic;

en: in std_logic;

q: out std_logic_vector(3 downto 0);

co: out std_logic);

end second_01;

architecture art of second_01 is

signal qi: std_logic_vector(3 downto 0);

beginprocess(clk, clr, en)

beginq<=qi;

if(clr='1')then

qi<="0000";

elsif(clk'event and clk='1')then

if en='1' then

if(qi="1001")then

qi<="0000";

co<='1';

else qi<=qi+'1';

co<='0';

end if;

end if;

end if;

end process;

end art;

**图:3) 秒计数器:

程序如下:library ieee;

use use

entity second is

port( clk:in std_logic;

co:out std_logic;

q1:buffer std_logic_vector(3 downto 0);

q0:buffer std_logic_vector(3 downto 0));

end entity;

architecture art of second is

beginprocess(clk)

beginif(clk'event and clk='1')then

if(q1<"0101")then

if(q0="1001")then

q0<="0000";

q1<=q1+'1';

elseq0<=q0+'1';

end if;

co<='0';

elseif(q0="1001")then

q0<="0000";

q1<="0000";

co<='1';

elseq0<=q0+'1';

end if;

end if;

end if;

end process;

end art;

**图:4)分钟计数器:

程序如下:library ieee;

use use

entity minute is

port(clk:in std_logic;

co:out std_logic;

q1:buffer std_logic_vector(3 downto 0);

q0:buffer std_logic_vector(3 downto 0));

end entity;

architecture art of minute is

begin

process(clk)

beginif(clk'event and clk='1')then

if(q1<"0101")then

if(q0="1001")then

q0<="0000";

q1<=q1+'1';

elseq0<=q0+'1';

end if;

co<='0';

elseif(q0="1001")then

q0<="0000";

q1<="0000";

co<='1';

EDA课程设计 数字时钟

hefei university eda课程综述。题目 eda课程综述 专业 09通信 2 班 姓名唐吉祥。学号 0905072035 指导老师查长军。前言。随着基于pld的eda技术的发展和应用领域的扩大和深入,eda技术在电子信息 通信 自动控制及计算机应用领域的重要性日益提高。作为现在的大学生...

EDA课程设计数字时钟

数字时钟的设计。一实验目的。1 掌握vhdl语言的基本运用。2 掌握max plusii的简单操作并会使用eda实验箱。3 掌握一个基本eda实验的操作。二功能设计。1 有时 分 秒计数显示功能,小时为24进制,分钟和秒为60进制。2 设置复位 清零等功能。3 有校时功能,可以分别对时及分进行单独校...

EDA课程设计 时钟

eda课程设计。姓名 王亮。学号 2012118064 班级 1211自动化。多功能数字钟电路设计。多功能数字钟应该具有的功能有 显示时 分 秒 小时和分钟可调等基本功能。整个钟表的工作应该是在1hz信号的作用下进行,这样每来一个时钟信号,秒增加1秒,当秒从59秒跳转到00秒时,分钟增加1分,同时当...