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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2519|回复: 5

[求助] 求助:sequence如何给transfer中的动态数组赋值?

[复制链接]
发表于 2013-5-16 16:25:22 | 显示全部楼层 |阅读模式

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

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

x
各位:
      正在使用UVM搭建验证环境,sequence采用随机值跑的话没有问题,但是如果使用特定值的话,会出现std::bad_alloc的问题。





  1.             `uvm_do_with(req,{req.r.size==arr_size;
  2.                               req.g.size==arr_size;
  3.                               req.g.size==arr_size;
  4.                               foreach(req.r[i]) req.r[i]==r[i];
  5.                               foreach(req.g[i]) req.g[i]==g[i];
  6.                               foreach(req.b[i]) req.b[i]==b[i];
  7.                               })


复制代码

提示的错误是:terminate called after throwing an instance of 'std::bad_alloc'
  what():  std::bad_alloc

遇上这个问题,我该怎么改变我的代码呢?
之前使用`uvm_create(req)产生req,然后给req中的动态数组赋值,然后使用`uvm_send发送出去,但是因为在transfer中增加了一个随机化的变量,要求的是transfer中的动态数组给特定的值,但是新增的随机变量需要让它自己随机产生。所以使用原来的`uvm_send就不能满足要求了,而`uvm_rand_send则将动态数组的值也给随机化了,不知道有什么办法能解决这个问题呀?
发表于 2013-5-16 17:10:34 | 显示全部楼层
If you want to load a specific image, you should do it in the definition of transaction. You can define a flag to distinguish it with random value. And the flag can be changed in body depending on you.
 楼主| 发表于 2013-5-17 09:13:25 | 显示全部楼层
回复 2# tbb2009
不是很明白,你是不是说在transfer中定义一个is_rand的变量,如果is_rand=1,那么动态数组就采用随机的值,如果是0的话就采用特定的图像数据?那还是涉及到怎么把数据往数组里面填的问题呀,也不能在transfer中做死,就算采用特定的图像数据,还分不同的图像源呢。
发表于 2013-5-19 16:18:57 | 显示全部楼层
.............................
发表于 2013-5-19 16:24:34 | 显示全部楼层
.............................
发表于 2017-5-5 11:17:15 | 显示全部楼层
???????????????????????????
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2024-9-22 04:05 , Processed in 0.020454 second(s), 9 queries , Gzip On, Redis On.

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