UVM---seq/sqr/driver

2022-02-18  本文已影响0人  li_li_li_1202

UVM的seq/sqr/driver是紧密相连的,从user的角度来看,有一套common的模板,user就只管用就行了。
很多时候,我就只是只知道怎么用,并不清楚里面的实现机制,一旦出现不常见的bug时,就只能干瞪眼,所以作为一名IC验证工程师是十分有必要了解一下源码的。
TLM相关的东西,我们先不详细讲解。

公共模板

driver seq

response handler 的使用

在driver中的put_response与seq中的get_response是成对存在的,也就是说,seq中要get driver中的put,是阻塞的。


可以使用response handler来处理这种阻塞问题。response handler实际上是只调用了driver一侧的put_response,但是在seq一侧又预留了接口,用于处理response。

前面我们说过,seq的启动的方式,有三种,但其实他们的本质上都是调用了uvm_sequence_item的start函数,start函数里面的body()task就是一个callback函数。所以user在应用的时候,都会在body里面进行重写。

上一篇 下一篇

猜你喜欢

热点阅读