EDA课程设计--四人智力竞赛计数抢答器

合集下载

数字电路课程设计 四人智力竞赛抢答器

数字电路课程设计 四人智力竞赛抢答器

题目一、设计任务和要求:1.设计任务设计一台可供4名选手参加比赛的智力竞赛抢答器。

用数字显示抢答倒计时间,由“9”倒计到“0”时,无人抢答,蜂鸣器连续响0.5秒。

选手抢答时,数码显示选手组号,同时蜂鸣器响0.5秒,倒计时停止。

2.设计要求(1)、4名选手编号为:1,2,3,4。

各有一个抢答按钮,按钮的编号与选手的编号对应,也分别为1,2,3,4。

(2)、给主持人设置一个控制按钮,用来控制系统清零(抢答显示数码管灭灯)和抢答的开始。

(3)、抢答器具有数据锁存和显示的功能。

抢答开始后,若有选手按动抢答按钮,该选手编号立即锁存,并在抢答显示器上显示该编号,同时扬声器给出音响提示,封锁输入编码电路,禁止其他选手抢答。

抢答选手的编号一直保持到主持人将系统清零为止。

(4)、抢答器具有定时(9秒)抢答的功能。

当主持人按下开始按钮后,定时器开始倒计时,定时显示器显示倒计时间,若无人抢答,倒计时结束时,扬声器响,音响持续0.5秒。

参赛选手在设定时间(9秒)内抢答有效,抢答成功,扬声器响,音响持续0.5秒,同时定时器停止倒计时,抢答显示器上显示选手的编号,定时显示器上显示剩余抢答时间,并保持到主持人将系统清零为止。

(5)、如果抢答定时已到,却没有选手抢答时,本次抢答无效。

系统扬声器报警(音响持续0.5秒),并封锁输入编码电路,禁止选手超时后抢答,时间显示器显示0。

(6)、用石英晶体振荡器产生频率为1H z的脉冲信号,作为定时计数器的CP信号。

二、总体方案选择:电路主要由脉冲产生电路、锁存电路、编码及译码显示电路、倒计时电路和音响产生电路组成。

当有选手抢答时,首先锁存,阻止其他选手抢答,然后编码,再经4线7段译码器将数字显示在显示器上同时产生音响。

主持人宣布开始抢答时,倒计时电路启动由9计到0,如有选手抢答,倒计时停止。

电路系统结构如图2-4:三、单元电路设计1、控制电路1) CD4511器件简介CD4511是一块BCD-十进制七段译码/驱动器课本上不曾讲过,它带有锁存端口,其功能比书上我们学过的74HC4511CMOS七段显示译码器功能要强大的多,这也是我本此实验选用这个器件的缘故。

EDA课程设计报告--EDA数字抢答器

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课程设计—四人抢答器设计

EDA课程设计—四人抢答器设计

EDA课程设计—四⼈抢答器设计摘要现代⽣活中,数字电路产品与我们接触的是越来越平凡了,包括计算机、电⼦表、智能仪器表及其它很多领域中,它给我们带来的不仅是⼯作上的⽅便,⽽且也给我们的⽣活娱乐添滋加彩。

这次EDA课程设计中,我做的是四⼈抢答器,基于设计要求,本⽂主要是从锁存器及计数器功能和VHDL语⾔着⼿,但侧重点在⽤VHDL语⾔上。

⾸先简单介绍⼀下数字电路、EDA、VHDL等的有关知识,其次介绍了⼀下设计要求和我的设计构想,再运⽤VHDL语⾔特点,写出程序代码,最后是⼀些总结和抢答器部分实验电路图与倒计时设计的电路图和⽤MAX+PLUSII软件仿真的结果部分图附录等部分。

关键词:置位;复位;锁存;计数器;七段显⽰器;MAX+PLUSII;译码器⽬录摘要: (1)引⾔: (2)⼀、设计任务及要求: (2)⼆、题⽬分析与整体构思: (2)三、VHDL程序设计: (3)四、⼼得体会及模型评价与推⼴: (5)附录: (6)参考⽂献: (10)引⾔数字电路主要是基于两个信号(我们可以简单的说是有电压和⽆电压),⽤数字信号完成对数字量进⾏算术运算和逻辑运算的电路我们称之为数字电路,它具有逻辑运算和逻辑处理等功能,数字电路可分为组合逻辑电路和时序逻辑电路。

