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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3329|回复: 6

[求助] uvm field_automation

[复制链接]
发表于 2016-12-18 22:33:01 | 显示全部楼层 |阅读模式

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

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

x
uvm 的field_automation里pack_bytes和bit 有将transaction类打包成位流或者字节流的功能,假设使用位流打包功能,但是数据发送的帧格式不同,其对应的transaction内的各个数据出现的顺序就会不一样,此时位流打包功能似乎就不能用了?那么应该怎么解决这个问题呢?求助。。这是在写SJA1000的验证平台遇到的问题,图为can协议规定的两种帧格式,上面为标准帧,。下面为扩展帧,标准帧和扩展帧的transaction内的各个数据出现的顺序出现是不一样的,那么此时应该如何使用pack_byte才能将transaction打包成不同帧的位流呢?
捕获.JPG
发表于 2016-12-19 10:35:21 | 显示全部楼层
uvm 的field_automation功能可以用选择开关功能(if else )。你采用一个标位来区分就行。
 楼主| 发表于 2016-12-20 09:29:59 | 显示全部楼层
回复 2# chensong0007


    懂了,谢谢。。
 楼主| 发表于 2016-12-22 22:27:50 | 显示全部楼层
回复 2# chensong0007


    还有一个问题,   就是在transaction里面定义动态数组时,在使用transaction的unpack_bytes时需要指定动态数组的大小,能不能在transaction内部定义一个变量来表示数组的大小,使得transaction调用unpack_bytes函数时,可以不用指定其大小,因为是直接将收集到的数据队列进行unpack操作,这样就提高了灵活性,
发表于 2016-12-23 09:15:22 | 显示全部楼层
回复 4# juzhimin

附上代码吧,没太明白你的问题。
 楼主| 发表于 2016-12-23 10:58:01 | 显示全部楼层
回复 5# chensong0007


    transaction.JPG
上图是transaction类,里面有一个动态数组,和一个data_size来指定这个数组的大小,我想要通过uvm_unpack将一个数据队列中的数据解析到transaction中,但是在下图中在monitor调用unpack时需要需要指定动态数组的大小, monitor.JPG   怎么可以实现用transaction里的data-sizelai 指定动态数组的大小呢,
发表于 2016-12-23 11:09:45 | 显示全部楼层
这种只能靠自己手动处理了,没法自动吧。我是没见过怎么自动unpack这种packet.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2024-9-22 02:07 , Processed in 0.018654 second(s), 8 queries , Gzip On, Redis On.

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