EDA课程设计Word文件下载.docx

上传人:b****1 文档编号:15219359 上传时间:2022-10-28 格式:DOCX 页数:20 大小:192.85KB
下载 相关 举报
EDA课程设计Word文件下载.docx_第1页
第1页 / 共20页
EDA课程设计Word文件下载.docx_第2页
第2页 / 共20页
EDA课程设计Word文件下载.docx_第3页
第3页 / 共20页
EDA课程设计Word文件下载.docx_第4页
第4页 / 共20页
EDA课程设计Word文件下载.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

EDA课程设计Word文件下载.docx

《EDA课程设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《EDA课程设计Word文件下载.docx(20页珍藏版)》请在冰豆网上搜索。

EDA课程设计Word文件下载.docx

五、审核批准意见

教研室主任(签字)

目录

一、数字时钟设计的背景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可以进行调时调分调秒的功能扩展。

四、数字时钟的设计

1.设计思路

基于VHDL语言,用TOP_DOWN的思想进行设计。

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

Clk时钟输入

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

(开始/停止信号)

START/STOP

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

CLRN(清零端)

置“1”

START/STOP

CLK

2.方案论证

2.1数字钟设计方案论证

十进制计数器、六进制计数器、二进制计数器以及由此级联成的六十进制计数器、十二进制计数器构成数字时钟的计数部分;

输入25MHZ的时钟经分频器产生100HZ的时钟进入计数器电路;

对于停止/开始的控制部分功能的实现有两种方案:

方案一有普通门电路连接计数器的clrn、ldn和en,使其分别为“1”、“1”和“0”,则有各计数器真值表可知输出Q值不变,从而实现该功能。

方案二输入一个由T触发器构成的控制时钟,来实现该功能。

本设计采用的是方案二。

3.单元模块设计部分

单元设计模块分为三大部分:

时钟分频模块,时分秒计时控制电路模块和译码显示模块。

3.1时钟分频模块

如图3.1所示:

     图 3.1

程序如下:

libraryieee;

useieee.std_logic_1164.all;

entitydivis

port(clr,clk:

inbit;

q:

bufferbit);

enddiv;

architectureaofdivis

signalcounter:

integerrange0to12499;

begin

process(clr,clk)

begin

if(clk='

1'

andclk'

event)then

ifclr='

then

counter<

=0;

elsifcounter=12499then

q<

=notq;

else

=counter+1;

endif;

endprocess;

enda;

其仿真波形如下:

  

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

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

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

与门另一输入为分频器的输出Q。

3.2.1.1原理如图3.2.1.1所示:

START/STOP门控时钟

Q

图 3.2.1.1

3.2.1.2门控电路T触发器设计

如图3.2.1.2所示:

      图 3.2.1.2

libraryIEEE;

useIEEE.std_logic_1164.all;

useIEEE.std_logic_unsigned.all;

entityttttis

port(

CLOCK:

instd_logic;

--clock

RESET:

--reset

t_IN:

--datain

t_OUT:

outstd_logic--dataout

);

endtttt;

architectureaofttttis

signalREG_t_OUT:

std_logic;

--internalsignals

begin

process(CLOCK,RESET)begin

if(RESET='

)then--asynchronousreset

REG_t_OUT<

='

0'

;

elsif(CLOCK'

eventandCLOCK='

)then

ift_IN='

REG_t_OUT<

=notREG_t_OUT;

endif;

endprocess;

t_OUT<

=REG_t_OUT;

enda;

 

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

如图3.2.2所示:

     图3.2.2

LIBRARYieee;

useieee.std_logic_unsigned.all;

entitycout10vis

port(

clrn,ldn,en,clk:

instd_logic;

da:

instd_logic_vector(3downto0);

qa:

outstd_logic_vector(3downto0);

rco:

outstd_logic

);

endcout10v;

architectureaofcout10vis

process(clk)

variabletmpa:

std_logic_vector(3downto0);

ifclrn='

thentmpa:

="

0000"

elseif(clk'

eventandclk='

)then

ifldn='

=da;

elsifen='

iftmpa="

1001"

tmpa:

elsiftmpa="

1101"

=tmpa+1;

qa<

=tmpa;

rco<

=tmpa(0)andtmpa(3)anden;

endprocess;

3.2.3时分秒计时控制电路模块秒计数电路

如图3.2.3示:

      如图 3.2.3

其程序如下:

entitycout60_vis

db:

instd_logic_vector(2downto0);

qb:

outstd_logic_vector(2downto0);

endcout60_v;

architectureaofcout60_vis

variabletmpb:

std_logic_vector(2downto0);

thentmpb:

000"

tmpa:

tmpb:

=db;

=tmpb+1;

elsif(tmpb="

101"

andtmpb="

qb<

=tmpb;

=tmpb(0)andtmpb

(2)andtmpa(0)andtmpa(3)anden;

3.2.4时分秒计时控制电路模块分计数电路

如图3.2.4所示:

      如图 3.2.4

instd_logic_vector(3

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 初中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1