微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC验证交流 > 求助:UVM中可以改变从seq_item_port中取得的req的内容么?

求助:UVM中可以改变从seq_item_port中取得的req的内容么?

时间:10-02 整理:3721RD 点击:
各位:
最近正在使用UVM搭建验证平台。现在有个问题不是很确定,因此,动笔之前想问问这样可不可行。
如果照正常使用的话,在driver中应该是这样的顺序:

  1. seq_item_port.get_next_item(req);drive_transfer(req);seq_item_port.item_done(req);

复制代码


但是有时候我需要将req进行一些处理,比如说,如果sequencer传递过来的req是RGB的图像,但是DUT要求我发送YUV格式,因此,我需要增加一个function,变成这样的:

  1. seq_item_port.get_next_item(req);csc_rgb_to_yuv(req);drive_transfer(req);seq_item_port.item_done(req);

复制代码


csc_rgb_to_yuv函数直接对req进行操作,这样,get_next_item时候的req就与item_done时候的req不一样了,这样没问题吧?

我觉得没有问题,你这个函数等于driver中调用callback函数对item作修改的情况。所以是可行的。

LZ只是把transaction里面的每一个Pixel循环做一个CSC的转换,为何不可?就在driver_transfer里面做也可以。

OK,谢谢楼上诸位了。

.............................

同问,问题的答案是什么呢?我也遇到了相同的问题

当然可以改变。想怎么改就怎么改。
item_done函数的参数应该是返还给sequence的response(或者直接就是空的参数,此种情况下不通过item_done提供response),而不是request。但是有时候为了简单,直接把req拿过来做为参数返回给sequence当做response而已。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top