EDA课程设计Word文件下载.docx
- 文档编号:15219359
- 上传时间:2022-10-28
- 格式:DOCX
- 页数:20
- 大小:192.85KB
EDA课程设计Word文件下载.docx
《EDA课程设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《EDA课程设计Word文件下载.docx(20页珍藏版)》请在冰豆网上搜索。
五、审核批准意见
教研室主任(签字)
目录
一、数字时钟设计的背景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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EDA 课程设计