UVM中如何根据DUT的状态来发送不同的sequence
时间:10-02
整理:3721RD
点击:
在UVM验证中,如何根据DUT的某些信号状态来发送不同的sequence,从而发送不同的data items。在《A Practical Guide to Adopting the Universal Verification Methodology(UVM)》中5.3.1节提到reactive generation - the contents of the data items can be influenced by the state of the DUT.但是没有提到怎么实现。
哦,这个我也在研究,研究出来咱们交流一下啊!
这个要自己实现, 例如你可以分析你的coverage, 发现某些coverage比较低, 然后通知sequencer约束一下data item.
对于你上面的要求, 实现的例子是:
把该信号添加到interface里, 然后interface连到sequencer或者driver里去, sequence里需要有p_sequencer(默认)或者p_driver, 然后根据p_sequencer的interface的值来发不同的sequence.
当然你在sequencer里做也可以, 两套sequence, interface的值是A, 做一套, 是B做另外一套.
最简单的方法是, 直接在case里拿DUT的信号, 不过这个在重用上就比较烂了.
再请问一下,我在top里使用set语句把interface连到sequencer,然后再sequencer里使用get语句,但是显示Error in Getting Interface。
最近也遇到这个问题,请问一下小编是如何解决的呢?
3楼的方法是可以的,可能你的interface没有定义为virtual的
virtual seq