我们在进行寄存器模型的后门操作时,必须提前设置后门操作路径,以此RAL模型方能进行操作。
``
在上面这个RAL 模型中,当调用reg_blk.reg1.write(*),参数指定是后门操作(UVM_BACKDOOR),那么RAL模型时如何取得硬件rtl的绝对路径?
核心的方法是调用reg::get_full_hdl_path,下面来讨论一下,首先reg
的rtl路径有两部分组成,分别是(1)uvm_reg_block的基路径(我们叫做reg的base_path)(2)reg本身自己的相对路径(我们叫做reg的offset_path)。
首先是reg的base_path:这个path定义在reg所在的block中(也叫做block的路径),设置block的路径的方式有两种(uvm_reg_block中有两个变量用来存放block的路径)
(1) uvm_object_string_pool #(uvm_queue#(string)) hdl_paths_pool
(2) string root_hdl_paths[string]
其中对于hdl_paths_pool,形象的表示如下
当调用reg_blk.add_hdl_path(path)时会增加一个路径,如果调用4次,
寄存器(RAL)模型中的后门操作路径
最新推荐文章于 2025-02-21 11:36:38 发布