基于VHDL的多路抢答器的设计

上传人:仙*** 文档编号:33225782 上传时间:2021-10-16 格式:DOC 页数:25 大小:839KB
收藏 版权申诉 举报 下载
基于VHDL的多路抢答器的设计_第1页
第1页 / 共25页
基于VHDL的多路抢答器的设计_第2页
第2页 / 共25页
基于VHDL的多路抢答器的设计_第3页
第3页 / 共25页
资源描述:

《基于VHDL的多路抢答器的设计》由会员分享,可在线阅读,更多相关《基于VHDL的多路抢答器的设计(25页珍藏版)》请在装配图网上搜索。

1、 重庆三峡学院重庆三峡学院毕业设计(论文)毕业设计(论文)题目题目 基于基于 VHDLVHDL 的多路抢答器的设计的多路抢答器的设计 院院 系系 应应 用用 技技 术术 学学 院院 专专 业业 电子信息工程(应电应本)电子信息工程(应电应本) 年年 级级 20092009 级级 学生姓名学生姓名 文文 超超 学生学号学生学号 200915254124200915254124 指导教师指导教师 赵威威赵威威 职称职称 副副 教教 授授 完成毕业设计(论文)时间完成毕业设计(论文)时间 20132013 年年 1 1 月月文超:基于 VHDL 的多路抢答器的设计基于VHDL的多路抢答器的设计文超重

2、庆三峡学院应用技术系电子信息工程(应用电子技术方向)专业 2009 级 重庆万州 404000摘要 抢答器作为一种电子产品,早已广泛应用于各种智力竞赛和知识竞赛场合,是竞赛问答中一种常用的必备装置电路结构形式多种多样。本设计使用 VHDL 语言设计一个四路数字竞赛抢答器系统。 VHDL 是一种全方位的硬件描述语言,几乎覆盖了以往各种硬件描述语言的功能,整个自顶向下或自底向上的电路设计过程都可以用 VHDL 来完成。本文阐述了 EDA 的概念和发展、 VHDL 语言的优点和语法结构并分析讲解了四路数字竞赛的各模块的功能要求、基本原理以及实现方法。本系统的设计就是采用VHDL 硬件描述语言编程,基

3、于 QuatusII6.0 平台进行编译和仿真来实现的,其采用的模块化、逐步细化的设计方法有利于系统的分工合作,并且能够及早发现各子模块及系统中的错误,提高系统设计的效率。抢答器的主要功能模块是是:1、对第一抢答信号的鉴别和锁存功能;2、计分功能。 3、数码显示 ;4、答题限时功能。在本设计主要讲述抢答、计分和警告的功能。关键词: 抢答器 EDA VHDL Based on the design of the multi-way Responder VHDLWEN ChaoChongqing Three Gorges College of Applied Technology Departme

4、nt of Electronic and Information Engineering (Applied Electronics technology direction) Professional 2009 Chongqing Wanzhou 404000Abstract:Responder is a kind of electronic products, has been widely used in all kinds of intelligence competition and knowledge contests occasions, is contest answers mu

5、st have a common device circuit structure forms.The design of the use of VHDL language design a four way race responder digital system.VHDL is a full range of hardware description language, covering almost the past various hardware description language function, the top-down or bottom-up circuit des

6、ign process can use VHDL to complete.This paper expounds the concept and the development of EDA, VHDL language advantages and grammatical structure and Analysis on the four digital competition each module functional requirements, principle and implementation method.The design of this system is the u

7、se of VHDL hardware description language, based on QuatusII6.0 platform compilation and simulation to achieve, the modular, stepwise refinement design method is helpful for system of division of labour, and early identification of each module and the system error, improve the efficiency of system de

8、sign.Vies to answer first the main function module is: 1, the first vies to answer first the differential signal and latch function; 2, score function.In 3, a digital display; 4, the answer time limit function.In this design is mainly about answering, scoring and warning function.Key words: responde

9、r EDA VHDL 目录文超:基于 VHDL 的多路抢答器的设计1 绪论12 整体设计方案12.1 系统设计要求1 2.2 系统设计方案 23 子模块的设计思想 33.1 抢答器模块 33.2 计时模块 5 3.3 计分模块 6 3.4 译码显示模块 83.5 抢答器的系统实现 94 多路抢答器子模块的仿真验证 11 4.1 鉴别模块的仿真验证 11 4.2 计时模块的仿真验证 12 4.3 计分模块的仿真验证 12 4.4 数显模块的仿真验证 14 4.5 系统整体的仿真验证 155 总结 16 5.1 多路抢答器设计结果16 5.2 对设计的建议16致谢17参考文献17附录 1 抢答器鉴

