前言
对于刚接触验证方法或正在采用 uvm 的工程师,本文重点介绍 uvm 配置机制 "uvm_config_db
",它有助于在分层测试台组件之间传递不同的类属性。通过使用示例,本文解释了 uvm_config_db
的用法、技术和局限性。
介绍
为满足当今验证架构的需求,有必要对组件进行分层设置,以便在不同的测试平台组件之间轻松移动或共享配置和其他参数。为实现这一点,uvm 提供了维护对象和变量数据库的基础架构,可使用字符串填充和访问这些对象和变量。这可以通过 uvm 语法 uvm_config_db
来实现。
使用 uvm_config_db
,对象可以与其他对象共享其数据成员的句柄。其他测试平台组件可以访问该对象,而无需知道它在层次结构中的位置。这就好比让某些类变量成为全局变量或公共变量。任何测试平台组件都可以放置句柄并获取对象的句柄。在数据库中,句柄由指定的 "类型 "和 "名称 "标识。
主要有两个 uvm_config_db
函数,即 set()
和 get()
。和 get()
函数。让其他人访问它所创建的对象,并控制哪些组件可以看到它共享的对象。对象可以全局共享,也可以提供给一个或多个特定的测试平台组件。使用获取()
的验证组件检查是否存在与所用参数匹配的共享句柄.get()
函数函数定义了对象类型、名称和搜索对象的层次路径。