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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3875|回复: 13

[求助] 新人有几个问题想请教

[复制链接]
发表于 2019-10-29 21:53:25 | 显示全部楼层 |阅读模式

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

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

x
1、我想将sequence中的子sequence通过set_inst_override_by_type进行重载,但是没成功,执行仍为父类,而非目标子类。想问我的这个目标能否实现?如何实现?
2、请问大家在搭建平台时是如何实现平台整体复位的?包括将driver、monitor中正在执行的通信中断,将analysisi_fifo中存入的数据清空,将scb中的数据清除。不是phase跳转,这样会将我的sequence重新执行,我想到的是在各个部分定义一个uvm_event进行复位,但感觉类似全局变量,不知道会不会有风险。请问大家是如何实现的,借鉴一下。
3、使用uvm_reg寄存器模型的read、write函数。能否实现可变读写长度,字节/半字/字?
程序在公司服务器上,没法拷出,只能尽量描述,自学的uvm没什么实战经验,望不吝赐教
发表于 2019-10-30 16:22:15 | 显示全部楼层
1、可以实现;你在哪里执行的override?tc里面直接在default_sequence里面替换子类,不行吗?
发表于 2019-10-30 18:50:39 | 显示全部楼层
1 override的顺序写对了吗?test中添加factory.set_type_override_by_type(父类::get_type(),目标子类::get_type());试试
发表于 2019-11-2 14:58:41 | 显示全部楼层
1、object类型的使用inst  override时,之前学习的时候也遇到过override不成功,原因是直接用create(inst_name)创建的inst是没有接入uvm_tree的,因此不能用uvm路径找到inst。使用'uvm_create宏创建的inst可以接入uvm_tree;
2、不知道还有啥方法,同求;
3、reg_model read/write的位宽是'UVM_REG_DATA_WIDTH宏控制的,默认64bit。
发表于 2019-11-2 21:31:29 | 显示全部楼层
过来学习一下下
发表于 2019-11-4 20:06:42 | 显示全部楼层
1、检查下是不是重载和create的顺序,先重载再create。2、analysisi_fifo是否改成IMP直连回调函数的方式,这样不会有FIFO内的数据。
 楼主| 发表于 2019-11-4 21:23:13 | 显示全部楼层
本帖最后由 名扬 于 2019-11-4 21:24 编辑


gaurson 发表于 2019-10-30 16:22
1、可以实现;你在哪里执行的override?tc里面直接在default_sequence里面替换子类,不行吗?
...


我是在case里边,class case_a extends uvm_test;里的connect_phase里边写的。
 楼主| 发表于 2019-11-4 21:26:32 | 显示全部楼层


猫猫猫 发表于 2019-10-30 18:50
1 override的顺序写对了吗?test中添加factory.set_type_override_by_type(父类::get_type(),目标子类::get ...


顺序应该没问题,把路径删了,用type_override就可以,用inst_override就不行
 楼主| 发表于 2019-11-4 21:51:26 | 显示全部楼层


huaihui 发表于 2019-11-2 14:58
1、object类型的使用inst  override时,之前学习的时候也遇到过override不成功,原因是直接用create(inst_n ...


我是用uvm_do来自动执行的,你的意思是要用uvm_create加uvm_send来执行?
那个变宽度我是想在仿真过程中随意变换,这种可以吗?
 楼主| 发表于 2019-11-4 22:05:14 | 显示全部楼层


wk05130 发表于 2019-11-4 20:06
1、检查下是不是重载和create的顺序,先重载再create。2、analysisi_fifo是否改成IMP直连回调函数的方式, ...


我是在case中的connect_phase中set_inst_override_by_type("vsqr.main_phase.default_sequence.seq_a.seq_b",seq_old::get_type,seq_new::get_type);seq_old在seq_b中
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2024-5-7 11:46 , Processed in 0.027856 second(s), 6 queries , Gzip On, Redis On.

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