为什么需要UVM RAL?

科技   2024-12-15 22:03   美国  

让我们再一次了解UVM方法的核心目的——可重用性和可配置性是UVM支持动态和静态组件的两个主要方面。RAL(Register Abstraction Layer)同样是是朝着同一方向的努力。


让我们了解为什么需要UVM RAL,以及它如何帮助支持UVM的核心目标?


要理解这一点,让我们先看看编写UVM寄存器testcase需要什么?

UVM testcase启动了UVM sequence,作为其的一部分,该UVM sequence必须包含有关我们想要访问的寄存器地址(WRITE或READ)和相应数据(在WRITE的情况下)的信息。

在上述UVM sequence片段中,它定义了tx sequence item然后UVM sequence驱动的cmd、addr和data类型。由于我们知道DUT(包含要验证的寄存器的设计)可以在block级别、子系统级别或SoC级别,因此如果要发挥UVM的主要作用,我们应该能够在不同的抽象级别重复使用激励。但正如我们所知,地址在block级别、子系统级别和SoC级别会有所不同。因此,主要问题是——如何在不同的抽象级别重复使用激励(即testcase或UVM sequence),因为不同的地址需要在不同的抽象级别提供?


为了解决这种情况,“register map”是这个谜题中的一个重要元素,它有助于映射特定的寄存器名称,即R0到特定抽象级别的正确预期地址,只需使用寄存器的名称和所需操作,即用它read或write(如下图所示)。

下图显示了RAL实现的机制,其中testcase/sequence只是使用寄存器名称,例如R0用于驱动WRITE或READ事务。寄存器名称被映射到register map中的地址,包含相应寄存器的register block连接到UVM agent,而UVM agent又连接到特定接口以访问DUT内所需的寄存器。

那么,为什么我们需要UVM RAL??

以下是一些好处——

  1. trstcase/sequence的可重复使用性。
  2. register coverage
  3. 预定义寄存器sequence可用性作为UVM基类的一部分
  4. DUT寄存器的后门访问
  5. 为register验证提供标准化的方法

数字芯片实验室
前瞻性的眼光,和持之以恒的学习。
 最新文章