从零开始学习 UVM6.4UVM 激励产生 —— uvm_do 宏详解
Posted ReRrain
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从零开始学习 UVM6.4UVM 激励产生 —— uvm_do 宏详解相关的知识,希望对你有一定的参考价值。
请注意,start
方法的call_pre_post
字段设置为0,这意味着在使用这些序列宏时,序列的pre_body和post_body方法将永远不会被调用。否则,执行流程与通过start方法执行序列时类似。
文章目录
执行序列宏介绍
使用序列宏的优点是可以使用内联约束,但是您失去了控制执行sequence中 pre_body
和 post_body
方法调用的能力。通过创建item、随机化并自动调用所需任务来减少代码行数,以启动给定的sequence或sequence_item。
在之前的文章中,我们了解到所有 uvm_do
宏最终都调用在 uvm_do_on_pri_with
中定义的代码。因此,让我们看看 UVM 中如何构建它以更好地理解这个过程。
`define uvm_do_on_pri_with(SEQ_OR_ITEM
从零开始学习 UVM4.1UVM Phases —— UVM Phases 介绍
文章目录
UVM Phases是什么?
所有TestBench组件都是从uvm_component
派生的,并且具有 Phase 概念。每个组件都经历一组预定义(pre-defined)的phases,直到所有组件在当前phase执行完毕后,它才能进入下一个phase。因此,UVM阶 phase在仿真生命周期中充当同步机制(synchronizing mechanism)。
由于各个Phase被定义为回调函数,所以从uvm_component派生的类可以在回调方法中执行有用的工作。不消耗仿真时间的方法是函数,而消耗仿真时间的方法则是任务。所有阶段可以分为三类:
-
- 构建时期(Build time phases)
以上是关于从零开始学习 UVM6.4UVM 激励产生 —— uvm_do 宏详解的主要内容,如果未能解决你的问题,请参考以下文章