EDA课程设计

发布 2022-09-30 19:51:28 阅读 9574

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

专业班级: 学生姓名: 指导教师(签名。

目录。一、数字时钟设计的背景 2

二、数字时钟设计的目的 2

三、数字时钟的功能 3

四、数字时钟的设计 3

1.设计思路 3

1.1数字时钟控制器的输入输出总体框图 3

1.2数字时钟控制器的总体设计框图 3

2. 方案论证 4

2.1 数字钟设计方案论证 4

3. 单元模块设计部分 4

3.1 时钟分频模块 4

3.2 时分秒计时控制电路模块 6

3.3译码显示模块 15

4. 系统** 16

4.1数字钟**图 16

4.2 数字钟原理图 17

五、课程设计总结 19

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

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

2.掌握多个数码管显示的原理与方法;

3.掌握用fpga技术的层次化设计方法;

4.进一步掌握用vhdl硬件描述语言的设计思想,熟练的用原理图方式或vhdl语言设计各种进制的数字计数器(6进制、10进制、12进制);

5.了解有关数字系统的设计。

1.能显示1/10秒、秒、分、时,能以12h循环计数。

2.精度是0.1秒。

3.具有系统清零、暂停系统并使系统重新工作的功能。

4可以进行调时调分调秒的功能扩展。

基于vhdl语言,用top_down的思想进行设计。

clk 时钟输入。

clrn(清零端) 七段数码管的输入。

开始/停止信号)

start/stop

clrn(清零端)

置“1”start/stop

clk 十进制计数器、六进制计数器、二进制计数器以及由此级联成的六十进制计数器、十二进制计数器构成数字时钟的计数部分;输入25mhz的时钟经分频器产生100hz的时钟进入计数器电路;

对于停止/开始的控制部分功能的实现有两种方案:方案一有普通门电路连接计数器的clrn、ldn和en,使其分别为“1”、“1”和“0”,则有各计数器真值表可知输出q值不变,从而实现该功能。方案二输入一个由t触发器构成的控制时钟,来实现该功能。

本设计采用的是方案二。

单元设计模块分为三大部分:时钟分频模块,时分秒计时控制电路模块和译码显示模块。

如图3.1所示:

图 3.1程序如下:

library ieee;

use entity div is

port(clr,clk: in bit;q: buffer bit);

end div;

architecture a of div is

signal counter:integer range 0 to 12499;

beginprocess(clr,clk)

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

if clr='1' then

counter<=0;

elsif counter=12499 then

counter<=0;

q<= not q;

elsecounter<=counter+1;

end if;

end if;

end process;

end a;

其**波形如下:

3.2.1时分秒计时控制电路模块门控时钟电路。

门控时钟采用t触发器来实现,采用作为时钟信号并将其输入置1,当每发生一次上沿跳变,其状态就改变一次。与门另一输入为分频器的输出q。

3.2.1.1 原理如图 3.2.1.1 所示:

置“1”start/stop 门控时钟。

q图 3.2.1.1

3.2.1.2 门控电路t触发器设计。

如图3.2.1.2所示:

图 3.2.1.2

程序如下:library ieee;

use use

entity tttt is

port (

clock : in std_logic ;-clock

reset : in std_logic ;-reset

t_in : in std_logic ;-data in

t_out : out std_logic --data out

end tttt;

architecture a of tttt is

signal reg_t_out : std_logic ; internal signals

begin

process (clock,reset) begin

if (reset = 1') then --asynchronous reset

reg_t_out <=0';

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

if t_in ='1' then

reg_t_out<= not reg_t_out;

end if;

end if;

end process;

t_out <=reg_t_out ;

end a;

其**波形如下:

3.2.2 时分秒计时控制电路模块十分之一秒计数电路。

如图3.2.2所示:

图3.2.2

程序如下:library ieee;

use use

entity cout10v is

port(clrn,ldn,en,clk :in std_logic;

da :in std_logic_vector(3 downto 0);

qa :out std_logic_vector(3 downto 0);

rco :out std_logic

end cout10v ;

architecture a of cout10v is

beginprocess(clk)

variable tmpa :std_logic_vector(3 downto 0);

beginif clrn='0' then tmpa:="0000";

else if(clk'event and clk='1') then

if ldn='0' then tmpa:=da;

elsif en='1' then

if tmpa="1001" then

tmpa:="0000";

elsif tmpa="1101" then

tmpa:="0000";

elsetmpa:=tmpa+1;

end if;

end if;

end if;

end if;

qa<=tmpa;

rco<= tmpa(0) and tmpa(3) and en;

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计时...