四路电子抢答器EDA课程设计报告
EDA技术 课程设计报告 专 业 电子信息工程 班 级 101 姓 名 XXX 学 号 1007400XXX 指导老师 秦剑 2013年 4 月 22 日 一、设计题目 四路电子抢答器 二、设计目的 1.驾驭运用VHDL语言设计小型数字电路系统; 2.驾驭应用QUARTUSⅡ软件设计电路的流程; 3.驾驭电子抢答器的设计方法。 三、设计任务及要求 (1)设计一个可以容纳四组参赛队进行竞赛的电子抢答器。 (2)具有第一抢答信号的鉴别和锁存功能。在主持人发出抢答指令后,若有参赛者按抢答器按钮,则该组指示灯亮,显示器显示出抢答者的组别。同时,电路处于自锁存状态,使其他组的抢答器按钮不起作用。 (3)具有计时功能。在初始状态时,主持人可以设置抢答时间的初始值。在主持人宣布抢答起先,并给出倒计时记数起先信号以后,抢答者可以起先抢答。此时,显示器从初始值起先倒计时,计到0时停止计数,同时LED亮起超时警报信号,并反馈到锁存模块进行锁存,使得参赛者不能进行抢答。若参赛者在规定的时间内抢答,则计数模块自动终止计数。 (4)具有计分功能。在初始状态时,主持人可以给每组设置初始分值。每组抢答完毕后,由主持人进行打分,答对一次加1分。 四、设计思路 系统的输入信号有各组的抢答按钮A、B、C、D,系统允许抢答信号STA,系统清零信号CLR,系统时钟信号CLK,计分复位端CLR,加分按钮端ADD;系统的输出信号有四个组抢答胜利与否的指示灯限制信号输出口可用如LED_A、LED_B、LED_C、LED_D表示,四个组抢答时的计时数码显示限制信号,抢答胜利组别显示的限制信号,各组计分动态显示的限制信号。整个系统至少有四个主要模块抢答鉴别模块;抢答计时模块;抢答计分模块;分频模块。 抢答鉴别及锁存 分频 计数 计分器 数码管显示 数码管显示 系统组成框图 五、各模块设计 (一)抢答鉴别和锁存模块 抢答队伍共分为四组A,B,C,D。当主持人按下STA键同时R输入低电平常,对应的START指示灯亮,同时EN端输出高电平,这时四组队伍才可以进行抢答,即抢答信号A,B,C,D输入电路中后,通过推断是哪个信号最先为‘1’得出抢答胜利的组别1,2,3或4组,然后将组别名输出到相应端A1,B1,C1,D1,此时START指示灯灭掉同时EN端输出低电平,并将组别序号换算为四位二进制信号输出到STATES[3..0]端锁存,等待输出到计分和显示单元。一旦R输入高电平,则把“0000”输出到STATES[3..0]端锁存,同时四组队伍无法进行抢答。其模块如下 抢答鉴别及锁存模块 1.抢答鉴别及锁存源程序 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity qdjb_sc is portSTA,RSTin std_logic; A,B,C,D,Rin std_logic; A1,B1,C1,D1,STARTout std_logic; EN out std_logic; STATESout std_logic_vector3 downto 0; end qdjb_sc; architecture one of qdjb_sc is signal abcstd_logic_vector4 downto 0; signal tmpstd_logic; begin abcRABCD; processabc,RST,tmp begin IF RST1 then tmp0; A10; B10; C10; D10;START0;EN0;STATES0000; end if; if STA1 then tmp1; EN1; START1; end if; if tmp1 then CASE abc IS when 01000 A11; B10; C10; D10; STATES0001; tmp0; EN0;START0; when 00100 A10; B11; C10; D10; STATES0010; tmp0; EN0;START0; when 00010 A10; B10; C11; D10; STATES0011; tmp0; EN0;START0; when 00001 A10; B10; C10; D11; STATES0100; tmp0; EN0;START0; when 10000 A10; B10; C10; D10; STATES0000; tmp0; EN0;START0; when others A10; B10; C10; D10; STATES0000; tmp1; END CASE; END IF; end process; end one; 2波形仿真 仿真图说明 第一阶段,在RST、STA输入高电平后,START、EN输出高电平,系统可以进行抢答。然后B最先抢答,所以B1输出高电平,同时START、EN改为输出低电平,STATES[3..0