10、别模块源代码18 2 报警模块源代码 19 3 计分模块源代码 20 2009 届电子信息工程(应用电子技术方向)专业毕业设计(论文)11 绪论 随着集成技术的发展,尤其是中、大规模和超大规模集成电路的发展,数字电子技术的应用越来越多地渗透到国民经济的各个部门,目前数字电子技术已经广泛应用于计算机、自动控制、电子测量仪表、电视、雷达、通信等各个领域。其中,抢答器就是典型的一种运用数字集成的设备。在日常生活中,各种智力竞赛越来越多,而抢答器是必不可少的设备之一,答题时一般分为必答和抢答两种。必答有时间限制,到时要告警。而抢答则要求参赛者做好充分准备,由主持人宣读完题目后,参赛者开始抢答,谁先按下

11、按钮,就由谁答题,但竞赛过程中很难准确判断出谁先按下按键,因此使用抢答器来完成这一功能是很有必要的。它能够准确、公正、直观地判断出首轮抢答者,并且通过抢答器的数码显示和警示蜂鸣等方式指示出首轮抢答者。以下几章主要介绍抢答器的抢答鉴别、计分和报警功能的实现,VHDL 语言的特点及发展趋势,QuatusII6.0 开发平台的仿真等。 2 整体方案设计2.1 系统设计要求一般来说,设计一台智能抢答器,必须能够准确判断出第一位抢答者,并且通过数显、蜂鸣这些途径能让人们很容易得知谁是抢答成功者,并设置一定的回答限制时间,让抢答者在规定时间内答题,主持人根据答题结果实行增减分的操作,并将分数显示在屏幕上,

12、评出最终赢家。所以我们在设计智能抢答器的模块需要满足鉴别、计时、计分、数显等功能,具体设计要求如下: (1)抢答器可容纳四组选手,并为每组选手设置一个按钮供抢答者使用;为主持人设置一个控制按钮,用来控制系统清零(组别显示数码管灭灯)和抢答开始; (2)电路具有对第一抢答信号的锁存、鉴别和显示等功能。在主持人将系统复位并发出抢答指令后,蜂鸣器提示抢答开始,计时显示器显示初始时间并开始倒计时,若参赛选手按下抢答按钮,则该组别的信号立即被锁存,并在组别显示器上显示该组别,同时扬声器也给出音响提示,此时,电路具备自锁功能,使其他抢答按钮不起作用。 (3)如果无人抢答,计时器倒计时到零,蜂鸣器有抢答失败

13、提示,主持人可以按复位键,开始新一轮的抢答。 (4)抢答器具有限时抢答的功能,且一次抢答的时间由主持人设定,本抢答时间设定为 60 秒。当主持人启动开始键后,要求计时器采用倒计时,同时最后十秒扬声器会发出声响提示; (5)参赛选手在设定的时间内抢答,则抢答有效,定时器停止工作,主持人根据抢答结果给出分数,并由数码管显示选手的组别抢答分数,并一直保持到主持人将系统清零文超:基于 VHDL 的多路抢答器的设计2为止。2.2 系统设计方案本设计为四路智能抢答器,所以这种抢答器要求有四路不同组别的抢答输入信号,并能识别最先抢答的信号,直观地通过数显和蜂鸣等方式显示出组别;对回答问题所用的时间进行计时、

14、显示、超时报警、预置答题时间,同时该系统还应有复位、倒计时启动功能。抢答过程:主持人按下系统复位键(RST) ,系统进入抢答状态,计时模块和计分模块输出初始信号给数码显示模块并显示出初始值。当某参赛组抢先将抢答键按下时,系统将其余三路抢答信号封锁,同时扬声器发出声音提示,组别显示模块送出信号给数码显示模块,从而显示出该抢答成功组台号,并一直保持到下一轮主持人将系统清零为止。主持人对抢答结果进行确认,随后,计时模块送出倒计时计数允许信号,开始回答问题,计时显示器则从初始值开始以计时,在规定的时间内根据答题的正误来确定加分或减分,并通过数码显示模块将成绩显示出来。计时至 0 时,停止计时,扬声器发

