EDA课程设计

发布 2022-09-30 20:28:28 阅读 1353

西安建筑科技大学课程设计(**)任务书。

专业班级: 电子信息1201 学生姓名: 宋弘扬指导教师(签名。

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

本学期我们完成了《可编程器件技术原理与开发应用》课程的学习,相应的我们了解了有关eda技术与硬件语言vhdl,通过理论课程与实践结合,已经对vhdl语言和eda技术设计电路有了基本的了解。

1、eda技术。

eda是电子设计自动化的缩写,在20世纪90年代初从计算机辅助设(cad)、计算机辅助制造(cam)、计算机辅助测试(cat)和计算机辅助工程(cae)的感念发展而来的。eda技术就是以计算机为工具,设计者在eda软件平台上,根据硬件描述语言hdl和vhdl完成的设计文件,然后由计算机自动的完成逻辑编译,化简,分割,综合,优化,布局,**以及对于特定目标芯片的适配编译和编程**等工作。

2、硬件描述语言vhdl的特点。

1)用vhdl**进行设计,电路板的模型及性能可用计算机模拟进行验证。

2)vhdl元件的设计与工艺无关,与工艺独立,方便工艺转换。

3)vhdl支持各种设计方法,自底上,自顶向下等;

4)可以进行从系统级到逻辑级的描述,即混合描述;

5)vhdl区别于其他的hdl,其**在不同的系统中可交换建模。

3、课程设计的目的。

1)掌握多级计数器级联的原理和其设计方法;

2)掌握用vhdl硬件描述语言和原理图的设计思想;

3)熟悉在max+plusii开发环境进行程序开发;

4)了解有关数字系统的设计;

5)培养我们发现,分析,解决问题的能力。

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

数字时钟是计数器的综合应用,由0.1秒,秒钟,分钟,时钟组成。0.

1秒由十进制计数器组成,秒由六十进制计数器组成,分钟由六十进制计数器组成,时钟由十二进制计数器组成,时钟的计时范围是00:00:00:

0—11:59:59:

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

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

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

本系统主要由0.1秒计数器,秒计数器、分钟计数器、小时计数器构成,采用自顶向下的设计方法,子模块利用vhdl语言设计,小时采用12进制,分钟采用60进制,秒采用60进制,0.1秒采用10进制。

时钟信号的频率由振荡器产生,时钟电路的输入端clk是连续脉冲,clr是高电平系统复位,en是高电平使能端,输出端是0.1秒的个位,秒的个位以及十位,分钟个位,分钟十位,时钟个位,时钟十位,最后由7个数码显示管显示各位的值。

1)小时计数器:

library ieee;

use use

entity hour is

port(clk,en:in std_logic;

q:out std_logic_vector(7 downto 0));

end hour;

architecture art of hour is

beginprocess(clk)

variable cnt1,cnt0:std_logic_vector(3 downto 0);

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

if en='1' then

if(cnt1="0001")then

if(cnt0="0001")then

cnt1:="0000";

cnt0:="0000";

elsecnt0:=cnt0+1;

end if;

elseif(cnt0="1001")then

cnt1:=cnt1+1;

cnt0:="0000";

elsecnt0:=cnt0+1;

end if;

end if;

end if;

end if;

q<=cnt1&cnt0;

end process;

end art;

2)分钟计数器:

library ieee;

use use

entity minute is

port(clk,en,sethour:in std_logic;

co:out std_logic;

q:out std_logic_vector(7 downto 0));

end entity;

architecture art of minute is

signal cc:std_logic;

beginprocess(clk)

variable cnt1,cnt0:std_logic_vector(3 downto 0);

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

if(en='1')then

if(cnt1<"0101")then

if(cnt0="1001")then

cnt0:="0000";

cnt1:=cnt1+1;

elsecnt0:=cnt0+1;

end if;

cc<='0';

elseif(cnt0="1001")then

cnt0:="0000";

cnt1:="0000";

cc<='1';

elsecnt0:=cnt0+1;

end if;

end if;

end if;

end if;

q<=cnt1&cnt0;

end process;

co<=cc or sethour;

end art;

**图:3)秒计数器。

library ieee;

use use

entity second is

port(clk,en,setminute:in std_logic;

co:out std_logic;

q:out std_logic_vector(7 downto 0));

end entity;

architecture art of second is

signal cc:std_logic;

beginprocess(clk)

variable cnt1,cnt0:std_logic_vector(3 downto 0);

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

if(en='1')then

if(cnt1<"0101")then

if(cnt0="1001")then

cnt0:="0000";

cnt1:=cnt1+1;

elsecnt0:=cnt0+1;

end if;

cc<='0';

elseif(cnt0="1001")then

cnt0:="0000";

EDA课程设计

题目一 数字钟设计 学号1 15 一 实验目的。学习并掌握数字钟的原理 设计方法。二 实验内容。计数始终由模60秒计数器 模60分计数器 模24小时计数器 报时模块 分 时设定模块及输出显示模块构成。可以采用同步计数器或异步计数器设计方法。三 实验要求。计时范围为0小时0分0秒至23小时59分59秒...

eda课程设计

哈尔滨工业大学 威海 信电学院电子信息工程。一 软硬件介绍。1软件部分介绍。1.1 quartus ii 是altera公司的综合性pld fpga开发软件,支持原理图 vhdl veriloghdl以及ahdl altera hardware description language 等多种设计输...

eda课程设计

目录。1 引言 2 1.1 课程设计的目的与任务 2 1.2 课程设计的内容 2 1.3课程设计仪器设备 2 1.4 课程设计的题目 2 1.5 方案的选择 2 2设计方案 3 2.1 设计原理 3 2.2各功能模块的原理及其源程序 3 2.2.1控制模块 3 2.2.2分频模块 4 2.2.3计时...