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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

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

[求助] 使用filed_automation的pack_ints函数,最大只能传输4KByte有效数据

[复制链接]
发表于 2021-11-22 17:40:11 | 显示全部楼层 |阅读模式

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

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

x
transaction中定义如下:
      rand bit [17:0] pload [];
      rand bit[17:0] header0;
      rand bit[17:0] header1;
      rand bit[17:0] header2;
      rand bit[17:0] header3;
      rand bit[17:0] header4;
      rand bit[17:0] header5;      

   `uvm_object_utils_begin(my_transaction)
      `uvm_field_int(header0, UVM_ALL_ON)
      `uvm_field_int(header1, UVM_ALL_ON)
      `uvm_field_int(header2, UVM_ALL_ON)
      `uvm_field_int(header3, UVM_ALL_ON)
      `uvm_field_int(header4, UVM_ALL_ON)
      `uvm_field_int(header5, UVM_ALL_ON)      
      `uvm_field_array_int(pload, UVM_ALL_ON)      
   `uvm_object_utils_end



当pload中的数据长度增加,总数据量超过4KByte时(包括header),使用pack_ints函数将transaction转成int类型的bit流,只有前4Kbyte数据是有效的,其他的数据全部为0(已确认transaction的pload所有值都是有效的,数据长度也是正常的),求高手指点
发表于 2021-11-22 19:24:54 | 显示全部楼层
4K bit还是4K Byte?
image.png
 楼主| 发表于 2021-11-22 19:47:58 | 显示全部楼层


确定是4K Byte
发表于 2021-11-22 21:43:49 | 显示全部楼层
packed arrays limit是8K byte,4K的话,少算了符号位吗?
还是pack_ints的限制,翻下源码看看
 楼主| 发表于 2021-11-23 09:04:39 | 显示全部楼层
本帖最后由 w_kavin 于 2021-11-23 09:07 编辑


anpengfei 发表于 2021-11-22 21:43
packed arrays limit是8K byte,4K的话,少算了符号位吗?
还是pack_ints的限制,翻下源码看看
...


没有少算符号位,我将比特流存下来看了,数据长度刚好1024个32bit。如果packed array对长度数据量有限制,那么如果我需要发送更多的数据,是不是只能重载函数?
发表于 2021-11-23 12:37:07 | 显示全部楼层


w_kavin 发表于 2021-11-23 09:04
没有少算符号位,我将比特流存下来看了,数据长度刚好1024个32bit。如果packed array对长度数据量有限制, ...


看了下,是uvm_packer里uvm_pack_bitstream_t定义为4K byte的,
重载pack_ints应该可以
 楼主| 发表于 2021-11-23 16:10:21 | 显示全部楼层


anpengfei 发表于 2021-11-23 12:37
看了下,是uvm_packer里uvm_pack_bitstream_t定义为4K byte的,
重载pack_ints应该可以
...


谢谢。我看了下,pack_ints不能重载,只能自己定义一个函数,已经解决
发表于 2021-11-23 17:28:24 来自手机 | 显示全部楼层


w_kavin 发表于 2021-11-23 16:10
谢谢。我看了下,pack_ints不能重载,只能自己定义一个函数,已经解决


这个函数不是virtual的,确实不能重载,自己重新定义一个函数不是正统的解决方法,可以再看看源码为什么后面的数据是0,知道为什么是0就知道怎么解了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-12-26 09:15 , Processed in 0.021509 second(s), 8 queries , Gzip On, Redis On.

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