15、出超时报警信号,以中止未回答完问题。当主持人给出倒计时停止信号时,扬声器停止鸣叫。若参赛者在规定时间内回答完为题,主持人可给出倒计时计数停止信号,以免扬声器鸣叫。主持人按下复位键,即 RST 为高电平有效状态,清除前一次的抢答组别,又可开始新的一轮的抢答。此抢答器的设计中采用自顶向下的设计思路,运用 VHDL 硬件描述语言对各个模块进行层次化、系统化的描述,并且先设计一个顶层文件,再把各个模块连接起来。【3】系统的总体框图如下: 图 2-1 系统的总体框图 2009 届电子信息工程(应用电子技术方向)专业毕业设计(论文)32.3 子模块的设计思想和实现根据对抢答器的功能要求,把要设计的系统划分

16、为五个功能模块:抢答信号鉴别模块、计时模块、计分模块、数码显示模块和扬声器控制电路,具体的说,显示模块又包含最先抢答的组别显示电路、计时值显示电路和计分显示电路。计时模块、计分模块、数码显示模块和扬声器控制电路,3.1 抢答鉴别模块抢答鉴别模块用来准确直观地判断 A、B、C、D 四组抢答者谁最先按下按钮,并为显示端送出信号,通过数显和蜂鸣等途径使观众能够清楚地知道是哪一组抢答成功,是整个系统的核心部分。同时组别显示端为下一模块输入信号,以方便主持人为该组抢答成功者进行加减分的操作。 抢答鉴别模块的元件图如下图所示: 图 3-1 鉴别模块元件框图 引脚作用:输入信号:各组的抢答按钮 A、B、C、

17、D,系统清零信号 INI。输出信号: 各组的抢答按钮显示端 A1、B1、C1、D1,组别显示端 G3.0。原理:第一个按下键的小组,抢答信号判定电路 LOCK 通过缓冲输出信号的反馈将本参赛组抢先按下按键的信号锁存,并且以异步清零的方式将其他参赛组的锁存器清零,组别显示、计时和计分会保存到主持人对系统进行清零操作时为止。当 INI=1 时系统复位,使组别显示信号 G=0000,各组的指示灯信号 A1=0,B1=0,C1=0,D1=0;当 INI=0,即低电平有效,使其进入抢答鉴别状态,到 CLK 的上升沿到来时,以 A 组抢答成功为例,当输入信号为 A=1,B=0,C=0,D=0,输出信号 G

18、=1000,A1=1,即为鉴别出 A 组抢答成功,同时屏蔽其他组的输入信号,以免发生错误。同理其他组别抢答成功也是这样的鉴别过程。【3】备注:理论上来说,A、B、C、D 四组抢答,应该有从 00001111 等 16 种可能情况,但是由于时钟信号的频率很高而且是在时钟信号上升沿的状况下才做出的鉴别,所以在这里两组以上同时抢答成功的可能性非常小,因此可以只设计四种情况,即 A、B、C、D 分别为 1000、0100、0010、0001,这大大简化了电路的设计复杂性。其用 VHDL 语言进行编程的流程图如下图所示:文超:基于 VHDL 的多路抢答器的设计4 图 3-2 抢答鉴别模块的流程图3.2

19、计时模块当抢答鉴别模块成功判别出最先按下抢答按钮的参赛组后,在成功鉴别出哪组最先抢答后,主持人按下计时信号,则进入计时状态。计时模块可分作两部分:(1)预置数;(2)60 秒倒计时。60 秒时间用两个数码管 QA,QB 显示,其中 QA 表示 60 秒的个位,QB表示 60 秒的十位。计时模块开始工作从预置初始值开始以秒计时,计时至 0 秒时停止,时间耗尽时,扬声器会发出超时报警信号,以中止答题。 图 3-3 计时模块的元件图该系统输入信号有:系统清零信号 CLR,计时预置控制端 LDN,计时使能端 EN,系统时钟信号 CLK,计时预置数据调整按钮 TA、TB。系统输出信号有:倒计时输出端 Q

20、A3.0、QB3.0。当清零信号 CLR=1 时,模块输出信号 QA=0000 ,QB=0000。当预置数控制信号 LDN=1可通过 TA 来调整 QA,TA 来一次高电平,则 QA 的数值就加 1;用 TB 来调整 QB,通过这两 2009 届电子信息工程(应用电子技术方向)专业毕业设计(论文)5个调整信号可调整参赛者答题所需要的时间。在 CLR=0,LDN=0,EN=1 时,通过时钟信号CLK 的上升沿来进行 60 秒到计时。【1】其用 VHDL 语言进行编程的流程图如下: 开始LDN=0CLR=0LDN=1CLK 上升沿EN=1TA=1TA=0QA=QA+1QB=QB=1图 3-4 抢答

