22 UVM Callbacks

2023-12-29 18:07:22

回调用于改变组件或对象的行为而不修改其代码。请参阅SystemVerilog callback - VLSI Verify以更好地理解。UVM 中的phasing机制就是回调的一个简单示例

1 UVM Callback Usage

  1. 允许即插即用机制以建立可重用的验证环境。
  2. 基于钩子方法(hook method)调用,执行用户自定义的代码,而不是空的回调方法。这带来了组件或对象的各种风格。
  3. 回调可用于在组件中引入错误或延迟。

2 UVM Callback Macros

下面仅提及广泛使用的回调宏:

3 UVM Callback Classes

UVM 回调为其实现提供了一组类。

4 UVM Callback Methods

uvm_callback 方法可以使用范围解析运算符来调用,因为它们是静态方法。

例如: uvm_callbacks#(T, CB)::add(obj,cb);

其中:

T?:使用用户定义回调的对象类型,它必须从 uvm_object 派生。

CB?:用户自定义回调类型

obj :?使用用户定义回调的对象句柄

cb?:用户定义回调对象

uvm_callbacks、uvm_callback_iter 和 uvm_callback 类还有许多其他方法,这里不讨论,常用方法和宏在上一节中介绍。?

5 Steps to implement uvm_callback

6 UVM callback in uvm_sequence

6.1 UVM callback in uvm_sequence example

文章来源:https://blog.csdn.net/Bonnie_89/article/details/135294510
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。