zoukankan      html  css  js  c++  java
  • UVM的树形结构是怎么创建的?

    UVM树通过uvm_component来实现树形结构。所有的UVM树看的结点都是一个uvm_component。每一个uvm_component都有一个特点:他们在new的时候需要指定一个类型为uvm_component,名字为parent的变量。
    uvm_component有phase的概念。
    对于每一个uvm_component,它都有一个m_child[]用来保存它的孩子,同理也告诉这些孩子他们的父母是谁。

    UVM树形结构

    先来看看uvm_component.svh对应的源码:

    • m_parent/m_children[string]/m_children_by_handle[]构建了整个UVM的树形结构。

    • line1736-1739,uvm_root的name==top,但是set_name("")所有在get_full_name等函数调用的时候,就不会显示这一级。
    • 判断出来是最顶层,直接return,m_parent == null并且m_child[]也不会赋值。

    • line1748,相信看过uvm_phase就会知道这个函数。
    • line1749,判断uvm_build_phase是不是在common_domain里面。
    • line1771,通常在uvm_test_top,case的那一层parent的参数设置为null。

    • m_parent
    • m_children[]
    • m_children_by_handle[]
      构建了UVM树形结构

    UVM树形结构

  • 相关阅读:
    linux防火墙关闭与中文显示乱码排错
    linux基础命令
    盒子模块
    表的数据类型
    pymysql模块
    sql综合练习题
    pymysql内置功能
    数据操作
    vue 左侧菜单展示,以及对应的路由配置
    vue 左侧菜单路由实现
  • 原文地址:https://www.cnblogs.com/xuqing125/p/15761698.html
Copyright © 2011-2022 走看看