21、计时模块的流程图3.3 计分模块 计分模块的运行方式是按照十进制进行加减,即当时钟出现上升沿时就进行加一或者减一的操作。 记分模块为哪组进行记分取决于鉴别模块的输入信号 G,当 G=1000 时表示 A 组最先抢答,则在此模块中为 A 组记分,当 G=0100 时表示 B 组最先抢答,则在此模块中为 B 组记分,当 G=0010 时表示 C 组最先抢答,则在此模块中为 C 组记分,当 G=0001 时表示 D 组最先抢答,则在此模块中为 D 组记分。 以 A 组为例来说明此模块的设计,当复位信号 RST=1 时,系统复位且 A 组的分值显示初始值,为 100 分。当 RST=0 时,如果该组选

22、手答题正确,则主持人按下加分键,即ADD=1,此时对该组进行加分操作;如果该组选手答题错误,则主持人按下减分键,即SUB=1,此时对该组进行减分操作。计分模块的元件图如下图所示:文超:基于 VHDL 的多路抢答器的设计6 图 3-5 计分模块的元件图 系统的输入信号有:计分复位端 RST,加分按钮端 ADD,减分按钮端 SUB,组别号输入端 CHOS3.0。系统的输出信号有:A 组分数输出端 AA23.0、AA13.0、AA03.0,B 组分数输出端 BB23.0、BB13.0、BB03.0,C 组分数输出端 CC23.0、CC13.0、CC03.0,D 组分数输出端 DD23.0、DD13.

23、0、DD03.0。 计分模块用 VHDL 语言进行编程的流程图如下: 图 3-6 计分模块的设计状态图注:在设计中减法的实现是以加法运算来实现的。也以 A 为例,由于每次减分都是减去 10 分,即每次为 POINTS_A1 减一,所以可以用 POINTS_A1+ 1111来实现。如:0111-0001=0110,用加法实现:0111+1111=10110。由于 POINTS_A1: STD_LOGIC_VECTOR(3 DOWNTO 0),所以 POINTS_A1=0110。 2009 届电子信息工程(应用电子技术方向)专业毕业设计(论文)73.4 译码显示模块该模块实际上是一个译码器,译码器

24、是组合逻辑电路的一个重要的器件,其可以分为:变量译码和显示译码两类。变量译码一般是一种较少输入变为较多输出的器件,一般分为2n 译码和 8421BCD 码译码两类。 显示译码主要解决二进制数显示成对应的十、或十六进制数的转换功能,一般其可分为驱动 LED 和驱动 LCD 两类。译码是编码的逆过程。图 3-7 译码显示模块的元件图主要原理是四位二进制 BCD 编码转换成七段二进制数字,以阿拉伯数字的形式输出在数码管上,使观众能够更直观的看到结果。译码器的译码对照表如下所示:显示的数字/字母BCD 编码七段数码管 2 进制00000011111110001000011020010101101130

25、0111001111401001100110501011101101601101111101701110000111810001111111910011101111XXXXX0000000表 3-1 译码器的译码对照表备注 :在程序中只考虑 0000-1001(即 0-9)的情况,将其转化为相应的七段显示器的码子,其他情况不予考虑。4文超:基于 VHDL 的多路抢答器的设计83.5 抢答器的系统实现单独模块只有彼此联系起来构成一个完整的系统,才能实现其功能,这个过程有两种实现方法:元件例化。也是用编程的方式将它们各个程序、信号、输入输出之间的关系用 VHDL 语言来叙述清楚,还关系到程序的调用

26、问题,需要设计者思路清晰,设计合理;元器件图示连线。这种连线方法思路清晰可见,而且用的时候很简单方便,出现错误也很好检查。在设计中选择的是这种方法。通过总的顶层元件图可以很清晰的看到模块连接的原理。图 3-8 顶层元件图 注:本设计中,抢答器组别信号 A、B、C、D 为高电平时,其功能为有效状态。同样,系统清零信号 CLR、预置及倒计时控制信号 LDN,亦为高电平有效。当 CLR 有效时,抢答信号判别电路清零,为判别优先抢答信号做出准备。当计时使能端 EN 为低电平,预置时间设置信号 LDN=1 时,通过计时预置数据调整按钮 TA、TB 进行预置数。当计时使能端 EN 为高电平,有系统时钟信号

