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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 1166|回复: 8

[求助] 初学者关于电路竞争的问题求助

[复制链接]
发表于 2018-10-22 20:12:22 | 显示全部楼层 |阅读模式

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

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

x

                               
登录/注册后可看大图

我想问的是clk有效来之后执行counter!=0,那么接下来是执行赋值给on还是执行counter<=counter-1'b1,
还是说两者那个先是不确定的,从而导致了电路的竞争,如果是这样的话,有什么办法可以避免这种问题吗,初学问题可能低端了点,望高手不吝赐教,万分感谢
发表于 2018-10-23 10:48:08 | 显示全部楼层
没有太看明白你的问题,但我想说的是竞争存在于组合逻辑之间,时序逻辑会通过setup time和holdup time保证。还有提醒你一下,同一个信号不能既有组合逻辑赋值,又有时序逻辑赋值。如果有c=a&b的语句,由于a和b信号的跳变时刻不一致,就会存在竞争,从而可能导致c有毛刺,但具体逻辑具体分析,不是所有的组合逻辑都存在问题,竞争也是可以通过时序逻辑来消除的,不知道你的是什么样的。
发表于 2018-10-23 14:09:07 | 显示全部楼层
楼上说得好,楼主的问题不够清楚,你说的几个表达式到底是什么样的?放原文出来哈。不过2楼解释的挺好的。
 楼主| 发表于 2018-10-23 19:20:30 | 显示全部楼层
回复 2# annie1990
本来发帖的时候有图片的,不知为什么被吞了,可能才导致我说得含糊不清,抱歉,加上图片一张,望解析一二,万分感谢

                               
登录/注册后可看大图
捕获.PNG
 楼主| 发表于 2018-10-24 17:42:37 | 显示全部楼层
回复 3# gaurson
之前有图的,可能我忘记贴了,我贴出来了,还望帮忙看一下,谢谢
发表于 2018-10-24 23:44:41 | 显示全部楼层
always@( negedge clk )
    on <= ( cnt != 0 )  ;
补全一下
always@( negedge clk )  begin
    on <= ( cnt != 0 ) ? 1'b1 : 1'b0 ;
end
再翻译一下
always@( negedge clk ) begin
    if( cnt != 0 )
        on <=  1'b1  ;   
    else
        on <=  1'b0  ;
end

on被赋值,以及cnt被赋值,是同步进行的,在同一个时钟节拍下进行,不存在竞争冒险现象的。
你之所以会问出先后问题和竞争冒险问题,是你没有理解到位,不明白什么是硬件描述语言,不明白HDL的并发特性。
发表于 2018-10-25 15:14:43 | 显示全部楼层
嗯,这里还需要注意非阻塞赋值<=的意义,是所有<=左边的表达式都完成了,才执行赋值的操作,所以cnt!=0时候的判断,并不是cnt当前时钟赋值的结果,而是上一次时钟沿赋值的结果。
发表于 2018-10-25 19:53:33 | 显示全部楼层
回复 4# 呱呱年
这个其实是非阻塞赋值的理解问题,当clk有效时,检测到if条件满足,count执行赋值操作,<=右边的值更新,在下一个有效沿,右边的结果才会被赋值给左边的变量count。从电路角度来理解,clk有效,检测到if条件满足,count累加,触发器数据变化是需要时间的(可以理解成cell的延时)即变化实在时钟有效沿的后面一点点,所以在当前时钟沿有效的情况下(if条件是满足的,但是count还是之前的值)是采样不到count值发生了变化的。直到下一个时钟沿到来,才会采样到count值的变化。
 楼主| 发表于 2018-10-26 21:44:26 | 显示全部楼层
谢谢一切回复我帖子的人,谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-3-29 15:38 , Processed in 0.051302 second(s), 7 queries , Gzip On, Redis On.

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