数字式竞赛抢答器vhdl

数字式竞赛抢答器vhdl

ID:3156805

大小:194.00 KB

页数:15页

时间:2017-11-20

数字式竞赛抢答器vhdl_第1页
数字式竞赛抢答器vhdl_第2页
数字式竞赛抢答器vhdl_第3页
数字式竞赛抢答器vhdl_第4页
数字式竞赛抢答器vhdl_第5页
资源描述:

《数字式竞赛抢答器vhdl》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、数字系统设计与硬件描述语言期末考试作业题目:数字式竞赛抢答器设计学院:电子信息工程专业:电子信息工程学号:姓名:一、选题设计描述1.功能介绍此设计用于竞赛的四人抢答,有如下的功能:(1)具有多路抢答功能,台数设计为四;(2)具有抢答器开始后30秒倒计时,30秒后无人抢答显示超时,并报警;(3)能显示超前抢答犯规,并警报;(4)能显示各组得分,大队加分,答错扣分;当系统复位,主持人按下抢答开始按键,处于使能状态,抢答开始,某路抢答键按下时,该路信号将其他路信号锁存,同时抢答铃声响起,直至此路按键松开,显示该路组号。2.算法简介本设计采用分层设计思想,分为:信号鉴别模块、计时模块、计分模块、BCD

2、译码模块、分频器,还有顶层模块。信号鉴别模块。此模块主要实现抢答器的抢答功能,并能够分辨是正常抢答还是提前抢答,选取最先按下的一路信号,锁存其余信号,实现信号选取功能。在此模块中,用到的信号为抢答信号a、b、c、d;抢答使能信号en;抢答结果信号states;警报时钟信号clk2;复位信号rst;提前抢答信号fangui。计时模块。此模块主要实现抢答过程中的计时功能,在抢答开始后进行30秒的倒计时,且在30秒后显示无人抢答报警信号。其中有抢答时钟信号clk;系统复位信号rst;抢答使能信号en;无人抢答警报信号warn;计时中止信号stop;计时十位个位信号tb,ta。计分模块。此模块主要实现

3、给四个抢答器计分的功能,初始条件下,为每个抢答器信号预制5分,当某组抢答且回答正确时加一分,答错减一分,未获答题机会时保持不变。其中设有时钟信号clk;复位信号rst;抢答使能信号en;抢答结果显示信号states;记分加减信号add(add=‘1’时为加,add=‘0’时为减);四个信号的得分显示信号a_out,b_out,c_out,d_out。BCD译码模块。此模块主要实现将抢答结果信号显示在bcd七段译码器上。其中输入信号a;输出译码结果信号q。分频器。此模块主要实现时钟分频功能。在开头对时钟信号进行一次千分频。其中时钟输入信号clkin,输出信号clk。顶层模块。将前几个模块综合在一

4、起,形成一个整体。分频器输出作为其他模块所需的时钟信号,使整个系统正常运转。二、程序源代码及说明抢答信号鉴别模块的程序:libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entityqdjbisport(clk2,en,rst:instd_logic;a,b,c,d:instd_logic;fangui:outstd_logic;states:outstd_logic_vector(3downto0));endqdjb;architectureoneofqdjbissignalsinor,fanguif,

5、tmp:std_logic;signalcnt:std_logic_vector(5downto0);beginsinor<=aorborcord;p1:process(a,rst,b,c,d,tmp)beginifrst='1'then--复位信号有效,系统复位。tmp<='1';states<="0000";elsiftmp='1'thenifa='1'then--判断哪路信号变化,进行选取states<="0001";tmp<='0';--对states进行置数elsifb='1'thenstates<="0010";tmp<='0';elsifc='1'thenstates<="001

6、1";tmp<='0';elsifd='1'thenstates<="0100";tmp<='0';elsetmp<='1';states<="0000";endif;endif;endprocessp1;p2:process(clk2,en,rst,cnt)--判断是否提前抢答并报警beginifrst='1'thencnt<="000000";fanguif<='0';--初始化提前抢答犯规信号elsifclk2'eventandclk2='1'thenifen='0'andsinor='1'thenifcnt<"111111"thenfanguif<=notfanguif;cnt<=cn

7、t+1;elsefanguif<='0';endif;endif;endif;endprocessp2;fangui<=fanguif;endone;计时模块的程序:libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entityjsisport(clk,rst,en,stop:instd_logic;warn

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。