EDA技术⼜称电⼦设计⾃动化,它是为解决⾃动控制系统设计⽽提出的,从70年代经历了计算机辅助设计(CAD),计算机辅助⼯程(CAE),电⼦系统设计⾃动化(ESDA)3个阶段。

前两个阶段的EDA产品都只是个别或部分的解决了电⼦产品设计中的⼯程问题;第三代EDA⼯具根据⼯程设计中的瓶颈和⽭盾对设计数据库实现了统⼀管理,并提出了并⾏设计环境概念,提供了独⽴于⼯艺和⼚家的系统级的设计⼯具。

VHDL(VERY HIGH SPEED INTEGRA TED CIRCUIT HARDW ARE DESCRIPTION LANGUAGE)语⾔最早是有美国国防部提出的,它⽀持⾏为领域和结构领域的硬件描述,并且可以从最抽象的系统级⼀直到最精确的逻辑级,在描述数字系统时,可以使⽤前后⼀致的语义和语法跨越多个层次,并且使⽤跨越多个级别的混合描述模拟该系统。

EDA抢答器课程设计

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。

课程设计报告(四人智力抢答器)

课程设计报告(四人智力抢答器)

智力竞赛抢答计时器一、设计要求与任务1设计任务智力竞赛抢答器是一名裁判员,他的任务是从若干竞赛者中确定最先抢答者,并要求参赛者在规定的时间里回答完问题。

本设计要求设计一个四人参加的智力竞赛抢答器,每个参赛者控制一个按钮,用按动按钮发出抢答信号;竞赛主持人另有一个按钮,用于将电路复位,竞赛开始后,先按动按钮者将对应的一个发光二级管点亮,此后其他三人再按动按钮对电路不起作用,同时电路具有回答问题时间控制功能,要求回答时间小于60秒(显示0~59),时间显示选用倒计时方式,当达到规定时间时给出警告(警告灯闪烁)。

2设计要求1)4名选手编号分别为1,2,3,4;各有一个按钮,按钮的编号与选手编号灯对应,也分别为1,2,3,4;2)给主持人设置一个控制开关按钮,用来控制系统清零(抢答显示灯,数码管灭灯)和抢答的开始。

3)抢答器具有数据锁存和显示功能。

抢答开始后,若有选手按动抢答按钮,该选手编号立即补锁存,并输入编码电器,并在抢答显示器上显示时钟倒计时,封锁其他选手抢答。

直到抢答倒计时回到“0”后,回答时间到,由主持人将系统清零;4)抢答器具有定时(60秒)回答功能,当主持人按下开始按钮,并有选手第一时间抢答时,定时器开始计时,并在数码管上显示倒计时时间,倒计时结束时,回答时间到,蜂鸣器音响持续1秒,由主持人手动清零,进入下一道题的抢答环节;5)计时器采用频率为1HZ的脉冲信号作为定时计数器的CP信号,抢答电路中74LS161,CP则采用1KHZ,观察较为明显些。

二、硬件电路设计及描述由于设计任务是倒计时器,所以要用到减法器,又因为是十进制的所以我选择的主要芯片是74LS192两片,抢答功能,我利用了74LS161的预置功能,若有选手抢答时,74LS161不断反馈,不断循环预置功能,预置后,其他选手再按下抢答开关,也显示不出来,被封锁;接下来是实现显示的功能,我用的是74LS48芯片和共阴极七段显示器个两片,再根据需要我还用了74LS00(与非门)、74LS04(非门)。

EDA课程设计四路智能抢答器

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四位智能竞赛抢答器

四位智能竞赛抢答器第一章系统设计第一节课题目标《硬件描述语言》是一门技术性、应用性很强的学科,实验课教学是它的一个极为重要的环节。

不论理论学习还是实际应用,都离不开实验课教学。

如果不在切实认真地抓好学生的实践技能的锻炼上下功夫,单凭课堂理论课学习,势必出现理论与实践脱节的局面。

