如何验证AMBA系统级环境

描述

在之前的博客中,我讨论了在验证基于 AMBA 的子系统的复杂 SOC 时面临的一些关键验证挑战。据指出,建立一个可扩展的基于AMBA的核查环境确实是有益的,这种环境可以作最低限度的调整,以便可以重新用于新的系统或衍生物。

为了使 SOC 验证工程师能够创建高度可配置的 AMBA 结构,系统环境应提供占位符,用于将 DUT 与任何典型的 AMBA VIP 组件(如 AXI3/4/ACE、AHB 或 APB)挂钩。通过使用 AMBA 系统环境,我们可以将其配置为使用最少的附加代码实例化尽可能多的 AXI/AHB/APB VIP。因此,这样的环境需要封装以下内容:

气系统环境

AXI (3/4/ACE) 系统环境

AHB系统环境

APB 系统环境

虚拟序列器

AMBA 系统监视器阵列

AMBA 系统环境的配置描述符,可用于配置底层 CHI/AXI/AHB/APB 系统环境

下图显示了此类验证环境的表示形式:

DUT

让我们看看UVM中的哪些功能可以派上用场,为一些重要的系统级功能创建强大的环境:

分层虚拟序列器,以实现各种组件之间的同步:管理总线结构同步的系统序列器可以建模为虚拟序列器,并引用 CHI System Env、AXI System Env、AHB System Env 和 APB System Env 中的虚拟序列器。

利用分析端口进行系统级检查、评分板和响应处理:理想情况下,CHI、AXI、AHB 和 APB 主代理和从代理中的每个端口监视器都有一个分析端口。在事务结束时,主代理和从代理分别将完成的事务对象写入分析端口。可以指定此类上游端口和下游端口,供系统监视器用于跟踪结构中的转换和响应以及执行路由检查。
 

 使用回调启用用户扩展并提取覆盖范围和吞吐量度量: 回调是一种访问机制,允许插入用户定义的代码,并允许在 AMBA 系统环境中访问对象以进行性能分析和吞吐量测量。

要在系统环境中的虚拟序列器上运行的综合序列库: UVM 允许将序列的逻辑集合注册到序列库,并且此集合可以在关联的序列器上执行。然后,系统级序列器协调这些序列集合在不同序列器的执行,以创建有趣的场景组合,同时针对系统级激励视角的最大覆盖范围

从验证的角度来看,系统级检查是关键。如前所述,它们可以包括:

跨 CHI、AXI、AHB 和 APB 端口的数据完整性检查

跨 CHI、AXI、AHB 和 APB 端口的事务路由检查

审核编辑:郭婷

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分