27、 CLK 时,进行一分钟倒计时。输入时钟 CLK 一方面作为扬声器控制电路的输入信号,另一方面作为抢答信号判别电路中锁存器时钟,为使扬声器音调较为悦耳,且是抢答判别电路有较高的准确度(对信号判别的最大误差是一个时钟周期) ,CLK 信号频率高低应适中,可取 500Hz-1KHz;同时 CLK 信号经过分频后向倒计时电路提供信号。附表:输入/输出引脚的作用: 2009 届电子信息工程(应用电子技术方向)专业毕业设计(论文)9 表 3-2 输入/输出引脚的作用端口名功能CLK系统时钟信号A,B,C,D抢答信号输入CLR系统清零EN计时使能信号RST记分复位CHOS(3.0)组别信号输入DOUT7(

28、6.0)译码管输出信号G (3.0)组别显示LDN计时预置控制信号AIN4(3.0)译码管输入文超:基于 VHDL 的多路抢答器的设计104 多路抢答器子模块的仿真验证4.1 鉴别模块的仿真验证 利用 Quartus II 进行编译,综合,仿真,时序图如下: 图 4-1 鉴别模块的仿真时序图引脚作用: 系统输入信号:各组的抢答按钮 A、B、C、D,系统清零信号 CLR,CLK 时钟信号。 系统的输出信号: 各组的抢答按钮显示端 A1、B1、C1、D1,组别显示端控制信号 G3.0。仿真分析:当鉴别模块的清零信号 CLR 为高电平时,无论 A、B、C、D 四组参赛者谁按下抢答按钮,系统输出均为零

29、,同时组别显示端 G 输出信号也显示为零;当清零信号 CLR 为低电平时,A、B、C、D 四组参赛者谁先按下抢答按钮,组别显示端就显示该组别的号码。假如 C 组按下抢答按钮时,组别输出为 0010,同时 C 组的显示灯被点亮。仿真图上显示的为 A 先抢答,因为在 0-1.28 微秒之间 A、C 虽然都按抢答键,但 CLR 为有效状态,所以在此时间段内的抢答无效。4.2 计时模块的仿真验证利用 Quartus II 进行编译,综合,仿真,时序图如下:2009 届电子信息工程(应用电子技术方向)专业毕业设计(论文)11 图 4-2 计时模块的仿真时序图引脚作用: 系统输入信号:系统清零信号 CLR

30、,计时预置控制端 LDN,计时使能端 EN,系统时钟信号CLK,计时预置数据调整按钮 TA、TB。系统输出信号:倒计时输出端 QA3.0、QB3.0。 仿真分析:当系统清零信号 CLR=1 时,计时器的时钟信号回到计时预置倒计时起始状态,此时倒计时输出端 QA=0000,QB=0000.当计时使能端 EN=0,计时预置控制端 LDN=1 时,通过计时预置数据调整按钮 TA、TB 进行预制数,并且通过 TA,TB 来调整 QA,QB 即当 TA=1 时,则 QA 的数值加 1,当 TB=1 时,则 QB 的数值也加 1。当计时使能端 EN=1,系统清零信号 CLR=0,并且计时预置控制端 LDN

31、=0 时,通过时钟信号上升沿 CLK 来进行 60 秒倒计时。4.3 计分模块的仿真验证 利用 Quartus II 进行编译,综合,仿真,时序图如下:文超:基于 VHDL 的多路抢答器的设计12 图 4-3 计分模块的仿真时序图引脚作用: 系统的输入信号有:计分复位端 RST,加分按钮端 ADD,减分按钮端 SUB,组别号输入端CHOS3.0。 系统的输出信号有:A 组分数输出端 AA23.0、AA13.0、AA03.0,B 组分数输出端BB23.0、BB13.0、BB03.0,C 组分数输出端 CC23.0、CC13.0、CC03.0,D 组分数输出端 DD23.0、DD13.0、DD03

32、.0。仿真分析:首先应该清楚,在计分器电路的设计中,按十进制进行加减分操作的,当出现时钟信号上升沿 CLK 就可以完成对参赛者加减分操作。智能抢答器记分模块的仿真时以加分操作为例。由仿真图 3-10 可知以下情况:(1)系统设计过程中,当计分复位端 RST=1 时,并且组别输入信号 CHOS=0000,其中的组别输入信号是抢答鉴别模块的输出信号,计分器复位,此时以上四组都不会产生加减分操作。(2)然而当计分复位端 RST=0 时,此时计分器可以计分。当 CHOS=0001 时,组别显示为 A 组,此时主持人利用计分器对 A 组进行加减分操作;当 CHOS=0010 时,组别显示为 B 组,此时

