




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目 录1 引言12 vhdl及quartusii软件简介22.1 关于eda22.2 关于vhdl22.3 软件介绍33 智力竞赛抢答器的设计与实现43.1 抢答器的设计原理43.2 抢答器各个模块的设计43.2.1 抢答鉴别模块的设计43.2.2 答题计时模块的设计63.2.3 答题计分模块的设计73.2.4 译码显示模块的设计83.3 抢答器的总体实现94 抢答器的硬件调试125 总结13参考文献14附录151 引言随着科学技术的进步,电子器件和电子系统设计方法日新月异,在很多场合都要求公正的快速的裁决,例如体育竞技、证券、股票交易,以及各种智力竞赛等。智力竞赛作为一种生动活泼的教育形式和
2、方法引起观众和参与者极大的兴趣。无论是在学校、工厂、军队还是益智性电视节目, 都会举办各种各样的智力竞赛, 都会用到抢答器。当主持人针对某个问题提问时,选手们要经过抢答,而抢答时要先判断哪个组先按键。抢答到的选手回答问题时,一般都有时间限制,时间到了则会有警报提醒,若在限定的时间内正确回答了问题,则给该组进行加分,然后进行下一组的抢答。这就需要人们设计一种电路来实现此功能。抢答电路一般有很多模块组成,本课程设计介绍了一种实用的设计方法来实现抢答器的功能,具有很强的实用性与可行性。目前市场上已有各种各样的智力竞赛抢答器,但绝大多数是早期设计的,以模拟电路、数字电路或者模拟电路与数字电路相结合的产
3、品。这部分抢答器已相当成熟,但功能越多的电路相对来说就越复杂,且成本偏高,故障高,显示方式简单(有的甚至没有显示电路),无法判断提前抢答的选手,不便于电路升级换代。本设计是基于vhdl设计的一个智力竞赛抢答器,尽量使竞赛达到真正的公正、公平、公开。基于eda技术设计的电子抢答器,以其价格便宜、安全可靠、使用方便受到了人们的普遍欢迎。本文以现场可编程逻辑器件(fpga)为设计载体,以硬件描述语言vhdl为主要表达方式,以quartus开发软件设计的电子抢答器,具有抢答鉴别与锁存功能以及60秒答题限时功能。本次设计的目的就是在掌握eda实验开发系统的初步使用基础上,了解eda技术,了解并掌握vhd
4、l硬件描述语言的设计方法和思想,通过学习的vhdl语言结合电子电路的设计知识理论联系实际,掌握所学的课程知识,学习vhdl基本单元电路的综合设计应用。通过对智力竞赛抢答器的设计,巩固和综合运用所学课程,理论联系实际,提高设计能力,提高分析、解决计算机技术实际问题的独立工作能力。2 vhdl及quartusii软件简介2.1 关于edaeda是电子设计自动化(electronic design automation)的缩写,在20世纪90年代初从计算机辅助设计(cad)、计算机辅助制造(cam)、计算机辅助测试(cat)和计算机辅助工程(cae)的概念发展而来的。eda技术就是以计算机为工具,设
5、计者在eda软件平台上,用硬件描述语言hdl完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。eda技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。现在对eda的概念或范畴用得很广,包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有eda的应用。目前eda技术已在各大公司、企事业单位和科研教学部门广泛使用。例如在飞机制造过程中,从设计、性能测试及特性分析直到飞行模拟,都可能涉及到eda技术。eda工具软件可大致分为芯片设计辅助软件、可编程芯片辅助
6、设计软件、系统设计辅助软件等三类。目前进入我国并具有广泛影响的eda软件是系统设计软件辅助类和可编程芯片辅助设计软件:protel、pspice、multisim10(原ewb的最新版本)、orcad、pcad、lsiiogic、microsim,ise,modelsim等等。这些工具都有较强的功能,一般可用于几个方面,例如很多软件都可以进行电路设计与仿真,同时还可以进行pcb自动布局布线,可输出多种网表文件与第三方软件接口。2.2 关于vhdlvhdl是一种硬件描述语言,它可以对电子电路和系统的行为进行描述,基于这种描述,结合相关的软件工具,可以得到所期望的实际电路与系统。vhdl的含义是v
7、hsic hardware description language (vhsic硬件描述语言)。vhsic是very high speed integrated circuits的缩写,是20世纪80年代在美国国防部的资助下始创的,并最终导致了vhdl语言的出现。它的第一个规范版本为vhdl 87,vhdl 93是其后续的升级版本。vhdl是ieee(institute of electrical and electronics engineers,美国电气和电子工程师协会)制定为规范的第一种硬件描述语言,规范版本为ieee 1076。ieee后来又补充制定了ieee 1164,引入了多值逻
8、辑系统。使用vhdl语言描述的电路,可以进行综合和仿真。然而,值得注意的是,尽管所有vhdl代码都是可仿真的,但并不是所有代码都能综合。vhdl被广泛使用的基本原因在于它是一种标准语言,是与工具和工艺无关的,从而可以方便地进行移植和重用。vhdl两个最直接的应用领域是可编程逻辑器件(pld)和专用集成电路(asic),其中可编程逻辑器件包括复杂可编程逻辑器件(cpld)和现场可编程门阵列(fpga)。关于vhdl最后要说明的是:与常规的顺序执行的计算机程序不同,vhdl从根本上讲是并发执行的。在vhdl中,只有在进程(process)、函数(function)和过程(procedure)内部的
9、语句才是顺序执行的。2.3 软件介绍quartus ii 是altera公司的综合性pld开发软件,支持原理图、vhdl、veriloghdl以及ahdl(altera hardware description language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整pld设计流程。 quartus ii可以在xp、linux以及unix上使用,除了可以使用tcl脚本完成设计流程外,提供了完善的用户图形界面设计方式。具有运行速度快,界面统一,功能集中,易学易用等特点。 quartus ii支持altera的ip核,包含了lpm/megafunctio
10、n宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。对第三方eda工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三方eda工具。 此外,quartus ii 通过和dsp builder工具与matlab/simulink相结合,可以方便地实现各种dsp应用系统;支持altera的片上可编程系统(sopc)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。 maxplus ii 作为altera的上一代pld设计软件,由于其出色的易用性而得到了广泛的应用。altera在quartus ii 中包含了许多诸如signalt
11、ap ii、chip editor和rtl viewer的设计辅助工具,集成了sopc和hardcopy设计流程,并且继承了maxplus ii 友好的图形界面及简便的使用方法。 altera quartus ii 作为一种可编程逻辑的设计环境, 由于其强大的设计能力和直观易用的接口,越来越受到数字系统设计者的欢迎。3 智力竞赛抢答器的设计与实现3.1 抢答器的设计原理输入电路判别电路声光数显控制电路声光显示数字显示计时电路计分电路本次课程设计的智力竞赛抢答器(四路抢答器)主要完成四部分功能:抢答鉴别功能、答题计时功能、答题计分功能、译码显示功能。系统的输入信号有:各组的抢答按钮a、b、c、d
12、,系统复位信号clr,系统时钟信号clk,倒计时开始信号start,倒计时禁止信号stop,加分确认信号add,计分复位信号rst;系统的输出信号有:任一组抢答成功并锁存显示该组号码的数码管显示信号输出口out1,任一组抢答成功并锁存该组的指示灯显示信号a1、b1、c1、d1,任一组抢答成功并锁存后的扬声器信号warm,抢答成功者回答超时警报信号sound,答题倒计时的数码管显示信号out2、out,计分结果的显示信号aa2、aa1、bb2、bb1、cc2、cc1、dd2、dd1。 根据以上的分析,我们可将整个系统分为四个主要模块:答题鉴别模块,答题计时模块, 答题计分模块以及译码显示模块。其
13、系统组成框图如图3-1所示:图3-1 系统组成框图3.2 抢答器各个模块的设计3.2.1 抢答鉴别模块的设计抢答鉴别模块的关键是准确识别出最先抢答者的信号并将其锁存,实现的方法可使用软件进行编程,在得到第一信号后将此输入信号封锁,使其它组的抢答信号无效。同时通过软件设置数码显示电路,使其显示出最先抢答者的组别,并且最先抢答者的灯亮,而且扬声器发出声响。然后等待主持人按下确认键来启动答题计时电路,最先抢答者开始答题。1 抢答鉴别电路可以由vhdl程序来实现,其 vhdl程序见附录。2 抢答鉴别模块的元件图如图3-2所示:图3-2 抢答鉴别模块的元件各组的抢答按钮为a、b、c、d,系统复位信号为c
14、lr,系统时钟信号为clk,各组的输出指示灯显示信号为a1、b1、c1、d1,warm控制扬声器发出声响。3 抢答鉴别模块的仿真图如图3-3所示:图3-3 抢答鉴别模块的仿真波形图当a、b、c、d四组进行抢答时,a组最先抢答,此模块可将a组的信号进行锁存,使其他组的抢答信号无效。同时a组的指示灯a1亮,且数码管显示出组别1,扬声器发出声响。当信号clr进行了复位操作时,可使输出信号复位,从而停止扬声器发出声响。对系统进行复位后,四组竞赛者可重新准备下一轮的抢答。3.2.2 答题计时模块的设计答题计时模块的任务是当主持人启动确认键时开始计时,开始答题,同时计时显示器从初始值开始以秒为单位倒计时,
15、计数至0时,停止计数,扬声器发出超时报警信号,以中止继续回答问题。当主持人再按下禁止键时,扬声器停止报警。如果抢答者在规定的时间内没有完成,则答题无效;如果在规定的时间内答完题,则答题有效。若回答正确,则进行加分。计时器从规定的时间倒计时,计时为零时计时结束。答题有无效凭主持人来判断。1 答题计时电路可以由vhdl程序来实现,其vhdl程序见附录。2 答题计时模块的元件图如图3-4所示:图3-4 答题计时模块的元件图复位信号为clr,系统时钟信号为clk,开始计时信号为start,倒计时结束信号为stop,qa、qb输出显示时间,超时警报由sound控制。3 答题计时模块的仿真图如图3-5所示
16、:图3-5 答题计时模块的仿真波形图信号clr对系统进行了复位操作,使其计时初始值为60s。如果start等于1,则开始倒计时,最先抢答者开始回答问题。如果答题时间超出规定时间,则由sound控制发出超时警报。如果答题时间未超时,则由stop控制停止倒计时。3.2.3 答题计分模块的设计答题计分电路模块是给答题人计分用的,按照规定如果主持人判定答题有效且正确则加分,如无效则按照规定不加分或者扣分,并将分数显示在计分屏幕上。1 计分电路可以由vhdl程序来实现,其vhdl程序见附录。2 答题计分模块的元件图如图3-6所示:图3-6 答题计分模块的元件图计分复位信号为rst,加分脉冲信号为add,
17、控制加分信号为stop,chose选择加分组别,计分输出显示信号为aa1、aa2、bb1、bb2、cc1、cc2、dd1、dd2。3 答题计分模块的仿真图如图3-7所示:图3-7 答题计分模块的仿真图图中rst为复位信号,当其等于1时,所有计分为0。当有脉冲信号add且加分控制信号stop为1时,chose选择哪组则可对哪组进行加分。计分结果由数码管显示出来。3.2.4 译码显示模块的设计译码显示模块可用来显示抢答成功的组序号,还可作为计数器的倒计时显示,也可显示各组的分数。数码管可将最先抢答者的组别显示出来,主持人通过显示结果决定那组回答问题。计时显示器显示回答问题的时间,主持人可通过显示决
18、定是否超时。计分显示器将回答问题后的分数显示出来。1 译码显示模块可以由vhdl程序来实现,其vhdl程序见附录。2 译码显示模块的元件图如图3-8所示:图3-8 译码显示模块的元件图译码的输入为in4,由二进制数表示,输出为out7,由数码管显示。3 译码显示模块的仿真图如图3-9所示:图3-9 译码显示模块的仿真波形图此模块实现的是进行译码操作,从而将0-9在数码管上显示出来。3.3 抢答器的总体实现1 抢答器的原理图如图3-10所示:图3-10 抢答器的原理图2 抢答器的总体仿真图对系统进行复位操作,四组竞赛者开始进行抢答,假如a组最先抢答,则对a组的抢答信号进行锁存,使其他组的抢答信号
19、无效。同时a组的指示灯a1点亮,且数码管显示出组别1,warm控制扬声器发出声响。当信号clr进行复位操作时,可使输出信号复位,从而停止warm控制扬声器发出声响。对系统进行复位后,四组竞赛者可重新准备下一轮的抢答。主持人确认了最先抢答者的组别后,该组开始进行答题,start控制开始答题,答题时间为60s。如果start等于1,则开始倒计时,时间输出由数码管显示。如果答题时间超出了规定时间,则由sound控制发出超时警报。主持人不能对该组进行加分。如果答题时间没有超出规定时间,则由stop控制停止倒计时。这时,主持人可对该组进行相应的加分。即当有脉冲信号add且加分控制信号stop为1时,可对
20、该抢答组进行加分。计分结果可由数码管输出显示出来。其中,rst为计分复位信号,当其等于1时,所有计分为0。有数码管输出显示结果需要进行译码操作,进行译码后才可用来显示抢答成功的组序号,还可作为计数器的倒计时显示,也可显示各组的分数。主持人可通过显示结果决定哪组回答问题。通过计时显示器显示的时间,主持人决定是否超时,从而决定是否加分。然后计分显示器将回答问题后的分数显示出来。(1)在规定的时间内答完了问题,进行了加分。其仿真图如图3-11,3-12所示:图3-11 进行加分的总体仿真波形图1图3-12 进行加分的总体仿真波形图2(2)在规定时间内未完成回答,发生超时警报。其仿真图如图3-13,3
21、-14所示:图3-13 发生超时警报的总体仿真波形图1图3-14 发生超时警报的总体仿真波形图24 抢答器的硬件调试1 硬件连接图如图4-1所示:图4-1 硬件连接图2 引脚锁定为(1)输入引脚锁定。时钟信号clk接pin-78,系统复位信号clr接pin-95,计分复位信号rst接pin-88,四组竞赛者a、b、c、d分别接pin-69、pin-68、pin-73、pin-70,计时开始信号接pin-94,计时结束信号接pin-93,加分确认信号接pin-81。(2)输出引脚锁定。控制扬声器信号warm接pin-80,指示灯显示信号a1、b1、c1、d1分别接pin-83、pin-82、pi
22、n-87、pin-84,组别显示输出信号接pin-239、pin-240、pin-235、pin-21、pin-6、pin-13、pin-22,计时显示十位输出信号接pin-232、pin-207、pin-236、pin-230、pin-171、pin-166、pin-164,个位输出信号接pin-137、pin-133、pin-134、pin-131、pin-132、pin-127、pin-128,超时警报信号sound接pin-76,计分输出信号接pin-57、pin-56、pin-55、pin-52、pin-51、pin-50、pin-49。5 总结通过这次eda课程设计,我懂得了理论与
23、实际相结合是很重要的,只有理论知识是远远不够的,还要把所学的理论知识与实践相结合起来,从理论中得出结论,从而提高自己的实际动手能力和独立思考的能力。在课程设计的过程中难免会遇到过各种各样的问题,这使我发现了自己的不足之处,例如对以前所学过的知识理解得不够深刻,掌握得不够牢固等。通过此次设计让我们把课本中的知识系统的联系起来,更加体会到模块式设计的方法所带来的方便和明了化。通过模块式的方法,可以将复杂的总程序分成几个模块各自分工执行,使其独立工作互不干扰。然后通过原理图将各个模块直接相连,或者用元件例化的方式,用vhdl语言进行描述,达到了统一化管理各个模块的作用。在应用vhdl的过程中让我真正
24、领会到了其并行运行与其它软件顺序执行的差别以及其在电路设计上的优越性。在设计过程中我需要有足够的耐心和毅力,还要细心,稍有不慎,一个小小的错误就会导致结果的不正确,而对错误的检查要求我要有耐心。通过这次设计和设计中遇到的问题,我积累了一定的经验,对以后的学习、工作会有一定的帮助。本次设计课不仅仅培养了我们实际操作的能力,也培养了我们灵活运用课本知识,理论联系实际,独立自主的进行设计的能力。它不仅仅是一个学习新知识的好机会,同时也是对我所学知识的一次综合的检验和复习,使我明白了自己的缺陷所在,从而查漏补缺。这次设计还使我对quartus的运用更加灵活,熟悉了对该软件从工程建立到程序下载执行各个步
25、骤的操作,对以前学习上的不足得到了补充。总之,这次设计让我们学到了很多知识,发现、提出、分析、解决问题和实践能力的提高都会受益于我在以后的学习、工作和生活中。 参考文献1 voknei a.pedroni.vhdl数字电路设计教程m.电子工业出版社,2008.52 潘松,黄继业.eda技术实用教程(第二版)m.科学出版社,2005.23 焦素敏.eda应用技术m.清华大学出版社,2002.4附录1 抢答鉴别模块的vhdl程序:library ieee;use ieee.std_logic_1164.all;entity qdq is port(clr,clk: in std_logic; a,
26、b,c,d: in std_logic; a1,b1,c1,d1: out std_logic; states: buffer std_logic_vector(3 downto 0); warm: out std_logic);end qdq;architecture qiangda of qdq is signal w: std_logic_vector(3 downto 0);begin process(clr,a,b,c,d) begin if(clr=1) then a1 = 0;b1 = 0;c1 = 0;d1 =0; warm = 0; w = 0000; elsif(clkev
27、ent and clk=1) then if(a=1or w(0)=1)and not(w(1)=1or w(2)=1or w(3)=1)then a1 = 1;b1 = 0;c1 = 0;d1 = 0;w(0) = 1; elsif(b=1or w(1)=1)and not (w(0)=1or w(2)=1or w(3)=1 )then a1 = 0;b1 = 1;c1 = 0;d1 = 0;w(1) = 1; elsif(c=1or w(2)=1)and not (w(0)=1or w(1)=1or w(3)=1 )then a1 = 0;b1 = 0;c1 = 1;d1 = 0;w(2)
28、 = 1; elsif(d=1or w(3)=1)and not (w(0)=1or w(1)=1or w(2)=1 )then a1 = 0;b1 = 0;c1 = 0;d1 = 1;w(3) = 1; end if; warm = w(0) or w(1) or w(2) or w(3); end if; end process; process(w) begin if(w=0000)then states=0000; elsif(w=0001)then states=0001; elsif(w=0010)then states=0010; elsif(w=0100)then states=0011; elsif(w=1000)then states=0100; end if; end process; end qiangda;2 答题计时模块的vhdl程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity js is port(clr,start,stop,clk: in std_logic; qa:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 甘肃省白银市靖远县重点中学2024年中考数学模试卷含解析
- 广东沧江中学2024届中考数学仿真试卷含解析
- 2025部门级安全培训考试试题含答案(培优A卷)
- 2025年新工人入场安全培训考试试题研优卷
- 2024-2025管理人员岗前安全培训考试试题【典优】
- 2025年新入职工入职安全培训考试试题含完整答案(有一套)
- 2025公司级安全培训考试试题【突破训练】
- 2025企业主要负责人安全培训考试试题附参考答案【培优A卷】
- 2025年公司三级安全培训考试试题ab卷
- 工业分析 第三版 课件全套 盛晓东 第1-6章 试样的采集和制备 - 安全分析和实验室安全知识
- PENTACAM的原理和应用手册-【眼科特殊检查】
- 2024电力人工智能样本存储技术要求
- 县中医院妇科重点专科建设汇报
- 全国优质课一等奖初中音乐《深情》课件
- 碳捕集、利用与封存技术
- 产品系统设计课件-
- 带状疱疹护理查房
- 档案移交目录表
- 幼儿园故事课件:《小马过河》
- 电脑耗材实施方案、供货方案、售后服务方案
- 人工智能语言与伦理学习通超星课后章节答案期末考试题库2023年
评论
0/150
提交评论