ImageVerifierCode 换一换
格式:DOCX , 页数:22 ,大小:183.36KB ,
资源ID:23593499      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/23593499.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(EDA课程设计四路抢答器.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

EDA课程设计四路抢答器.docx

1、EDA课程设计四路抢答器第一章 EDA技术简介.2 第二章 抢答器的设计要求.2第三章 抢答器的设计分析.3第四章 抢答器的抢答鉴别模块.44.1抢答鉴别的功能.44.2抢答鉴别模块的源程序.44.3抢答鉴别模块的时序仿真图.7第五章 抢答器的计时模块.85.1计时模块的功能.85.2计时模块的源程序.85.3计时模块的时序仿真图.11第六章 抢答器的计分模块.126.1计分模块的功能.126.2计分模块的源程序.126.3计分模块的时序仿真图.15第七章 抢答器的译码显示模块.167.1译码显示模块的功能.167.2译码显示模块的源程序.167.3译码显示模块的时序仿真图.17第八章 抢答器

2、的其他功能模块.188.1其他功能模块的具体信息.18第九章 抢答器的顶层原理图设计.199.1顶层原理图的源文件.209.2顶层设计的时序仿真图.21第十章 抢答器的硬件测试.2210.1抢答器的引脚绑定.2210.2抢答器的测试结果.22第十一章 课程设计的总结.23 参考文献.23第一章 EDA技术简介数字抢答器控制系统在现今许多工厂、学校和电视台等单位所举办的各种知识竞赛中起着不可替代的作用。基于EDA技术设计的电子抢答器,以其价格便宜、安全可靠、使用方便而受到了人们的普遍欢迎。本文以现场可编程逻辑器件(FPGA)为设计载体,以硬件描述语言VHDL为主要表达方式,以Ouartus开发软

3、件和GW48EDA开发系统为设计工具设计的电子抢答器,具有抢答鉴别与锁存功能以及60秒答题限时功能、对抢答犯规的小组进行警告和对各抢答小组进行相应的成绩加减操作等功能。第二章 抢答器的设计要求 1 电子抢答器的功能该电子抢答器实现的功能主要包括四项操作:(1)第一抢答信号的鉴别和锁存该电子抢答器共设4个组别,每组控制一个抢答开关,分别为a,b,c,d。在主持人发出抢答指令后,若有参赛者按抢答器按钮,则该组指示灯亮,同时显示器显示出抢答者的组别。同时,电路处于自锁状态,以使其他组的抢答器按钮不起作用。(2)计时功能在初始状态时。主持人可以设置答题时间的初时值。在主持人对抢答组别进行确认,并给出倒

4、计时计数开始信号以后,抢答者便可开始回答问题。此时,显示器从初始值开始倒计时,计至0时停止计数,同时扬声器发出超时报警信号。若参赛者在规定的时间内回答完问题,主持人即可给出计时停止信号,以免扬声器鸣叫。(3)计分功能在初始状态时,主持人可以给每组设置初始分值。每组抢答完后,由主持人打分,答对一次加1分,答错一次减1分。(4)犯规设置对提前抢答者和超时抢答者给予蜂鸣警示,并显示犯规组别。2 电子抢答器的结构原理21 电子抢答器的整体结构电子抢答器的整体结构如图1所示。它包括鉴别与锁存模块、定时与犯规设置模块以及计分模块。第三章 抢答器的设计分析按照要求,我们可以将整个系统分为四个主要模块:抢答鉴

5、别模块;抢答计时模块;抢答计分模块;译码显示模块。对于需显示的信息,需要增加或外接译码器,进行显示译码。考虑到实验开发平台提供的输出显示资源的限制,我们将组别显示和计时显示的译码器内设,而将各组的计分显示的译码器外接。整个系统的大致组成框图如图2.1所示。 图 2.1第四章 抢答器的抢答鉴别模块4.1抢答鉴别模块的功能抢答队伍共分为四组A,B,C,D。当主持人按下START键后,四组队伍才可以按抢答键抢答。抢答成功后表示该组的指示灯见亮起,但在主持人未按下START键之前,所有的抢答键按下均是无效的。当任意一个组抢答成功后,其余的组按抢答键无效。抢答键为A,B,C,D四个键。4.2抢答鉴别模块

6、的源程序library ieee;use ieee.std_logic_1164.all;entity jb is port(sta:in std_logic; rst:in std_logic; a,b,c,d:in std_logic; a1,b1,c1,d1:out std_logic; states: out std_logic_vector(3 downto 0); start: out std_logic);end entity jb;architecture art of jb is constant w1: std_logic_vector:=0001; constant w2

7、: std_logic_vector:=0010; constant w3: std_logic_vector:=0100; constant w4: std_logic_vector:=1000; signal sinor: std_logic; signal nsinor: std_logic; signal s_start: std_logic; begin sinor=a or b or c or d; nsinor=not(a or b or c or d); start=s_start; process(sta,nsinor) is begin if (sta=1) then s_

8、start=1; elsif(nsinorevent and nsinor=1)then s_start=0; end if; end process; process(rst,sta,sinor,nsinor) is begin if(rst=1 or sta=1 or nsinor=1)then a1=0;b1=0;c1=0;d1=0; elsif(sinorevent and sinor=1)then if(s_start=1)then if(a=1)then a1=1;b1=0;c1=0;d1=0; elsif(b=1)then a1=0;b1=1;c1=0;d1=0; elsif(c

9、=1)then a1=0;b1=0;c1=1;d1=0; elsif(d=1)then a1=0;b1=0;c1=0;d1=1; end if; end if; end if; end process; process(sinor) is begin if(rst=1)then states=0000; elsif(sinorevent and sinor=1)then if(s_start=1)then if(a=1)then states=w1; elsif(b=1)then states=w2; elsif(c=1)then states=w3; elsif(d=1)then state

10、s=w4; end if; end if; end if; end process;end architecture art; 4.3抢答鉴别模块的时序仿真图图 4.1抢答开始后,A组按下抢答键,抢答成功第五章 抢答器的抢答计时模块 5.1抢答计时模块的功能主持人宣布抢答成功后,按下EN键,选手开始回答,系统开始计时。TA和TB键选择计时的时间(TA:9秒,TB:7秒)5.2 抢答计时模块的源程序library ieee; use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity js is port(clr,ldn,

11、en,clk:in std_logic; ta,tb: in std_logic; qa: out std_logic_vector(3 downto 0); qb: out std_logic_vector(3 downto 0);end entity js;architecture art of js is signal da: std_logic_vector(3 downto 0); signal db: std_logic_vector(3 downto 0);begin process(ta,clr) is begin if(clr=1)then da=1001; elsif(ta

12、event and ta=1)then if(ldn=1)then if(da=0000)then da=1001; else da=da-1; end if; end if; end if; end process; process(tb,clr) is begin if(clr=1)then db=0101; elsif(tbevent and tb=1)then if(ldn=1)then if db=0000then db=1001; else db=db-1; end if; end if; end if; end process; process(clk) is variable

13、tmpa: std_logic_vector(3 downto 0); variable tmpb: std_logic_vector(3 downto 0); begin if(clr=1)then tmpa:=0000; tmpb:=0000; elsif clkevent and clk=1 then if en=1then tmpa:=da; tmpb:=db; elsif tmpa=0000then if tmpb=0000then tmpa:=0000; else tmpa:=1001; end if; if tmpb=0000then tmpb:=0000; else tmpb:

14、=tmpb-1; end if; else tmpa:=tmpa-1; end if; end if; qa=tmpa; qb=tmpb; end process;end architecture art; 5.3抢答计时模块的时序仿真图 图 5.1按下EN开始答题,回答问题时,选择TA模式计时第六章 抢答器的计分模块 6.1抢答计分模块的功能主持人确认选手回答正确后,按下ADD键为选手加分。 6.2抢答计分模块的源程序 library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity jf is p

15、ort(rst: in std_logic; add: in std_logic; chose: in std_logic_vector(3 downto 0); aa2,aa1,aa0,bb2,bb1,bb0: out std_logic_vector(3 downto 0); cc2,cc1,cc0,dd2,dd1,dd0: out std_logic_vector(3 downto 0);end entity jf;architecture art of jf isbegin process(rst,add,chose) is variable a2,a1:std_logic_vecto

16、r(3 downto 0); variable b2,b1:std_logic_vector(3 downto 0); variable c2,c1:std_logic_vector(3 downto 0); variable d2,d1:std_logic_vector(3 downto 0); begin if(rst=1)then a2:=0001;a1:=0000; b2:=0001;b1:=0000; c2:=0001;c1:=0000; d2:=0001;d1:=0000; elsif(addevent and add=1)then if chose=0001then if a1=

17、1001then a1:=0000; if a2=1001then a2:=0000; else a2:=a2+1; end if; else a1:=a1+1; end if; elsif chose=0010then if b1=1001then b1:=0000; if b2=1001then b2:=0000; else b2:=b2+1; end if; else b1:=b1+1; end if; elsif chose=0100then if c1=1001then c1:=0000; if c2=1001then c2:=0000; else c2:=c2+1; end if;

18、 else c1:=c1+1; end if; elsif chose=1000then if d1=1001then d1:=0000; if d2=1001then d2:=0000; else d2:=d2+1; end if; else d1:=d1+1; end if; end if; end if; aa2=a2;aa1=a1;aa0=0000; bb2=b2;bb1=b1;bb0=0000; cc2=c2;cc1=c1;cc0=0000; dd2=d2;dd1=d1;dd0out7out7out7out7out7out7out7out7out7out7out7=0000000;

19、end case; end process;end architecture; 7.3译码显示模块的时序仿真图图 7.1输入0001,输出0000110,在共阴极数码管上显示1第八章 抢答器的其他功能模块其他功能模块的具体信息犯规功能模块:但主持人未按下START键时,若有选手按抢答键,系统报警。犯规功能模块的源程序:library ieee;use ieee.std_logic_1164.all;entity fg is port(a,b,c,d,start:in std_logic; y:out std_logic);end fg;architecture bhv of fg isbegi

20、n process(a,b,c,d,start) begin if start=0 then if (a or b or c or d)=1 then y=1; end if; else y=0; end if; end process;end architecture; 犯规功能模块的时序仿真图:图 8.1B组提前抢答,报警铃鸣叫示意第九章 抢答器的顶层原理图设计9.1顶层原理图的源文件图 9.1 9.2顶层原理图的时序仿真图图 9.2A组抢答成功,问题回答正确,加分第十章 抢答器的硬件测试10.1抢答器的引脚绑定由于硬件条件的限制,只测试抢答鉴别功能的检测。实验用的芯片为GWAC3EP1C

21、3TC144采用实验电路模式6检测,引脚绑定如下图:图 10.1ZB接共阴极数码管,A,B,C,D接按键5,6,7,8。10.2抢答器的测试结果按下5键,数码管显示1,即A组抢答成功。第十一章 课程设计的总结本次的EDA课程设计历时三个星期,时间虽短,但通过三个星期的实践,使我对EDA技术有了更进一步的了解。同时,大致懂得了一个课题制作的具体流程和实施方法。另外,课程设计对Quartus软件的使用要求较高,从而使我能较为熟练的运用此软件。在设计时,采用模块化的设计思路使得问题变的简单明了,大大缩短了时间,降低了发生错误的机侓,也便于修改和更新。课程设计中,需要找很多资料,在当今的信息化环境中,虽然资料很多,但需要仔细斟酌才能找到所要的。这次的课程设计很好的锻炼了这种能力。此外,与同学和老师的交流必不可少,我从中也学到了不少东西。课程设计是一次很好的锻炼机会,我从中学的很多知识对将来的学习和工作都有很大的帮助,十分感谢学校能提供这样一个机会。【1】EDA技术与VHDL(第2版) 潘 松 黄继业 编著 清华大学出版社.2007【2】EDA技术实验与课程设计 曹昕燕 周凤臣 聂春燕 编著 清华大学出版社. 2006【3】杭州康芯电子有限公司GW48-PK3实验系统说明书. 杭州康芯电子有限公司.2006

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1