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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
12
返回列表 发新帖
楼主: sofan

[求助] SV断言求助

[复制链接]
发表于 2014-1-15 17:09:36 | 显示全部楼层
回复 10# sofan


    的确没理解你的意思。。。。。
    就这么说吧:你觉得这个断言哪个地方不满足你的要求了?是有什么情况下无法查出错误来吗?反正我觉得它实现了你要的功能,即:“当en_1为高时,data保持不变。”
 楼主| 发表于 2014-1-16 14:09:29 | 显示全部楼层

dat_clk1数据变化的时候,标识错误,之后的时钟周期有断言正确,我想有没有一种方法只在使能信号高电平结束的 ...

dat_clk1数据变化的时候,标识错误,之后的时钟周期有断言正确,我想有没有一种方法只在使能信号高电平结束的 ...
回复 11# xiaojigao


如图,图示所示的在使能信号高点平时,进行了错误判断,但是随后的时钟周期就会判断正确。而我想做到在高电平期间只判断一次,或者是在使能信号高电平期间一次判断错误后就不在进行判断。
发表于 2014-1-16 16:21:34 | 显示全部楼层
回复 12# sofan

你是觉得这样影响仿真性能还是怎么的?我倒是想到一个笨办法满足你的要求:
在每个en_1的上升沿的时候$asserton;在每次assertion failed的时候$assertkill。
发表于 2015-9-16 22:05:46 | 显示全部楼层
2楼正解
发表于 2020-2-23 11:58:22 来自手机 | 显示全部楼层
楼主可以考虑一下组合逻辑断言
发表于 2020-11-18 00:45:40 | 显示全部楼层
我的做法是
@(posedge clk)  en_1 && $past(en_1) |-> $stable(data);
应该可以解决使能信号和数据开始就同时变化的场景,但assertion大多是基于时钟的,1个cycle中间数据有小跳变应该难check出来吧,本人小白~
发表于 2020-11-19 17:27:10 | 显示全部楼层
你这个$ROSE是什么意思你知道吗?ROSE函数判断的是信号表达式的最低位变成1时为真,你既然说了en_1为高电平,就证明了,en_1从低电平跳变到高电平的事件只有一次,所以你这个先行算子最多执行一次,你直接把$rose(en_1)改写为en_1,试一试
发表于 2020-11-24 13:46:34 | 显示全部楼层
-abvevalnochange sv的优化选项
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-11-9 00:43 , Processed in 0.021920 second(s), 9 queries , Gzip On, Redis On.

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