使用张强uvm实战中的例子,尝试使用set_type_override改写约束,但比对不过的问题?
时间:10-02
整理:3721RD
点击:
根据里面的例子试着搭了个环境(就是开头那个简单的例子)。
现在我想想尝试着使用set_type_override过载机制,把默认transaction中的pload的约束重新写了个transaction改掉(与默认的冲突,比如大于2000)。
现在我从波形上看激励确实改掉了,但在计分板中比对错误(使用你例子中的compare自带的比对)。但从打印信息看,数据域完全一致,没有错误。只是transaction不一样,格式如下:
----------------------
期望的数据打印:
nametype
m_transmy_transaction_new
------------------------------------
实际数据打印
nametype
my_transactionmy_transaction
----------------------------------------------
请问这是什么原因?按理说我应该把所有的transaction都过载成我新的transaction了,为什么会错误呢。
现在我想想尝试着使用set_type_override过载机制,把默认transaction中的pload的约束重新写了个transaction改掉(与默认的冲突,比如大于2000)。
现在我从波形上看激励确实改掉了,但在计分板中比对错误(使用你例子中的compare自带的比对)。但从打印信息看,数据域完全一致,没有错误。只是transaction不一样,格式如下:
----------------------
期望的数据打印:
nametype
m_transmy_transaction_new
------------------------------------
实际数据打印
nametype
my_transactionmy_transaction
----------------------------------------------
请问这是什么原因?按理说我应该把所有的transaction都过载成我新的transaction了,为什么会错误呢。
问题已经找到,关闭
我重载了sequence,没发现这个问题哦
有个地方没有用工厂机制创建实例,导致无法重载