当前位置:首页 > 公众号精选 > 芯片验证工程师
[导读]在UVMtestbench开始发送激励之前,必须构建其组件层次结构以及验证组件之间的连接关系。UVMtestbench的第一阶段(phase)是buildphase,在此阶段自上而下地实例化组成验证环境层次结构中的各个uvm_component类。当在顶层的initial语句块中...

在UVM testbench开始发送激励之前,必须构建其组件层次结构以及验证组件之间的连接关系。


UVM testbench 的第一阶段(phase)是build phase,在此阶段自上而下地实例化组成验证环境层次结构中的各个uvm_component类。

当在顶层initial 语句块中调用run_test()方法时,就开始激活验证平台的构建即从testcase开始依次调用各组件的build_phase在执行test case的build phase期间,需要准备好testbench配置对象,并将virtual interface赋值给testbench中各个组件中的virtual interface句柄


在下一级的层次结构(uvm_env)中,将根据从testcase获取的配置对象进一步地配置(uvm_agent)并可以根据实际情况进行更改。在build phase完成后,将开始connect phase确保完成所有组件之间的连接(自下而上)。等到所有的uvm_phase运行完成,会将控制权再给到test case。


简而言之,在发送测试激励之前需要完成验证组件的构建、配置和组件之间的连接。

UVM testbench 的构建过程从test case开始,决定了构建怎样的验证平台:


• 进行factory override,以便将配置对象或组件对象替换为为派生类型

UVM factory 允许一个UVM类在构建时被另一个派生类替换,必须在构建对象之前就指定factory override,因此需要在该组件上层的build phase进行指定。


• 设置一个层次化的env配置对象,其中包含各种子组件所需的配置对象

每个验证组件如env或agent ,都应该有一个定义其结构和行为的配置对象。这些配置对象应该在build phase方法中创建,并根据测试用例的要求进行配置。如果验证子组件的配置比较复杂或者可能需要发生更改,那么值得添加一个 virtual function调用并在扩展的测试用例中重载

class spi_test_base extends uvm_test;`uvm_component_utils(spi_test_base)spi_env m_env;spi_env_config m_env_cfg;apb_agent_config m_apb_cfg;spi_agent_config m_spi_cfg;
// Standard UVM Methods:extern function new(string name = "spi_test_base", uvm_component parent = null);extern function void build_phase( uvm_phase phase );
extern virtual function void configure_env(spi_env_config cfg);extern virtual function void configure_apb_agent(apb_agent_config cfg);endclass: spi_test_base
function spi_test_base::new(string name = "spi_test_base", uvm_component parent = null);super.new(name, parent);endfunction
// Build the env, create the env configuration// including any sub configurations and assigning virtual interfacesfunction void spi_test_base::build_phase( uvm_phase phase );// Create env configuration objectm_env_cfg = spi_env_config::type_id::create("m_env_cfg");// Call function to configure the envconfigure_env(m_env_cfg);// Create apb agent configuration objectm_apb_cfg = apb_agent_config::type_id::create("m_apb_cfg");// Call function to configure the apb_agentconfigure_apb_agent(m_apb_cfg);// More to followendfunction: build_phase
// Convenience function to configure the env// This can be overloaded by extensions to this base classfunction void spi_test_base::configure_env(spi_env_config cfg);cfg.has_functional_coverage = 1;cfg.has_reg_scoreboard = 0;cfg.has_spi_scoreboard = 1;endfunction: configure_env
// Convenience function to configure the apb agent// This can be overloaded by extensions to this base classfunction void spi_test_base::configure_apb_agent(apb_agent_config cfg);cfg.active = UVM_ACTIVE;cfg.has_functional_coverage = 0;cfg.has_scoreboard = 0;endfunction: configure_apb_agent• 配置验证环境中各组件的virtual interface句柄

在调用UVM run_test()方法之前,DUT顶层I/O上的信号应该通过连接到 SystemVerilog interfaces并赋值给virtual interface,然后通过uvm_config_db::set将每个接口的virtual interface赋值给所需的验证组件,然后各个组件访问其配置对象内部的virtual interface手柄,以驱动或监视DUT信号。

if( !uvm_config_db #( virtual apb3_if )::get(this, "" , "APB_vif",m_apb_cfg.APB) ) `uvm_error(...)

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

将服务东南亚的领先数字健康平台推向公开市场 EUDA Health 正通过其专有统一的人工智能平台颠覆价值数万亿美元的医疗保健行业,其平...

关键字: ui

DATAmatic套件以广泛使用的OTAmatic软件管理解决方案的成功以及Airbiquity超过20多年的项目开发和部署专业知识为基础  西雅图2022年4月...

关键字: 汽车制造 ui

(全球TMT2022年4月13日讯)互联汽车服务领域企业Airbiquity®推出一套边缘数据管理解决方案DATAmatic®,以此满足对服务和工具日益增长的需求,帮助汽车制造商管理互联汽车数据并将其货币化。该套件包括...

关键字: 数据管理 互联汽车 ui

(全球TMT2022年3月1日讯)游戏技术提供商Quixant宣布采用新品牌标志、新品牌面目,以及改进的产品和支持平台Quixant Hub进行企业品牌重塑。Quixant不断投资于游戏技术创新,开发了一系列下一代IQ...

关键字: ui

(全球TMT2022年1月21日讯)互联车辆服务领域企业Airbiquity®宣布与先进半导体解决方案领先供应商瑞萨电子的合作取得瞩目进展。这种扩展后的技术集成涉及瑞萨电子的R-Car S4片上系统(SoC)和Airb...

关键字: 瑞萨电子 ui

纽约2021年11月22日 /美通社/ -- CITIC Capital Acquisition Corp. (NYSE: CCAC.U)(简称“CCAC”或“该公司”)更新了与早前宣布的与Quanergy System...

关键字: ui pi

此次战略收购转变了公司跟员工交流和互动的方式,实行端到端的HR方案让业务做得更好 纽约2021年11月5日 /美通社/ -- 员工体验管理领域...

关键字: via ui Spark

(全球TMT2021年11月5日讯)员工体验管理领域的领导者Tivian宣布战略性收购了变更沟通领域的领导者GuideSpark。  通过功能合并,公司能够综合员工的反馈意见,消除沟通过程中的纷扰,跟正确的员工在正确的...

关键字: via ui Spark

纽约2021年11月3日 /美通社/ -- Fortune Rise Acquisition Corp. 收购公司(NASDAQ交易代码:FRLAU),  ...

关键字: ui se

全新的机器学习能力让Amazon QuickSight功能更加强大,可以识别用户使用日常语言提出的业务数据相关问题,在几秒钟内予以精准回复,并以可视化的形式呈现...

关键字: ck ic ui
关闭
关闭