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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

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

[求助] 请问sv或者uvm有没有把类下面所有成员名字返回到一个queue里的函数

[复制链接]
发表于 2020-7-13 17:30:44 | 显示全部楼层 |阅读模式

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

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

x
请问sv或者uvm有没有把类下面所有成员名字返回到一个queue里的函数

最终得到每个类成员的name
发表于 2020-7-13 18:50:12 | 显示全部楼层
verdi里边直接可以看
 楼主| 发表于 2020-7-13 18:52:43 | 显示全部楼层


adan313 发表于 2020-7-13 18:50
verdi里边直接可以看


我是要拿到这些字符串
发表于 2020-7-13 21:37:42 | 显示全部楼层
要么EDA工具提供,要么pli自己做,sv是没有反射功能的
发表于 2020-7-14 12:53:54 来自手机 | 显示全部楼层
没有这样的函数!你可以自己写个pli/vpi来实现这样的奇葩需求,也很简单的事。
发表于 2020-7-14 20:23:06 | 显示全部楼层
看到这个问题第一反应就是应该可以通过uvm_field宏找到解决办法,最不济也可以用uvm的sprint来进行提取,查了一下其实可以借助UVM_CHECK_FIELD来实现,这个东西里面用一个关联数组来记录的,可以通过遍历该数组的key来获取你要的信息。不过处理完成以后需要清理一下static总的内容,否则下次使用可能报错。
另外一个想到的是自己扩展uvm_field相关的宏,你想怎么记录就怎么记录
 楼主| 发表于 2020-7-14 22:25:52 | 显示全部楼层


dtyuzhou 发表于 2020-7-14 20:23
看到这个问题第一反应就是应该可以通过uvm_field宏找到解决办法,最不济也可以用uvm的sprint来进行提取,查 ...


多谢多谢。

还想请教一个打印的小问题,比如想打印如下对齐几行

行首                                          行尾
name                                        value
AAA                                               1
BB                                               22
CCC                                            321

右边要贴边,这个好实现吗?

谢谢!
发表于 2020-7-15 10:03:07 | 显示全部楼层


kahn01011 发表于 2020-7-14 22:25
多谢多谢。

还想请教一个打印的小问题,比如想打印如下对齐几行


这个地方其实建议参考uvm_printer中的emit函数的做法,先计算一个最大的行长度,然后用有效信息加空格的方式进行填充
你的这个需求应该是只要调换一下row.value和最后space的位置就可以了
要是我自己写的话,思路可能和uvm_printer中的比较像,将每一行分层4个组成,name、space1、space2、value,其中space1和space2需要根据name和value的长度进行计算
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2024-11-5 23:20 , Processed in 0.021053 second(s), 6 queries , Gzip On, Redis On.

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