VHDL四人抢答器
基于VHDL的四位抢答器

※※※※※※※※※※※※※※※※※※※※※※※※EDA课程设计报告书课题名称基于VHDL的四位抢答器姓名学号院系专业指导教师一、设计任务及要求:本次课程设计主要是《EDA技术与应用》理论课程而设置的一门实践性课程,起到巩固所学知识,加强综合能力,培养设计能力,提高实验技术,启发创新思想的效果。
指导教师签名:年月日二、指导教师评语:指导教师签名:年月日三、成绩验收盖章年月日基于VHDL 的四位抢答器1设计目的:本次课程设计主要是《EDA 技术与应用》理论课程而设置的一门实践性课程,起到巩固所学知识,加强综合能力,培养设计能力,提高实验技术,启发创新思想的效果。
2设计的主要内容和要求:1 .分析设计要求,明确性能指标。
必须仔细分析课题要求、性能、指标及应用环境等,广开思路,构思出各种总体方案,绘制结构框图。
2 .确定合理的总体方案。
对各种方案进行比较,以电路的先进性、结构的繁简、成本的高低及制作的难易等方面作综合比较,并考虑器件的来源,敲定可行方案。
3 .设计各单元电路。
总体方案化整为零,分解成若干子系统或单元电路,逐个设计。
4.组成系统。
在一定幅面的图纸上合理布局,通常是按信号的流向,采用左进右出的规律摆放各电路,并标出必要的说明。
3 整体设计方案:用元器件及印刷电路板设计并制作一个多路智力竞赛抢答器。
其电路框图如下:图3.1为设计方框图对于一个四人抢答器,四个选手在电路中的起始控制作用是一样的,当裁判员宣布开始抢答时,谁先按下他前面的控制开关,他的灯就会亮,而且这时其他人再怎么按,也就不会亮了,说明每个人对其他人都有一个先发制人的作用,及每个人都在时间控制下,能锁存住其他选手的功能。
当有一个指示灯亮了,计数抢答 按钮锁存电路编码电路译码驱动电路数码管显示复位按钮器就开始从99开始倒计时,到0时还要警告声,这样计数器开始工作就是在指示灯的指示下工作。
可以设四个人分别为输入端A,B,C,D;因为四个输入端在VHDL中,要求四个输入端应该是相等优先级别,但只要有一个输入端接入高电平时,就给其他信号一个反馈,使得他们的输入无效,及他们对应的指示灯不亮;所以我们可以也并行语句,让它们分为四个进程(process),同时也要求每个进程中都有反馈信号传给其他进程语句中,这样就可以完成抢答器基础部分了。
基于VHDL语言的四位抢答器

四位VHDL抢答器一、设计理念:1.1 需要设计的是四名选手的抢答过程所用到的抢答器,分别用S0~S3四个按钮表示。
1.2 设置一个由主持人控制的“复位”开关S,按下此开关后以前的状态复位并且重新开始计时抢答。
1.3 抢答器具有锁存与显示功能。
选手按动自己相应的抢答按钮,系统锁存对应的编号,并在LED数码管上显示出来。
同时,扬声器发出提示音。
锁存器实行优先锁存,因此,最先按动抢答按钮的选手编号将被显示,一直到主持人按下复位开关清除为止。
1.4 抢答器规定在一定时间内抢答,暂定为0-99s,当主持人按下复位开关后开始计时。
1.5若在规定时间内无人抢答,扬声器发出提示音并停止抢答过程,此时定时显示器上显示00。
二、设计内容2.1系统大致过程分析抢答器系统的结构分为抢答鉴别lock模块、定时模块、译码模块和报警器模块。
抢答器各步骤中最关键的是锁存,在选手按下抢答器的同时,LED数码管上将显示计时器的剩余有效时间(个位和十位)和选手号。
他们输出全都为BCD码输出,这样便于和显示译码器连接除此之外,整个抢答器还需有一个“复位开始”信号,以便抢答器能实现清零和开始。
当主持人按下控制键、选手按下抢答键蜂鸣器短暂响起。
2.2 方案设计1)抢答鉴别lock模块:这个模块就是起到抢答过程中的抢答功能。
模块中的输入端除了四个抢答输入信号(S0,S1,S2,S3)、时钟信号CLK和公用的时间控制系统的复位端外,还有一个以时间控制系统的警报(WARN)输出信号为信号源的WARN输入。
其中时钟信号是个高频信号,用来扫描S0,S1,S2,S3是否有信号输入。
输出端有对应于4位选手编号的LED指示灯和用来锁存当前状态的4线2进制输出端外,还有一个STOP端用来指示S0,S1,S2,S3按钮状态(控制计时器停止)。
这个模块中一直作用的是高频时钟信号,主持人按下复位键,所以输出端都清零,抢答开始,计时器开始计时。
在有效时间内若有选手按下抢答键,STOP就有就发出高电平到时间控制系统的STOP端,计时器停止计时。
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语言四人抢答器

