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

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

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
把DUT的配置传递给UVM参考模型的步骤 在基于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项目规格启动讨论,我把设计、验证、DFT、后端的知识点全部罗列出来,大家一起来完善。 以项目驱动的方式介绍MCU芯片全流程设计的方法;提炼相关的检查列表、signoff checklist的样本;让星球成员熟悉SoC架构、设计流程、开发进度、项目管理;

文档评论(0)

man9872 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档