ee_king的个人空间 https://blog.eetop.cn/1494617 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

Testbench_Testbench/Build(从Assigning Virtual Interfaces ...开始)

已有 662 次阅读| 2018-9-10 09:18 |系统分类:芯片设计

       Assigning Virtual Interfaces From The Configuration Space

       在调用UVM run_test()方法之前,应该通过将它们连接到SystemVerilog接口来连接到DUT的顶层I / O边界上的信号,然后应该将每个接口的句柄分配给通过uvm_config_db :: set传入test的虚拟 接口句柄。有关此主题的更多信息,请参阅有关虚拟接口的文章。
       在test的build方法中,需要将这些虚拟接口引用分配给相关组件配置对象内的虚拟接口句柄。然后,各个组件访问其配置对象内的虚拟接口句柄,以便驱动或监视DUT信号。为了使组件保持模块化和可重用,driver和monitor不应直接从配置空间获取其虚拟接口指针,只能从其配置对象获取。test类是确保通过其配置对象将虚拟接口分配给正确的验证组件的正确位置。
       以下代码显示了SPI测试平台示例如何使用uvm_config_db :: get方法为apb_agents配置对象中的虚拟接口句柄进行虚拟接口分配:

       // The build method from before, adding the apb agent virtual interface assignment
       // Build the env, create the env configuration
       // including any sub configurations and assigning virtual interfaces
       function void spi_test_base::build_phase( uvm_phase phase );
            // Create env configuration object
       m_env_cfg = spi_env_config::type_id::create("m_env_cfg");
           // Call function to configure the env
       configure_env(m_env_cfg);
       // Create apb agent configuration object
       m_apb_cfg = apb_agent_config::type_id::create("m_apb_cfg");
       // Call function to configure the apb_agent
       configure_apb_agent(m_apb_cfg);
       // Adding the apb virtual interface:
       if( !uvm_config_db #( virtual apb3_if )::get(this, "" , "APB_vif",m_apb_cfg.APB) ) `uvm_error(...)
       // More to follow
       endfunction: build_phase


点赞

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 2

    粉丝
  • 0

    好友
  • 0

    获赞
  • 6

    评论
  • 访问数
关闭

站长推荐 上一条 /1 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-3-29 23:36 , Processed in 0.015938 second(s), 11 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部