《HDL 项目设计》的目的就是让我们在理论学习的基础上,通过完成一个涉及时序逻辑、组合逻辑、声光输出的,具有实用性、趣味性的小系统设计,使我们不但能够将课堂上学到的理论知识与实际应用结合起来,而且能够对分析、解决实际的数字电路问题进一步加深认识,为今后能够独立进行某些数字应用系统的开发设计工作打下一定的基础。

通过这次设计实验,首先,使我们更加深入的巩固了书本上的知识,在掌握理论基本知识的基础上,学会了对常用软件的使用。

其次,通过这次设计实验,使我们了解并熟悉了程序的设计方法和步骤,而且在与同学讨论的同时也提高了团结合作的能力。

然后,学会用仿真实验来验证方案的正确性,培养我们综合运用知识和独立开展实验创新的能力。

最后,规范化训练我们撰写技术研究报告,提高书面表达能力。

第二节设计要求本设计是一个功能较为简单的四路抢答器,基本要求有以下几点:(1)实现一四人抢答器,有人抢答成功后,其他人再抢答无效;(2)主持人通过按键清除抢答信息,并开始30秒的答题倒计时,当倒计时结束时,通过蜂鸣器响来提示回答问题时间到,此时可以开始新一轮的抢答。

第三节设计方案设计是以Verilog HDL语言为基础设计的电子抢答器,在设计过程中先将系统模块化,然后逐步实现,根据设计功能要求,该设计主要包括按键抢答输入,数码管显示,报警电路及FPGA系统。

抢答器结构原理图如图1:图1 抢答器结构原理图第二章系统分析与实现第一节系统分析该系统可实现要求中的最基本功能,除此之外还可以实现抢答时间限制的功能,其中,抢答成功者组号由静态显示的方法使用,使四个数码管同时显示其组号,同时,该抢答者对应的led灯亮。

EDA四路抢答器--课程设计报告【典藏】

目录一、设计任务。

二、设计思路。

三、本设计实现的电路图。

四、单元模块设计。

五、器件编程与下载。

六、性能测试与分析。

七、实验主要仪器设备。

八、心得体会。

九、参考文献。

一、设计任务l、设计用于竞赛的四人抢答器,功能如下:(1) 有多路抢答器,台数为四;(2) 具有抢答开始后20秒倒计时,20秒倒计时后无人抢答显示超时,并报警;(3) 能显示超前抢答台号并显示犯规警报;(4) 能显示各路得分,并具有加、减分功能;2、系统复位后进入抢答状态,当有一路抢答键按下时,该路抢答信号将其余各路抢答封锁,同时铃声响,直至该路按键松开,显示牌显示该路抢答台号。

3、用VHDL语言设计符合上述功能要求的四人抢答器,并用层次设计方法设计该电路。

二、设计思路将该任务分成三个模块进行设计,分别为:抢答器鉴别模块、抢答器计时模块、抢答器记分模块,最后是撰写顶层文件。

1、抢答器鉴别模块:在这个模块中主要实现抢答过程中的抢答功能,并能对超前抢答进行警告,还能记录无论是正常抢答还是朝前抢答者的台号,并且能实现当有一路抢答按键按下时,该路抢答信号将其余个绿抢答封锁的功能。

其中有四个抢答信号a、b、c、d;抢答使能信号en;抢答状态显示信号states;警报时钟信号clk2;系统复位信号rst;超前警报信号ring。

2、抢答器计时模块:在这个模块中主要实现抢答过程中的计时功能,在有抢答开始后进行20秒的倒计时,并且在20秒倒计时后无人抢答显示超时并报警。

其中有抢答时钟信号clk;系统复位信号rst;抢答使能信号en;抢答状态显示信号states;无人抢答警报信号warn;计时中止信号stop;计时十位个位信号tb,ta。

3、抢答器记分模块:在这个模块中主要是给四个抢答信号记分,并给每个抢答信号预置5分,当抢答并答对时加1分,答错减1分,没有获得抢答保持不变。

其中有抢答时钟信号clk;系统复位信号rst;抢答使能信号en;抢答状态显示信号states;记分加减信号add(add=‘1’时为加,add=‘0’时为减);四个信号的得分显示信号a_out,b_out,c_out,d_out。

