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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3130|回复: 5

[求助] FSDB FATAL ERROR, Rewinding time is prohibited

[复制链接]
发表于 2020-8-31 18:55:30 | 显示全部楼层 |阅读模式

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

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

x
请教大神,仿真老是随机报出如下图的Rewinding time is prohibited,time creation should be skipped,然后仿真奔溃中止。字面意思是时间倒带,也就是时间回退;由于对整个design不是太熟悉,把其中的所有的产生时钟的pll代码分析后,也没有发现出什么问题来,本来以为是产生clock的延迟出现了负时间,但是测试发现,即使是负时间,仿真也会把它按照0延迟处理,会出现死循环而已。确实没有想到是那种原因造成这种错误,还望大神解答

不dump波形的话,仿真也会崩溃,只是不出现FSDB FATAL ERROR而已
批注 2020-08-31 185248.png
发表于 2020-8-31 22:02:43 | 显示全部楼层
看不出啥,只有慢慢注释rtl,慢慢定位.
发表于 2020-9-1 14:09:13 | 显示全部楼层
dump的波形文件太大了?我之前跟C一起跑时候好像也崩溃过,但是那是因为C wrap不对,你这个应该不是同一种……慢慢调试吧……加油
发表于 2020-9-1 21:02:08 | 显示全部楼层
出现这种fatal error可能的原因是,你正在terminal A run某个用例,但是你的另外一个terminal B正在重新编译工程,编译结束后也运行这个用例,于是会出现两个独立进程都在写fsdb数据到文件中,我们知道如果fsdb数据只有当缓存中的数据大小达到一定的大小之后才会被刷进fsdb文件中,这时候如果terminal A中的仿真进程将100ns~200ns之间的仿真波形数据刷进fsdb文件,再过段时间terminal B中的仿真进程将50ns~90ns之间的仿真波形数据刷进fsdb文件,这个时候就会出现时间rewind,显然这是不允许的,波形文件已经被callapse了,必须将两个进程都杀了,而且删除simv.daidir和csrc等中间文件,因为可能这些文件都被损坏了,之所以两个进程都还在跑是因为最开始就把一些文件读进缓存了,一旦退出仿真,必然会有错误,可能是文件破坏,虚拟文件不对,校验不对都有可能。
 楼主| 发表于 2020-9-2 10:54:22 | 显示全部楼层


saipolo 发表于 2020-9-1 21:02
出现这种fatal error可能的原因是,你正在terminal A run某个用例,但是你的另外一个terminal B正在重新编 ...


只有一个terminal在run这个case,但是同时可能有别的同事在别的rundir也在run这个case,比较了下各自log生成临时文件,名字也不相同,应该不会出现临时文件冲突的情况;而且什么都不改的情况下,同一个seed,crash的时间点并不相同,好像有点随机性,即使不dump 波形的话,也会crash,crash的log就没有这个rewinding time信息,其他的no context available也是会报的

发表于 2024-1-10 16:58:55 | 显示全部楼层
问一下  这个问题解决了吗?  我也遇到同样的问题
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-11-16 05:59 , Processed in 0.028196 second(s), 8 queries , Gzip On, Redis On.

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