VHDL语言四人抢答器
vhdl课程设计四路抢答计时器设计大学毕设论文
《VHDL语言》课程设计报告四路抢答计时器班级:学号:姓名:第1章课程设计概述1.1设计目的本次设计的目的就是在掌握MAX+plus II实验开发系统的初步使用基础上,了解并掌握VHDL硬件描述语言的设计方法和思想,使自己能将已学过的数字电子系统设计、VHDL 程序设计等知识综合运用于电子系统的设计中,掌握运用VHDL 设计电子系统的流程和方法,加强和培养自己对电子系统的设计能力。
任务是通过二周的时间,基本掌握EDA的基本方法,熟悉一种EDA软件(MAX+plus II),并能利用EDA软件设计一个电子技术综合问题。
通过学习的VHDL语言结合电子电路的知识理论联系实际,掌握所学的课程知识,学习基本单元电路的综合设计应用通过对四路抢答计时器的设计,巩固和综合运用所学的课程,摆脱一维的思维模式,以多维并发的思路来完成VHDL 的程序设计。
目前市场上已有各种各样的抢答器, 但绝大多数是早期设计的, 以模拟电路、数字电路或者模拟电路与数字电路相结合的产品。
这部分抢答器已相当成熟, 但功能越多的电路相对来说就越复杂, 且成本偏高, 故障高, 显示方式简单( 有的甚至没有显示电路) , 无法判断提前抢按按钮的行为, 不便于电路升级换代。
而与非门和非门后的反馈信号的高电平作为解锁存,用555定时器的模型来倒计时,同时以脉冲信号来控制加法器和减法器来控制抢答过程中的计分,应用二极管和数码显示管为主要部件来设计扫描显示器则降低了其复杂性、高故障性以及显示方式简单的问题。
通过课程设计深入理解VHDL语言的精髓和掌握运用所学的知识,达到课程设计的目标。
1.2 设计内容通过VHDL程序设计一个4人参加的智力竞赛抢答计时器,当有某一参赛者首先按下抢答开关时,相应显示灯亮并伴有声响,此时抢答器不再接受其他输入信号。
电路具有回答问题时间控制功能。
要求回答问题时间小于等于100s(显示为0~99),时间显示采用倒计时方式。
当达到限定时间时,发出声响以示警告。
基于VHDL的四路智能抢答器
目录引言 (1)1.系统的设计要求 02.系统分析 02.1 系统构成 (2)2.2 系统实现过程 (2)3.具体模块设计 (3)3.1 鉴别功能 (3)3.2 锁存功能 (3)3.3 转换功能 (3)3.4 三选一功能 (3)3.5 倒计时功能 (4)3.6 片选功能 (4)3.7 显示功能 (4)3.8 整体结构电路图 (5)4.程序设计 04.1鉴别模块代码 (5)4.2 锁存器模块源代码 (6)4.3 模块源代码 (6)4.4 三选一模块源代码 (7)4.5 倒计时模块源代码 (7)4.6 片选模块源代码 (8)4.7 显示模块源代码 (9)4.8 顶层文件源代码 (9)5.运行结果与分析 (11)6.结束语 (13)参考文献 (14)引言随着现代社会的发展,抢答器被广泛的运用于很多的娱乐节目,其作用也是越来越大。
近年来,随着社会的迅猛发展,抢答器得到了广泛的运用。
很多的电视台都会播放一些娱乐节目,在节目过程中都会添加一些娱乐节目,尤其是互动性的竞争游戏,这样都会使用到抢答器,这样使得对抢答器的要求也越来越高,当然也更进一步体现了抢答器的价值。
结合这种的背景,结合一些娱乐节目的实际情况,并发出真正适合我们特点的智能显示控制系统已经成为当前的主要任务,智能控制的效果能直接影响到大家对此娱乐节目的认可,同时好的智能控制也能为大家带来很多方便。
通过对抢答器基本原理的了解,我们可以设计多路抢答器,让节目可以有更多得人参与。
同时我们可以全面熟悉、掌握VHDL语言基本知识,掌握利用VHDL语言对常用的的组合逻辑电路和时序逻辑电路编程,把编程和实际结合起来,熟悉编制和调试程序的技巧,掌握分析结果的若干有效方法,进一步提高上机动手能力,培养使用设计综合电路的能力,养成提供文档资料的习惯和规范编程的思想。
1.系统的设计要求四路抢答器由鉴别模块、锁存器模块、转换模块、三选一模块、倒计时模块、片选模块和显示模块等模块的电路组成,显示电路、锁存器、转换电路将抢中选手的编号显示输出;主持人开关启动和鉴别电路;答题限时即倒计时电路,实现答题时间结束和答题完成报警。
基于vhdl四路智力抢答器完整版设计说明书
1 绪论1.1 EDA技术的发展人类社会已进入到高度发达的信息化社会,信息社会的发展离不开电子产品的进步。
现代电子产品在性能提高、复杂度增大的同时,价格却一直呈下降趋势,而且产品更新换代的步伐也越来越快,实现这种进步的主要原因就是生产制造技术和电子设计技术的发展。
前者以微细加工技术为代表,目前已进展到深亚微米阶段,可以在几平方厘米的芯片上集成数千万个晶体管;后者的核心就是EDA技术。
EDA是指以计算机为工作平台,融合了应用电子技术、计算机技术、智能化技术最新成果而研制成的电子CAD通用软件包,主要能辅助进行三方面的设计工作:IC设计,电子电路设计以及PCB设计。
没有EDA技术的支持,想要完成上述超大规模集成电路的设计制造是不可想象的,但是面对当今飞速发展的电子产品市场,设计师需要更加实用、快捷的EDA工具,使用统一的集体化设计黄精,改变传统的设计思路,将精力集中到设计构想、方案比较和寻找优化设计等方面,需要以最快的速度,开发出性能优良、质量一流的电子产品,对EDA技术提出了更高的要求。
未来的EDA技术将在仿真、时序分析、集成电路自动测试、高速印刷版设计及开发操作平台的扩展等方面取得新的突破,向着功能强大、简单易学、使用方便的方向发展。
1.2 EDA技术的设计优势传统的设计方法采用自底向上的设计方法,一般先按电子系统的具体功能要求进行功能划分,然后对每个子模块画出真值表,用卡诺图进行手工逻辑简化,写出布尔表达式,画出相应的逻辑线路图,再据此选择元器件,设计电路板,最后进行实测与调试,由于无法进行硬件系统功能仿真,如果某一过程存在错误,查找和修改十分不便,所以这是一种费时、费力的设计方法,而现代电子设计技术(EDA)是自顶向下且先进高效的。
在电子产品的设计理念、设计方式、系统硬件构成、设计的重用性、知识产权、设计周期等方面,EDA技术具有一定的优势。
所以本次设计的抢答器抛弃了传统的设计方法,选择了采用主流的EDA 技术进行设计。
VHDL四路抢答器
1 前言 (1)2 抢答器的设计要求及分析 (2)2.1 抢答器的设计要求 (2)2.2 抢答器的设计分析 (2)3 抢答器的设计 (4)3.1 抢答鉴别模块 (4)3.1.1 抢答鉴别模块源程序 (4)3.1.2 抢答鉴别模块程序仿真 (4)3.2 抢答计时模块 (4)3.2.1 抢答计时模块源程序 (4)3.2.2 抢答计时模块程序仿真 (4)3.3 抢答计分模块 (5)3.3.1 抢答计分模块源程序 (5)3.3.2 抢答计分模块程序仿真 (5)3.4 综合模块 (6)3.4.1 例化源程序 (6)3.4.2 例化程序仿真 (6)4 抢答器的硬件测试 (7)4.1 抢答器的引脚绑定 (7)4.2 在CPLD\FPGA实验系统上下载,进行硬件验证情况 (8)5 Quartus Ⅱ软件及VHDL语言介绍 (9)5.1 Quartus Ⅱ软件介绍 (9)5.2 VHDL语言简介 (10)心得体会 (11)参考文献 (12)EDA技术作为现代电子设计最新技术的结晶,其广阔的应用前景和深远的影响已毋庸置疑,它在信息工程类专业中的基础地位和核心作用也逐渐被人们所认识。
许多高等学校开设了相应的课程,并为学生提供了课程设计、综合实践、电子设计竞赛、毕业设计、科学研究和产品开发等EDA技术的综合应用实践环节。
相关的工程技术人员也特别重视学习EDA技术,并渴望提高其工程应用能力。
对于迅猛发展的EDA技术的综合应用,从EDA技术的综合应用系统的深度来分,可分为3个层次:(1) 功能电路模块的设计;(2)算法实现电路模块的设计;(3) 片上系统/嵌入式系统/现代DSP系统的设计。
从EDA技术的综合应用系统的最终主要硬件构成来分,已出现6种形式:(1) CPLD/FPGA系统;(2) "CPLD/FPGA+MCU"系统;(3) "CPLD/FPGA+专用DSP处理器"系统;(4) 基于FPGA实现的现代DSP系统;(5) 基于FPGA实现的SOC片上系统;(6) 基于FPGA实现的嵌入式系统。
EDA课程设计--VHDL四路智力抢答器
VHDL四路智力抢答器EDA课程设计一、任务与目的1.1熟练掌握EDA工具软件Quartus的使用1.2熟悉使用VHDL硬件描述语言描述数字电路1.3学会使用VHDL进行大规模集成电路设计1.4学习使用CPLD/FPGA实验系统硬件验证电路设计的正确性1.5初步掌握EDA技术并具备一定的可编程逻辑芯片的开发能力二、设计题目与要求2.1设计题目四路智力竞赛抢答器2.2设计要求1.按所布置的题目要求,每一位学生独立完成全过程2.分模块层次化的设计;3.各功能模块的底层文件必须用VHDL语言设计,顶层文件可以用VHDL语言设计,也可以用原理图设计。
2.3设计内容设计一个可容纳四组参赛者同时抢答的数字抢答器。
主持人可控制系统发的清零和抢答的开始,控制电路可实现最快抢答选手按键抢答的判别和锁定功能,并禁止后续其他选手抢答。
抢答选手确定后给出选手编号的显示,抢答选手的编号显示保持到系统被清零为止,若提前抢答则对相应的抢答组发出警告。
*扩展内容:增加答题限时的功能,在确定了抢答成功有效后,有主持人按下答题限时功能键,开始9s的倒计时。
在计时结束后,超时提示LED闪烁。
在主持人按下clear开关时限时复位。
三、功能分析四路智力竞赛抢答器按功能设计分为三个模块1.抢答锁存模块,在主持人发出抢答指令后(start=’1’),若有参赛者按下抢答按钮,则显示器显示抢答组别,同时电路处于自锁状态,使其它组的抢答器不起作用。
主持人可以用清零按钮进行清零(clr=’0’).若抢答指令未发出(start=’0’),而有参赛者按下抢答按钮,则发出警告信号(alm=1).2.显示功能模块,在参赛者抢答信号(组别)发出后,对参赛者信号进行译码,然后用7段数码管显示出来。
3.计时模块,在确定了抢答成功有效后,有主持人按下答题限时功能键,开始9s的倒计时。
在计时结束后,超时提示LED亮。
在主持人按下clear开关时限时复位。
(扩展模块)四、设计思路分析,设计方案合理性分析与选择。
VHDL四人抢答器实验报告
题目:硬件描述语言实验十三:四人抢答器姓名:*** 学号: ***地点:主楼402 时间:5月9日一、实验目的:进一步练习VHDL语言设计工程的建立与仿真的步骤和方法、熟悉VHDL语言基本设计实体的编写方法。
二、实验环境:PC个人计算机、Windows XP操作系统、Quartus II集成开发环境软件。
三、设计要求:设计一个四人抢答的抢答器的逻辑模块,模块功能如下描述:(1)上一轮抢答结束后,主持人按下清零按钮,系统初始化,此时除了禁止抢答灯外,所有灯灭,而禁止抢答灯亮。
(2)主持人按下允许抢答按钮,允许抢答灯亮,模块开始计时;当达到设定的允许抢答的时间时,允许抢答灯灭,禁止抢答灯亮。
(3)参赛选手在允许抢答的时间内按下自己的抢答按钮,谁第一个按下,他的抢答成功灯亮,其他选手在抢答无效。
(4)选手在禁止抢答的时间段按下抢答的按钮,他的犯规灯亮,多个选手犯规,他们的犯规灯都亮。
由上述功能可确定模块的引脚:每个按钮对应一个输入信号,按钮按下输入为高电平;每个灯对应一个输出信号,输出高电平灯亮。
为了计时,还有一个时钟信号输入,允许抢答的时间为16个时钟周期。
四、设计思想:抢答器主要由两个模块来实现功能:(一)抢答鉴别及锁存模块根据设计要求,首先要有清零按钮clr,主持人控制按钮en,四人抢答按钮a、b、c、d,并由dsp显示抢答成功的选手号码,用wrg_lgt 表示犯规灯,用fbd_lgt表示禁止抢答灯,用alw_lgt表示允许抢答灯。
为了实现当有选手抢答后锁存电路使其他选手无法抢答的功能,设置两个锁存信号temp1、temp2。
按下清零开关(clr=1),tmp1、tmp2=0,若主持人未按下允许抢答按钮(en=0),即禁止抢答灯亮(alw_lgt=1)时,有人抢答,则tmp2=1,关闭抢答电路,犯规选手的犯规灯亮;若主持人按下允许抢答开关(en=1)后,即允许抢答灯亮(alw_lgt=1)时,有人抢答,则tmp1=1,关闭抢答电路,抢答成功选手的抢答成功灯亮。
VHDL语言设计四路抢答器
一、设计要求:在许多比赛活动中,为了准确、公正、直观地判断出第一抢答者,通常设置一台抢答器,通过数显、灯光及音响等各种手段批示出第一抢答者。
同时,还可以设置计分、犯规及奖惩记录等各种功能。
本设计的具体功能是:1.可容纳四组参赛者进行抢答,每组设置一个抢答按钮供抢答者使用。
2.电路具有第一抢答信号的鉴别和锁存功能。
在主持人交系统复位并发出抢答指令后,若有一组先按下抢答开关,则该组指示灯亮并用组别显示电路显示抢答者的组别,同时扬声器发出“嘀嘟”的双音音响,且持续2~3秒。
此时,电路具备自锁功能,使他组的抢答开关不起作用。
3.具有计分功能,使每组在开始时的分数预置成100分,抢答后由主持人计分,答对一次加10分。
二、系统方案论证与模块划分:根据系统设计要求可知:1.系统的输入信号有:各组的抢答按钮A、B、C、D,系统清零信号CLR,系统时钟信号CLK,计分复位端RST,加分按钮端ADD,计时预置控制端LDN,计时使能端EN,计时预置数据调整按钮TA、TB;2.系统的输出信号有:四个组抢答成功与否的指示灯控制信号输出口LED_A、LES_B、LED_C、LED_D,四个组抢答时的计时数码显示控制信号若干,抢答成功组别显示的控制信号若干,各组计分动态显示的控制信号若干。
3.本系统应具有的功能有:第一抢答信号的鉴别和锁存功能;抢答计时功能;各组得分的累加和动态显示功能。
根据以上的分析,我们可将整个系统分为三个主要模块:抢鉴别模块QDJB;抢答计时模块JSQ;抢答计分模块JFQ;对于需显示的信息,需增加或外接译码器,进行显示译码。
考虑到FPGA、CPLD的可用接口及一般EDA实验开发系统的输出显示资源的限制,这里我们将组别显示和计时显示的译码器内设,而将各组的计分显示的译码器外接。
整个系统的组成框图如图2-1所示:系统的工作原理如下:当主持人按下使能端EN1时,抢答器开始工作,A、B、C、D四个抢答者谁最先抢答成功则此选手的台号灯(LED_A—LED_D)将点亮,并且组别显示数码管将显示出抢答成功者的台号,并由蜂鸣器发出抢答成功的警报;接下来主持人提问,若回答正确,主持人按加分按钮ADD,抢答计分模块JFQ将给对应的组加分,并将该组的总分显示在对应的选手计分数码管JF2_A-JF0_A、JF2_B-JF0_B、JF2_C-JF0_C、JF2_D-JF0_D、上。
VHDL四人抢答器
四人抢答器设计一、设计任务及要求:(1)设计用于竞赛抢答的四人抢答器;①有多路抢答,抢答台数为8;②具有抢答开始后20秒倒计时,20秒倒计时后无人抢答显示超时,并报警;③能显示超前抢答台号并显示犯规警报;(2) 系统复位后进入抢答状态,当有一路抢答按键按下,该路抢答信号将其余各路抢答信号封锁,同时铃声想起,直至该路按键松开,显示牌显示该路抢答台号;(3) 用VHDL语言设计符合上述功能要求的四人抢答器,并用层次化设计方法设计该电路;(4) 完成电路全部设计后,通过系统实验箱下载验证设计课题的正确性。
二、设计思路设计制作一个竞赛抢答器,每组受控于一个抢答开关,分别为S1, S2, S3, S4,低电平表示抢答有效;设置主持人控制键K,用于控制整个系统清0 和抢答有效控制,按下复位键时, K=0,系统清零;抬起复位键时,K=1,抢答开始;系统具有第一抢答信号鉴别和锁存功能。
在主持人将系统复位并使抢答有效开始后,第一抢答者按下抢答按钮,对应的输入引脚接低电位0,电路应记忆下第一抢答者的组别,并封锁其他各组的按钮,即其他任何一组按键都不会使电路响应;系统以两种方式指示第一抢答者:其一是通过译码程序显示其组别号;其二是在第一抢答者产生时,蜂鸣器警示;设置违规电路单元,当抢答者在主持人按下复位清零按钮之前就已经按下抢答按钮时,则给出违规信号为高电平。
对应组别的红色信号灯亮;当20秒倒计时后无人抢答显示超时,并报警。
系统设计框图如图1所示。
抢答按钮主持人按钮控制电路第一信号鉴别组别数码显示声音警示计时控制提前抢答控制S1S2S3S4K图1 整体设计框图三、VHDL程序实现1、正常抢答程序及仿真此模块包括正常抢答第一信号鉴别和显示抢答台号,并发生声音提示。
其中S1,S2,S3,S4为抢答按钮,当对应的按钮信号为0时表示有抢答信号;K为主持人按钮,按下复位键K时, K=0,系统清零;抬起复位键时,K=1,抢答开始;G为报警信号。
VHDL语言设计--智力竞赛抢答器设计
《数字系统与逻辑设计》课程设计任务书一、设计目的全面熟悉、掌握VHDL语言基本知识,掌握利用VHDL语言对常用的的组合逻辑电路和时序逻辑电路编程,把编程和实际结合起来,熟悉编制和调试程序的技巧,掌握分析结果的若干有效方法,进一步提高上机动手能力,培养使用设计综合电路的能力,养成提供文档资料的习惯和规范编程的思想。
二、设计要求1、设计正确,方案合理。
2、界面友好,使用方便。
3、程序精炼,结构清晰。
4、设计报告5000字以上,含程序设计说明,用户使用说明,源程序清单及程序框图。
5、上机演示。
6、有详细的文档。
文档中包括设计思路、设计仿真程序、仿真结果及相应的分析与结论。
三、进度安排第十九周星期一:课题讲解,查阅资料星期二: 总体设计,详细设计星期三:编程,上机调试、修改程序星期四:上机调试、完善程序星期五:答辩星期六-星期天:撰写课程设计报告附:课程设计报告装订顺序:封面、任务书、目录、正文、评分、附件(A4大小的图纸及程序清单)。
正文的格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。
正文的内容:一、课题的主要功能;二、课题的功能模块的划分(要求画出模块图);三、主要功能的实现;四、程序调试;五、总结;六、附件(所有程序的原代码,要求对程序写出必要的注释);目录1、课题的主要功能 (1)2、功能模块的划分 (1)3、主要功能的实现 (1)、鉴别功能 (1)、锁存功能 (1)、转换功能 (2)、三选一功能 (2)、倒计时功能 (2)、片选功能 (2)、显示功能 (2)4、程序调试 (3)、调试方法 (3)、各模块程序的调试 (3)5、总结 (6)6、附件 (7)、鉴别模块代码 (7)、锁存器模块源代码 (7)、模块源代码 (8)、三选一模块源代码 (9)、倒计时模块源代码 (9)、片选模块源代码 (11)、显示模块源代码 (11)、顶层文件源代码 (12)7、评分表 (15)1、课题的主要功能设计一个4人参加的智力竞赛抢答计时器。
VHDL四人抢答器
四人抢答器设计一、设计任务及要求:(1)设计用于竞赛抢答的四人抢答器;①有多路抢答,抢答台数为8;②具有抢答开始后20秒倒计时,20秒倒计时后无人抢答显示超时,并报警;③能显示超前抢答台号并显示犯规警报;(2) 系统复位后进入抢答状态,当有一路抢答按键按下,该路抢答信号将其余各路抢答信号封锁,同时铃声想起,直至该路按键松开,显示牌显示该路抢答台号;(3) 用VHDL语言设计符合上述功能要求的四人抢答器,并用层次化设计方法设计该电路;(4) 完成电路全部设计后,通过系统实验箱下载验证设计课题的正确性。
二、设计思路设计制作一个竞赛抢答器,每组受控于一个抢答开关,分别为S1, S2, S3, S4,低电平表示抢答有效;设置主持人控制键K,用于控制整个系统清0 和抢答有效控制,按下复位键时, K=0,系统清零;抬起复位键时,K=1,抢答开始;系统具有第一抢答信号鉴别和锁存功能。
在主持人将系统复位并使抢答有效开始后,第一抢答者按下抢答按钮,对应的输入引脚接低电位0,电路应记忆下第一抢答者的组别,并封锁其他各组的按钮,即其他任何一组按键都不会使电路响应;系统以两种方式指示第一抢答者:其一是通过译码程序显示其组别号;其二是在第一抢答者产生时,蜂鸣器警示;设置违规电路单元,当抢答者在主持人按下复位清零按钮之前就已经按下抢答按钮时,则给出违规信号为高电平。
对应组别的红色信号灯亮;当20秒倒计时后无人抢答显示超时,并报警。
系统设计框图如图1所示。
抢答按钮主持人按钮控制电路第一信号鉴别组别数码显示声音警示计时控制提前抢答控制S1S2S3S4K图1 整体设计框图三、VHDL程序实现1、正常抢答程序及仿真此模块包括正常抢答第一信号鉴别和显示抢答台号,并发生声音提示。
其中S1,S2,S3,S4为抢答按钮,当对应的按钮信号为0时表示有抢答信号;K为主持人按钮,按下复位键K时, K=0,系统清零;抬起复位键时,K=1,抢答开始;G为报警信号。
四人抢答器VHDL
library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;entity cnt20 isport(stop,start,reset,clk:in std_logic;q:out std_logic_vector(7 downto 0); yellow,green,red:out std_logic); end;architecture behavioral of cnt20 issignal cao_v:std_logic_vector(1 downto 0); BEGINPROCESS(reset,STOP,RESET,CLK)VARIABLE TMP1:integer;VARIABLE tmp2:integer;VARIABLE CA :integer;BEGINIF reset=’1’THENTMP1:=0;tmp2:=2;CA :=0;ELSIF(clk’event and clk=’1’)THENif(stop=’0’)thenif(start=’1’)thenif(tmp1=0)thenif(tmp2=0)thenca:=1;elaetmp2:=tmp2-1;tmp1:=9;elsetmp1:=tmp1-1;tmp2:=9;end if;elsetmp1:=tmp1-1;end if;end if;end if;END IF;cao_v<=conv_std_logic_vector(ca,2);yellow<=cao_v(0);q(7 downto 4)<=conv_std_logic_vector(tmp2,4);q(3 downto 0)<=conv_std_logic_vector(tmp1,4);END PROCESS;green<=stop and start;red<=stop and ( not start);end bahavioral;--first 元件源程序library ieee;use ieee.std_logic_1164.all;entity first isPORT(reset:in std_logic;a:in std_logic_vector(3 downto 0);lockout:out std_logic;firstman:out std_logic:vector(2 downto 0);end;architecture behavioral of first issignal clk,lock:std_logic;signal c:std_logic_vector(3 downto 0);beginclk<=’1’when a(3)=’1’ or a(2)=’1’ or a(1)=’1’ or a(0)=’1’ else ‘0’; lockout<=lock;process_label:PROCESS(clk)BEGINIF reset=’1’THENc<=”0000”;lock<=’0’;ELSIF clk=’1’THENif lock=’0’ thenc<=a;lock<=’1’;end if;END IF;END PROCESS process_label;firstman<=”001” when c=”1000” else“010” when c=”0100” else“011” when c=”0010” else“100” when c=”1000” else“000” ;End behavioral;library ieee;use ieee.std_logic_1164.all;USE IEEE.STD_LOGIC_UNSIGNED.ALL; entity Qiang_DA isport(A,B,C,D,RESET:in std_logic; CLK:in std_logic; MUSIC:out std_logic;COUT1:out std_logic_vector(6 downto 0); COUT2:out std_logic_vector(6 downto 0); ALIGHT,BLIGHT,CLIGHT,DLIGHT:out std_logic); end;architecture one of Qiang_DA is component COUNTER99port(SET,CLK:in std_logic; MUSIC:out std_logic;COUT1:out std_logic_vector(6 downto 0); COUT2:out std_logic_vecto r(6 downto 0)); end component;signal A1,B1,C1,D1:std_logic; signal A2,B2,C2,D2:std_logic; signal SET:std_logic; be ginA2<=not A1 B2<=not B1 C2<=not C1智力竞赛抢答计时器的设计4D2<=not D1 L1:process(A) beginA1<=(A and B2 and C2 and D2) end process L1; L2:process(B) beg inB1<=(B and A2 and C2 and D2); end process L2; L3:process(C) begi nC1<=(C and A2 and B2 and D2); end process L3; L4:process(D) beg inD1<=(D and A2 and C2 and B2); end process L4;L5:process(A1,B1,C1,D1,RESET) beginif RESET='0' thenALIGHT<='0';BLIGHT<='0';CLIGHT<='0';DLIGHT<='0';SET<='0';else ALIGHT<=A1;BLIGHT<=B1;CLIGHT<=C1;DLIGHT<=D1;SET<=(A1 or B1 or C1 or D1); end if;end process L5;U0:COUNTER99 port map(SET,CLK,MUSIC,COUT1,COUT2); end;下面是99倒数计数器的VHDAL语言代码: library ieee;use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity COUNTER99 is port( SET,CLK:in std_logic; MUSIC:out std_logic;COUT1:out std_logic_vector(6 downto 0); COUT2:out std_logic_vector(6 do wnto 0)); end;architecture behave of COUNTER99 is signal MUSIC1:std_logic;signal HIGH:std_logic_vector(3 downto 0):="1001"; signal LOW:std_logic_vector(3 d ownto 0):="1001"; beginC1:process(SET,CLK,MUSIC1) beginif SET='0' then智力竞赛抢答计时器的设计5MUSIC1<='0';HIGH<="1001";LOW<="1001"; elseif RISING_EDGE(CLK) then if LOW="0000" then LOW<=" 1001";if HIGH="0000" then HIGH<="1001"; else HIGH <=HIGH-1; end if;else LOW<=LOW-1; end if end if;if (HIGH="0000" and LOW="0001") then MUSIC1<='1'; end if; end if;end process C1;C5:process(HIGH,LOW)function decode(four:std_logic_vector(3 downto 0)) return std_logic_vector is variabl e outdata:std_logic_vector(6 downto 0); begincase four isWHEN "0000"=>outdata:="1111110"; WHEN "0001"=>outdata:="0110000"; WHEN "0010"=>outdata:="1101101"; WHEN "0011"=>outdata:="1111001"; WHEN "0100"=>outdata:="0110011"; WHEN "0101"=>outdata:="1011011"; WHEN "0110"=>outdata:="1011111"; WHEN "0111"=>outdata:="1110000"; WHEN "1000"=>outdata:="1111111"; WHEN "1001"=>outdata:="1111011"; WHEN others=>outdata:="0000000"; end case;return(outdata); end decode; beginCOUT1<=decode(LOW); COUT2<=decode(HIGH); MUSIC<=MUSIC1; end process C5; end;。
EDA技术-VHDL-5.1 四人抢答器设计
第5章数字系统程序设计与仿真实验5.1 四人抢答器程序设计与仿真实验1.实验目的设计一个四人抢答器。
2.实验原理系统设计一个4人参加的智力竞赛抢答器,当有一参赛选手首先按下抢答器开关时,相应显示该选手所在抢答器开关的编号,此时抢答器不再接受其他的输入信号。
电路还具有时间控制功能,要求回答问题时间小于100秒,显示为(0-99),时间显示采用倒计时,当达到限定时间时,发出提示信号。
系统组成模块如下:四输入与门模块和catch模块的功能为捕捉选手输入的开关信号;Lock模块为锁存模块,锁存产生开关信号和输入开关的状态;ch41a模块的功能是将抢答的结果转换成二进制数,易于读数;计数count 模块的功能是对100秒进行计数。
四人抢答器总体方框图如图5.1.1所示。
图5.1.1 四人抢答器总体方框图3.实验内容(1)根据实验原理,完成抢答器各模块的设计,并仿真。
(2)完成顶层设计文件的编写,实现四人抢答器的设计。
(3)对四人抢答器进行功能仿真,检验是否达到设计要求。
(4)下载,并进行硬件测试。
4.实验预习与思考(1)考虑四人抢答器设计中信号传递的时间延迟方法。
(2)如何实现当已经有选手输入抢答信号后对其他选手的输入信号进行屏蔽。
5.程序设计与仿真(1)程序设计①四输入与门模块(略)。
126②catch模块(catch.vhd)源程序如下,RTL电路如图5.1.2所示。
library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity catch isPort ( cp : in std_logic; --脉冲clr : in std_logic; --复位信号q : out std_logic);end catch;architecture Behavioral of catch isbeginprocess(cp,clr)beginif clr='0' thenq<='0';elsif cp'event and cp='0' thenq<='1';end if;end process;end Behavioral;图5.1.2 catch模块RTL电路③Lock模块(lock.vhd)为锁存模块,锁存产生开关信号时和输入开关的状态,锁存模块源程序如下,RTL电路图略。
VHDL语言EDA四人抢答器
一.EDA技术简介在计算机技术的推动下,20世纪末,电子技术获得了飞速的发展,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。
20世纪90年代,国际上电子和计算机技术较先进的国家,一直在积极探索新的电子电路设计方法,并在设计方法、工具等方面进行了彻底的变革,取得了巨大成功。
在电子技术设计领域,可编程逻辑器件(如CPLD、FPGA)的应用,已得到广泛的普及,这些器件为数字系统的设计带来了极大的灵活性。
这些器件可以通过软件编程而对其硬件结构和工作方式进行重构,从而使得硬件的设计可以如同软件设计那样方便快捷。
这一切极大地改变了传统的数字系统设计方法、设计过程和设计观念,促进了EDA技术的迅速发展。
EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。
EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。
利用EDA工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程的计算机上自动处理完成。
现在对EDA的概念或范畴用得很宽。
包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有EDA的应用。
目前EDA 技术已在各大公司、企事业单位和科研教学部门广泛使用。
例如在飞机制造过程中,从设计、性能测试及特性分析直到飞行模拟,都可能涉及到EDA技术。
二.设计要求l、设计用于竞赛的四人抢答器,功能如下:(1) 有多路抢答器,台数为四,能显示抢答台号;(2) 具有抢答开始后20秒倒计时,20秒倒计时后无人抢答显示超时,并报警;(3) 能显示超前抢答台号并显示犯规警报;2、系统复位后进入抢答状态,当有一路抢答键按下时,该路抢答信号将其余各路抢答封锁,同时铃声响,直至该路按键松开,显示牌显示该路抢答台号。
基于VHDL的四路抢答器报告
前言 (3)一、项目名称 (3)二、设计目的 (3)三、设计任务与要求3.1 设计任务: (4)3.2 设计要求 (4)四、四人智力竞赛抢答器设计4.1 基本功能 (4)4.2 扩展框图 (4)4.3 系统框图 (4)五、总模块图 (5)六、仿真图 (5)七、结论 (7)八、管脚绑定 (7)九、源代码 (8)前言进入21世纪越来越来多的电子产品出现在人们的日常生活中,例如企业、学校和电视台等单位常举办各种智力竞赛, 抢答记分器是必要设备。
过去在举行的各种竞赛中我们经常看到有抢答的环节,举办方多数采用让选手通过举答题板的方法判断选手的答题权,这在某种程度上会因为主持人的主观误断造成比赛的不公平性。
人们于是开始寻求一种能不依人的主观意愿来判断的设备来规范比赛。
因此,为了克服这种现象的惯性发生人们利用各种资源和条件设计出很多的抢答器,从最初的简单抢答按钮,到后来的显示选手号的抢答器,再到现在的数显抢答器,其功能在一天的趋于完善不但可以用来倒计时抢答,还兼具报警,计分显示等等功能,有了这些更准确地仪器使得我们的竞赛变得更加精彩纷呈,也使比赛更突显其公平公正的原则。
今天随着科技的不断进步抢答器的制作也更加追求精益求精,人们摆脱了耗费很多元件仅来实现用指示灯和一些电路来实现简单的抢答功能,使第一个抢答的参赛者的编号能通过指示灯显示出来,避免不合理的现象发生。
但这种电路不易于扩展,而且当有更高要求是酒无法实现,例如参赛人数的增加。
随着数字电路的发展,数字抢答器诞生了,它易于扩展,可靠性好,集成度高,而且费用低,功能更加多样话,是一种高效能的产品。
而如今在市场上销售的抢答器大多采用可编程逻辑元器件,或利用单片机技术进行设计,本次设计主要通过划分功能模块进行各个部分的设计,最后完成了四路智力竞赛抢答器的设计。
一.项目名称基于FPGA的四路抢答器二、设计目的1、掌握四人智力竞赛抢答器电路的设计。
2、熟悉数字集成电路的设计和使用方法。
VHDL四路抢答器的设计
VHDL四路抢答器的设计设计要求:1.抢答器同时供N名选手,(此处假设4个)分别用4个按钮S0~ S3表示。
2.设置一个系统“开始复位”开关S,该开关由主持人控制(当主持人按下该开关后以前的状态复位并且开始计时抢答)。
3.抢答器具有锁存与显示功能。
即选手按动按钮,锁存相应的编号,并在LED数码管上显示,同时扬声器发出报警声响提示。
选手抢答实行优先锁存,优先抢答选手的编号一直保持到主持人将系统清除为止。
4. 抢答器具有定时抢答功能,且一次抢答的时间(0-99S)。
当主持人启动“开始复位”键后,定时器进行减计时。
5. 如果定时时间已到,无人抢答,本次抢答无效,系统报警并禁止抢答,定时显示器上显示00。
一、概述抢答器的逻辑结构主要由抢答鉴别lock模块、定时模块、译码模块和报警器模块组成。
在整个抢答器中最关键的是如何实现抢答封锁,在控制键按下的同时计数器倒计时显示有效剩余时间。
除此之外,整个抢答器还需有一个“复位开始”信号,以便抢答器能实现清零和开始。
抢答器共有3个输出显示,选手代号、计数器的个位和十位,他们输出全都为BCD码输出,这样便于和显示译码器连接。
当主持人按下控制键、选手按下抢答键蜂鸣器短暂响起。
•方案设计与论证嘿嘿!将该任务分成N个模块进行设计,分别为:抢答器鉴别模块、抢答器计时模块、译码模块、报警模块,最后是综合。
1. 抢答器鉴别模块:在这个模块中主要实现抢答过程中的抢答功能,并且能实现当有一路抢答按键按下时,该路抢答信号将其余个绿抢答封锁的功能。
在这个模块输入端有WARN输入(以时间控制系统的WARN输出信号为信号源)、一个和“时间控制系统”公用的CLEAR端、4人抢答输入信号端S0,S1,S2,S3和有一个时钟信号端CLK,这个时钟信号是个高频信号,用以扫描S0,S1,S2,S3是否有信号输入。
输出端有对应于S0,S1,S2,S3编号的4个指示灯LED 和4线2进制输出端STATES(用于锁存当前的状态),还有一个STOP 端用于指示S0,S1,S2,S3按钮状态(控制计时器停止)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
中南林业科技大学课程设计报告设计名称:基于VHDL语言的四人抢答器姓名:杜涵学号:******** 专业班级:电子信息工程一班院(系):计算机与信息工程学院设计时间:2015年12月8日设计地点:东园22栋201目录一、设计题目………………………………………………二、设计要求………………………………………………三、设计目的………………………………………………四、设计背景………………………………………………五、使用工具………………………………………………六、设计原理………………………………………………七、设计结构………………………………………………八、原理图…………………………………………………九、模块程序………………………………………………十、引脚分配………………………………………………十一、设计结果验证………………………………………十二、总结…………………………………………………一、设计题目:基于VHDL语言的四路抢答器二丶设计要求:1、设计制作一个竞赛抢答器,每组受控于一个抢答开关,分别为S1, S2, S3, S4。
2、控制键K,用于控制整个系统清零, K=0,系统清零;抬起复位键时,K=1,抢答开始。
3、每答对一题计十分,每次答题时间不能超过60秒。
4、第一抢答者按下抢答按钮,对应的led灯点亮,同时数码管显示是第几位抢答者,并封锁其他各组的按钮,即其他任何一组按键都不会再使电路响应。
与此同时,数码管开始显示60秒的倒计时。
通过K键复位,开始下一轮抢答。
三、设计目的1.通过设计竞赛抢答器的实例来体会设计实际产品的过程,在学好理论的基础上,提高动手实践能力。
2.学习怎样用vhdl语言来描述自己的设计思路,调试硬件后,能够使产品实现功能。
3.进一步掌握用vhdl语言编写数字电路。
4.在做课题过程中,掌握多位共阴极扫描显示数码管的驱动及编码,学会使用和调试硬件。
四、设计背景现代电子产品几乎渗透了社会的各个领域EDA技术是电子设计的发展趋势,EDA工具从数字系统设计的单一领域,应用范围己涉及模拟、微波等多个领域,可实现各个领域电子系统设计的测试、设计仿真和布局布线等。
设计者只要完成对电子系统的功能描述,就可利用计算机和EDA工具,进行设计处理,最终得到设计结果。
随着大规模集成电路技术和计算机技术的不断发展,即使是普通的电子产品的开发,EDA技术常常使一些原来的技术瓶颈得以轻松突破,从而使产品的开发周期大为缩短、性能价格比大幅提高。
不言而喻,EDA 技术将迅速成为电子设计领域中的极其重要的组成部分。
从目前的EDA技术来看,其发展趋势是政府重视、使用普及、应用文泛、工具多样、软件功能强大。
抢答器是一种应用非常广泛的设备,在各种竞猜、抢答场合中,它能迅速、客观地分辨出最先获得发言权的选手。
早期的抢答器只由几个三极管可控硅、发光管等组成,能通过发光管的指示辨认出选手。
现在大多数抢答器均使用单片机和数字集成电路,并增加了许多新的功能,如选手号码显示、抢按器或抢按后的计时、选手得分显示等功能。
五、使用工具:装有Quartus II软件的PC、Cyclone 系列FPGA开发板(ep2c5t144c8)六、设计原理根据设计要求,我们经过分析应用分模块的方式比较容易设计该抢答器,我们底层应用VHDL语言,顶层应用原理图的方式进行设计,然后通过仿真验证并不断修改完善设计。
模块:(1)四人按键抢答模块:设计为五个输入按键,其实S键为主持人控制抢答过程的按键,当有选手抢答后使其他人的按键无效。
然后根据抢答成功者的编号使对应LED灯点亮,同时输出一个状态让数码管显示抢答者编号。
主持人S键复位,开始下一轮抢答。
(2)计时模块:在有人抢答后开始一个60秒的倒计时,并输出道数码管显示,CLK来自1HZ分频模块。
(3)计分模块:在选手答题正确后通过外接ADD键给该选手加分,每次加十分,并输出到数码管显示,CLEAR键为清空所有选手分数。
(4)译码模块:讲选手序号,倒计时以及选手分数显示出来,CLK由1KHz分频模块提供。
(5)1HZ与1KHz分频模块:程序由FPGA板的50MHz频率编写。
七、设计结构八、原理图:九、模块程序1、抢答模块程序:Library ieee;Use ieee.std_logic_1164.all;Use ieee.std_logic_unsigned.all;Use ieee.std_logic_arith.all;Entity QD isPort(s,clk:in std_logic;s0,s1,s2,s3:in std_logic;states:buffer std_logic_vector(3 downto 0);T:out std_logic;LIANG:buffer std_logic_vector(3 downto 0);XI:buffer std_logic_vector(3 downto 0)); End QD;Architecture aa of QD issignal s_0,s_1,s_2,s_3,l_1,l_2,l_3,l_4:std_logic; beginprocess(s0,s1,s2,s3,s,clk)beginXI<="1111";if (s='0') thens_0<='0';s_1<='0';s_2<='0';s_3<='0';LIANG<="1111";elsif (clk'event and clk='1') thenif (s_0='1' or s_1='1' or s_2='1' or s_3='1')then null;elsif s0='0' thens_0<='1';states<="0001";LIANG<="1110";elsif s1='0' thens_1<='1';states<="0010";LIANG<="1101";elsif s2='0' thens_2<='1';states<="0011";LIANG<="1011";elsif s3='0' thens_3<='1';states<="0100";LIANG<="0111";else states<="0000";end if;end if;T<= s_0 or s_1 or s_2 or s_3;end process;end aa ;说明:S为主持人复位键;S0,S1,S2,S3:四个抢答选手;STATES:抢答组号输出T:在S按下后使倒计时停止;LIANG:控制四个LED灯,点亮选手对应LED灯;XI:使另外四个LED灯熄灭;2、计时模块程序:library ieee;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_1164.all;entity JS isport(clk,s,T:in std_logic;sw,gw:buffer std_logic_vector(3 downto 0));end JS;architecture aa of JS isbeginprocess(clk,s,T)beginif (s='0') then sw<="0110";gw<="0000";elsif(clk'event and clk='1') thenif(T='0') then gw<=gw;sw<=sw;elsif (gw="0000") then gw<="1001";if(sw="0000") then sw<="0000";else sw<=sw-1;end if;elsegw<=gw-1;end if;if (sw=0 and gw=0) then sw<="0000";gw<="0000"; end if;end if;end process;end aa;说明:S:按下后倒计时开始;SW:输出倒计时十位数;GW:输出倒计时百位数3、计分模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY JFQ ISPORT(RST: IN STD_LOGIC;ADD: IN STD_LOGIC;CHOS: IN STD_LOGIC_VECTOR(3 DOWNTO 0); OUT1: OUT STD_LOGIC_VECTOR(3 DOWNTO 0));END ENTITY JFQ ;ARCHITECTURE ART OF JFQ ISBEGINPROCESS(RST,ADD,CHOS) ISVARIABLE POINTS_A0: STD_LOGIC_VECTOR(3 DOWNTO 0); VARIABLE POINTS_B0: STD_LOGIC_VECTOR(3 DOWNTO 0); VARIABLE POINTS_C0: STD_LOGIC_VECTOR(3 DOWNTO 0); VARIABLE POINTS_D0: STD_LOGIC_VECTOR(3 DOWNTO 0); BEGINIF RST='1' THENPOINTS_A0:="0000";POINTS_B0:="0000";POINTS_C0:="0000";POINTS_D0:="0000";ELSIF (ADD'EVENT AND ADD='0') THENIF CHOS="0001" THENIF POINTS_A0="1001" THENPOINTS_A0:="0000";ELSEPOINTS_A0:=POINTS_A0+1;END IF;END IF;IF CHOS="0010" THENIF POINTS_B0="1001" THEN POINTS_B0:="0000"; ELSEPOINTS_B0:=POINTS_B0+1; END IF;END IF;IF CHOS="0011" THENIF POINTS_C0="1001" THEN POINTS_C0:="0000"; ELSEPOINTS_C0:=POINTS_C0+1; END IF;END IF;IF CHOS="0100" THENIF POINTS_D0="1001" THEN POINTS_D0:="0000"; ELSEPOINTS_D0:=POINTS_D0+1;END IF;END IF;END IF;IF chos="0001" then out1<=POINTS_a0; ELSIF chos="0010" then out1<=POINTS_b0; ELSIF chos="0011" then out1<=POINTS_c0; ELSIF chos="0100" then out1<=POINTS_D0; ELSIF chos="0000" then out1<="0000"; END IF;END PROCESS;END ARCHITECTURE ART;说明:RST:分数清零按键;ADD:加分按键;CHOS=STATES:输入选手组号;OUT1:输出分数;4、译码显示模块程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity YM isport(a:in std_logic_vector(3 downto 0);b:in std_logic_vector(3 downto 0);c:in std_logic_vector(3 downto 0);clk1:in std_logic;Y:in std_logic_vector(3 downto 0);adres: out std_logic_vector(7 downto 0);led7s: out std_logic_vector(7 downto 0) );end YM;ARCHITECTURE segled of YM issignal S:integer range 0 to 12;signal D:std_logic_vector(3 downto 0); signal zero:std_logic_vector(3 downto 0); beginP1: process(clk1)beginzero<="0000";if clk1'event and clk1='1' thenif S<5 thenS<=S+1;elseS<=1;end if;end if;end process P1;P2:process(S)begincase S iswhen 1 =>D<=a; adres<="01111111";when 2 =>D<=b; adres<="11011111";when 3 =>D<=c; adres<="11101111";when 4 =>D<=Y; adres<="11111101";when 5 =>D<=zero;adres<="11111110";when others =>null;end case;end process P2;P3:process(D)begincase D iswhen "0000" =>led7s<="11000000";--0when "0001" =>led7s<="11111001";--1when "0010" =>led7s<="10100100";--2when "0011" =>led7s<="10110000";--3when "0100" =>led7s<="10011001";--4when "0101" =>led7s<="10010010";--5when "0110" =>led7s<="10000010";--6when "0111" =>led7s<="11111000";--7when "1000" =>led7s<="10000000";--8when "1001" =>led7s<="10011000";--9when others =>null;end case;end process P3;end segled;说明:A:输入选手组号;B:倒计时十位;C:倒计时个位;Y:选手分数;ADRES:控制数码管位选;LED7S:控制数码管段选;5、分频模块程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity FP isport( clk: in STD_LOGIC; clk1Hz: out std_logic);end FP;ARCHITECTURE segled of FP isbeginPROCESS (clk)VARIABLE count:INTEGER RANGE 0 TO 49999999;BEGINIF clk'EVENT AND clk='1' THENIF count<=24999999 THENclk1Hz<='0';count<=24999999时divls=0并且count加1count:=count+1;ELSIF count>=24999999 AND count<=49999999 THENclk1Hz<='1';count:=count+1;ELSE count:=0;END IF;END IF;END PROCESS ;END ARCHITECTURE segled;(分频1HZ时将其中的数去掉三个9)6、计分器ADD加分输入消抖模块程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY XIAOD ISPORT (CLK,ADD:IN STD_LOGIC;ADD_EN: OUT STD_LOGIC );END ENTITY;ARCHITECTURE BHV OF XIAOD ISBEGINPROCESS(CLK,ADD)VARIABLE COUNT1 :INTEGER RANGE 0 TO 100000; BEGINIF ADD='0' THENIF RISING_EDGE(CLK) THENIF COUNT1<100000 THEN COUNT1:=COUNT1+1;ELSE COUNT1:=COUNT1; END IF;IF COUNT1=99999 THEN ADD_EN<='1';ELSE ADD_EN<='0'; END IF;END IF;ELSE COUNT1:=0;END IF;END PROCESS ;END;十:引脚分配十一、设计结果验证编译成功后下载到FPGA板上进行结果验证:数码管显示0 60 00;按下S后,显示0 59 00;S0抢答后,显示1倒计时停止按下ADD显示10 第一个LED灯点亮;S1抢答后,显示2倒计时停止按下ADD显示10第二个LED灯点亮;S2抢答后,显示3倒计时停止按下ADD显示10第三个LED灯点亮;S3抢答后,显示4倒计时停止按下ADD显示10第四个LED灯点亮;若按下RST键,所有选手得分清零。