中南林业科技大学课程设计报告设计名称:基于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工具从数字系统设计的单一领域,应用范围己涉及模拟、微波等多个领域,可实现各个领域电子系统设计的测试、设计仿真和布局布线等。
基于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实现的嵌入式系统。
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、上。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
四人抢答器设计一、设计任务及要求:(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;use ieee. std_logic_unsigned.all;-------------------------------------------------------------------- entity qiangda isport( S1,S2,S3,S4 : in std_logic; --输入:表示4个人,为0表示有抢答 K : in std_logic; --主持人抢答开始键G : out std_logic; --报警信号ledag : out std_logic_vector (6 downto 0);Dout : out std_logic_vector(3 downto 0) ); --抢答结果显示end qiangda;-------------------------------------------------------------------- architecture behave of qiangda issignal Enable_Flag : std_logic;--允许抢答控制变量,为1表示允许抢答signal S : std_logic_vector(3 downto 0);signal D : std_logic_vector(3 downto 0);beginprocess(S1,S2,S3,S4,K) --允许抢答控制beginS<=S1&S2&S3&S4;If (K='1') thenEnable_Flag<='1';elsif(S/="1111") thenEnable_Flag<='0';end if;end process;process(S1,S2,S3,S4,K) --抢答结果显示 beginif(K='0') thenD<="0000";Elsif (Enable_Flag='1') thenif(S1='0') thenD(0)<='1';G<='0';elsif(S2='0') thenD(1)<='1';G<='0';elsif(S3='0') thenD(2)<='1';G<='0';elsif(S4='0') thenD(3)<='1';G<='0';end if;dout<=d;end if;end process;process(d) --显示抢答成功者号码begincase d iswhen "0000"=>ledag<="0111111";when "0001"=>ledag<="0000110";when "0010"=>ledag<="1011011";when "0100"=>ledag<="1001111";when "1000"=>ledag<="1100110";when others=>ledag<="0000000";end case;end process;end behave;以上VHDL程序的系统框图如图2所示。
图2 抢答部分框图通过MAX+PLUSⅡ软件仿真结果如图3所示。
从图中可看出S1和S2选手抢答情况,在K为高电平时,S1选手为低电平,抢答成功,报警信号G为低电平,给出报警信号,同时七段数码管译码为06H,显示1。
图3 抢答部分仿真图2、抢答倒计时程序此模块为抢答20s倒计时程序,在主持人按下按钮K后此模块即开始工作,在20s倒计时完后会有声音提示,G为声音报警信号。
LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY COUNT ISPORT (CLK, Enable_Flag: IN STD_LOGIC; H,L: OUT STD_LOGIC_VECTOR (3 DOWNTO 0);G:OUT STD_LOGIC); --声音报警END COUNT;ARCHITECTURE COUNT_ARC OF COUNT ISBEGINPROCESS (CLK, Enable_Flag)VARIABLE HH, LL: STD_LOGIC_VECTOR (3 DOWNTO 0);BEGINIF CLK'EVENT AND CLK='1'THENIF Enable_Flag='1'THENIF LL=0 AND HH=0 THENG<='1';ELSIF LL=0 THENLL: ="1001";HH: =HH-1;ELSELL: =LL-1;END IF;ELSEG<='0';HH: ="1001";LL: ="1001";END IF;END IF;H<=HH;L<=LL;END PROCESS;END COUNT_ARC;其模块结构图如图4所示:图4 倒计时结构图3、超前犯规抢答程序及仿真此模块为违规电路。
当抢答者在主持人复位系统之前就已按下抢答按钮,即当RESET=0时,有抢答信号出现,则Y=11表示某组违规,当RESET = 1时,显示违规组别。
其中K为主持人按钮,S1,S2,S3,S4为抢答按钮,R1,R2,R3,R4为对应组别犯规红色显示灯。
其VHDL源程序如下:LIBRARY ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;ENTITY wg ISPORT(K: IN std_logic;S1, S2, S3, S4: IN std_logic;R1, R2, R3, R4: OUT std_logic; --红色灯指示超前抢答台号y: OUT std_logic_VECTOR (1 DOWNTO 0) );END wg;ARCHITECTURE a OF wg ISSIGNAL TEMP1: STD_LOGIC;SIGNAL TEMP2: STD_LOGIC_VECTOR (1 DOWNTO 0);BEGINTEMP1<=S1 OR S2 OR S3 OR S4 ;TEMP2<=K&TEMP1;process(TEMP2) --显示抢答成功者号码begincase TEMP2 iswhen "01"=>Y<="11";when "10"=>Y<="00";when "11"=>Y<="00";when others=>Y<="00";end case;if(K<='0') thenif(S1='0') thenR1<='0';elsif(S2='0') thenR2<='0';elsif(S3='0') thenR3<='0';elsif(S4='0') thenR4<='0';end if;end if;end process;END a;通过VHDL程序可生成其对应的框图如图5所示:图5犯规部分框图同样在MAX+PLUSⅡ环境下可得到其对应的仿真分析图如图6所示。
从仿真分析可看出在为高电平前,S1按钮有超前抢答低电平出现,故Y=11表示有超前抢答产生,同时R1为低电平,对应S1选手的红灯亮,指示其违规抢答。