基于EDA的智力抢答器的课程设计说明
eda抢答器课程设计

eda抢答器课程设计一、课程目标知识目标:1. 学生能够理解EDA(电子设计自动化)的基本概念,掌握抢答器的设计原理;2. 学生能够运用所学知识,设计并实现一个简易的抢答器系统;3. 学生能够了解并掌握抢答器电路中各个元器件的功能及相互关系。
技能目标:1. 学生能够运用EDA软件进行电路设计,提高实践操作能力;2. 学生能够通过小组合作,提高团队协作能力和沟通能力;3. 学生能够运用所学知识解决实际问题,培养创新意识和动手能力。
情感态度价值观目标:1. 学生通过本课程的学习,培养对电子技术的兴趣,激发学习热情;2. 学生在小组合作中,学会尊重他人意见,培养团结协作的精神;3. 学生在课程实践中,认识到科技对生活的影响,增强社会责任感和创新意识。
课程性质:本课程为实践性较强的电子技术课程,旨在培养学生的动手能力和创新精神。
学生特点:学生处于初中或高中阶段,具有一定的电子技术基础和动手能力,对新鲜事物充满好奇心。
教学要求:教师需引导学生通过小组合作,运用所学知识设计并实现抢答器,注重培养学生的实践能力和团队协作精神。
在教学过程中,关注学生的个体差异,鼓励学生提问、思考,提高学生的自主学习和创新能力。
通过课程目标的分解,使学生在实践中达到预期的学习成果,为后续的教学设计和评估提供依据。
二、教学内容本课程教学内容围绕以下三个方面进行组织:1. 理论知识:- 电子设计自动化(EDA)基本概念与原理;- 抢答器的工作原理及电路设计;- 抢答器电路中各个元器件的功能及选型。
教学内容关联教材章节:第二章 电子设计自动化基础、第三章 电路设计与仿真。
2. 实践操作:- EDA软件的使用方法与操作技巧;- 抢答器电路图的绘制与仿真;- 抢答器硬件电路的搭建与调试。
教学内容关联教材章节:第四章 EDA工具使用、第五章 实践操作。
3. 小组合作与创新:- 学生分组进行抢答器设计,分工合作,共同完成项目;- 学生在实践过程中,培养团队协作、沟通能力;- 学生针对实际问题进行创新设计,提高创新意识。
基于EDA技术的智能抢答器的设计

基于EDA技术的智能抢答器的设计篇一:EDA技术的智能抢答器的设计实习报告题目:数字逻辑系统设计班级:姓名:学号:专业:实验室:开放实验室实习时间:一、实习教学的目的:本实习为综合性、设计性实习,目的是加强学生的实践技能提高学生综合分析问题,解决问题的能力。
二、实习教学的基本要求:1、加深对数字逻辑系统设计、数字电子技术课程所学理论的认识和理解,分析课题的要求,明确课题的内容。
2、根据系统划分,正确写出VHDL源程序并仿真验证,最后下载到实验箱上进行验3、掌握课题电路的作用原理及主要电路的设计方法,掌握课题中各关键部件的描述方法三、实习教学的内容:设计:数字式竞赛抢答器1、设计一个可容纳4组参赛的数字式抢答器,每组设一个按钮,供抢答使用。
2、抢答器具有第一信号鉴别和锁存功能,使除第一抢答者外的按钮不起作用。
3、设置一个主持人“复位”按钮。
4、主持人复位后,开始抢答,第一信号鉴别锁存电路得到信号后,有指示灯显示抢答组别,扬声器发出2~3秒的音响。
5、设置一个计分电路,每组开始预置100分,由主持人记分,答对一次加10分,答错一次减10分。
三单元模块设计部分单元模块设计部分分四个部分,包括:抢答模块,计时模块,计分模块,数据选择模块。
每个模块的作用分别为:1.抢答模块:实现四路抢答功能,以选手最快速度将拨码开关置1为抢答成功。
2.计分模块:实现每位选手答题的计分功能,有手动加分减分功能,当选手抢答成功后10秒仍未答题则自动减分。
3.计时模块:实现选手答题的计时功能,若选手抢答成功后没有答题则计时模块会发出信号给计分模块。
4.数据选择模块:当选手抢答成功后,以该选手的号码最为数据选择的地址,数据选择将计时模块的减分信号线与该选手的计分模块相连接,若选手没有答题则扣分。
抢答模块的设计其程序如下:library ieee;use _logic_;use _logic_;entity qiangda isport( a:in std_logic;b:in std_logic;c:in std_logic;d:in std_logic;en_out:out std_logic;en:in std_logic;adrout:out std_logic_vector(3 downto 0); led_out:buffer std_logic_vector(6 downto 0)); end qiangda;architecture bhv of qiangda issignal key_in:std_logic_vector(3 downto 0); beginprocess(en)beginif en=‘1’thenkey_inled:=“1000000”;--0when”1000”=>led:=“1111001”;--1when”0100”=>led:=“0100 100”;--2when”0010”=>led:=“0110000”;--3when”0001”=>le d:=“0011001”;--4when others=>led:=null; end case;led_out篇二:基于EDA四位智能竞赛抢答器四位智能竞赛抢答器第一章系统设计第一节课题目标是一门技术性、应用性很强的学科,实验课教学是它的一个极为重要的环节。
EDA课程设计 VHDL四路智力抢答器

