第一范文网 - 专业文章范例文档资料分享平台

数字系统设计(智力竞赛抢答器Verilog HDL建模)

来源:用户分享 时间:2025/7/7 3:14:29 本文由闁哄鏅炴慨銈夊焻閿燂拷 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

以上模块通过一个case语句来实现抢答功能,case语句是一个条件语句,当play信号的值为“00001”时候程序执行第一个“begin end”里面的语句,当play信号为“00010”的时候程序执行第二个“begin end”里面的语句,依次类推如果play的值与以上信号都不符的话就执行default后面的语句。通过模块编译以后所得的模块框图如下:

图四:抢答模块

通过综合以后我们可以得到RTL图如下:

图五:抢答模块RTL图

3.2 锁存模块

锁存模块是对第一位抢答者的信号进行锁存,其后的信号无效。其中d为锁存输入信号,clk为时钟信号,ea为使能信号,clear为清除信号,q为锁存输出信号,alm0为触发选手抢答报警的声音信号。整个模块Verilog HDL源程序如下:

else if (ea == 1'b0) //使能信号有效则执行下面语句 begin

q <= d ; //将d的值传给q if (clk == 1'b1) //时钟到达则执行下面 begin

temp = temp + 1; if (temp == 2) begin

alm0 <= 1'b0 ; temp = temp - 1; end else begin

alm0 <= 1'b1 ; end end end

以上模块主要通过if进行条件判断选择,当条件符合的时候则执行,模块通过编译综合以后得到的框图如下所示:

图六:锁存模块

综合以后得到的RTL图如下:

图七:锁存器RTL图

3.3 计数模块

计数模块,比赛中要求第一抢答者在规定时间内回答问题,系统开始30秒倒计时,倒计时完毕发出响声,若能在规定时间内完成,由主持人按使能开关停止倒计时,不发出响声。计数模块的源程如下:

else if (clk == 1'b1) begin

if (en == 1'b1)

begin

ll <= ll - 1 ; if (ll == 4'b0000) begin

ll <= 4'b1001 ; hh <= hh - 1 ;

if (hh == 4'b0000 & ll == 4'b0000) begin

hh <= 4'b0000 ; ll <= 4'b0000 ; if (stop == 1'b1) begin ll <= ll ; hh <= hh ; end end end end end high <= ll ; low <= hh ; end

数字系统设计(智力竞赛抢答器Verilog HDL建模).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c7jzvq13a3w2xc786b4a94zk8m0hvkq00s1a_3.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top