• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

SOC/IP验证工程师

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

文章分类 -  reg_model

1 2 下一页

uvm中搭建寄存器模型时,详细说明add_hdl_path和add_hdl_path_slice的用法
摘要:在UVM中,寄存器模型的后门访问允许直接通过层次路径访问硬件寄存器,而不是通过总线接口。这可以加速仿真,并且可以在不依赖总线功能的情况下设置和检查寄存器的值。为了使用后门访问,我们需要为寄存器模型中的每个寄存器和字段指定它们在硬件设计中的路径。这就是add_hdl_path和add_hdl_path 阅读全文

posted @ 2026-01-31 17:18 SOC验证工程师 阅读(12) 评论(0) 推荐(0)

uvm中搭建寄存器模型时,使用add_hdl_path和add_hdl_path_slice进行后门访问
摘要:在UVM中,寄存器模型的后门访问允许直接通过层次路径访问硬件寄存器,而不通过总线。这可以用于在仿真中快速读取或写入寄存器的值,而不依赖于前门访问(即通过总线序列)。为了使用后门访问,我们需要在寄存器模型中为每个寄存器和其域指定HDL路径。 add_hdl_path和add_hdl_path_slic 阅读全文

posted @ 2026-01-31 17:17 SOC验证工程师 阅读(17) 评论(0) 推荐(0)

搭建寄存模型时使用add_hdl_path和add_hdl_path_slice
摘要:在UVM(Universal Verification Methodology)中,add_hdl_path_slice是用于将HDL(硬件描述语言)中的信号路径映射到UVM寄存器模型(uvm_reg_model)中的一种方法。它通常在寄存器模型构建过程中使用,以便在寄存器读写操作时能够通过前门访问 阅读全文

posted @ 2026-01-31 15:09 SOC验证工程师 阅读(7) 评论(0) 推荐(0)

寄存器模型链接
摘要:[UVM源代码研究] 聊聊寄存器模型的后门访问 https://zhuanlan.zhihu.com/p/660040347 数字验证大头兵:[UVM源代码研究] 当我们使用寄存器模型里的寄存器调用write/read方法,数据包是如何在寄存器模型、adapter、sequencer中传递的 htt 阅读全文

posted @ 2026-01-31 12:54 SOC验证工程师 阅读(2) 评论(0) 推荐(0)

uvm中设置寄存器为易失的,如何理解
摘要:在UVM寄存器模型中,易失性(volatile) 是一个重要概念。让我详细解释: 什么是易失寄存器? 易失寄存器是指其值可能在任何时刻被硬件(DUT)自动改变,而不通过寄存器模型的正常读写操作。 主要特点: 1. 硬件控制的变化 class status_reg extends uvm_reg; u 阅读全文

posted @ 2026-01-23 23:10 SOC验证工程师 阅读(5) 评论(0) 推荐(0)

uvm中set_check_on_read的用法实例
摘要:在UVM(Universal Verification Methodology)中,uvm_check_on_read 是一个与寄存器模型(RAL, Register Abstraction Layer)相关的配置选项,主要用于控制寄存器读取操作时的值检查行为。以下是其核心用法和功能总结: 基本功能 阅读全文

posted @ 2026-01-02 17:51 SOC验证工程师 阅读(21) 评论(0) 推荐(0)

uvm中寄存器模型中set_check_on_read和get_check_on_read的用法
摘要:set_check_on_read // Function: set_check_on_read // // Sets the check-on-read mode for his map // and all of its submaps. // // When ~on~ is ~TRUE~, / 阅读全文

posted @ 2026-01-02 17:45 SOC验证工程师 阅读(9) 评论(0) 推荐(0)

uvm中常用的枚举类型以及其它类型
摘要:其他类型 uvm_status_e // Enum: uvm_status_e // // Return status for register operations // // UVM_IS_OK - Operation completed successfully // UVM_NOT_OK - 阅读全文

posted @ 2026-01-02 17:33 SOC验证工程师 阅读(8) 评论(0) 推荐(0)

uvm中寄存器模型访问方法的源代码函数
摘要:UVM中RAL相关的一些函数 0. 引言 在UVM支持的寄存器操作中,有get、update、mirror、write等等一些方法,在这里整理一下他们的用法。 寄存器模型中的寄存器值应该与DUT保持同步,但是由于DUT的值是实时更新的,所以寄存器模型并不能实时知道这种更新,在寄存器模型中专门有个值来 阅读全文

posted @ 2026-01-02 17:20 SOC验证工程师 阅读(37) 评论(0) 推荐(0)

寄存器模型中mem与reg的联系和差别
摘要:UVM寄存器模型也可以用来对存储建模。uvm_mem 类可以用来模拟RW (读写)、 RO(只读)和WO(只写)类型的存储,并且可以配置存储模型的数据宽度和地址范围。uvm_mem不同于uvm_reg 的地方在于,考虑到物理存储一旦映射到 uvm_mem 会带来更大的资源消耗,因此 uvm_mem 阅读全文