33、主持人则利用计分器对 B 组进行加减分操作;当 CHOS=0100 时,组别显示为 C 组,此时系统对 C 组进行加减分操作;当 CHOS=1000 时,组别显示为 D 组,此时对 D 组进行加减分操作。由仿真图可知,当主持人按下系统复位键 RST 键时,使分数复位,每位设置的初始分数为 100 分。当CHOS=1000 时,即 D 抢答成功时,加分键 ADD 输入四个脉冲,DD1 加到 4,说明加分成功,成绩变为 140 分。其他抢答者抢答成功后的加分操作与此相同。减分的仿真与此类似,因为是以加法实现,本质与加分相同,当计分复位端 RST=0 时,可以计分。由仿真图可知,初始成绩均为 100

34、 分。当 CHOS=1000 时,即 D 抢答成功时,减分键 SUB 输入四个脉冲,DD1 加到 4,说明减分成功,成绩变为 60 分。其他抢答者抢答成功后的减分操作与此相同。2009 届电子信息工程(应用电子技术方向)专业毕业设计(论文)13 4.4 数显模块的仿真验证 利用 Quartus II 进行编译,综合,仿真,时序图如下: 图 4-4 数显模块的仿真时序图引脚作用: 输入信号:AIN4; 输出信号:DOUT7。仿真分析: 当 AIN4= 0000 , DOUT7 输出1111110,此时数码管显示 0; 当 AIN4= 0001 , DOUT7 输出0110000,此时数码管显示

35、1; 当 AIN4= 0010 , DOUT7 输出1101101,此时数码管显示 2; 当 AIN4= 0011 , DOUT7 输出1111001,此时数码管显示 3; 当 AIN4= 0100 , DOUT7 输出0110011,此时数码管显示 4; 当 AIN4= 0101 , DOUT7 输出1011011,此时数码管显示 5; 当 AIN4= 0110 , DOUT7 输出1011111,此时数码管显示 6; 当 AIN4= 0111 , DOUT7 输出1110000,此时数码管显示 7; 当 AIN4= 1000 , DOUT7 输出1111111,此时数码管显示 8; 当 A

36、IN4= 1001 , DOUT7 输出1111011,此时数码管显示 9;文超:基于 VHDL 的多路抢答器的设计144.5 系统整体的仿真验证图 4-5 系统整体的仿真时序图注:为使仿真波形图清晰明了,且某些引脚在一定时间内总是保持同一值不变,故特将其简化,不予在此图中显示。5 总结5.1 此次抢答器设计结果通过 Quartus II 的仿真,证明了本产品在实际运用中的正确性,完全可以实现预期任务的要求,在有一组信号抢答成功后蜂鸣器发出警报,在两组或两组以上信号同时抢答时视抢答无效,蜂鸣器不予响应。且计分器在实现计分功能时能够准确计数并将分数呈三位数显示,计时器在按下计时开始按钮后可以从

37、60 秒倒计时并通过译码器实时显示计时结果。2009 届电子信息工程(应用电子技术方向)专业毕业设计(论文)15 5.2 对该设计的建议1.在抢答鉴别模块中,抢答成功后各组台号灯具有记忆功能,这一点会造成即使下一轮抢答没有抢答成功者(即有两人或两人以上同时按下抢答器) ,之前被点亮的 led 灯会仍然保持点亮状态。虽然此时可以根据有没有警报声来提示抢答是否有效,但是仍然不够完善;2.在计时器模块内应增加计时结束报警功能,但是由于小组成员对 vhdl 语言运用不够熟练,在设计该项程序时遇到很多问题,进程之间不能很好的协调,故最终没有实现这一功能;3. 在波形仿真时,当信号之间配合不当时有可能造成