EDA课程设计,四路抢答器

摘要:EDA技术VHDL语言优先编码锁存器1 EDA技术简介EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。

EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言VHDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。

20世纪90年代,国际上电子和计算机技术较先进的国家,一直在积极探索新的电子电路设计方法,并在设计方法、工具等方面进行了彻底的变革,取得了巨大成功。

在电子技术设计领域,可编程逻辑器件(如CPLD、FPGA)的应用,已得到广泛的普及,这些器件为数字系统的设计带来了极大的灵活性。

这些器件可以通过软件编程而对其硬件结构和工作方式进行重构,从而使得硬件的设计可以如同软件设计那样方便快捷。

这一切极大地改变了传统的数字系统设计方法、设计过程和设计观念,促进了EDA技术的迅速发展。

2 抢答器的设计要求设计一个可容纳四组参赛者同时抢答的数字抢答器,可判断第一抢答者并报警指示抢答成功,其他组抢答均无效。

若提前抢答则对相应抢答组发出警报。

要求:给出系统总体组成框图,设计思路,完成以上模块的VHDL实现及功能仿真,顶层文件及整体仿真。

3 抢答器的设计分析、组成框图及电路设计分析题目要求,对于一个四人抢答器,四个选手在电路中的起始控制作用是一样的,当裁判员宣布开始抢答时,谁先按下控制开关,他的灯就会亮,而且这时其他三人再按按钮,也会在时间的控制下锁存住其他选手的功能。

分析后,可以进行设计:四个人分别为输入端的A,B,C,D。

因为四个输入端在电路中应为相等优先级别,但只要有一个输入端为高电平,就会给其他的信号一个反馈,使得他们的输入无效,使他们的灯不亮。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

四人智力竞赛计数抢答器一、设计任务与要求任务:要求设计一个四人智力计数抢答器。

要求:四人使用抢答,当其中一人按下抢答器,将封锁其余抢答器,数码管显示一位二进制数,同时倒计时开始计时(0—99)秒,如果在倒计时间内没答完题报警器开始响。

二、总体框图根据设计要求,本系统应具有第一抢答信号的鉴别和锁存、答题计时、动态显示和声光提示等功能。

为了完成上述功能,该系统应由抢答鉴别和锁存电路、答题计时电路、数显驱动电路和声光驱动电路等组成。

抢答器设计的关键是准确地判断第一抢答信号和锁存。

在得到第一抢答信号后应立即进行电路封锁,使其他组抢答无效。

形成抢答信号后,由数显电路显示抢答组别,由声光电路提示超时抢答。

图1 总体框图三、选择器件1、装有QuartusII软件的计算机一台。

2、7段数码显示管。

3、芯片:使用Altera公司生产的Cyclone系列芯片,如EP1C12Q240C8芯片。

4、EDA实验箱一个。

5,下载接口是数字芯片的下载接口(JTAG)主要用于FPGA芯片的数据下载。

6、时钟源。

Cyclone的性能特性Cyclone器件的性能足以和业界最快的FPGA进行竞争。

Cyclone FPGA内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。

FPGA的基本特点主要有:1)采用FPGA设计ASIC电路,用户不需要投片生产,就能得到合用的芯片。

2)FPGA可做其它全定制或半定制ASIC电路的中试样片。

3)FPGA内部有丰富的触发器和I/O引脚。

4)FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。

5) FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。

可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。

四、功能模块1:library ieee;use ieee.std_logic_1164.all;entity feng isport(cp,clr:in std_logic;q :out std_logic);end feng;architecture feng_arc of feng isbeginprocess(cp,clr)beginif clr='0' thenq<='0';elsif cp'event and cp='0' thenq<='1';end if;end process;end feng_arc;此程序为抢答鉴别模块feng该模块主要实现抢答和鉴别的功能。

在主持人发出抢答指令以后,若有参赛者按下抢答器的按钮,该模块将参赛者按下按键的信号输出高电平给锁存模块。

图2 抢答鉴别模块的仿真波形clr是低电平有效;当cp来个下降沿时,输出q将一直为高电平符合模块要求。

