EDA 实习—抢答器设计报告
课题名称:EDA 实习——抢答器 专业班级:2011 级电子班 姓 名:侯凤萍 陈亮
指导老师: 贺涛
2012 年 12 月 21 日
-1-
目录
一:EDA 抢答器设计的目的及意义………………3 二:设计整体思路……………………………….3 2.1 设计要求………………………………….3 三:单元模块设计部分
3.1 概述………………………………………………......4
3.2 3.3 3.4 3.5 3.6 3.7
鉴别模块的设计………………………………………………4 计数模块的设计………………………………………………6 报警模块的设计………………………………………………7 译码模块的设计………………………………………………8 分频模块的设计………………………………………………9 顶层文件……………………………………………………….10
-2-
四:锁定引脚及下载……………………………………11
一:EDA 抢答器设计的目的及意义
抢答器是为智力竞赛参赛者答题时进行抢答而设计的一种优先判决器电路, 竞赛者可以分为若干组, 抢答时各组对主持人提出的问题要在最短的时间内做出 判断,并按下抢的逻辑功能,该电路应包括抢答器鉴别模块、抢答器计数模块、 报警模块、译码模块、分频模块。答按键回答问题。当第一个人按下按键后,则 在显示器上显示该组的号码,对应的灯亮,同时电路将其他各组按键封锁,使其 不起作用。若抢答时间内无人抢答,则报警灯亮。回答完问题后,由主持人将所 有按键恢复,重新开始下一轮抢答。因此要完成抢答器 二:设计整体思路 (1) 设计一个可以容纳四组参赛队进行比赛的电子抢答器。 (2) 具有第一抢答信号的鉴别和锁存功能 (3) 具有计时功能 (4) 具有计分功能 (5) 具有报警功能
-3-
2.1 设计要求
1. 抢答器同时供 4 名选手或 4 个代表队比赛,分别用 4 个按钮 S0~ S3 表 示。 2. 设置一个系统清除和抢答控制开关 rst,该开关由主持人控制。 3. 抢答器具有锁存与显示功能。即选手按动按钮,锁存相应的编号,并在 LED 和数码管上显示,同时提示灯亮。选手抢答实行优先锁存,优先抢答选手 的编号一直保持到主持人将系统清除为止。 4. 抢答器具有定时抢答功能,且一次抢答的时间为 20 秒。 5. 如果定时时间已到,无人抢答,本次抢答无效,系统报警并禁止抢答, 定时显示器上显示 20。
三:单元模块设计部分
1、概述 将该任务分成五个模块进行设计,分别为:抢答器鉴别模块、抢答器计时模块、 报警模块、分频模块、译码模块 2、鉴别模块的设计: 在这个模块中主要实现抢答过程中的抢答功
能,并能对超前抢答进行警告, 还能记录无论是正常抢答还是朝前抢答者的台号, 并且能实现当有一路抢答按键 按下时,该路抢答信号将其余的抢答信号封锁的功能。其中有四个抢答信号 s0、 s1、s2、s3;抢答状态显示信号 states;抢答与警报时钟信号 clk0;系统复位信 号 rst;警报信号 warm。
1.VHDL 源程序
library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity jianbie is port(rst,clk2:in std_logic; s0,s1,s2,s3:in std_logic; states:buffer std_logic_vector(3 downto 0); light:buffer std_logic_vector(3 downto 0); warm:out std_logic); end jianbie ; architecture one of jianbie begin p1:process(s0,rst,s1,s2,s3,clk2) begin if rst='0' then warm
1. VHDL 源程序
library ieee; use ieee.std_logic_1164.all; entity baojing is port(rst:in std_logic; warn:in std_logic; clk:in std_logic; ta,tb:in integer range 0 to 9; stop:in std_logic; alm:out std_logic ); end; architecture bhv of baojing is begin process(warn,ta,tb,stop,clk) begin if rst='0'then alm
-7-
elsif warn='1'then alm
2.报警模块仿真图
3.报警模块元件图
-8-
3.5 译码器模块设计
在这个模块中主要实现抢答过程中将 BCD 码转换成 7 段的功能。
1. VHDL 源程序
LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY yima IS PORT(bcd:IN STD_LOGIC_VECTOR(3 DOWNTO 0); dout:OUT STD_LOGIC_VECTOR(6 DOWNTO 0)); END yima ; ARCHITECTURE rtl OF yima IS BEGIN PROCESS(bcd) BEGIN
CASE bcd IS WHEN
EDA 实习—抢答器设计报告
课题名称:EDA 实习——抢答器 专业班级:2011 级电子班 姓 名:侯凤萍 陈亮
指导老师: 贺涛
2012 年 12 月 21 日
-1-
目录
一:EDA 抢答器设计的目的及意义………………3 二:设计整体思路……………………………….3 2.1 设计要求………………………………….3 三:单元模块设计部分
3.1 概述………………………………………………......4
3.2 3.3 3.4 3.5 3.6 3.7
鉴别模块的设计………………………………………………4 计数模块的设计………………………………………………6 报警模块的设计………………………………………………7 译码模块的设计………………………………………………8 分频模块的设计………………………………………………9 顶层文件……………………………………………………….10
-2-
四:锁定引脚及下载……………………………………11
一:EDA 抢答器设计的目的及意义
抢答器是为智力竞赛参赛者答题时进行抢答而设计的一种优先判决器电路, 竞赛者可以分为若干组, 抢答时各组对主持人提出的问题要在最短的时间内做出 判断,并按下抢的逻辑功能,该电路应包括抢答器鉴别模块、抢答器计数模块、 报警模块、译码模块、分频模块。答按键回答问题。当第一个人按下按键后,则 在显示器上显示该组的号码,对应的灯亮,同时电路将其他各组按键封锁,使其 不起作用。若抢答时间内无人抢答,则报警灯亮。回答完问题后,由主持人将所 有按键恢复,重新开始下一轮抢答。因此要完成抢答器 二:设计整体思路 (1) 设计一个可以容纳四组参赛队进行比赛的电子抢答器。 (2) 具有第一抢答信号的鉴别和锁存功能 (3) 具有计时功能 (4) 具有计分功能 (5) 具有报警功能
-3-
2.1 设计要求
1. 抢答器同时供 4 名选手或 4 个代表队比赛,分别用 4 个按钮 S0~ S3 表 示。 2. 设置一个系统清除和抢答控制开关 rst,该开关由主持人控制。 3. 抢答器具有锁存与显示功能。即选手按动按钮,锁存相应的编号,并在 LED 和数码管上显示,同时提示灯亮。选手抢答实行优先锁存,优先抢答选手 的编号一直保持到主持人将系统清除为止。 4. 抢答器具有定时抢答功能,且一次抢答的时间为 20 秒。 5. 如果定时时间已到,无人抢答,本次抢答无效,系统报警并禁止抢答, 定时显示器上显示 20。
三:单元模块设计部分
1、概述 将该任务分成五个模块进行设计,分别为:抢答器鉴别模块、抢答器计时模块、 报警模块、分频模块、译码模块 2、鉴别模块的设计: 在这个模块中主要实现抢答过程中的抢答功
能,并能对超前抢答进行警告, 还能记录无论是正常抢答还是朝前抢答者的台号, 并且能实现当有一路抢答按键 按下时,该路抢答信号将其余的抢答信号封锁的功能。其中有四个抢答信号 s0、 s1、s2、s3;抢答状态显示信号 states;抢答与警报时钟信号 clk0;系统复位信 号 rst;警报信号 warm。
1.VHDL 源程序
library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity jianbie is port(rst,clk2:in std_logic; s0,s1,s2,s3:in std_logic; states:buffer std_logic_vector(3 downto 0); light:buffer std_logic_vector(3 downto 0); warm:out std_logic); end jianbie ; architecture one of jianbie begin p1:process(s0,rst,s1,s2,s3,clk2) begin if rst='0' then warm
1. VHDL 源程序
library ieee; use ieee.std_logic_1164.all; entity baojing is port(rst:in std_logic; warn:in std_logic; clk:in std_logic; ta,tb:in integer range 0 to 9; stop:in std_logic; alm:out std_logic ); end; architecture bhv of baojing is begin process(warn,ta,tb,stop,clk) begin if rst='0'then alm
-7-
elsif warn='1'then alm
2.报警模块仿真图
3.报警模块元件图
-8-
3.5 译码器模块设计
在这个模块中主要实现抢答过程中将 BCD 码转换成 7 段的功能。
1. VHDL 源程序
LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY yima IS PORT(bcd:IN STD_LOGIC_VECTOR(3 DOWNTO 0); dout:OUT STD_LOGIC_VECTOR(6 DOWNTO 0)); END yima ; ARCHITECTURE rtl OF yima IS BEGIN PROCESS(bcd) BEGIN
CASE bcd IS WHEN