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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 1365|回复: 7

[讨论] 都不喜欢在环境里面加打印函数的?(换个地方)

[复制链接]
发表于 2023-3-14 16:38:39 | 显示全部楼层 |阅读模式

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

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

x
一个新人截图给我一大段for循环内嵌套if/else且涉及到多个变量的分支判断运算的reference model代码,然后问我为啥其中一个if语句没有被执行到。
我一看。。好家伙,写了大几百行的reference model代码,居然所有的while/for/if-else中一个打印信息都没有,这样子去调试一大堆变量的分支控制。。

在代码的每个分支跳转、循环结束的时候添加一个可控制打印级别的`uvm_info或者assertion立即断言判断很难么。。实在不行if+$error/$warning/$fatal也行啊,甚至简单粗暴点加个$display也好啊。。
是自信到觉得自己第一次写的7、800行且少说也有10-20个变量的代码就能一定一次性写对呢,还是觉得写多几行打印函数就玷污了自己的代码杰作呢。。

还有,某算法同事曾经给我release个需要一大堆配置config变量的C算法,结果只有Process start/Process end的打印,然后打印success就没了,算法的结果文本保存过程、执行过程、配置读入信息啥都没看到。。。这个算法封装起来的DPI我都不敢直接调用了,但凡出个内存溢出错误都不知道啥原因,得几十个配置变量加一大堆数组指针全部人人工检查一遍。。

我很好奇。。。自己的代码全程都不添加打印信息的小伙伴们,都是啥心态?
发表于 2023-3-14 17:44:39 | 显示全部楼层
经验不足,遇到的问题太少了,没考虑出错后怎么检查
发表于 2023-3-14 18:39:48 | 显示全部楼层
一般用UVM_HIGH作为开关来方便debug,又避免打印太多不必要的内容
发表于 2023-3-15 10:55:27 | 显示全部楼层
现在初步用uvm宏的4个信息宏,环境搭建部分给full,testcase给low或medium,环境配置给high。
发表于 2023-4-18 14:14:39 | 显示全部楼层
也许这位伙伴更喜欢设断点调试
发表于 2023-4-18 18:44:55 | 显示全部楼层
我一般搞个debug interface,把debug信息拉到波形上看。或者单步调试也OK。打印信息还是要多加的,和注释似的。
发表于 2023-4-21 01:02:49 | 显示全部楼层
我是会直接自己做一个打印专用宏,把变量名和值都打出来,同时受uvm冗余度控制
发表于 2023-4-21 10:42:53 | 显示全部楼层
出问题再加
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2024-9-23 17:16 , Processed in 0.021130 second(s), 7 queries , Gzip On, Redis On.

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