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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2043|回复: 9

[求助] 这样写会有竞争冒险问题吗

[复制链接]
发表于 2020-7-27 11:38:35 | 显示全部楼层 |阅读模式
100资产
如果In为外部输入,并且刚好In边沿与时钟边沿重叠,有可能会出错吗,需要作什么处理吗


类似的,有没有可能第一个时钟沿,In先使Cnt为零,下一个时钟沿才使能判断Cnt是否大于2,但此时Cnt已经为零。
untitled2.png


untitled1.png
发表于 2020-7-27 14:03:44 | 显示全部楼层
我来说一下个人理解,如果有误,请大佬指出哈。首先,这是一个带同步置位的触发器,In不需要做处理;其次,因为非阻塞赋值,所以Cnt<=0 和 Flag<=1是同步的,Cnt的赋值发生在事件即将结束时,此时if已经完成判断,等待赋值,所以cnt和Flag的赋值是同时进行的。
发表于 2020-7-27 15:08:44 | 显示全部楼层
什么叫竞争冒险。不要把这些概念来解释所有事情。
请先搞懂组合逻辑/时序逻辑的概念;然后DFF的setup/hold time的概念。然后STA分析怎么做。然后,你的问题就解决了。
这些问题,请看如下课程:(1/2课解决组合逻辑/时序逻辑, DFF setup/hold的问题;第9课解决STA的问题)

推荐一个不错的数字IC/FPGA前段设计深度入门课(1/2节免费。话不多说,看疗效):
https://ke.qq.com/course/package/24207
 楼主| 发表于 2020-7-27 15:12:37 | 显示全部楼层


记忆冬天 发表于 2020-7-27 14:03
我来说一下个人理解,如果有误,请大佬指出哈。首先,这是一个带同步置位的触发器,In不需要做处理;其 ...


我疑惑的是,这种写法,万一In信号到达时间不一样,Cnt先被清零,Flag就永远无法置1了
发表于 2020-7-27 15:34:06 | 显示全部楼层
你这要看IN是一个异步信号还是同步信号,异步信号的话要做跨时钟而且确保要采到,同步信号的话就不会存在采不到的问题。
 楼主| 发表于 2020-7-27 16:08:09 | 显示全部楼层


杜旭飞 发表于 2020-7-27 15:34
你这要看IN是一个异步信号还是同步信号,异步信号的话要做跨时钟而且确保要采到,同步信号的话就不会存在采 ...


In和时钟不同步,所以In是加一级寄存器同步?
发表于 2020-7-27 16:20:51 | 显示全部楼层


kgdvfhpfss 发表于 2020-7-27 16:08
In和时钟不同步,所以In是加一级寄存器同步?


一般在确保能采到的情况下,两级寄存。看那个信号具体是什么样的了

 楼主| 发表于 2020-7-27 16:27:28 | 显示全部楼层


杜旭飞 发表于 2020-7-27 16:20
一般在确保能采到的情况下,两级寄存。看那个信号具体是什么样的了


In外部输入,频率远低于clk
 楼主| 发表于 2020-7-28 10:18:43 | 显示全部楼层


杜旭飞 发表于 2020-7-27 16:20
一般在确保能采到的情况下,两级寄存。看那个信号具体是什么样的了


为什么要加两级,一级会有什么问题吗?
发表于 2020-7-28 10:53:35 | 显示全部楼层


kgdvfhpfss 发表于 2020-7-28 10:18
为什么要加两级,一级会有什么问题吗?


RTL的HW设计需要一些数字电路原理的掌握。
这个系列课的第9课能解决这个问题(需配合第二课(1/2课免费))。

https://ke.qq.com/course/package/24207?tuin=64ce5e2a
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-4-28 12:41 , Processed in 0.036009 second(s), 6 queries , Gzip On, Redis On.

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