电子抢答器的EDA设计与实现
2.2 鉴别与锁存模块设计
鉴别与锁存模块的主要功能是用于判断a、b、c、d四个组别抢答的先后,记录最先抢答的组别号码,并且不再接受其它输入信号,而对最先抢答的组别锁存,同时显示最先抢答的组别。
根据以上功能要求,该模块的源程序必须包含四个抢答输入信号。现将其信号分别设为a、b、c、d;抢答时必须要有一个允许开始抢答信号,将其信号设为sta,该信号输入后,其输出指示灯亮,以便选手知道允许抢答信号已发出,故可设置一个sta的输出指示灯信号为star-t;为了鉴别最先抢答者,可分别设置a、b、c、d组的输出指示灯为led_a、led_b、led_c、led_d,同时设置显示最先抢答组别号码的输出信号为states[3..0];为了使系统进入重新抢答状态,还需要设置一个系统复位信号,可将其设为rst。其鉴别与锁存模块的仿真波形如图2所示。
通过图2可以看出,当rst=1时,系统处于初始状态,此时所有输入均无效;当rst=O且sta=O时,抢答无效;而当rst=O且sta=1时,start指示灯亮,d组为最先有效抢答组别,led_d指示灯亮,并显示抢答成功组别d组为“0100”。通过图2的仿真图及分析说明,可见其鉴别与锁存模块的功能设计正确。

2.3 电子抢答器定时与犯规模块设计
定时与犯规模块的主要功能是用来对答题限时。当倒计时时间计为0时,系统将输出报警信号,以对提前抢答者给予蜂鸣警示并显示犯规组别号码。
根据以上功能设计要求,该模块需要设置一个倒计数器来限制答题时间,可将其信号设为time[7..0]。为了使倒计时器能够开始或停止工作,应设置一个计时使能输入信号en;为了确定是否有选手提前抢答或超时答题,可将允许抢答信号sta和四个抢答输入(a、b、c、d)、显示抢答成功组别states[3..0]、系统时钟信号clk_1hz等作为输入信号,而将犯规报警器信号alarm和犯规组别显示offender作为输出信号。为了使蜂鸣器停止报警或使系统重新进入有效抢答状态,应设置系统复位输入信号rst。定时与犯规模块的仿真波形如图3所示,其中图3(a)为抢答犯规及暂停计时控制功能的仿真,图3(b)为答题犯规控制功能的仿真。
评论