posted @ 2025-12-28 21:01 SOC验证工程师 阅读(37) 评论(0) 推荐(0)

uvm中寄存器模型的访问方法详解
摘要:uvm_reg_field/uvm_reg/uvm_reg_block的访问方法 在给出寄存器模型的常见应用模式之前,首先从下表中更全面地了解uvm_reg_ block、 uvm_reg 和uvm_reg_ field 三个类提供的用于访问寄存器的方法。 extern virtual task r 阅读全文

posted @ 2025-12-27 14:02 SOC验证工程师 阅读(69) 评论(0) 推荐(0)

UVM中关于寄存器模型的set_auto_predict
摘要:mirrored、 desired 和 actual value 在应用寄存器模型时, 除了利用它的寄存器信息, 还可以利用它来跟踪寄存器的值。 跟踪寄存器的值, 一方面是建立 mirrored value, 另一方面是为建立 desired value。 寄存器模型中的每一个寄存器都应该有两个值, 阅读全文

posted @ 2025-12-27 09:22 SOC验证工程师 阅读(15) 评论(0) 推荐(0)

uvm_reg常用的操作方法网站
摘要:uvm reg的常用操作比较多,记不住可以在用的时候查询网页: https://www.icode9.com/content-4-928136.html 阅读全文

posted @ 2023-06-27 20:27 SOC验证工程师 阅读(57) 评论(0) 推荐(0)

寄存器模型中get_reg_by_offset函数的用法
摘要:在建立寄存器模型后,一般都是通过层次引用的方式访问寄存器; 但是出于某些原因,如果依然要使用地址来访问寄存器模型,那么可以使用get_reg_by_offset函数通过寄存器地址得到一个uvm_reg的指针,再调用此uvm_reg的read或write就可以进行读写操作; ``` class cas 阅读全文

posted @ 2023-06-18 11:05 SOC验证工程师 阅读(676) 评论(0) 推荐(0)

寄存器模型中函数get_root_blocks的用法
摘要:要使用寄存器模型,一般是将寄存器模型的指针传递过来; 除了这种方法,uvm还提供函数,使得可以在不使用指针传递的情况下得到寄存器模型的指针; ``` virtual task body(); uvm_status_e status; uvm_reg_data_t value; bit[31:0] c 阅读全文

posted @ 2023-06-18 10:26 SOC验证工程师 阅读(155) 评论(0) 推荐(0)

寄存器模型内建sequence的uvm_reg_mem_hdl_paths_seq的用法
摘要:uvm_reg_mem_hdl_paths_seq可以用于检查hdl路径的正确性。 这个sequence的运行依赖于在基类uvm_reg_sequence中定义的一个变量:uvm_reg_block model; ``` class case0_cfg_vseq extends uvm_sequen 阅读全文

posted @ 2023-06-18 10:13 SOC验证工程师 阅读(250) 评论(0) 推荐(0)

uvm中peek和poke的用法
摘要:peek对应与read;poke对应与poke; uvm_reg::peek()/poke()两个方法,也分别对应了读取寄存器(peek)和修改寄存器(poke)两种操作,而用户无需指定访问方式为UVM_BACKDOOR,因为这两个方法本来就只针对于后门访问。 ``` p_sequencer.p_r 阅读全文

posted @ 2023-06-17 22:01 SOC验证工程师 阅读(1545) 评论(0) 推荐(0)

搭建环境时adapter的用法
摘要:第一种写法: function uvm_sequence_item reg2bus(const ref uvm_reg_bus_op rw); bus_transaction tr; tr = new("tr"); tr.addr = rw.addr; tr.bus_op = (rw.kind == 阅读全文

posted @ 2023-06-17 21:31 SOC验证工程师 阅读(73) 评论(0) 推荐(0)

寄存器模型集成的写法以及rm.default_map.set_auto_predict(0/1)的用法
摘要:第一种写法: 当driver将读取值返回后,寄存器模型会更新寄存器的镜像值和期望值。这个功能被称为寄存器模型的自动预测功能auto_predict; 在建立寄存器模型时,使用如下语句打开此功能:rm.default_map.set_auto_perdict(1) function void base 阅读全文

posted @ 2023-06-17 21:19 SOC验证工程师 阅读(256) 评论(0) 推荐(0)

UVM寄存器读写检查中跳过某个寄存器
摘要:UVM提供两个sequence分别用于检查寄存器和存储器的读写功能; 1.uvm_reg_hw_reset_seq用于检查上电复位后寄存器模型与DUT中寄存器的默认值是否相同; 2.uvm_reg_access_seq用于检查寄存器的读写; 3.uvm_mem_access_seq用于检查存储器的读 阅读全文

posted @ 2023-01-08 14:37 SOC验证工程师 阅读(3376) 评论(0) 推荐(0)

1 2 下一页
 
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3