把DUT的配置传递给UVM参考模型的步骤

控制/MCU

1877人已加入

描述

在基于Universal Verification Methodology (UVM) 的设计中,将配置从设计被测设备 (DUT) 传递到UVM参考模型通常涉及以下步骤:

定义一个配置对象:首先,需要定义一个包含DUT配置的UVM配置对象。这个对象通常会包含被测设备的所有可配置参数。

class dut_config extends uvm_object; `uvm_object_utils(dut_config) // Define your configuration parameters here. For example: int unsigned param1; bit [31:0] param2; function new(string name = "dut_config"); super.new(name); endfunction endclass

在测试中创建和设置配置对象:在UVM测试 (UVM test) 中,创建并设置此配置对象,然后通过UVM配置数据库 (UVM config DB) 设置。

class my_test extends uvm_test; `uvm_component_utils(my_test) dut_config cfg; function new(string name = "my_test", uvm_component parent = null); super.new(name, parent); endfunction virtual function void build_phase(uvm_phase phase); super.build_phase(phase); // Create and configure the DUT configuration object cfg = dut_config::create("cfg"); cfg.param1 = 10; cfg.param2 = 'hDEADBEEF; // Set the DUT configuration object in the UVM configuration DB if (!uvm_config_db #(dut_config)::set(this, "*", "cfg", cfg)) begin `uvm_fatal("SETCFG", "Unable to set DUT configuration in the UVM configuration DB") end endfunction endclass

在UVM参考模型中获取配置对象:在UVM参考模型中,可以从UVM配置数据库中获取此配置对象。

class ref_model extends uvm_component; `uvm_component_utils(ref_model) dut_config cfg; function new(string name = "ref_model", uvm_component parent = null); super.new(name, parent); endfunction virtual function void build_phase(uvm_phase phase); super.build_phase(phase); // Get the DUT configuration object from the UVM configuration DB if (!uvm_config_db #(dut_config)::get(this, "", "cfg", cfg)) begin `uvm_fatal("GETCFG", "Unable to get DUT configuration from the UVM configuration DB") end endfunction endclass

以上示例展示了一种常见的通过UVM配置数据库将DUT的配置传递给UVM参考模型的方法。具体的实现可能会根据设计和验证需求进行调整。

实战MCU+ISP图像处理芯片版图

MCU芯片

知识星球发起MCU项目启动,大家一起参与MCU项目规格启动讨论,我把设计、验证、DFT、后端的知识点全部罗列出来,大家一起来完善。

MCU芯片

以项目驱动的方式介绍MCU芯片全流程设计的方法;提炼相关的检查列表、signoff checklist的样本;让星球成员熟悉SoC架构、设计流程、开发进度、项目管理;

编辑:黄飞

 

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

全部0条评论

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

×
20
完善资料,
赚取积分