EDA课程设计竞赛抢答器.docx
《EDA课程设计竞赛抢答器.docx》由会员分享,可在线阅读,更多相关《EDA课程设计竞赛抢答器.docx(14页珍藏版)》请在冰豆网上搜索。
EDA课程设计竞赛抢答器
EDA课程设计竞赛抢答器(共15页)
北华航天工业学院
课程设计报告(论文)
设计课题:
竞赛抢答器
专业班级:
学生姓名:
指导教师:
设计时间:
内容摘要
EDA技术是现代电子信息工程领域的一门新技术,他是先进的计算机工作平台上开发出来的一套电子系统设计的软硬件工具,并设计先进的电子系统设计方法。
基于VHDL的四路抢答器是为智力竞赛参赛者答题时进行抢答而设计的一种优先判决器电路器件工具,已被广泛应用于各种智力和知识竞赛场合。
它以VHDL硬件描述为平台,结合动手实践儿完成。
该抢答器分为四个模块:
抢答锁存模块、计时模块、选择控制,报警器和译码模块。
利用QuartusⅡ工具软件完成率编译仿真验证。
关键词:
抢答锁存计时数据选择译码报警
一概述…………………………………………………………………1
二方案设计与论证………………………………………………………………1
三单元电路设计…………………………………………………………………2
(一)抢答锁存模块的设计………………………………………………2
(二)计时模块的设计………………………………………………………3
(三)数据选择模块的设计…………………………………………………4
(四)译码器模块的设计……………………………………………………5
(五)主电路连线图…………………………………………………………7
(六)芯片引脚图…………………………………………………………7
四器件编程与下载………………………………………………………………8
五性能测试与分析………………………………………………………………8
六实验设备………………………………………………………………………8
七心得体会………………………………………………………………………9
八参考文献………………………………………………………………………9
课程设计任务书
课题
名称
竞赛枪答器设计
完成
时间
2011.
指导
教师
职称
学生
姓名
班级
总体设计要求和技术要点
设计要求:
1.抢答器同时供4名选手或4个代表队比赛,分别用4个按钮S0~S3表示。
2.设置一个复位开关和抢答控制开关S,该开关由主持人控制。
3.抢答器具有锁存与显示功能。
即选手按动按钮,锁存相应的编号,并在LED数码管上显示,同时扬声器发出报警声响提示。
选手抢答实行优先锁存,优先抢答选手的编号一直保持到主持人将系统清除为止。
4.抢答器具有定时抢答功能,且一次抢答的时间由主持人设定(如30秒)。
当主持人启动“S”键后,定时器进行减计时,同时扬声器发出短暂的声响,声响持续的时间秒左右。
5.如果定时时间已到,无人抢答,本次抢答无效,系统报警并禁止抢答,定时显示器上显示00。
技术要点:
1、实现封锁功能;3、总程序的编译、仿真、打包并下载到实验箱。
工作内容及时间进度安排
工作内容:
1、编程、仿真、打包、编辑总程序,编译。
2、下载到实验箱,验证结果。
进度安排:
15周周五到周日上机调试程序。
16周周一下载验证,做硬件实验。
周二课设验收并总结报告。
课程设计成果
1.与设计内容对应的软件程序2.课程设计报告书
一、概述
抢答器主要由抢答锁存模块、计时模块、数据选择控制模块,报警器和译码模块组成。
在整个抢答器中最关键的是如何实现抢答锁存,在控制键按下的同时计数器倒计时显示有效剩余时间。
整个抢答器还需有一个使能信号和一个归零信号,以便抢答器能实现公平抢答和停止。
抢答器共有3个输出显示,选手代号、计数器的个位和十位,他们输出全都为BCD码输出,这样便于和显示译码器连接。
当主持人按下控制键、选手按下抢答键或倒计时到时蜂鸣器短暂响起。
二、方案设计与论证
将该任务分成五个模块进行设计,分别为:
抢答器锁存模块、抢答器计时模块、译码模块和数选模块。
1、抢答锁存模块;
在这个模块中主要实现抢答过程中的抢答功能。
抢答开始后,当有一路抢答按键首先按下时,将其余个路抢答封锁。
其中有四个抢答信号s[3..0];时钟信号clk;复位信号s;警报信号alarm;输出信号states[3..0];计时停止信号T。
2、抢答器计时模块:
在这个模块中主要实现抢答过程中的计时功能。
在抢答开始主持人按下复位键后进行20秒的倒计时,并且在20秒倒计时后无人抢答显示超时并报警,若有选手抢答则计时停止。
其中有时钟信号clk;系统复位信号s;抢答信号stop;无人抢答警报信号alarm;计时十位和个位信号sw[3..0],gw[3..0]。
3、数据选择模块:
在这个模块中主要实现抢答过程中的数据输入功能,输入信号a[3..0]、b[3..0]、c[3..0];数据输出信号y[3..0];计数输入脉冲信号sel[3..0];实现a、b、c按脉冲轮流选通,在相应数码管上显示。
4、译码模块:
在这个模块中主要实现抢答过程中将BCD码转换成7段的功能。
设计流程图
三、单元电路设计
(一)抢答锁存模块
1、VHDL源程序
Libraryieee;
UseQDis
Port(s,clk:
instd_logic;
s0,s1,s2,s3:
instd_logic;
states:
bufferstd_logic_vector(3downto0);
T,alarm:
outstd_logic);
EndQD;
ArchitectureaaofQDis
signals_0,s_1,s_2,s_3:
std_logic;
begin
process(s0,s1,s2,s3,s,clk)
begin
if(s='0')thens_0<='0';s_1<='0';s_2<='0';s_3<='0';
elsif(clk'eventandclk='1')then
if(s_0='1'ors_1='1'ors_2='1'ors_3='1')
thennull;
elsifs0='0'thens_0<='1';states<="0001";
elsifs1='0'thens_1<='1';states<="0010";
elsifs2='0'thens_2<='1';states<="0011";
elsifs3='0'thens_3<='1';states<="0100";
elsestates<="0000";
endif;
endif;
T<=s_0ors_1ors_2ors_3;
alarm<=s0ands1ands2ands3;
endprocess;
endaa;
2、仿真图
(二)计时模块
1、VHDL源程序
libraryieee;
usejsis
port(clk,s,stop:
instd_logic;
alarm:
outstd_logic;
sw,gw:
bufferstd_logic_vector(3downto0));
endjs;
architectureaaofjsis
begin
process(clk,s,stop)
begin
if(s='0')thensw<="0011";gw<="0000";alarm<='1';
elsif(clk'eventandclk='1')then
if(stop='1')thengw<=gw;sw<=sw;
elsif(gw="0000")thengw<="1001";
if(sw="0000")thensw<="0000";
elsesw<=sw-1;
endif;
else
gw<=gw-1;alarm<='0';
endif;
if(sw=0andgw=0)thensw<="0011";gw<="0000";alarm<='1';
endif;
endif;
endprocess;
endaa;
2、仿真图
(三)数据选择模块
1、VHDL源程序
libraryieee;
usesjxzis
port(a,b,c:
instd_logic_vector(3downto0);
sel:
instd_logic_vector(2downto0);
y:
outstd_logic_vector(3downto0));
endsjxz;
architectureaaofsjxzis
begin
process(sel)
begin
caseselis
when"000"=>y<=a;
when"001"=>y<=b;
when"010"=>y<=c;
whenothers=>null;
endcase;
endprocess;
endaa;
2、仿真图
(四)译码模块
1、VHDL源程序
libraryieee;
useymis
port(a:
instd_logic_vector(3downto0);
b:
outstd_logic_vector(6downto0));
endym;
architectureoneofymis
begin
withaselect
b<="1111110"when"0000",
"0110000"when"0001",
"1101101"when"0010",
"1111001"when"0011",
"0110011"when"0100",
"1011011"when"0101",
"1011111"when"0110",
"1110000"when"0111",
"1111111"when"1000",
"1110011"when"1001",
"1111111"whenothers;
endone;
2、仿真
(五)主电路连线图
1、主图
2、仿真图
(七)将程序下载到芯片FLEX—EPF10LC84-3上,引脚图如下
四、器件编程与下载
将编译好的模块程序下载到CPLD中(注:
DEVICE选取要与硬件对应,否则会导致实验失败),连线做硬件实验。
五、性能测试与分析
按下s键清零观察数码管是否开始倒计时,按下s0,观察数码管是否显示1和抢答的时间,再按s1、s2、s3均不改变显示,再按下s键,观察是否清零,后不做抢答,直到计时时间到,观察是否显示00,扬声器是否发出报警。
六、实验设备
装有QuartusⅡ的计算机,EL教学实验箱,导线若干
七、心得体会
在EDA技术中最为瞩目的是以现代电子技术为特征的逻辑设计仿真测试技术。
该技术只需要通过计算机就能对所设计的电子系统从不同层次的性能特点上,进行一系列准确的测试和仿真;本次课设,我们选的课题是四路抢答器,在此次的课设活动中,我对EDA这门课程有了更深一步的理解。
同时通过对QuartusⅡ软件的运用,让我加深理解了VHDL程序设计的步骤和原理。
通过硬件上机调试下载程序,我能理解到EDA程序的运用与硬件中去是如何工作起作用的。
程序的编写过程中我们遇到了很多麻烦,首先我们不能独自完成这个程序,我们借鉴了上届的成果,但在仿真时,并没有达到我们预期想要的结果!
我从图书馆里翻阅了有关的书籍,明白了抢答器的真正工作原理。
它是由几个模块连接而成,以实现老师给出的课设要求,然后分别对每个模块进行编程。
其中的抢答锁存模块和计时模块最难编辑。
抢答模块有着优先锁存的功能,为实现其自己曾从原理入手,首先要分析它的功能和原理,然后是分析都需要那些模块,最后是分块编写。
之中最重要的一步是分析前人的实例,找出不足和和需要改进之处。
然后查找资料,编写每一块的程序。
并且及时的进行功能仿真。
只是学习关键一步,在这步中学习编程的思想和功能。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来。
纸上谈兵是不行的,只有在亲自实践是时候才能发现更多的问题,解决这些问题,才是学习的关键所在。
总之,通过这次课程设计,我才明白理论与实际的差距,并不是书本上的知识自己了解了就能实际作出点东西来,想出成果,还得不断的学习,在实践中去探索与认识,这样才能真正的有所收获!
八、参考文献
[1]、李国洪,沈明山:
《可编程逻辑器件EDA技术与实践》,机械工业出版社
[2]、江国强:
《EDA技术习题与实验》,电子工业出版社
[3]、曹昕燕,周风臣,聂春燕:
《EDA技术试验与课程设计》,清华大学出版社
[4]、黄仁欣:
《EDA技术实用教程》,清华大学出版社
[5]、王振红:
《数字电路设计与应用实践教程》,机械工业出版社
指导教师评语及设计成绩
评语
课程设计成绩:
指导教师:
日期:
年月日