EDA数字秒表设计Word下载.docx
《EDA数字秒表设计Word下载.docx》由会员分享,可在线阅读,更多相关《EDA数字秒表设计Word下载.docx(11页珍藏版)》请在冰豆网上搜索。
目录
一、系统组成框图……………………………………………………5
二、各模块原理及其程序……………………………………………5
1、六进制计数器……………………………………………………6
2、十进制计数器…………………………………………………6
3、蜂鸣器………………………………………………………7
4、译码器…………………………………………………………8
5、控制器…………………………………………………………9
三、系统仿真………………………………………………………10
1、六进制计数器…………………………………………………10
2、十进制计数器…………………………………………………10
3、蜂鸣器………………………………………………………10
4、译码器………………………………………………………10
5、控制器………………………………………………………10
四、心得体会……………………………………………………11
课程设计任务书
课题名称
数字秒表设计
完成时间
10.12
指导教师
职称
学生姓名
班级
总体设计要求和技术要点
总体设计要求:
通过本课程的学习使学生掌握可编程器件、EDA开发系统软件、硬件描述语言和电子线路设计与技能训练等各方面知识;
提高工程实践能力;
学会应用EDA技术解决一些简单的电子设计问题。
技术要点:
1.秒表有共有6个输出显示,分别为百分之一秒、十分之一秒、秒、十秒、分、十分,所以共有6个计数器与之相对应,6个计数器的输出全都为BCD码输出,这样便与同显示译码器的连接。
2.开关设置秒表报警器,每10秒钟,蜂鸣器鸣响1声,发光二极管闪烁。
工作内容及时间进度安排
工作内容:
在软件上编辑、编译程序,并仿真到达实验要求。
进度安排;
课下编写程序,并要求程序能通过编译仿真;
第十六周的周三,周四在实验板上下载调试程序;
周五课设答辩。
课程设计成果
1.与设计内容对应的软件程序
2.课程设计报告书
3.成果使用说明书
4.设计工作量要求
设计过程
一.系统组成框图
二.各模块及的原理及其程序
(1)六进制计数器
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entitycount6is
port(clk,clr,start:
instd_logic;
daout:
outstd_logic_vector(3downto0);
cout:
outstd_logic);
endcount6;
architecturebehaveofcount6is
signaltemp:
std_logic_vector(3downto0);
begin
process(clk,clr)
begin
ifclr='
1'
thentemp<
="
0000"
;
cout<
='
0'
elsifclk'
eventandclk='
then
ifstart='
then
iftemp>
0101"
elsetemp<
=temp+1;
endif;
endprocess;
daout<
=temp;
endbehave;
(2)十进制计数器
libraryieee;
useieee.std_logic_arith.all;
entitycount10is
port(
clr,start,clk:
outstd_logic;
bufferstd_logic_vector(3downto0));
endcount10;
architecturebehaveofcount10is
process(clr,start,clk)
ifclr='
thendaout<
elsif(clk'
)then
ifdaout="
1001"
cout<
elsedaout<
=daout+1;
endif;
endprocess;
endbehave;
(3)蜂鸣器
entityalarmis
port(clk,I:
q:
outstd_logic
);
endalarm;
architecturearofalarmis
signaln:
integerrange0to20;
signalq0:
std_logic;
process(clk)
begin
ifclk'
ifi='
thenq0<
n<
=0;
elsifn<
=19andi='
q0<
=notq0;
=n+1;
elseq0<
q<
=q0;
endar;
(4)译码器
entitydeledis
port(num:
instd_logic_vector(3downto0);
led:
outstd_logic_vector(6downto0));
enddeled;
architectureaofdeledis
process(num)
begin
casenumis
when"
=>
led<
0111111"
0001"
0000110"
0010"
1011011"
0011"
1001111"
0100"
1100110"
1101101"
0110"
1111101"
0111"
0100111"
1000"
1111111"
1101111"
whenothers=>
0000000"
endcase;
enda;
(5)控制器
entityseltimeis
port(clr,clk:
inbit;
dain0,dain1,dain2,dain3,dain4,dain5:
instd_logic_vector(3downto0);
sel:
outstd_logic_vector(2downto0);
outstd_logic_vector(3downto0));
endseltime;
architectureaofseltimeis
signaltemp:
integerrange0to5;
process(clk)
if(clr='
)then
daout<
sel<
000"
temp<
elsif(clk='
andclk'
event)then
iftemp=5thentemp<
=temp+1;
casetempis
when0=>
sel<
=dain0;
when1=>
001"
=dain1;
when2=>
010"
=dain2;
when3=>
011"
=dain3;
when4=>
100"
=dain4;
when5=>
101"
=dain5;
三.系统仿真
(1)六进制
(2)十进制
四.心得体会
开始做设计时总是会犯一些错误,只有经过不停的改错不停的编译才能得到正确的程序。
在编程时,我充分使用了结构化的思想,这样程序检查起来也比较方便,调试时也给了我很大方便,只要一个模块一个模块的进行调就可以了,充分体现了结构化编程的优势。
在设计中要求我要有耐心和毅力,还要细心,稍有不慎,一个小小的错误就会导致结果的不正确,而对错误的检查要求我要有足够的耐心,通过这次设计和设计中遇到的问题,也积累了一定的经验,对以后从事集成电路设计工作会有一定的帮助。
在应用VHDL的过程中让我真正领会到了其并行运行与其他软件顺序执行的差别及其在电路设计上的优越性。
用VHDL硬件描述语言的形式来进行数字系统的设计方便灵活,利用EDA软件进行编译优化仿真极大地减少了电路设计时间和可能发生的错误,降低了开发成本,这种设计方法在数字系统设计中发挥越来越重