【DVCon-US-2020】基于RAL的UVM Sequence自动生成方法

本文介绍了一种基于RAL的UVMSequence自动生成方法,通过设计文档自动化生成测试序列,简化了寄存器配置过程,提高了验证效率。

🔥点击进入【芯片设计验证】社区,查看更多精彩内容🔥


📢 声明

  • 🥭 作者主页:【MangoPapa的CSDN主页】。
  • ⚠️ 本文首发于CSDN,转载或引用请注明出处【点击查看原文】。
  • ⚠️ 本专栏目的为 学术论文分享,本文为非盈利性质,仅用于 个人学习记录知识分享
  • ⚠️ 若本文所采用图片或相关引用侵犯了您的合法权益,请联系我进行删除。
  • 😄 欢迎大家指出文章错误,欢迎同行与我交流 ~
  • 📧 邮箱:mangopapa@yeah.net



论文概述

  本文题目 Automated Generation of RAL-based UVM Sequences,作者是 Intel 的加拿大工程师。

  本文提出了一种 基于RAL(寄存器抽象层)的UVM Sequence自动生成 方法,并探讨了 通过划分TB约束范围来加速仿真 的问题。


研究目的

  通常而言,我们通过配置一组寄存器来控制 DUT 的硬件行为,以使 DUT 工作在某一 feature 下。对于不同的 feature,配置的寄存器以及配置寄存器的顺序或有不同。目前,比较常用的配置寄存器的方法是采用 UVM RAL Model 来配置 DUT 寄存器。这就意味着:我们要针对每一个feature制定一个programming sequence,并coding 成uvm sequence。

  想必各位DV同学在验证过程中遇到过这些情况:feature太多了,feature又变了,programming sequence又变了,寄存器又变了 …… 手动写、手动改,手都麻了,直让人骂娘。

  怎么办?自动化!用脚本实现自动化!


新方法

  本文提出了一种 从设计文档自动生成基于RAL的UVM Sequence的方法 ,并探讨了 通过划分TB约束范围来加速仿真 的问题。图1是脚本生成UVM sequence的UVM 测试框架。

在这里插入图片描述

图1 Modified UVM test framework integrated with the RAL and UVM sequence auto-generation scripts

  该方法的主体思路总结如下:

  1. 标准设计文档。写一份特定格式的设计spec,要求机器可读。该文档中需包含两个重要子spec,其一是寄存器spec,其二是各个feature的programming sequence spec。
  2. 解析脚本。用脚本自动解析该文档,自动生成uvm sequence和ral sequence。
  3. 每次更新设计文档,重新解析一次重新生成相关sequence即可。

  以上方法中,有几个地方我重点解释一下:

  1. 设计文档中的programming sequence设计为有向无环图的状态机形式,便于脚本正确生成对应uvm sequence。
  2. 为了提高coverage,这需要对RAL Model的寄存器值进行大范围随机。在较大的设计中,但考虑到寄存器间或许存在依赖关系,仅靠ral自己随机或手动在ral内添加随机约束均不太现实,ral model全部寄存器随机约束很复杂,解约束耗时久。而且不同feature下ral model的随机方案也不同。在本文自动生成环境中,是怎么实现的呢?——针对用config_db,每一个feature的test的uvm sequence都对应一个特定的config_db,在test里set给ral sequence,且只随机我们在验证的block相关的寄存器,以此来减小解随即约束的时间(就是前边说的加速仿真),也能过防止随机出预期外的错误结果。

讨论

  这个方法好,DV再也不怕设计文档变化啦

  方法是好方法,但实话说,本文所用的自动生成test sequence的概念并不是很新,成熟点的公司都有类似的脚本吧。

  真正要把这方法用起来,需要DE同学在写设计spec的时候规范一点。尤其是programming sequence,每个寄存器怎么配、配多少,都要写得清清楚楚。这么多feature …… 这个方法解放了DV,苦了DE啊,估计DE要骂娘了。DE不写DV愿意写也行,谁都不写的话,这方法也用不起来。



🔥 点击进入【芯片设计验证】社区,查看更多精彩内容 🔥


⬆️ 返回顶部 ⬆️

评论 27
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MangoPapa

请作者喝瓶可乐吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值