从零开始学习 UVM12.1UVM RAL(续更) —— Register Abstraction Layer (RAL) Model概述

Posted ReRrain

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从零开始学习 UVM12.1UVM RAL(续更) —— Register Abstraction Layer (RAL) Model概述相关的知识,希望对你有一定的参考价值。

文章目录

概述

大多数数字控制器或块都有可以通过软件(通常称为固件)编程的寄存器这些寄存器由某些协议访问,如AXI、AHB、APB协议等。使用这些寄存器,软件可以以特定方式控制设计行为。例如,设计可以具有某些配置,这些配置可以通过编程寄存器启用或禁用。寄存器通常被称为SFR(Special Function Registers,特殊功能寄存器)。

验证工程师还负责通过验证所有可能值来检查寄存器的可访问性和功能性,虽然UVM RAL模型对于寄存器验证并不是必需的,但RAL是一种有效完成工作的推荐技术。

32位寄存器通常在设计中使用。

从零开始学习 UVM6.4UVM 激励产生 —— uvm_do 宏详解

请注意,start方法的call_pre_post字段设置为0,这意味着在使用这些序列宏时,序列的pre_body和post_body方法将永远不会被调用。否则,执行流程与通过start方法执行序列时类似。

文章目录

执行序列宏介绍

使用序列宏的优点是可以使用内联约束,但是您失去了控制执行sequence中 pre_bodypost_body 方法调用的能力。通过创建item、随机化并自动调用所需任务来减少代码行数,以启动给定的sequence或sequence_item。

在之前的文章中,我们了解到所有 uvm_do 宏最终都调用在 uvm_do_on_pri_with 中定义的代码。因此,让我们看看 UVM 中如何构建它以更好地理解这个过程。

`define uvm_do_on_pri_with(SEQ_OR_ITEM

以上是关于从零开始学习 UVM12.1UVM RAL(续更) —— Register Abstraction Layer (RAL) Model概述的主要内容,如果未能解决你的问题,请参考以下文章

从零开始学习 UVM4.1UVM Phases —— UVM Phases 介绍

从零开始学习 UVM3.11UVM TestBench架构 —— UVM Virtual Sequencer

从零开始学习 UVM5.1UVM Factory —— UVM Factory Override(工厂覆盖)

从零开始学习 UVM2.5UVM 基础功能 —— UVM Object Copy/Clone

从零开始学习 UVM6.4UVM 激励产生 —— uvm_do 宏详解

从零开始学习 UVM10.7UVM TLM —— TLM Fifo [uvm_tlm_fifo]