38、预期的结果不能在波形上得到正确显示,故应协调各个开关的功能及其有效时间然后进行仿真,方能得出正确的仿真波形。4.另外,本产品还有需要改进的地方,如管脚过多,实际连接时不够简洁,容易造成连接错误。故应将各个模块综合起来设计总电路,但是由于成员对顶层程序设计这一部分不甚了解,故没有完成这一环节。通过这次毕业设计我发现自己的不足。首先, 感觉简单,以为利用学过的课程做应该没什么问题。考虑不周全,导致系统功能设定时遇到不少困难。也耽搁了不少时间。其次,我发现自己对课本知识不是太熟悉,对开发工具的利用掌握的也不是很熟练,导致在编程、仿真时遇到不少麻烦。最后,由于大学期间接触电脑的机会不是太多,对基本的W

39、ord文档的掌握不是很熟练,在对论文的格式进行修改时花费了不少时间。这次设计也使我意识到,理论与时间之间的距离有多大。深刻体会到“纸上得来终觉浅,绝知此事要躬行”这句古话的含义了。在以后的学习生活中,我会尽量弥补我在这方面的欠缺和不足。由于本人能力有限,设计还有许多不足之处,还请老师给予指点。 致谢 经过几个月的时间,毕业设计已经结束,本设计是在赵老师的指导下完成的。我是一个积极爱学习的人,在赵老师督促与耐心指导下我才能将我的毕业设计完成。在此首先谢谢赵老师的指导。在整个设计过程中,我身边的同学特别是我的舍友,他们为我提供电脑、网络,使我查找资料更加方便。在此还要感谢实验室的老师们,谢谢你们在

40、我需要的时候为我打开实验室的门,谢谢你们的信任。我的同组成员也给了我很大的帮助。帮我解决了很多细节上的问题,使我能够更好更顺利的完成我的毕业设计,谢谢你们。通过做毕业设计我学到了很多,无论是理论知识还是实际操作,都让我受益匪浅。这些很大程度上得益于帮助过我的老师和同学,真的非常感谢你们。最后,我还是要向百忙之中给我莫大帮助的赵老师表示感谢。还要 感谢的是我亲爱的重庆三峡学院以及学院的每一位领导、老师和同学。谢谢你们!文超:基于 VHDL 的多路抢答器的设计16参考文献1.李国洪,沈明山主编.EDA 技术与实验M.机械工业出版社,2008:2-11. 2.李欣,张海燕主编,VHDL 数字系统设计

41、M.科学出版社,2009:2830. 3.皱彦,庄严,皱宁等编著,EDA 技术与数字系统设计M.电子工业出版社:6976. 4.刘开绪.数字式抢答器的设计与实现J.电子工程师.2005.9:69-71. 5.汪国强.EDA 技术与应用M.电子工业出版社.2006.60-76.6.冯祥.可编程逻辑器件在数字系统中的应用J.国外电子元器.2001(5):58-59. 7.高曙光.可编程逻辑器件原理开发与应用M.西安电子科技.2002:122-125 .8.章忠全.电子技术基础实验与课程设计M.中国电力出版社.1999:95-99. 9.胡丹.基于 VHDL 智力竞赛抢答器的设计与实现J.现代机械.

42、2007(3):54-55.10.刘延文,唐庆玉,段玉生.EDA 技术是实现电工学研究性教学的良好手段J.实验设计与管理.2006(8):65-68.11.郭勇.EDA 技术基础(第 2 版)M.机械工业出版社.2005.314-320. 12.常青,陈辉煌.可编程专用集成电路及其应用与设计实践经验M.国防工业出版社.1998:38-45. 13.Enoch O Hwang.Digital Logic and Microprocessor Design with VHDLM. Thomson-Engineering.2005: 10-15.14.Sudhakar Yalamanchili .I

