介绍从一组可重用的验证组件中构建测试平台所需的步骤

描述

本文介绍了从一组可重用的验证组件中构建测试平台所需的步骤。UVM促进了重用,加速了测试平台构建的过程。

首先对测试平台集成者(testbench integrator)测试编写者(test writer )进行区分,前者负责测试平台的构建和配置,后者可能对测试平台的底层了解较少,但用它来创建测试用例。

基于验证组件创建测试平台的步骤是: 

Review可重用的验证组件配置参数。 

实例化和配置验证组件。 

为接口验证组件创建可重用的sequences(可选)。 

添加一个virtual sequencer(可选)。 

增加checking和functional coverage。 

创建测试用例以实现覆盖率目标。 

创建Top-Level Environment 

Top-Level Environment是一个容器,它定义了可重用验证组件的拓扑结构,实例化并配置可重用的验证IP,并根据需要定义该IP的默认配置。不同的测试用例可以实例化并重新配置Top-Level Environment类,以更好地实现其测试目的。

TLM

实例化验证组件 

TLM

不同的测试用例可以实例化上面的top-level environment 类,并根据需要对其进行配置,而不需要了解它被创建和配置的所有细节。

我们不是在ubus_example_env的new()构造函数,而是在内置的UVM phase中创建验证子组件。

uvm_config_db::set 调用指 定masters和slaves的数量都应该是1。这些配置 在 ubus0 build_phase()中被使用,定义ubus0环境的拓 扑结构。

super.build_phase()作为ubus_example_env’s build()的第一行调用,如果使用了UVM字段自动化宏(UVM field automation macros ),这将更新ubus_example_tb的配置字段。

connect_phase()是一个内置的UVM phase,用于在slave monitor 和scoreboard之间建立连接。slave monitor 包含一个TLM analysis port,它与scoreboard上的TLM analysis export 相连。在build_phase()和connect_phase()函数完成后,用户可以对一些配置进一步进行调整。 

创建testcase

uvm_test类定义了测试场景(test scenario),涉及到验证环境的配置。尽管验证环境开发者提供了验证环境拓扑和配置属性的默认值,测试用例开发者可以使用UVM类库提供的配置覆盖机制进行覆盖。UVM中的测试用例是由uvm_test类派生的类,通常定义一个基础test case类,实例化并配置Top-Level Environment,然后被扩展以定义特定场景。 




审核编辑:刘清

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分