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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

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

[求助] 新人求助~~关于时钟上升沿取值问题

[复制链接]
发表于 2020-3-30 10:49:19 | 显示全部楼层 |阅读模式

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

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

x
新人求助,数字小白求大佬解答一个疑惑

      就是,在时钟上升沿时,输入数据同时也达到了上升沿,那么根据Q<= D阻塞赋值,应该是取输入数据再跳变之前的值(0)还是取跳变后的值(1)传递给输出呢??
发表于 2020-3-30 11:09:19 | 显示全部楼层
如果真是两个边沿同时到,那setup不会满足要求,寄存器会处于亚稳态,输出值不定。
发表于 2020-3-30 14:27:06 | 显示全部楼层
跳变前。。。
发表于 2020-3-30 15:57:03 | 显示全部楼层
如果有 Setup/Hold time violation 的話是 Unknown, 沒有 violation 的話會是跳變前的值。
 楼主| 发表于 2020-3-31 11:50:28 | 显示全部楼层


这就很奇怪了,我的D触发器显示的似乎一直是以跳变后为准
截图未命名.jpg
 楼主| 发表于 2020-3-31 11:52:09 | 显示全部楼层


harry_hust 发表于 2020-3-30 11:09
如果真是两个边沿同时到,那setup不会满足要求,寄存器会处于亚稳态,输出值不定。 ...


貌似我用modelsim仿真的一直是以跳变后的值为准??
截图未命名.jpg
 楼主| 发表于 2020-3-31 11:52:57 | 显示全部楼层


jasper0608 发表于 2020-3-30 15:57
如果有 Setup/Hold time violation 的話是 Unknown, 沒有 violation 的話會是跳變前的值。
...


怎么看有没有violation呢?我用modelsim前仿的。
发表于 2020-3-31 17:58:32 | 显示全部楼层
RTL仿真不看setup这些问题,主要是看仿真事件的先后顺序来的(如果同时发生,就看仿真器执行顺序来了),这个有时候不准确,需要自己加#delay来避免同沿儿的情况.
发表于 2020-4-1 21:20:48 | 显示全部楼层
这个问题,我也纠结过,后来发现:
看你的采样信号,采取的信号如果是wire的,仿真器一般就直接采的值是变化后的。如果是reg的,采的是变化前。

但是,这种其实我觉得并不完全正确。因为寄存器采样,时钟采的是稳定值(变化前的),应该与被踩的信号类型无关
还是自己加一个延迟比较安全。
发表于 2020-4-7 14:35:25 | 显示全部楼层
RTL 與 TestBench 貼出來看看
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-12-26 01:12 , Processed in 0.022702 second(s), 7 queries , Gzip On, Redis On.

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