码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 管理多个sequence的执行方法:top_sequence


    文章目录

    • 前言
    • 1、管理sequence执行的方法
    • 2、top_sequence
    • 3、top_sequencer
    • 4、top_sequence的执行
    • 5、top_sequence实现sequence之间的同步
    • 6、top_sequence的应用实例演示
    • 总结


    前言

    在UVM验证环境中,我们通常会有很多不同类型的sequence,例如:控制复位的sequence、控制寄存器配置的sequence、控制总线的sequence等等,这些不同的sequence需要管理。本文主要记录一下,在同一个uvm验证环境中,不同的sequence之间,同步以及执行顺序先后,的控制方法。


    1、管理sequence执行的方法

    控制不同sequence之间的同步以及执行顺序的方法,通常是采用top_sequence来进行管理。top_sequence能够在一个phase中,同时管理多个sequence的执行,能够控制sequence的独占访问,不需要单独写sequence和sequencer,而是复用已有的sequence和sequencer,只是对其进行管理。
    在这里插入图片描述
    在这里插入图片描述

    2、top_sequence

    top_sequence的代码如下所示,首先利用`uvm_declare_p_sequencer宏来创建一个p_sequencer,然后声明需要管理的sequence,最后在body()方法中,将sequence送入对应的sequencer中。
    在这里插入图片描述
    在这里插入图片描述

    3、top_sequencer

    在top_sequencer中,只需要声明一下需要管理的sequence对应的sequencer即可。
    在这里插入图片描述
    在这里插入图片描述

    4、top_sequence的执行

    在测试用例中,首选需要声明并创建top_sequencer,其次将每个sequence与之对应sequencer的default_sequence设置成null,最后再配置top_sequencer去执行top_sequence。

    要注意的是,需要在connect_phase中将top_sequencer中声明的sequencer,与agent中对应的sequencer连接起来。
    在这里插入图片描述

    在这里插入图片描述

    5、top_sequence实现sequence之间的同步

    如下图所示,利用top_sequence,实现先执行pci_seq,i2c_seq等待某个事件之后再去执行。
    在这里插入图片描述

    6、top_sequence的应用实例演示

    应用top_sequence实现sequence的管理实例,可以参考文章《UVM环境中reset复位的处理》


    总结

    本文主要记录一下,如何利用top_sequence,实现多个sequence的管理。

  • 相关阅读:
    后缀表达式的计算【C语言】【数据结构】
    北邮22级信通院数电:Verilog-FPGA(3)实验“跑通第一个例程”modelsim仿真及遇到的问题汇总(持续更新中)
    Vue解决接口跨域
    git 忽略某文件修改,仅影响自己并不影响其他人
    【Spring Boot 集成应用】Kafka的集成用法
    提交代码出现error Empty block statement no-empty,代码却没报错?
    基本的五大排序算法
    Vue3.0第一天
    b2b.ccb.com:443 需要你的凭据
    rsync远程同步
  • 原文地址:https://blog.csdn.net/hh199203/article/details/127647533
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号