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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 4040|回复: 14

[求助] 【UVM】如何单独随机化transaction中的某个变量

[复制链接]
发表于 2022-8-23 15:16:59 | 显示全部楼层 |阅读模式

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

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

x
例如 class tran1 extends uvm_sequence_item;

         rand bit a;

         rand bit b;
         rand bit c;
         rand bit d;
         ....
       endclass
我在sequence中已经 assert( tran1.randomize() ); 随机化一次事务流了,我想再对c,d做一次随机可以再用  assert( tran1.randomize(c,d) ); 吗?

感谢大佬们
发表于 2022-8-23 17:19:05 | 显示全部楼层
再对c和d随机的话,tran.c=$urandom,tran.d=$urandom是不是就可以了
发表于 2022-8-23 17:50:11 | 显示全部楼层
pre_randomize post_randomize
发表于 2022-8-23 20:21:53 | 显示全部楼层
第二次随机前用rand_mode把不想随机的变量关掉
发表于 2022-8-24 09:48:39 | 显示全部楼层
可以使用类名.约束名.constraint_mode(0)关闭约束,类名.约束名.constraint_mode(1)打开约束
发表于 2022-8-24 10:22:01 | 显示全部楼层
单个变量可以,多个我没试过
 楼主| 发表于 2022-8-24 11:39:05 | 显示全部楼层


free2021 发表于 2022-8-23 17:19
再对c和d随机的话,tran.c=$urandom,tran.d=$urandom是不是就可以了


这样的话 原来的约束就没有用了吧
 楼主| 发表于 2022-8-24 11:41:42 | 显示全部楼层


huaihui 发表于 2022-8-23 20:21
第二次随机前用rand_mode把不想随机的变量关掉


主要是变量太多了,一行一行敲有点傻。。
 楼主| 发表于 2022-8-24 11:44:03 | 显示全部楼层


年轻的韭菜 发表于 2022-8-23 17:50
pre_randomize post_randomize


我想全部随机然后对某个变量赋值,然后再随机部分变量  这样的话callback该怎么操作
发表于 2022-8-24 13:24:20 | 显示全部楼层
本帖最后由 fengzhiyong123 于 2022-8-24 13:25 编辑




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

本版积分规则

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

GMT+8, 2024-11-5 12:55 , Processed in 0.026380 second(s), 6 queries , Gzip On, Redis On.

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