云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 数字系统设计(智力竞赛抢答器Verilog HDL建模)

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

  • 62 次阅读
  • 3 次下载
  • 2025/6/1 20:43:32

以上模块通过一个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

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

以上模块通过一个case语句来实现抢答功能,case语句是一个条件语句,当play信号的值为“00001”时候程序执行第一个“begin end”里面的语句,当play信号为“00010”的时候程序执行第二个“begin end”里面的语句,依次类推如果play的值与以上信号都不符的话就执行default后面的语句。通过模块编译以后所得的模块框图如下: 图四:抢答模块 通过综合以后我们可以得到RTL图如下: 图五:抢答模块RTL图 3.2 锁存模块 锁存模块是对第一位抢答者的信号进行锁存,其后的信号无效。其中d为锁存输入信号,clk为时钟信号,ea为使能信号,clear为清除信号,q为锁存输出信号,alm0为触发选手抢答报警的声音信号。整个模块Verilog

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com