在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 7137|回复: 11

[求助] 请教:用verilog实现在一个信号的下降沿之后开始计数

[复制链接]
发表于 2010-8-28 11:48:38 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 yhzhangstrive 于 2010-8-28 13:50 编辑

请教:怎么用verilog实现在一个信号的下降沿之后开始计数。
            --    --    --    --    --    --    --    --
           |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
clk  -----    --    --    --    --    --    --    --    ------


               ---------------                           --------
              |                  |                        |
busy -----                     --------------------

如图:在busy信号下降沿到来之后,对其低电平进行计数。
发表于 2010-8-28 12:50:56 | 显示全部楼层
@(negedge clk)
    cnt <= cnt + 1;
不行吗?
 楼主| 发表于 2010-8-28 13:10:11 | 显示全部楼层
不是在时钟信号下降沿计数,而是对时钟信号控制的另外一个信号的下降沿到来之后计数
发表于 2010-8-28 14:14:49 | 显示全部楼层
reg [7:0] cnt;
always @(posedge clk)
  if(busy)
    cnt <= 'b0;
else
    cnt <= cnt + 1'b1;
发表于 2010-8-28 14:21:38 | 显示全部楼层
描述的还是不够清楚
busy低电平到高电平后,计数是清零啊,还是停止啊?
发表于 2010-8-28 14:26:37 | 显示全部楼层
5# bjtu_glh [/
是呀,lz好好看看书吧
 楼主| 发表于 2010-8-28 16:01:54 | 显示全部楼层
关键是busy的第一个上升沿到来之前的低电平不用计数,要不会影响其他信号。

问题已经解决,多谢各位热心回答。
发表于 2010-8-28 20:49:40 | 显示全部楼层
先定义一个两位的移位寄存器,每个时钟来之后让busy信号在此移位寄存器移位,当次寄存器中的数为10时
便检测到busy的下降沿了,这样就可以开始记述了!
发表于 2010-8-30 09:05:21 | 显示全部楼层
楼上的方法不错
发表于 2010-8-30 10:05:40 | 显示全部楼层
8楼的不错
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-30 20:51 , Processed in 0.052336 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表