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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 7166|回复: 12

[求助] 使用$fsdbAutoSwitchDumpfile设置了波形自动分割后,提示AutoSwitchDumpFile is disabled.

[复制链接]
发表于 2022-3-7 18:19:12 | 显示全部楼层 |阅读模式

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

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

x
仿真的时候波形过大,使用$fsdbAutoSwitchDumpfile()函数设置了dump波形的自动分割;
如下图,使用的是VCS 2018.09,开启了ucli,不管是在tcl脚本还是直接在testbench里面,加入$fsdbAutoSwitchDumpfile()都不能正常进行波形自动分割。
下面是tcl脚本的方式,提示已经有:
Enable automatic switching of the FSDB file字样,而且已经自动创建了sim_000.fsdb成功了;

图片.png

但问题是,运行没多久又提示AutoSwitchDumpfile is disabled. File "sim.fsdb" will no longer autoswitch file. 如下图

图片.png

最终结果就是,我仿真出来的波形都全部dump到了第一个生成的sim_000.fsdb里面(完全超过了AutoSwitch的size大小),并没有实现自动分割成sim_000.fsdb, sim_001.fsdb, sim_002.fsdb...

各位有碰到过类似情况么?何解。。


发表于 2022-3-7 20:05:04 | 显示全部楼层
54行,去掉export那个env,重新开个窗口跑下
 楼主| 发表于 2022-3-9 17:27:43 | 显示全部楼层


anpengfei 发表于 2022-3-7 20:05
54行,去掉export那个env,重新开个窗口跑下


试了下,不是这个原因。排查了2天,终于解决了

发表于 2022-3-9 17:35:39 | 显示全部楼层


qsh123_123 发表于 2022-3-9 17:27
试了下,不是这个原因。排查了2天,终于解决了


恭喜,那是啥原因啊???
 楼主| 发表于 2022-3-9 17:42:37 | 显示全部楼层
本帖最后由 qsh123_123 于 2022-3-9 17:43 编辑

自问自答一下,最后定位到问题所在是这句编译参数:
图片.png
在加入了novas.tab和pli.a之后,不知为何貌似会自动加载dump波形的一些默认配置,而这些默认配置中就包含了disable AutoSwitchDumpfile的设置,且会自动dump波形(novas.fsdb)。
去掉了这行编译参数以后,以及一些无用的环境变量和其他编译参数,问题解决

发表于 2022-3-9 17:50:47 | 显示全部楼层
学到了
 楼主| 发表于 2022-3-9 17:57:24 | 显示全部楼层


anpengfei 发表于 2022-3-9 17:35
恭喜,那是啥原因啊???


嗯,我在楼下详细回复了。加载多了-P /.../novas.tab /.../pli.a的PLI编译参数,去掉以后解决;

 楼主| 发表于 2022-3-9 17:58:46 | 显示全部楼层
顺便附上最终的编译参数:
图片.png
发表于 2022-3-22 11:51:16 | 显示全部楼层
求救!!遇到了一摸一样的问题,用了楼主的方法,但没用,switch功能还是被disabled了
 楼主| 发表于 2022-3-22 20:18:30 | 显示全部楼层
本帖最后由 qsh123_123 于 2022-3-23 11:22 编辑


Jason文博 发表于 2022-3-22 11:51
求救!!遇到了一摸一样的问题,用了楼主的方法,但没用,switch功能还是被disabled了 ...


还有一种可能是VIP在build_phase阶段重新加载多了一次FSDB Dumper的原因,我也复现了出来,疑似是VIP的配置影响fsdb dump波形的配置;
而启动ucli的tcl命令在VIP的build_phase之前,导致前面的fsdbAutoSwitchDumpfile函数的自动分割功能被disable了。


测试了一下使用两个VIP:MIPI和APB两个接口的VIP,以下是我在ENV中使用了加载VIP时的log,测试了2种场景:
1)同时使用APB和MIPI的VIP,测试没有dump波形时的功能,结果自动开始dump默认波形novas.fsdb,我并没有打开dump波形的函数,怀疑某个VIP配置中包含了dump波形的配置;

2)同时使用APB和MIPI的VIP,测试设置fsdbAutoSwitchDumpfile时自动分割波形的功能,结果在VIP的build_phase阶段果然再次出现AutoSwitchDumpFile is disabled的提示,波形分割失败,波形全部都被dump到第一个分割的波形sim_000.fsdb中;
图片.png

3)只使用APB的VIP,测试自动分割波形功能正常,没有提示自动分割被disable的信息,且成功生成3个子波形;
图片.png

4)只使用MIPI的VIIP,测试自动分割波形功能失败,结果跟2)的现象一致;
图片.png

5)目前正在排查MIPI VIP的波形相关配置。

6)解决办法一
鉴于fsdbDump相关的函数配置是在VIP的build_phase阶段被覆盖掉,导致的disable波形分割功能,那么,只要ucli的TCL脚本在build_phase阶段之后,即运行了一定时间后再调用波形分割函数fsdbAutoSwitchDumpFile即可;如下是我测试有效的用来在门仿阶段自动分割波形的tcl脚本的过程,亲测有效,可以绕开VIP配置导致的dump波形配置问题:
图片.png
前面6~11行是仿真一开始启动的dump波形控制,此处不进行波形分割,直接dump到mcu_setup.fsdb的波形中;
后面的(13~18),(20~25), (27~32), (34~39)类似,都是自动保存断点并进行按4GB大小进行波形分割,且根据关键信号的上升沿控制仿真运行时间和再次切换不同波形;
这里面的关键思路是使用fsdbDumpFinish和run/来进行精细的波形切换和控制,中间使用fsdbDumpFinish结束当前正在dump的波形文件;

解决办法二
先run 一段时间如1ns,因为build_phase是在0ns时刻完成的,再使用fsdbDumpFinish关闭默认的Novas.fsdb波形,后面就可以直接使用fsdbAutoSwitchDumpfile来自动分割了;波形自动分割会从1ns后开始生效且不会再次被disable;

可能的解决办法三(未确认是否有效):
检查VIP的所有跟Dump波形相关的配置,如我这里根据测试知道是MIPI VIP配置的原因,将其加载FSDB Writer和Verdi相关的配置都关闭。


您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2024-5-6 12:32 , Processed in 0.029973 second(s), 7 queries , Gzip On, Redis On.

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