EDA课程设计 VHDL四路智力抢答器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的好像计时。
EDA课程设计报告--EDA数字抢答器

学生课程设计报告课程名称:EDA数字抢答器目录一、课程设计目的 (3)二、课程设计题目描述和要求 (3)三、课程设计报告内容 (4)四、结论 (21)五、结束语 (22)六、参考书目 (22)一、课程设计目的.设计一个可容纳4组参赛的数字式抢答器。
通过此次设计熟练掌握VHDL 语言,并掌握设计所用的软件。
二、课程设计题目描述和要求在许多比赛活动中,为了准确、公正、直观地判断出第一抢答者通常设置一台抢答器,通过数显、灯光及音响等多种手段指示出第一抢答者。
同时,还可以设置计分、犯规及奖惩计录等多种功能。
本设计的具体要求是:(1) 设计制作一个可容纳四组参赛者的数字智力抢答器,每组设置一个抢答按钮供抢答者使用。
(2) 电路具有第一抢答信号的鉴别和锁存功能。
(3) 系统具有计分电路。
(4) 系统具有犯规电路。
系统设计方案:系统的输入信号有:各组的抢答按钮A、B、C、D,系统清零信号CLR,系统时钟信号CLK,计分复位端RST,加分按钮端ADD,计时预置控制端LDN,计时使能端EN,计时预置数据调整按钮可以用如TA、TB表示;系统的输出信号有:四个组抢答成功与否的指示灯控制信号输出口可用如LEDA、LEDB、LEDC、LEDD表示,四个组抢答时的计时数码显示控制信号若干,抢答成功组别显示的控制信号若干,各组计分动态显示的控制信号若干。
整个系统至少有三个主要模块:抢答鉴别模块;抢答计时模块;抢答计分模块,其他功能模块(犯规警告模块,输出显示模块)。
三、课程设计报告内容按照要求,我们可以将整个系统分为四个主要模块:抢答鉴别模块;抢答计时模块;抢答计分模块;译码显示模块。
对于需显示的信息,需要增加或外接译码器,进行显示译码。
考虑到实验开发平台提供的输出显示资源的限制,我们将组别显示和计时显示的译码器内设,而将各组的计分显示的译码器外接。
整个系统的大致组成框图如图2.1所示。
图2.1 LED A LED B LED C LED D3.1抢答鉴别模块3.1.1抢答鉴别模块的功能抢答队伍共分为四组A,B,C,D。
EDA课设-智力竞赛抢答器设计

1 引言无论是在学校、工厂、军队还是益智性电视节目, 都会举办各种各样的智力竞赛, 都会用到抢答器。
目前市场上已有各种各样的智力竞赛抢答器, 但绝大多数是早期设计的, 以模拟电路、数字电路或者模拟电路与数字电路相结合的产品。
这部分抢答器已相当成熟, 但功能越多的电路相对来说就越复杂, 且成本偏高, 故障高, 显示方式简单(有的甚至没有显示电路), 无法判断提前抢按按钮的行为, 不便于电路升级换代。
本设计就是基于VHDL设计的一个智力竞赛抢答器尽量使竞赛真正达到公正、公平、公开。
基于EDA技术设计的电子抢答器,以其价格便宜、安全可靠、使用方便而受到了人们的普遍欢迎。
本文以现场可编程逻辑器件(FPGA)为设计载体,以硬件描述语言VHDL为主要表达方式,以QuartusⅡ开发软件设计的电子抢答器,具有抢答鉴别与锁存功能以及10秒答题限时功能。
EDA技术是在电子CAD技术基础上发展起来的计算机软件系统,是指以计算机为工作平台,融合了应用电子技术、计算机技术、信息处理及智能化技术的最新成果,进行电子产品的自动设计。
利用EDA工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析范畴用得很宽。
包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军到设计出IC版图或PCB版图的整个过程在计算机上自动处理完成。
现在对EDA的概念或事等各个领域,都有EDA的应用。
目前EDA 技术已在各大公司、企事业单位和科研教学部门广泛使用。
例如在飞机制造过程中,从设计、性能测试及特性分析直到飞行模拟,都可能涉及到EDA技术。
本文所指的EDA技术,主要针对电子电路设计、PCB设计和IC设计。
EDA 设计可分为系统级、电路级和物理实现级。
1.1 设计的目的本次设计的目的就是在掌握EDA实验开发系统的初步使用基础上,了解EDA技术,了解并掌握VHDL硬件描述语言的设计方法和思想,通过学习的VHDL语言结合电子电路的设计知识理论联系实际,掌握所学的课程知识,学习VHDL基本单元电路的综合设计应用。
EDA抢答器课程设计

