数字式竞赛抢答器EDA课程设计肖铖.docx
- 文档编号:23376678
- 上传时间:2023-05-16
- 格式:DOCX
- 页数:14
- 大小:106.79KB
数字式竞赛抢答器EDA课程设计肖铖.docx
《数字式竞赛抢答器EDA课程设计肖铖.docx》由会员分享,可在线阅读,更多相关《数字式竞赛抢答器EDA课程设计肖铖.docx(14页珍藏版)》请在冰豆网上搜索。
数字式竞赛抢答器EDA课程设计肖铖
长沙学院
课程设计说明书
题目数字竞赛抢答器的设计
系(部)电信系
专业(班级)电气2班
姓名肖铖
学号2011024204
指导教师谢明华、瞿瞾
起止日期2013.12.16—2013.12.31
EDA技术课程设计任务书
系(部):
电子与通信工程系专业:
电气工程及其自动化指导教师:
谢明华
课题名称
数字竞赛抢答器的设计
设计内容及要求
(1)课题内容:
1、设计一个可容纳3组参赛的数字式抢答器,每组设一个按钮,供抢答使用。
2、抢答器具有第一信号鉴别和锁存功能,使除第一抢答者外的按钮不起作用。
3、设置一个主持人“复位”按钮。
4、主持人复位后,开始抢答,第一信号鉴别锁存电路得到信号后,有指示灯显示抢答组别。
5、设置一个计分电路,每组开始预置10分,由主持人记分,答对一次加1分,答错一次减1分。
(2)主要任务:
完成该系统的硬件和软件的设计,并制作出实物装置,调试好后并能实际运用(指导教师提供制作所需的器件),最后就课程设计本身提交一篇课程设计说明书。
设计工作量
1、VHDL语言程序设计;
2、波形仿真;
3、在实验装置上进行硬件测试,并进行演示;
4、提交一份完整的课程设计说明书,包括设计原理、程序设计、程序分析、仿真分析、硬件测试、调试过程,参考文献、设计总结等。
进度安排
起止日期(或时间量)
设计内容(或预期目标)
备注
第1天
课题介绍,答疑,收集材料
第2天
设计方案论证
第3天
进一步讨论方案,对设计方案进行必要的修正,方案确定后开始进行VHDL语言程序设计
第4天
设计VHDL语言程序
第5~9天
在实验装置上进行硬件测试,对VHDL语言程序进行必要的修正,并进行演示
教研室
意见
年月日
系(部)主管领导意见
年月日
长沙学院课程设计鉴定表
姓名
肖铖
学号
2011024204
专业
电气工程及其自动化
班级
02
设计题目
数字竞赛抢答器的设计
指导教师
瞿曌
指导教师意见:
评定等级:
教师签名:
日期:
答辩小组意见:
评定等级:
答辩小组长签名:
日期:
教研室意见:
教研室主任签名:
日期:
系(部)意见:
系主任签名:
日期:
说明
课程设计成绩分“优秀”、“良好”、“及格”、“不及格”四类;
1、课程设计目的
(1)、通过课程设计使学生能熟练掌握一种EDA软件(MAX+plus2)的使用方法,能熟练进行设计输入、编译、管脚分配、下载等过程,为以后进行工程实际问题的研究打下设计基础。
(2)、通过课程设计使学生能利用EDA软件(MAX+plus2)进行至少一个电子技术综合问题的设计,设计输入可采用图形输入法或VHDL硬件描述语言输入法。
(3)、通过课程设计使学生初步具有分析、寻找和排除电子电路中常见故障的能力。
(4)、通过课程设计使学生能独立写出严谨的、有理论根据的、实事求是的、文理通顺的字迹端正的课程设计报告。
2、设计任务及要求
2.1设计任务
(1)设计一个可容纳3组参赛的数字式抢答器,每组设一个按钮,供抢答使用。
(2)抢答器具有第一信号鉴别和锁存功能,使除第一抢答者外的按钮不起作用。
(3)设置一个主持人“复位”按钮。
(4)主持人复位后,开始抢答,第一信号鉴别锁存电路得到信号后,由指示灯显示抢答组的编号。
扩展功能:
(5)设置一个计分电路,每组开始预制10分,由主持人计分,答对一次加1分,答错一次减1分。
2.2设计要求
(1)采用VHDL语言编写程序,并在QUARTUSII平台中进行仿真,下载到EDA实验箱进行验证。
(2)完成该系统的硬件和软件的设计,并制作出实物装置,调试好后并能实际运用(指导教师提供制作所需的器件),最后就课程设计本身提交一篇课程设计说明书。
3、设计内容
3.1设计框图
图3.1.1抢答器总体框图
定时抢答器的总体框图如图1.3.1所示,它由主体电路和扩展电路两部分构成,主体电路完成基本的抢答功能,即开始抢答后,当选手按动抢答键时,能显示选手的编号,同时能封锁输入电路,禁止其他选手抢答。
扩展电路完成各选手的得分显示功能。
3.2设计说明
定时抢答器的工作过程是:
接通电源时,主持人将开关置于“清除”位置,抢答器处于禁止工作状态,编号显示器灭灯;抢答开始时,主持人将控制开关拨到“开始”位置,抢答器处于工作状态,这时,抢答器完成以下工作:
(1)优先编码器电路立即分辨出抢答者编号,并由锁存器进行锁存,然后由译码显示电路显示编号;
(2)控制电路要对输入编码电路进行封锁,避免其他选手再次进行抢答;(3)当选手将问题回答完毕,主持人操作计分开关,计分电路采用十进制加/减计数器、数码管显示。
本轮抢答完毕,主持人操作控制开关,使系统回复到禁止工作状态,以便进行下一轮抢答。
3.3抢答器的VHDL代码
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entityqdq3is
port(rst,clk,add,redu:
instd_logic;
s0,s1,s2:
instd_logic;
i:
bufferintegerrange50000000downto0;
t:
bufferintegerrange40000downto0;
j:
bufferintegerrange6downto0;
a,b,c,ty:
bufferstd_logic_vector(3downto0);
a1,a2,b1,b2,c1,c2:
bufferstd_logic_vector(3downto0);
q:
outstd_logic_vector(7downto0);
led7s:
outstd_logic_vector(6downto0);
en:
instd_logic;
g:
bufferstd_logic_vector(3downto0);
clk1,clk2:
bufferstd_logic);
end;
architectureoneofqdq3is
signalf,e,y:
std_logic;
constantw1:
std_logic_vector:
="0001";
constantw2:
std_logic_vector:
="0010";
constantw3:
std_logic_vector:
="0011";
begin
process(clk,i)----分频器
begin
ifclk'eventandclk='1'then
ifi=25000000thenf<='1';i<=1;
elsef<='0';i<=i+1;
endif;
endif;
endprocess;
process(f)
begin
iff'eventandf='1'then
ife='0'thene<='1';
elsee<='0';
endif;
endif;
endprocess;
clk1<=e;
process(clk,t)
begin
ifclk'eventandclk='1'then
ift=8000theny<='1';t<=1;
elsey<='0';t<=i+1;
endif;
endif;
endprocess;
clk2<=y;
process(s0,s1,s2,rst)----抢答鉴别
variablelock:
std_logic;
begin
if(rst='1')theng<="0000";lock:
='1';
elsif(lock='1')then
if(s0='1'ands1='0'ands2='0')theng<=w1;lock:
='0';
elsif(s0='0'ands1='1'ands2='0')theng<=w2;lock:
='0';
elsif(s0='0'ands1='0'ands2='1')theng<=w3;lock:
='0';
endif;
endif;
endprocess;
process(clk1,add,redu,en)----计分器
begin
ifen='1'thena1<="0000";a2<="0001";b1<="0000";b2<="0001";c1<="0000";c2<="0001";
elsifclk1'eventandclk1='1'then
ifadd='1'then
if(g="0001")thena1<=a1+1;
if(a1=9)thena2<=a2+1;a1<="0000";
endif;
elsif(g="0010")thenb1<=b1+1;
if(b1=9)thenb2<=b2+1;b1<="0000";
endif;
elsif(g="0011")thenc1<=c1+1;
if(c1=9)thenc2<=c2+1;c1<="0000";
endif;
endif;
endif;
ifredu='1'then
if(g="0001")thena1<=a1-1;
if(a1=0)thena1<="1001";a2<=a2-1;
endif;
elsif(g="0010")thenb1<=b1-1;
if(b1=0)thenb1<="1001";b2<=b2-1;
endif;
elsif(g="0011")thenc1<=c1-1;
if(c1=0)thenc1<="1001";c2<=c2-1;
endif;
endif;
endif;
endif;
endprocess;
process(clk)----译码器
begin
ifclk2'eventandclk2='1'then
if(j>5)thenj<=0;
elsej<=j+1;
endif;
endif;
endprocess;
process(j)
begin
if(j=0)thenty<=a1;
elsif(j=1)thenty<=a2;
elsif(j=2)thenty<=b1;
elsif(j=3)thenty<=b2;
elsif(j=4)thenty<=c1;
elsif(j=5)thenty<=c2;
elsety<=g;
endif;
endprocess;
process(j)
begin
casejis
when0=>q<="00000001";
when1=>q<="00000010";
when2=>q<="00000100";
when3=>q<="00001000";
when4=>q<="00010000";
when5=>q<="00100000";
when6=>q<="10000000";
whenothers=>null;
endcase;
endprocess;
process(ty)
begin
casetyis
when"0000"=>led7s<="1000000";--0
when"0001"=>led7s<="1111001";--1
when"0010"=>led7s<="0100100";--2
when"0011"=>led7s<="0110000";--3
when"0100"=>led7s<="0011001";--4
when"0101"=>led7s<="0010010";--5
when"0110"=>led7s<="0000010";--6
when"0111"=>led7s<="1111000";--7
when"1000"=>led7s<="0000000";--8
when"1001"=>led7s<="0010000";--9
whenothers=>null;
endcase;
endprocess;
end;
3.4仿真波形及引脚
图3.4.1
图3.4.2
图3.4.3
图3.4.4
图3.4.5
引脚绑定:
clk的引脚是PIN_J3;clk1的引脚是PIN_R10;rst的引脚是PIN_T13;en的引脚是PIN_V13;s0的引脚是PIN_T10;s1的引脚是PIN_N14;s2的引脚是PIN_V11;add的引脚是PIN_T11;redu的引脚是PIN_V12;q[0]的引脚是PIN_G4;q[1]的引脚是PIN_G3;q[2]的引脚是PIN_E2;q[3]的引脚是PIN_F2;q[4]的引脚是PIN_F1;q[5]的引脚是PIN_G2;q[6]的引脚是PIN_G1;q[7]的引脚是PIN_H2;led7s[0]的引脚是PIN_L3;led7s[1]的引脚是PIN_L4;led7s[2]的引脚是PIN_H3;led7s[3]的引脚是PIN_H4;led7s[4]的引脚是PIN_H1;led7s[5]的引脚是PIN_L2;led7s[6]的引脚是PIN_K4。
3.5实验结果
根据实验,我们可以看出,初始状态为:
第一个显示管显示为“0”(用来显示先抢答的组号);第三个显示管初始值显示为“1”(代表十位),第四个显示管初始值显示为“0”(代表个位),即代表第三组的初始分数“10”分,同理,第五个显示管初始值为“1”(代表十位),第六个显示管初始值为“0”(代表个位),既代表第二组的初始分数为“10”分,第七个显示管初始值为“1”,第八个显示管初始值为“0”,即代表第一组的初始分数为“10”分。
在实验箱上先按按键KEY1,则第一个显示管上会显示“1”,按按键KEY8可清零,按按键KEY7后就开始抢答,这样就3组可依次抢答,哪一组先按则第一个显示管就显示哪一组组号,按键KEY2对应第二组,按键KEY3对应第三组,即3路数字竞赛抢答器。
由KEY1、KEY2、KEY3构成抢答键,而主持人控制抢答:
按KEY8清零;按KEY7开始抢答;按一下KEY4就给答对的组加1分;按一下KEY5就给答错的组减一分。
4、课程设计体会
我认为,在这学期EDA的课程设计中,在收获知识的同时,还收获了阅历,收获了成熟。
在此过程中,我通过上网查找了大量资料,还请教了不少同学,在我不懈的努力下,不仅培养了我独立思考、动手操作的能力,还在其它各种能力上也都得到了提高。
更重要的是,在课程设计实验课上,我学会了很多学习EDA的方法,这是日后最实用的,真的是受益匪浅。
我们的一生中要面对社会的很多挑战,只有通过不断的学习、实践,再学习、再实践,才有足够的本领去迎接各种挑战。
这次课程设计使我进一步熟知了VHDL程序的书写与设计,还更加熟练度应用AlteraFPGA的平台进行仿真实验,并学会用VHDL语言自行设计抢答器的程序,并了解到VHDL语言设计的出现从根本上改变了以往数字电路的设计模式,使电路由硬件设计转变为软件设计,使电子设计的核心转化为VHDL语言的编程设计,这样提高了设计的灵活性,使电路的设计复杂程度大大降低。
课程设计虽然做成功了,但也留下了一点点遗憾,因为由于时间的紧缺和许多课业的繁忙,并没有做到最好,但是,最起码我没有放弃,设计成功就是我的骄傲所在!
相信以后我会以更加积极的态度对待我的学习、对待我的生活,并好好地对待我身边的每一个人。
我的激情永远不会结束,反过来,我会更加努力,努力地去弥补自己的缺点,发展并发挥自己的优点,去充实自己,只有在不断地了解自己的长短之后,我才会更加珍惜所拥有的一切,才会更加努力地去完善它,增进它。
只有不断的锻炼自己,挑战自己,才能拥有更多的成功和快乐!
只有通过不断的学习各种技能,并加以运用,才会成长成才!
参考文献
[1]谭会生,《EDA》,西安电子电子科技大学出版社,2004年。
[2]谢自美,《电子线路设计实验测试》,华中科技大学出版社。
[3]赵世强,许杰,《电子电路EDA技术》,西安电子科技大学出版社。
[4]候伯亨,刘凯,《VHDL硬件描述语言与数字逻辑电路设计》,西安,电子科技大学出版社。
[5]曾繁泰,陈美金,《VHDL程序设计》,北京,清华大学出版社。
[6]谭会生,张昌凡,《EDA技术及应用》,西安,西安电子科技大学出版社。
[7]李国丽,朱维勇,《EDA与数字系统设计》,北京,机械工业出版社。
[8]潘松,黄继业,《EDA技术实用教程》,北京,科学出版社。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字式 竞赛 抢答 EDA 课程设计