EDA课程设计抢答器Word格式文档下载.docx

上传人:b****3 文档编号:7302091 上传时间:2023-05-08 格式:DOCX 页数:14 大小:733.68KB
下载 相关 举报
EDA课程设计抢答器Word格式文档下载.docx_第1页
第1页 / 共14页
EDA课程设计抢答器Word格式文档下载.docx_第2页
第2页 / 共14页
EDA课程设计抢答器Word格式文档下载.docx_第3页
第3页 / 共14页
EDA课程设计抢答器Word格式文档下载.docx_第4页
第4页 / 共14页
EDA课程设计抢答器Word格式文档下载.docx_第5页
第5页 / 共14页
EDA课程设计抢答器Word格式文档下载.docx_第6页
第6页 / 共14页
EDA课程设计抢答器Word格式文档下载.docx_第7页
第7页 / 共14页
EDA课程设计抢答器Word格式文档下载.docx_第8页
第8页 / 共14页
EDA课程设计抢答器Word格式文档下载.docx_第9页
第9页 / 共14页
EDA课程设计抢答器Word格式文档下载.docx_第10页
第10页 / 共14页
EDA课程设计抢答器Word格式文档下载.docx_第11页
第11页 / 共14页
EDA课程设计抢答器Word格式文档下载.docx_第12页
第12页 / 共14页
EDA课程设计抢答器Word格式文档下载.docx_第13页
第13页 / 共14页
EDA课程设计抢答器Word格式文档下载.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

EDA课程设计抢答器Word格式文档下载.docx

《EDA课程设计抢答器Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《EDA课程设计抢答器Word格式文档下载.docx(14页珍藏版)》请在冰点文库上搜索。

EDA课程设计抢答器Word格式文档下载.docx

5.1译码显示模块的功能7

5.2译码显示模块的源程序8

5.3译码显示模块的时序仿真图9

6抢答器的其他功能模块9

6.1犯规功能模块9

6.2犯规功能模块的源程序10

6.3犯规功能模块的时序仿真图11

7抢答器的顶层原理图设计12

7.1顶层原理图的源文件12

7.2顶层原理图的时序仿真图13

8课程设计的总结14

参考文献14

1抢答器的设计要求

设计一个可容纳四组参赛者同时抢答的数字抢答器,可判断第一抢答者并报警指示抢答成功,其他组抢答均无效。

给出系统总体组成框图,设计思路,完成以上模块的VHDL实现及功能仿真,顶层文件及整体仿真。

2抢答器的设计分析

系统设计方案:

整个系统至少有两个主要模块——抢答鉴别模块、抢答计时模块;

其他功能模块(犯规警告模块,输出显示模块)。

按照要求,我们可以将整个系统分为四个主要模块:

抢答鉴别模块;

抢答计时模块;

犯规功能模块;

译码显示模块。

3抢答器的抢答鉴别模块

3.1抢答鉴别模块的功能

该模块主要实现抢答过程中的抢答功能,并能对超前抢答进行警告,还能记录无论是正常抢答还是朝前抢答者的台号,并且能实现当有一路抢答按键按下时,该路抢答信号将其余的抢答信号封锁的功能,并有四个抢答信号s0、s1、s2、s3;

抢答状态显示信号states;

抢答与警报时钟信号clk2;

系统复位信号rst;

警报信号warm。

图3-1抢答器鉴别元件图

Figure3-1responderidentificationcomponentdiagram

3.2抢答鉴别模块的源程序

libraryieee;

useieee.std_logic_1164.all;

useieee.std_logic_unsigned.all;

entityjianbeiis

port(rst,clk2:

instd_logic;

s0,s1,s2,s3:

states:

bufferstd_logic_vector(3downto0);

light:

warm:

outstd_logic);

endjianbei;

architectureoneofjianbeiis

signalst:

std_logic_vector(3downto0);

begin

p1:

process(s0,rst,s1,s2,s3,clk2)

begin

ifrst='

0'

then

warm<

='

;

st<

="

0000"

elsifclk2'

eventandclk2='

1'

