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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 4066|回复: 10

[求助] payload.push_back($urandom);

[复制链接]
发表于 2017-12-12 16:53:36 | 显示全部楼层 |阅读模式

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

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

x




  1. logic   [7:0] payload[$];
  2. payload.delete();
  3. repeat($urandom_range(2,4))
  4.       payload.push_back($urandom);
  5. foreach(payload[index]) begin
  6.         for(int i=0;i<8;i++) begin
  7.             rtr_io.cb.din[3] <= payload[index][i];
  8.            @(rtr_io.cb);   
  9.         end
  10. end


复制代码


声明一个8bit的队列payload,给它赋2到4字节的随机数,然后将这个队列传递给一个单bit的din[3],最后的波形显示队列中的随机数都是1。这不正常吧。
我把payload.push_back($urandom);改成了payload.push_back($random);结果还是全为1;
请教!
发表于 2017-12-13 14:58:27 | 显示全部楼层
这是sv lab上面的吧。可能是你另外的代码有问题吧
发表于 2017-12-13 15:03:30 | 显示全部楼层
先不要看波形,先看一看,payload里面是什么,用$display打印出来。在for上面写,$display("payload = %0h", payload[index]);看看队列里面是什么数。
 楼主| 发表于 2017-12-13 16:53:15 | 显示全部楼层
回复 3# gaurson


   我试了你说的方法,提示错误:index未定义,            foreach(payload[index])
                    $dispaly("payload = %0h,payload[index]");

foreach遍历不用定义index吧
 楼主| 发表于 2017-12-13 16:55:48 | 显示全部楼层
回复 3# gaurson

写错了
   $dispaly("payload = %0h",payload[index]);
 楼主| 发表于 2017-12-13 21:34:35 | 显示全部楼层
我检查payload里面的数了,都正常,但是波形还是不对
hello world
payload is 3c
din[da] = 0
din[da] = 0
din[da] = 1
din[da] = 1
din[da] = 1
din[da] = 1
din[da] = 0
din[da] = 0
hello world
payload is 7d
din[da] = 1
din[da] = 0
din[da] = 1
din[da] = 1
din[da] = 1
din[da] = 1
din[da] = 1
din[da] = 0
hello world
payload is e2
din[da] = 0
din[da] = 1
din[da] = 0
din[da] = 0
din[da] = 0
din[da] = 1
din[da] = 1
din[da] = 1
hello world
payload is b
din[da] = 1
din[da] = 1
din[da] = 0
din[da] = 1
din[da] = 0
din[da] = 0
din[da] = 0
din[da] = 0
发表于 2017-12-14 09:55:25 | 显示全部楼层
回复 1# 乐在其中296



@(rtr_io.cb);

把这句话前后的时间点一级赋的值都打出来,最后把波形也一并贴出来
 楼主| 发表于 2017-12-14 11:44:21 | 显示全部楼层
1.png 回复 7# churchmice

因为其他代码没有贴出来,所以把时序图贴出来看(下面) QQ图片20171214114917.png
发表于 2017-12-14 15:48:19 | 显示全部楼层
波形上的din[3]是rtr_io.cb.din[3]吗?能否给出波形中该信号的层次结构?
 楼主| 发表于 2017-12-14 19:08:05 | 显示全部楼层
回复 9# gaurson


      是的。另外sa是一个源地址变量,我设成了3。dint[sa]就是rtr_io.cb.dint[3]。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-11-6 05:28 , Processed in 0.024075 second(s), 7 queries , Gzip On, Redis On.

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