43、ntroductory VHDL :from simulation to synthesisM.Prentice Hall.2001: 56-60. 附录 源代码1 抢答器鉴别模块源代码 LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL; ENTITY LOCK ISPORT (CLK,CLEAR:IN STD_LOGIC; WARN : IN STD_LOGIC; S0,S1,S2,S3 : IN Std_Logic ;STATES : OUT STD_LOGIC_VECTOR(3 DOWNTO 0) ;STOP : OUT STD_LOGIC ;LED :

44、OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END LOCK ;2009 届电子信息工程(应用电子技术方向)专业毕业设计(论文)17 ARCHITECTURE ONE OF LOCK ISBEGINPROCESS(CLEAR,CLK,S0,S1,S2,S3 )BEGINIF (CLEAR = 1)THEN STATES=0000;LED=0000;STOP=0;ELSIF (CLK EVENT AND CLK=1 )THENIF ( WARN=0 )THENIF ( S3 =1 AND S2=0 AND S1=0 AND S0=0 ) THENSTATES = 0100

45、; LED=0100 ;STOP=1 ;ELSIF ( S2 =1 AND S3=0 AND S1=0 AND S0=0 ) THENSTATES = 0011 ; LED=0011 ;STOP=1 ;ELSIF ( S1 =1 AND S3=0AND S2=0 AND S0=0) THENSTATES = 0010 ; LED=0010 ;STOP=1 ;ELSIF ( S0 =1ANDS3=0 AND S2=0 AND S1=0 ) THENSTATES = 0001 ; LED=0001 ;STOP=1 ;ELSE STATES=0000 ; LED=0000;END IF ;END I

46、F ;END IF ;END PROCESS ;END ARCHITECTURE ; 2、报警模块源代码 (1)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY ALARM ISPORT(CLEAR,WARN: IN STD_LOGIC;SOUND: OUT STD_LOGIC);END ALARM;ARCHITECTURE FOUR OF ALARM ISBEGIN PROCESS(WARN,CLEAR)BEGINIF CLEAR=1 THEN SOUND=0;ELSIF WARN=1 THENSOUND=1;ELSE SOUNDLEDE =01

47、00; WARNSLEDE =0011; WARNSLEDE =0010; WARNSLEDE =0001; WARNSLEDE =0000; WARNS=1;END CASE ;ELSE LEDE=0000;WARNS=0;END IF;END PROCESS;END ONE; 3、计分模块源代码 LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY SCORE ISPORT(CLK,SUB,ADD,CLR:IN STD_LOGIC; CHOOSE: IN STD_LOGIC_VECTO

48、R(3 DOWNTO 0); aa0,aa1,bb0,bb1,cc0,cc1,dd0,dd1: BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0);2009 届电子信息工程(应用电子技术方向)专业毕业设计(论文)19 END SCORE;ARCHITECTURE RTL OF SCORE ISBEGINPROCESS( CHOOSE , CLK ,SUB , ADD ,CLR)BEGINIF(CLR=1) THENaa1=0001;aa0=0000;bb1=0001;bb0=0000;cc1=0001;cc0=0000;dd1=0001;dd0=0000;ELSIF(CLK

49、EVENT AND CLK=1) THEN IF(ADD=1) THENIF(CHOOSE=0001) THENIF(aa0=1001) THENaa0=0000;IF(aa1=1001) THENaa1=0000;ELSE aa1=aa1+1;END IF;ELSEaa0=aa0+1;END IF;ELSIF (CHOOSE=0010) THENIF(bb0=1001) THENbb0=0000;IF(bb1=1001) THENbb1=0000;ELSE bb1=bb1+1;END IF;ELSEbb0 = bb0+1;END IF;ELSIF( CHOOSE=0100) THENIF(c

50、c0=1001) THENcc0=0000;IF(cc1=1001) THEN 文超:基于 VHDL 的多路抢答器的设计20cc1=0000;ELSE cc1=cc1+1;END IF;ELSEEND IF;ELSIF (CHOOSE=1000) THENIF(dd0=1001) THENdd0=0000;IF(dd1=1001) THENdd1=0000;ELSE dd1=dd1+1;END IF;ELSEdd0=dd0+1;END IF;END IF;ELSIF(SUB=1) THEN IF(CHOOSE=0001) THENIF(aa0=0000) THENIF(aa1=0000) TH

51、ENaa0=0000;aa1=0000;ELSEaa0=1001;aa1=aa1-1;END IF;ELSEaa0=aa0-1;END IF; ELSIF (CHOOSE=0010) THENIF(bb0=0000) THENIF(bb1=0000) THENbb0=0000;bb1=0000;ELSEbb0=1001;2009 届电子信息工程(应用电子技术方向)专业毕业设计(论文)21 bb1=bb1-1;END IF;ELSEbb0=bb0-1;END IF;ELSIF(CHOOSE=0100) THENIF(cc0=0000) THENIF(cc1=0000) THENcc0=0000;cc1=0000;ELSEcc0=1001;cc1=cc1-1;END IF;ELSEcc0=cc0-1;END IF;ELSIF(CHOOSE=1000) THENIF(dd0=0000) THENIF(dd1=0000) THENdd0=0000;dd1=0000; ELSEdd0=1001;dd1=dd1-1;END IF;ELSEdd0=dd0-1;END IF;END IF;END IF;END IF ; END PROCESS;END ARCHITECTURE ;

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!