if(s0='

orst(0)='

)andnot(st

(1)='

orst

(2)='

orst(3)='

thenst(0)<

endif;

if(s1='

orst

(1)='

)andnot(st(0)='

thenst

(1)<

if(s2='

thenst

(2)<

if(s3='

thenst(3)<

warm<

=st(0)orst

(1)orst

(2)orst(3);

endif;

endprocessp1;

p2:

process(states(0),states

(1),states

(2),states(3),light)

if(st="

)thenstates<

elsif(st<

0001"

0010"

0100"

0011"

1000"

endif;

light<

=st;

endprocessp2;

endone;

3.3抢答鉴别模块的时序仿真图

图3-2抢答鉴别模块的时序仿真图

Figure3-2viestoanswerfirstidentifymoduletimingsimulationdiagram

抢答时需要一个允许开始抢答信号,设为states,该信号输入后,指示灯亮,信号为light,提示选手开始抢答,为了鉴别抢答者,设置s0,s1,s2,s3为了使系统重新进入抢答状态,还需要一个复位信号,设置为rst。

在图中可以看出,s0的速度最快,但明显有一点抢先,紧随其后的依次是s1,s2,s3,这3人均没有抢先,而且可以看出,抢答开始后,灯light[1]亮。

4抢答器的抢答计时模块

4.1抢答计时模块的功能

该模块主要实现抢答过程中的计时功能,在有抢答开始后进行20秒的倒计时,并且在20秒倒计时后无人抢答显示超时并报警,抢答时钟信号clk1;

抢答使能信号start;

无人抢答警报信号warn;

计时中止信号stop;

计时十位和个位信号tb,ta。

图4-1抢答计时元件图

Figure4-1figureviestoanswerfirsttimecomponents

4.2抢答计时模块的源程序

entityjsis

port(clk1,rst,start,stop:

ta,tb:

bufferstd_logic_vector(3downto0));

Endjs;

architectureoneofjsis

signalco:

std_logic;

process(clk1,rst,start,stop,ta)

orstop='

then

ta<

elsifclk1'

eventandclk1='

co<

ifstart='

ifta="

1001"

co<

elseta<

=ta-1;

endif;

process(co,rst,start,stop,tb)

tb<

elsifco'

eventandco='

iftb="

thentb<

elsetb<

=tb-1;

endone;

4.3抢答计时模块的时序仿真图

图4-2抢答计时模块时序仿真图

Figure4-2viestoanswerfirsttimermoduletimingsimulationdiagram

计时信号设为十位和个位信号tb,ta以及抢答时钟信号clk1;

计时中止信号stop。

从图中可以看出,每10个ta使tb改变1,stop时停止计时。

5抢答器的译码显示模块

5.1译码显示模块的功能

该模块中主要实现抢答过程中将BCD码转换成7段的功能。

图5-1译码显示元件图

Figure5-1decodingdisplaycomponentinfigure

5.2译码显示模块的源程序

entityymis

port(bcd:

instd_logic_vector(3downto0);

dout:

outstd_logic_vector(6downto0));

endym;

architecturertlofymis

process(bcd)

casebcdis

when"

=>

dout<

1000000"

when"

1111001"

0100100"

0110000"

0011001"

0101"

0010010"

0110"

0000010"

0111"

1111000"

0000000"

0010000"

whenothers=>

1111111"

endcase;

endprocess;

endrtl;

5.3译码显示模块的时序仿真图

图5-2译码显示模块时序仿真图

Figure5-2decodingdisplaymoduletimingsimulationdiagram

6抢答器的其他功能模块

6.1犯规功能模块

该模块主要实现抢答过程中的报警功能,当主持人按下控制键,有限时间内,人抢答或是计数到时蜂鸣器开始报警,计数停止信号stop;

状态输出信号alm;

计数脉冲clk。

图6-1犯规功能元件图

Figure5-1foulfunctioncomponentdiagram

6.2犯规功能模块的源程序

entityshengyinis

port(rst:

warn:

clk:

inintegerrange0to9;

stop:

alm:

outstd_logic);

end;

architecturebhvofshengyinis

process(warn,ta,tb,stop,clk)

then

alm<

elsifstop='

elsifta=0andtb=0then

=clk;

elsifwarn='

elsealm<

6.3犯规功能模块的时序仿真图

图6-2犯规功能模块时序仿真图

Figure6-2foulsfunctionmoduletimingsimulationdiagram

当主持人按下控制键,有限时间内无人抢答或是计数到时蜂鸣器开始报警,计数停止信号stop;

7抢答器的顶层原理图设计

7.1顶层原理图的源文件

图7-1顶层原理图

Figure7-1thetopprinciplediagram

7.2顶层原理图的时序仿真图

图7-2顶层时序仿真图

Figure7-2toptimingsimulationdiagram

顶层模块是以上几个模块综合起来,并且实现整个系统的功能。

由图可以看出,当抢答开始后,如果限制时间,即20s内无人抢答,则输出超时报警信号。

超前抢答时,也会报警。

如图,s0明显有些抢先,虽然他的速度最快,然后依次是s2,s1,s3,所以s2才是有效的最快抢答成功者,并且可以看到,灯在选手抢答时亮起,声音信号也在抢答时响起。

8课程设计的总结

本次的EDA课程设计虽然只有短暂的一周时间,但是通过实践,使我对EDA技术有了更进一步的了解。

同时,大致懂得了一个课题制作的具体流程和实施方法。

另外,课程设计对QuartusⅡ软件的使用要求较高,从而使我能较为熟练的运用此软件。

在设计时,采用模块化的设计思路使得问题变的简单明了,大大缩短了时间,降低了发生错误的机侓,也便于修改和更新。

课程设计中,需要找很多资料,在当今的信息化环境中,虽然资料很多,但需要仔细斟酌才能找到所要的。

这次的课程设计很好的锻炼了这种能力。

此外,与同学和老师的交流必不可少,我从中也学到了不少东西。

课程设计是一次很好的锻炼机会,我从中学的很多知识对将来的学习和工作都有很大的帮助。

参考文献

[1]潘松,黄继业.EDA技术与VHDL(第3版).清华大学出版社.2009.

[2]马建国,孟宪元.FPGA现代数字系统设计.清华大学出版社.2010.

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

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2