一:课程设计的背景与目的。
全面熟悉、掌握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分,同时当...