2 :library ieee;use ieee.std_logic_1164.all;entity sel isport(clk:in std_logic;a:out integer range 0 to 7);end sel;architecture one of sel isbeginprocess(clk)variable aa: integer range 0 to 7;beginif clk'event and clk='1' thenaa := aa + 1 ;end if;a<=aa;end process;end one;此程序为VHDL程序该程序生成的符号及仿真波形如下:图3 片选信号模块仿真图当来一个脉冲时,输出将增加1,符合模块要求。

3 :library ieee;use ieee.std_logic_1164.all;entity lockb isport(d1,d2,d3,d4:in std_logic;clk,clr :in std_logic;q1,q2,q3,q4,alm:out std_logic);end lockb;architecture lock_arc of lockb isbeginprocess(clk)beginif clr='0' thenq1<='0';q2<='0';q3<='0';q4<='0';alm<='0';elsif clk'event and clk='1' thenq1<=d1;q2<=d2;q3<=d3;q4<=d4;alm<='1';end if;end process;end lock_arc;此程序为锁存器模块LOCKB该模块主要对选手按下按键进行锁存,锁存的同时发出alm信号实现声音提示。

该程序生成的符号及仿真波形如下:图4 锁存模块仿真图当来一个上升沿的时候,alm发挥作用,并且d1对应输出q1。

4:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity decode3_8 isport(sel:in std_logic_vector(2 downto 0);L :out std_logic_vector(7 downto 0));end decode3_8;architecture one of decode3_8 isbeginL <="11111110"when sel = 0 else"11111101"when sel = 1 else"11111011"when sel = 2 else"11110111"when sel = 3 else"11101111"when sel = 4 else"11011111"when sel = 5 else"10111111"when sel = 6 else"01111111"when sel = 7 else"11111111";end one;此程序为显示模块显示模块是由七段LED数码管译码和动态扫描显示两部分组成。

采用的是共阴极七段数码管,根据十六进制数和七段显示段码表的对应关系,其中要求显示组别。

生成符号及仿真波形如下:图5 显示模块的仿真波形5:library ieee;use ieee.std_logic_1164.all;entity deled isport(d:in std_logic_vector(3 downto 0); q:out std_logic_vector(6 downto 0)); end deled;architecture one of deled isbeginprocess(d)begincase d iswhen"0000"=>q<="0111111";when"0001"=>q<="0000110";when"0010"=>q<="1011011";when"0011"=>q<="1001111";when"0100"=>q<="1100110";when"0101"=>q<="1101101";when"0110"=>q<="1111101";when"0111"=>q<="0100111";when"1000"=>q<="1111111";when"1001"=>q<="1101111";when others=>q<="0000000";end case;end process;end one;此程序为deled模块该模块是七段译码器,对数据进行译码扫描:图7 deled模块译码模块完成了对数据在数码管上正确地显示,符合模块要求。

6:library ieee;use ieee.std_logic_1164.all;entity ch41a isport(d1,d2,d3,d4:in std_logic;q :out std_logic_vector (3 downto 0));end ch41a;architecture ch41_arc of ch41a isbeginprocess(d1,d2,d3,d4)variable tmp:std_logic_vector ( 3 downto 0);begintmp :=d1&d2&d3&d4;case tmp iswhen"0111"=>q<="0001";when"1011"=>q<="0010";when"1101"=>q<="0011";when"1110"=>q<="0100";when others=>q<="1111";end case;end process;end ch41_arc;此程序为转换模块ch41a该模块是将抢答结果转换为二进制数该程序生成的符号及仿真波形如下:图7 转换模块ch41a仿真波形将输入的抢答结果转换为二进制数,符合模块要求。

7 :library ieee;use ieee.std_logic_1164.all;entity ch42a isport(sel:in std_logic_vector(2 downto 0);d1,d2,d3:in std_logic_vector (3 downto 0); q:out std_logic_vector(3 downto 0)); end ch42a;architecture ch42_arc of ch42a isbeginprocess(sel,d1,d2,d3)begincase sel iswhen"000"=>q<=d1;when"001"=>q<=d2;when"111"=>q<=d3;when others=>q<="1111";end case;end process;end ch42_arc;此程序为3选1模块ch42a该模块是将对应数码管片选信号,送出需要的显示信号。

相关文档
最新文档