课程设计报告课程名称: EDA技术实例开发教程报告题目:抢答器设计学生姓名:所在学院:信息科学与工程学院专业班级:电子信息工程1102班学生学号:指导教师:二0一四年6月20日课程设计任务书报告题目抢答器设计完成时间2周学生姓名专业班级电信1102班指导教师职称讲师总体设计要求和技术要点1.任务采用EDA技术,设计一个4人抢答器。
系统图如下:按键检测时钟分频计数器时间译码显示MAINCLK CLK1CLK2键号译码显示时间检测K1K2K0K32.要求(1)1个主持键、4个抢答键。
(2)抢答的键号用一个数码管显示(可以采用静态显示)。
(3)抢答的时间用两位数码管显示(可以采用静态显示),精确到0.1s。
(4)主持键按下,4个抢答键才有效,时间从0.0s开始计时。
(5)当时间到8.8s还没人按抢答键,抢答停止,抢答键无效;当主持键再次按下才有效。
(6)在规定时间内抢答键按下时,显示先按下的键号,时间停止,抢答键无效;当主持键再次按下才有效。
(7)必须先进行前仿真,并打印出仿真波形。
工作内容及时间进度安排第17周:周1---周3 :立题、论证方案设计周4---周5 :程序设计与调试第18周:周1---周3 :硬件调试与仿真测试、撰写课程设计报告周4---周5 :验收答辩课程设计成果1.与设计内容对应的软件程序2.课程设计总结报告抢答器作为一种工具,已广泛应用于各种智力和知识竞赛场合。
但抢答器的使用频率较低,且有的要么制作复杂,要么可靠性低。
作为一个单位,如果专门购一台抢答器虽然在经济上可以承受,但每年使用的次数极少,往往因长期存放使(电子器件的)抢答器损坏,再购置的麻烦和及时性就会影响活动的开展,因此设计了本抢答器。
该设计可以分为4个模块进行设计,分别是抢答模块,计数使能模块,计数模块和整合模块。
从外面输入一个1Hz的脉冲,通过分频器分为系统的输入信号clk1和计数器的输入信号clk2、复位清零信号clr、主持人开始按按键main、选手抢答信号k0、k1、k2和k3。
EDA课程设计四路智能抢答器
一、课题简介在许多比赛活动中,为了准确、公正、直观地判断出第一抢答者,通常设置一台抢答器,通过数显、灯光及音响等各种手段批示出第一抢答者。
同时,还可以设置计分、犯规及奖惩记录等各种功能。
本设计的具体要求是:设计制作一个可容纳四组参赛者的数字智力抢答器,每组设置一个抢答按钮供抢答者使用。
(2) 电路具有第一抢答信号的鉴别和锁存功能。
(3)系统具有计时功能(4)系统具有计分电路。
二、课题背景数字电路产品在生活中有着极其广泛的应用,包括计算机、数字通信、智能仪器仪表、自动控制及航天等领域中。
这些给人们生活,工作等方面带来了极大的方便。
数字电路设备实现简单,速度和可靠性好。
智力竞赛是一种能锻炼人的头脑开发人的IQ的一种大众化游戏,也起到娱乐的作用。
现在智力竞赛越来越被多数人喜爱和娱乐,而且国内外各地电视台、工厂、学校等单位也会常常举办类似的智力竞赛活动,然而智力竞赛抢答器是必要设备。
在有些地方举行的各种智力竞赛游戏中我们经常看到有抢答的环节,举办方大多数采用让选手通过举答题板的方法或者是举手的方式判断选手的答题权,这在某种程度上会因为主持人的主观误断造成比赛的不公平性。
所以,我们就需要一种具备自动锁存,置位,清零等功能智能抢答器来解决这些问题。
三、课题在国内外的研究现状抢答器一般分为电子抢答器和电脑抢答器。
电子抢答器的中心构造一般都是由抢答器由数字电子集成电路组成,其搭配的配件不同又分为,非语音非记分抢答器和语音记分抢答器。
非语音记分抢答器构造很简单,就是一个抢答器的主机和一个抢答按钮组成,在抢答过程中选手是没有记分的显示屏。
语音记分抢答器是由一个抢答器的主机、主机的显示屏以及选手的记分显示屏等构成,具有记分等功能。
电子抢答器多适用于学校和企事业单位举行的简单的抢答活动。
电脑抢答器又分为无线电脑抢答器和有线电脑抢答器。
无线电脑抢答器的构成是由:主机和抢答器专用的软件和无线按钮。
无线电脑抢答器利用电脑和投影仪,可以把抢答气氛活跃起来,一般多使用于电台等大型的活动。
EDA智力竞赛抢答器设计
EDA智力竞赛抢答器设计一、实训目的:1、了解竞赛抢答器的工作原理;2、熟悉VHDL语言编程,了解实际设计中的优化方案。
二、实训内容:设计一个数字式竞赛抢答器,可以判断第一抢答者,并具备计分功能。
抢答器可以容纳四组参赛者同时抢答,每组设置一个按钮供抢答者使用。
设置抢答器使能信号,当此信号有效时,若参赛者按下抢答开关,则抢答器能判断出第一抢答者并指示该组抢答成功,其他组参赛者的抢答开关不起作用;若提前抢答,则对相应的参赛者发出警报。
如果抢答成功的参赛者满足得分条件,则增加相应的分数,答错不扣分。
鉴别模块library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity jianbie isport(EN1,RST1:in std_logic;A,B,C,D:in std_logic;A1,B1,C1,D1:out std_logic;STA TES:out std_logic_vector(3 downto 0));end jianbie;architecture one of jianbie issignal tmp:std_logic;beginprocess(A,B,C,D,RST1,tmp)beginif RST1='1' thentmp<='1';STATES<="0000";elsif tmp='1' thenif (A='1'AND B='0'AND C='0'AND D='0' ) thenA1<='1'; B1<='0'; C1<='0'; D1<='0'; STA TES<="0001"; tmp<='0';ELSIF (A='0'AND B='1'AND C='0'AND D='0') THENA1<='0'; B1<='1'; C1<='0'; D1<='0';STATES<="0010";tmp<='0';ELSIF (A='0'AND B='0'AND C='1'AND D='0') THENA1<='1'; B1<='0'; C1<='1'; D1<='0'; STATES<="0011"; tmp<='0';ELSIF (A='0'AND B='0'AND C='0'AND D='1') THENA1<='0'; B1<='0'; C1<='0'; D1<='1'; STATES<="0100";tmp<='0';else tmp<='1';STATES<="0000";end if ;end if;end process p1;end one;计分模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY jifen ISPORT(RST1: IN STD_LOGIC;ADD: IN STD_LOGIC;CHOS: 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 jifen ;ARCHITECTURE ART OF jifen ISBEGINPROCESS(RST1,ADD,CHOS) ISV ARIABLE POINTS_A2,POINTS_A1: STD_LOGIC_VECTOR(3 DOWNTO 0);V ARIABLE POINTS_B2,POINTS_B1: STD_LOGIC_VECTOR(3 DOWNTO 0);V ARIABLE POINTS_C2,POINTS_C1: STD_LOGIC_VECTOR(3 DOWNTO 0);V ARIABLE POINTS_D2,POINTS_D1: STD_LOGIC_VECTOR(3 DOWNTO 0); BEGINIF (ADD'EVENT AND ADD='1') THENIF RST1='1' THENPOINTS_A2:="0001"; POINTS_A1:="0000";POINTS_B2:="0001"; POINTS_B1:="0000";POINTS_C2:="0001"; POINTS_C1:="0000";POINTS_D2:="0001"; POINTS_D1:="0000";ELSIF CHOS="0001" THENIF POINTS_A1="1001" THENPOINTS_A1:="0000";IF POINTS_A2="1001" THENPOINTS_A2:="0000";ELSEPOINTS_A2:=POINTS_A2+'1';END IF;ELSEPOINTS_A1:=POINTS_A1+'1';END IF;ELSIF CHOS="0010" THENIF POINTS_B1="1001" THENPOINTS_B1:="0000";IF POINTS_B2="1001" THENPOINTS_B2:="0000";ELSEPOINTS_B2:=POINTS_B2+'1';END IF;ELSEPOINTS_B1:=POINTS_B1+'1';END IF;ELSIF CHOS="0100" THENIF POINTS_C1="1001" THENPOINTS_C1:="0000";IF POINTS_C2="1001" THENPOINTS_C2:="0000";ELSEPOINTS_C2:=POINTS_C2+'1';END IF;ELSEPOINTS_C1:=POINTS_C1+'1';END IF;ELSIF CHOS="1000" THENIF POINTS_D1="1001" THENPOINTS_D1:="0000";IF POINTS_D2="1001" THENPOINTS_D2:="0000";ELSEPOINTS_D2:=POINTS_D2+'1';END IF;ELSEPOINTS_D1:=POINTS_D1+'1';END IF;END IF;END IF;AA2<=POINTS_A2; AA1<=POINTS_A1; AA0<="0000";BB2<=POINTS_B2; BB1<=POINTS_B1; BB0<="0000";CC2<=POINTS_C2; CC1<=POINTS_C1; CC0<="0000";DD2<=POINTS_D2; DD1<=POINTS_D1; DD0<="0000"; END PROCESS;END ARCHITECTURE ART;显示模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY xianshi ISPORT(AIN4:IN STD_LOGIC_VECTOR(3 DOWNTO 0);DOUT7:OUT STD_LOGIC_VECTOR(6 DOWNTO 0));END xianshi;ARCHITECTURE ART OF xianshi ISBEGINPROCESS(AIN4)BEGINCASE AIN4 ISWHEN "0000"=>DOUT7<="0111111"; --0WHEN "0001"=>DOUT7<="0000110"; --1WHEN "0010"=>DOUT7<="1011011"; --2WHEN "0011"=>DOUT7<="1001111"; --3WHEN "0100"=>DOUT7<="1100110"; --4WHEN "0101"=>DOUT7<="1101101"; --5WHEN "0110"=>DOUT7<="1111101"; --6WHEN "0111"=>DOUT7<="0000111"; --7WHEN "1000"=>DOUT7<="1111111"; --8WHEN "1001"=>DOUT7<="1101111"; --9WHEN OTHERS=>DOUT7<="0000000";END CASE;END PROCESS;END ARCHITECTURE ART;顶端模块library ieee;use ieee.std_logic_1164.all;entity diangduan isport(EN1 : in std_logic;RST1: IN STD_LOGIC;A,B,C,D: in std_logic;ADD: in std_logic;A1:out std_logic;B1:out std_logic;C1:out std_logic;D1:out std_logic;STATES :OUT STD_LOGIC_VECTOR(3 DOWNTO 0);FIRST:OUT STD_LOGIC_VECTOR(6 DOWNTO 0);SCOREA2,SCOREA1,SCOREA0:OUT std_logic_vector(6 downto 0);SCOREB2,SCOREB1,SCOREB0:OUT std_logic_vector(6 downto 0);SCOREC2,SCOREC1,SCOREC0:OUT std_logic_vector(6 downto 0);SCORED2,SCORED1,SCORED0:OUT std_logic_vector(6 downto 0));END diangduan;ARCHITECTURE rtl OF diangduan ISCOMPONENT jianbie ISport(EN1: in std_logic;RST1:in std_logic;A,B,C,D: in std_logic;A1:out std_logic;B1:out std_logic;C1:out std_logic;D1:out std_logic;STATES :OUT STD_LOGIC_VECTOR(3 DOWNTO 0));END COMPONENT jianbie;COMPONENT jifen isPORT(RST1: IN STD_LOGIC;ADD: IN STD_LOGIC;CHOS: 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 COMPONENT jifen;COMPONENT xianshi ISPORT(AIN4: IN STD_LOGIC_VECTOR(3 DOWNTO 0);DOUT7:OUT STD_LOGIC_VECTOR(6 DOWNTO 0));END COMPONENT xianshi;SIGNAL Q: STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL AA2,AA1,AA0: std_logic_vector(3 downto 0);SIGNAL BB2,BB1,BB0: std_logic_vector(3 downto 0);SIGNAL CC2,CC1,CC0: std_logic_vector(3 downto 0);SIGNAL DD2,DD1,DD0: std_logic_vector(3 downto 0);BEGINU1:jianbie PORT MAP(EN1,RST1,A,B,C,D,A1,B1,C1,D1,STATES);-- U2:counter PORT MAP(ADD,Q,SCOREA2,SCOREA1,SCOREA0,SCOREB2,SCOREB1,SCOREB0,SCOREC2,S COREC1,SCOREC0,SCORED2,SCORED1,SCORED0);U2:jifen PORT MAP(RST1,ADD,Q,AA2,AA1,AA0,BB2,BB1,BB0,CC2,CC1,CC0,DD2,DD1,DD0);U3:xianshi PORT MAP(Q,FIRST);U4:xianshi PORT MAP(AA2,SCOREA2);U5:xianshi PORT MAP(AA1,SCOREA1);U6:xianshi PORT MAP(AA0,SCOREA0);U7:xianshi PORT MAP(BB2,SCOREB2);U8:xianshi PORT MAP(BB1,SCOREB1);U9:xianshi PORT MAP(BB0,SCOREB0);U10:xianshi PORT MAP(CC2,SCOREC2);U11:xianshi PORT MAP(CC1,SCOREC1);U12:xianshi PORT MAP(CC0,SCOREC0);U13:xianshi PORT MAP(DD2,SCORED2);U14:xianshi PORT MAP(DD1,SCORED1);U15:xianshi PORT MAP(DD0,SCORED0);END rtl;。
(成都大学)EDA课程设计题目及解决方案(抢答器)
EDA课程设计设计题目:智力竞赛抢答器一.电路功能:可满足8个组,同时参加竞赛。
抢答器复位后,数码显示为0,在竞赛主持人出完题并示意抢答开始后,每个组都可以通过各自的按钮开关发出抢答信号,抢答器一旦接收到某组最先发出的信号后,立即让数码管显出该组的组号,同时发出音响提示,且对后来组发出的抢答信号一律不与理睬。
主持人用复位钮复位抢答器,数码显示归0,提示音停止,在抢答组回答完问题后,重复前述过程,可进行下一题抢答。
二.原理框图(见附图)三.设计要求用VHDL语言描述抢答器逻辑功能,经编译后仿真,仿真波形正确后,加上段码译码器编译通过后方可在实验箱上下载,做真实电路验证。
四. 撰写设计报告给出设计方案框图,包括模块的划分,信息的传递关系;给出各模块的VHDL程序;给出每个模块的仿真波形图,并附以文字说明;写出设计的心得体会和收获。
一.结构描述法1(先锁存后编码)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY scq_8 ISPORT (g: IN STD_LOGIC_VECTOR (8 DOWNTO 1); rst, en: IN STD_LOGIC;q: OUT STD_LOGIC_VECTOR (8 DOWNTO 1)); END scq_8;ARCHITECTURE one OF scq_8 ISBEGINPROCESS ( rst, en)BEGINIF rst='0' THENq<= "11111111";ELSIF en ='1' THENq<=g;END IF;END PROCESS;END one;LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY bm8_4 ISPORT(d: IN STD_LOGIC_VECTOR(8 DOWNTO 1); sum: OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); END bm8_4;ARCHITECTURE one OF bm8_4 ISBEGINPROCESS(d)BEGINCASE d ISWHEN "11111110" => sum<="0001";WHEN "11111101" => sum<="0010";WHEN "11111011" => sum<="0011";WHEN "11110111" => sum<="0100";WHEN "11101111" => sum<="0101";WHEN "11011111" => sum<="0110";WHEN "10111111" => sum<="0111";WHEN "01111111" => sum<="1000";WHEN OTHERS => sum<="0000";END CASE;END PROCESS;END one;LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY DECL7S ISPORT(A: IN STD_LOGIC_VECTOR(3 DOWNTO 0);LED7S: OUT STD_LOGIC_VECTOR(6 DOWNTO 0)); END;ARCHITECTURE one OF DECL7S ISBEGINPROCESS(A)BEGINCASE A ISWHEN "0000" => LED7S <= "0111111";WHEN "0001" => LED7S <= "0000110";WHEN "0010" => LED7S <= "1011011";WHEN "0011" => LED7S <= "1001111";WHEN "0100" => LED7S <= "1100110";WHEN "0101" => LED7S <= "1101101";WHEN "0110" => LED7S <= "1111101";WHEN "0111" => LED7S <= "0000111";WHEN "1000" => LED7S <= "1111111";WHEN "1001" => LED7S <= "1101111";WHEN "1010" => LED7S <= "1110111";WHEN "1011" => LED7S <= "1111100";WHEN "1100" => LED7S <= "0111001";WHEN "1101" => LED7S <= "1011110";WHEN "1110" => LED7S <= "1111001";WHEN "1111" => LED7S <= "1110001";WHEN OTHERS => NULL;END CASE;END PROCESS;END;四.状态机描述法LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY qdq8_1 ISPORT(rst,clk: STD_LOGIC;g: IN STD_LOGIC_VECTOR(8 DOWNTO 1);q: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);sq: OUT STD_LOGIC );END qdq8_1;ARCHITECTURE one OF qdq8_1 ISTYPE s IS (s0,s1);SIGNAL crt_s: s;SIGNAL sum: STD_LOGIC_VECTOR(3 DOWNTO 0); BEGINPROCESS(rst,clk,g)BEGINIF rst='0' THEN crt_s<=s0;ELSIF clk'event AND clk='1' THENCASE crt_s ISWHEN s0 => q<="0000";sq<='0';CASE g ISWHEN "11111110" => sum<="0001";crt_s<=s1;WHEN "11111101" => sum<="0010";crt_s<=s1;WHEN "11111011" => sum<="0011";crt_s<=s1;WHEN "11110111" => sum<="0100";crt_s<=s1; WHEN "11101111" => sum<="0101";crt_s<=s1; WHEN "11011111" => sum<="0110";crt_s<=s1; WHEN "10111111" => sum<="0111";crt_s<=s1; WHEN "01111111" => sum<="1000";crt_s<=s1; WHEN OTHERS => crt_s<=s0;END CASE;WHEN s1 => q<=sum; sq<='1';crt_s<=s1;END CASE;END IF;END PROCESS;END one;。
EDA课程设计—智力抢答器
燕山大学EDA课程设计报告书题目:智力竞赛抢答器姓名:班级:学号:成绩:(注:此文件应以同学学号为文件名)一、设计题目及要求设计题目:智力竞赛抢答器设计要求:1.10人参赛每人一个按钮,主持人一个按钮,按下就开始;2.每人一个发光二极管,抢中者灯亮;同时用两位数码管显示抢中的选手编号(01号~10号),无人抢答时显示00。
3.有人抢答时,喇叭响两秒钟。
4.答题时限为10秒钟,从有人抢答开始,用一位数码管倒计时间,0、9、8…1、0;倒计时到0的时候,蜂鸣器响两秒。
5. 设置加分和扣分按钮,答对一题按一次加分键加2分,答错按一次扣分键扣1分;用两位数码管显示得分情况,注意:显示其中一名选手的得分即可。
二、设计过程及内容(包括:○1总体设计的文字描述,即由哪几个部分构成的,各个部分的功能及如何实现方法;○2主要模块比较详尽的文字描述,并配以必要的图片加以说明,但图片数量无需太多)1、总体设计描述:智力抢答器一共分为5个模块,分别是:抢答器,加减法计数器,倒计时器(2s 倒计时计数器,10s倒计时计数器),秒脉冲,显示选手编号模块。
主持人按下按钮,比赛开始。
每当有选手抢答时,最先抢答的选手其对应的信号灯变亮,喇叭响两秒钟,数码管显示选手编号。
同时,计数器开始倒计时,十秒钟后,答题结束。
此时,喇叭响两秒钟。
主持人可以通过开关复位。
主持人根据选手回答情况计分,按下对应的按键,加减分数,用两位数码管将显示选手的当前得分。
(只显示一名选手的得分情况)总设计图:图1图2总图分为两部分:图1为抢答、显示、延时部分,图2为计分部分总仿真图:注:aaa与111是选手号的十位与个位,j{8-5}和j{4-1}是计分的十位与个位。
2、分部模块设计描述:抢答器:主持人输入高电平时,抢答开始,任一选手输入高电平时,其对应的信号灯发亮并在数码管显示编号。
其他选手失去抢答资格。
抢答器仿真图:倒计时计数器:选手抢答成功,2s倒计时倒计2s,此时喇叭响2s,从选手信号灯亮开始倒计时,十秒后,即接收十个脉冲信号之后,发一个脉冲给2s倒计时计数器,同时喇叭响2s。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于EDA的智力抢答器的课程设计说明山东建筑大学课程设计说明书目录摘要1、课程设计目的与要求 (1)2、课程设计原理 (1)3、课程设计内容 .................................................................................... .. (2)3.1软件整体设计 (3)3.2总体设计电路 (3)3.3模块设计和相应模块程序 (4)3.3.1抢答鉴别模块 (4)3.3.2计时模块 (7)3.3.3数据选择模块和译码模块 (9)3.3.4仿真及仿真结果分析 (11)结论与致谢 (12)参考文献 (13)附录 (14)摘要抢答器是为智力竞赛参赛者答题时进行抢答而设计的一种优先判决器电路,竞赛者可以分为若干组,抢答时各组对主持人提出的问题要在最短的时间内做出判断,并按下抢答按键回答问题。
当第一个人按下按键后,则在显示器上显示该组的号码,同时电路将其他各组按键封锁,使其不起作用。
若抢答时间内无人抢答,警报器发出警报。
回答完问题后,由主持人将所有按键恢复,重新开始下一轮抢答。
因此要完成抢答器的逻辑功能,该电路至少应包括抢答鉴别模块、计时模块、选择模块和报警模块组成。
关键词:抢答鉴别封锁计时报警Verilog HDL山东建筑大学课程设计说明书1、课程设计目的与要求根据设计要求分析智力抢答器的功能,掌握设计中所涉及到抢答锁存;抢答计时;数据选择;译码显示、Verilog HDL语言的编程技术,阐明设计原理。
设计供4个代表队比赛用的智力抢答器,技术参数和设计要求:(1)系统复位和抢答控制开关。
由主持人控制。
(2)复位后,主持人宣读试题,按下开始键,发动开始抢答命令,启动抢答限时计数器。
若在按下开始按键前有人抢答,犯规电路将发出声光提示,显示犯规组号。
(3)抢答器具有锁存与显示功能。
在限时内,选手按动按钮,锁存相应的编号,并在LED数码管上显示。
若限时到,则声光显示。
(4)抢答器具有定时抢答功能。
如果定时时间已到,无人抢答,本次抢答无效,系统报警并禁止抢答,定时显示器上显示00。
2、课程设计原理2.1功能分析抢答器具有第一信号鉴别和锁存功能,使除第一抢答者外的按钮无效;设置一个主持人“复位”按钮,主持人复位后,开始抢答,第一信号鉴别锁存电路得到信号后,用LED数码管显示抢答组别,蜂鸣器发出2~3s的音响。
2.2设计思路此设计问题可分为第一信号鉴别、锁存模块、答题计时电路模块、计分电路模块和扫描显示模块四个模块构成。
①此设计问题的关键是准确判断出第一抢答者并将其锁存,实现的方法可使用触发器或锁存器,在得到第一信号后将输入封锁,使其它组的抢答信号无效。
②形成第一抢答信号后,用编码、译码及数码显示电路显示第一抢答者的组别,用第一抢答信号控制一个具有2种工作频率交替变化的音频振荡器工作,推动扬声器发出2种笛音音响。
③计分电路采用十进制加/减计数器、数码管显示,由于每次都是加/减10分,所以个位始终为零,只要十位、百位进行加/减运算即可。
其流程图如下:图2.2 四路抢答器原理3、课程设计内容3.1软件整体设计YY N N Y图3.1 软件设计整体框架3.2总体设计电路开始已有判断是几号选手抢答,并将对应的LED灯点亮,蜂鸣提进行答答题时报警后,3.3模块设计和相应模块程序第一信号鉴别锁存模块的原理:①在得到第一信号后,准确判断出第一抢答者并将其锁存;②将输入端封锁,使其他组的抢答信号无效。
采用锁存器74175实现,如右图所示。
3.3.1抢答鉴别模块信号锁存电路信号定义:CLK:时钟信号;K1、K2、K3、K4:抢答按钮信号;out1、out2、out3、out4:抢答LED显示信号;judge:裁判员抢答开始信号;buzzout:示警输出信号;flag:答题是否超时的标志;module sel(clk,k1,k2,k3,k4,judge, seg,sl,out1,out2,out3,out4,out5,buzzout); input clk,k1,k2,k3,k4,judge;output out1,out2,out3,out4,out5,buzzout;reg out1,out2,out3,out4,out5,block,buzzout;output[7:0] seg;output[3:0] sl;reg[32:0] count;reg[27:0] counter;reg[7:0] seg_reg;reg[3:0] sl_reg ;reg flag;always@(posedge clk)begincounter=counter+1;//裁判员发开始抢答信号,初始化指示灯为灭、抢答的互斥量为0,蜂鸣器禁声if(!judge)begin{out1,out2,out3,out4,out5,block}<=6'b111110;count<=0;flag=0;endelsebeginif(!k1) //第一组别按键是否按下beginif(!block)beginout1=0;block=1; //封锁别组抢答信号count=1; //第一组已按下按钮,可启动答题计时器endend……else if(!k4) //第四组别按键是否按下beginif(!block)beginout4=0;block=1;count=1;endendseg_reg=8'hc0;if(count!=0)beginif(!out1)seg_reg=8'hf9;if(!out2)seg_reg=8'ha4;if(!out3)seg_reg=8'hb0;if(!out4)seg_reg=8'h99;endsl_reg =4'b0111;if(count!=0)beginif(count==32'h608f3d00) //如果答题时间到了30s,亮犯规灯begincount=0;out5=0;flag=1'b1; //置蜂鸣器发声标志endelsebegincount=count+1;endendendend////蜂鸣器发声always@(counter[7])if(flag==1) buzzout=!(counter[11]&counter[22]&counter[27]);else buzzout=1'b0;assign seg=seg_reg;assign sl=sl_reg;endmodule抢答鉴别模块图抢答鉴别模块用来准确直观地判断K1,K2,K3,K4四组抢答者谁最先按下按钮,并为显示端送出信号,通过数显和蜂鸣等途径使观众能够清楚地知道是哪一组抢答成功,是整个系统的核心部分。
同时组别显示端为下一模块输入信号,以方便主持人为该组抢答成功者进行加减分的操作。
3.3.2计时模块module jsq(out,clk,reset);output out;reg [3:0] qh;reg [3:0] ql;reg out;input clk,reset;always @(posedge clk or negedge reset)beginout<=0;if(~reset){qh,ql}<=0;elsebeginif({qh,ql}==8'h03)begin{qh,ql}<=0;out<=1;endelsebeginif(~out)beginif(ql==9)begin ql<=0;qh<=qh+1;endelsebeginql<=ql+1;endendendendendendmodule计时模块图在这个模块中主要实现抢答过程中的计时功能,在有抢答开始后进行30秒的倒计时,并且在30秒倒计时后无人抢答显示超时并报警。
系统复位信号reset;3.3.3数据选择模块和译码模块modulesell(in1,in2,in3,in4,in5,in6,in7,in8,clk,ms1,ms2,ms3,ms4,ms5,ms6,ms7,ms8,a,b,c,d,e,f,g); input clk;input [3:0] in1,in2,in3,in4,in5,in6,in7,in8;output ms1,ms2,ms3,ms4,ms5,ms6,ms7,ms8,a,b,c,d,e,f,g;reg ms1,ms2,ms3,ms4,ms5,ms6,ms7,ms8,a,b,c,d,e,f,g;reg [3:0] temp,flag;always@(posedge clk)begin{ms1,ms2,ms3,ms4,ms5,ms6,ms7,ms8}=8'b00000000;flag=flag+1;case(flag)0:begin temp=in1;ms1=1;end1:begin temp=in2;ms2=1;end2:begin temp=in3;ms3=1;end3:begin temp=in4;ms4=1;end4:begin temp=in5;ms5=1;end5:begin temp=in6;ms6=1;end6:begin temp=in7;ms7=1;end7:begin temp=in8;ms8=1;end endcasecase(temp)4'd0:{a,b,c,d,e,f,g}=7'b1111110;4'd1:{a,b,c,d,e,f,g}=7'b0110000;4'd2:{a,b,c,d,e,f,g}=7'b1101101;4'd3:{a,b,c,d,e,f,g}=7'b1111001;4'd4:{a,b,c,d,e,f,g}=7'b0110011;4'd5:{a,b,c,d,e,f,g}=7'b1011011;4'd6:{a,b,c,d,e,f,g}=7'b1011111;4'd7:{a,b,c,d,e,f,g}=7'b1110000;4'd8:{a,b,c,d,e,f,g}=7'b1111111;4'd9:{a,b,c,d,e,f,g}=7'b1111011; default:{a,b,c,d,e,f,g}=7'b1111110; endcaseendendmodule在这个模块中主要实现抢答过程中将BCD码转换成7段的功能。
3.4仿真及仿真结果分析抢答鉴别计时在这个模块中主要实现抢答过程中的计时功能,在有抢答开始后进行30秒的倒计时,并且在30秒倒计时后无人抢答显示超时并报警。